·上一文章:基于FPGA的高速FIR数字滤波器的设计
·下一文章:图像采集系统的Camera Link标准接口设计
高压控制模块由TI公司的D/A芯片TLV5630和高压模块实现。高压模块的输出与其输入控制电压成正比。TLV5630具有8通道的12位输出,可以使高压模块的电压步进精确控制在1 V量级。FPGA通过RS232接口与温度模块通信,通过发送命令字与接收返回信息来控制温度。
系统需要接口将数据上传至计算机,而计算机的命令参数也通过此接口下载至本系统中。USB2.0接口的传输速率达到480 Mb/s,可胜任快速传回数据的任务。本文采用USB2.0接口作为系统与计算机通信的接口,USB的通信芯片选用Cypress公司的 CY7C268013A,工作模式为SlaveFIFO方式。
3 程序编码
程序编码包括3部分:一是采用VerilogHDL语言对FPGA编程;二是对CY7C68013A的固件编程;三是WindowsXP环境下驱动程序的开发以及上位机控制软件的编程。与系统结构相对应,FPGA的控制模块包括A/D模块、D/A模块、RS232模块、USB模块以及状态机模块。模块共用同一个时钟与复位信号。除状态机模块外,其他模块都将信号封装为状态输出、命令输入、选通输入、数据输出4个部分,由状态机模块对其实施控制。如图3所示,状态机模块读取USB模块从上位机得来的命令并翻译,然后对所指定的模块输入命令或者读取信息,最后返回操作成功信息。FPGA擅长于高速的逻辑与时序控制,便于控制具体的芯片,但不适于整体复杂的流程控制。采用这种方式编程的好处在于,避免了FPGA复杂的流程控制编程,而将这一任务交给上位机去完成。