2.1 USB主控模块

USB主控芯片选择的型号是CY7C68013A-56PVXC,该芯片集成USB 2.0收发器、增强型8051微处理器,适用性、外观和功能均与FX2兼容。具有16 kB片上代码/数据RAM,4个可编程的BULK/INTERRUPT/ISOCHRONOUS端点,8位或16位外部数据接口,且它的可编程接口可与大多数并行接口直接连接、由可编程波形描述符和配置寄存器定义波形、支持多个RDY和CTL输出,该芯片的工作电压为3.3 V,容限电压为5 V,集成I2C控制器。

USB主控芯片接24 MHz晶振,PB口接收来自于FPGA的FIFO数据,15脚和16脚接USB_B型接口的D+和D-,用于向上位机发送数据,同时接收上位机控制信息。I2C总线上接一AT24C64(EEPROM)用做USB程序存储器。其余的引脚用于读取FPGA的当前状态和发送触发等信息给FPGA,以确定何时进行读取数据。

2.2 FPGA从控模块

FPGA选用Xilinx Spartan-6系列的XC6SLX9-4TQ144C,接100 MHz的晶振。芯片中设定的16个IO引脚接收来自于74ALVC164245的16位三态总线收发器的数据,FPGA.VS[2:0]三引脚全部拉高,配置为快速读写模式,可以提高采样速率。Spartan-6系列FPGA中,配置模式引脚为M[1:0],不像Spartan-3系列有3个配置引脚M[2:0],这里配置为“10”,即主串模式。此时INIT_B引脚需要拉高,防止芯片配置完成后又进入芯片初始化,DONE引脚也要拉高。配置JTAG接口用于下载程序。其余引脚用于连接两片4 MB的RAM,用于将采集到的数据先缓存进RAM中。

2.3 数据采集模块

数据采集芯片采用SN74LVC16245ADGGR,是一个16位三态总线收发器。当OE引脚接高电平时,输出为高阻态。当OE为低时,如果DIR引脚为低电平,则数据从B口传向A口,DIR为高电平时,数据从A口传向B口。图中用B口采集外部数据,并且外接1MΩ电阻以提高输入阻抗。因此DIR和OE引脚接上拉电阻,默认上电从A到B输出无效。