FPGA程序采用VerilogHDL语言在ISE6.2环境下编写。经ModelSim5.7g仿真无误后,在FPGA Compile-rII3.7环境下编译为bin文件;再经过ISE6.2的iMPACT工具烧入FPGA的配置存储器,上电后FPGA即可正常工作。 A/D部分的仿真波形如图4所示。
固件在uVision2集成开发环境下采用Keil C51语言开发。固件编译后,有两种方法载入CY7C68013A:一种是从EEPROM载入,另一种是从上位机下载。本系统采用第2种方式。 Hex2c.exe将固件目标码转换为C语言 数组形式;EZ-Loader提供程序模板;Windows DDK将嵌入固件后的模板编译为系统文件;制作相应的inf文件,使计算机系统在发现数据采集系统后,自动将固件下载入CY7C68013A。
USB设备驱动程序采用Jungo公司的WinDriver软件开发。具体实现过程为:连接本系统后运行DriverWiz-ard向导,选择对应的 USB设备,生成对应的.ini文件;然后在设备诊断对话框中检测到USB接口各端点的正确设置后,选择适合的编译环境即可生成驱动程序和API函数的示例代码。
上位机软件采用Visual C++6.0语言开发,操作界面友好。由于FPGA程序并未完成对整个微流控过程的控制,所以这一任务由上位机软件来完成。上位机可以通过状态机模块对其他各个控制模块询问状态、施加命令,以及读取返回数据。
4 结 论
本系统以FPGA芯片为控制核心,使用VerilogHDL语言编制了信号调理模块、A/D模块、高压模块、温度控制模块以及USB传输模块的程序;另外还编写了基于Windows XP的驱动程序与控制软件。在选取串行控制的A/D芯片节约控制端口的同时,采用具有大量控制端口的FPGA作为系统的控制芯片,实现了同时对30个 PCR芯片的控制。该系统通过并行控制多个芯片,提高了PCR的检测效率,可应用于需大批量芯片检测的场合。本文提出的使用FPGA控制微流控芯片的方法具有集成度高的优点,大幅提高了芯片的检测效率,具有较高的实用价值。