论文摘要:针对传统以单片机CPLD构建存储测试系统的方案中器件多设计繁琐系统稳定性差的问题,提出了基于单片FPGA的存储测试系统构建方案,在介绍了这一方案的总体设计及工作原理后,重点阐述了以FPGA和FT245RL为核心器件的USB接口电路以及运用有限状态机在FPGA内部实现数据传输控制的方法。最后通过实验对存储测试系统的准确性和稳定性做出了验证。
论文关键词:存储测试,数据传输
0引言
______________________
山西省自然科学基金资助项目(2009011023)
。
|
|
存储测试是指在对被测对象无影响或在允许范围的条件下,在被测体内置入微型数据采集与存储测试仪,现场实时完成信息的快速采集与记忆,事后回收的记录仪器。存储测试技术在载人航天测试、爆炸冲击波测试、炮弹膛压测试等诸多领域应都有广泛的应用,目前大多数的存储测试系统都是由CPLD和单片机配合工作来实现,由于系统包含的器件较多这为系统的设计和调试带来了很大的难度,而且最终的系统在稳定性和可靠性都较差。为了解决上述问题本文设计了一种基于单片FPGA的存储测试系统。为了实现整个系统由单片FPGA来控制,在FPGA内部运用有限状态机设计方法设计了一个针对FT245RL的数据传输控制器实现了过去由单片机和CPLD配合才能完成的功能。
1硬件设计
1.1基于FPGA的存储测试系统
图1基于FPGA的存储测试系统结构图
Fig.1StoragemeasurementsystembasedonFPGA
图1给出了基于FPGA的存储测试系统总体结构图,本系统采用XILINX公司的XC4VSX25FPGA作为系统核心控制单元、采用AD公司的AD7492作为系统模数转换器,采用三星公司的k9k2G8U0MFLASH作为系统数据存储介质(存储空间满足实际需要),采用FT245RL芯片作为系统板与上位机链接的通信接口芯片。
各个芯片的主要技术指标如下:
l系统时钟8MHz
lAD为12位分辨率,量程0~2.5v
l采样频率1MHz之内可调
l存储空间256M×8bit
lUSB传输速率12Mbps
系统的总体工作流程为:传感器输出的模拟信号经过调理电路调整到AD可采范围后AD转换器对其进行转换,FPGA提供AD转换的时钟,在一次模数转换周期内,AD转换的12位的数据分高6位和低6位存储到FPGA内部的FIFO中,最后在FPGA的控制下将FIFO中的数据存入FLASH。当整个采集完成后,在需要的时候就可以通过USB接口将FLASH中的数据传输到上位机来显示和分析。
1.2USB协议及集成芯片
USB是继并口、串口之后推出的一种新的接口标准,全称是通用串行总线(UniversalSerialBus)。目前,USB有两个规范,即USB1.1和USB2.0。USB1.1是目前较为普遍的USB规范,其低速方式的传输速率为1.5Mbps,高速方式的传输速率为12Mbps(1.5MByte/s)。USB2.0规范是由USB1.1规范演变而来的,其理想传输速率为480Mbps(60MByte/s),足以满足大多数外设的速率要求。USB2.0中的“增强主机控制器接口”(EHCI)定义了一个与USB1.1相兼容的架构。它可以用USB2.0的驱动程序驱动USB1.1设备。因此,所有支持USB1.1的设备都可以直接在USB2.0的接口上使用而不用考虑兼容性问题,而且USB线、接头等附件也都可以直接使用。USB是一种复杂的传输协议,这给USB接口的设计和开发带来很大难度。文献[7~8]的研究表明,在应用层对数据采集系统进行USB接口设计时,可以选择集成USB协议的专用芯片进行二次开发应用,从而降低了系统开发难度。鉴于此,通过查阅大量资料,本设计选用美国FTDI公司的FT245RL芯片进行USB接口的设计。
FT245RL符合USB1.1规范,具有功能强、体积小、传输速度快、易于与微处理器接口等特点,非常适合嵌入存储测试系统中进行接口设计。FT245RL可以方便地实现USB主机与外设MCU、CPLD的接口,其数据传输速率可达1MByte/s。FT245RL内部集成了128字节的接收FIFO和384字节的发送FIFO,大大提高了USB主机与外设的通信质量。另外,FT245RL还具备3.3V的LDO调整器、USB数据时钟恢复PLL、USB数据收发器,且EEPROM接口逻辑单元可外接串行存储器,以实现USBVID、PID、序列号和设备说明字符串的存储。FT245RL大大简化了外围电路,使接口设计更趋于小型化,符合存储测试系统微小体积的要求。
1.3USB接口硬件设计

图2USB接口原理框图
Fig.2SchematicdiagramoftheUSBinterface
图2给出了以FPGA和FT245RL为核心器件的USB接口原理框图。图2中,FLASH是集成于存储测试系统中的数据存储器,测试过程结束后,FLASH中存满了测试数据。FPGA在USB接口中起到桥梁的作用,其I/O端口37-44与FLASH的8bit数据位相连,作为数据总线。同样,FPGA的I/O端口97-104与FT245RL中的8bit数据位相连,成为另外一条数据总线。FLASH的片选端CE,命令控制端CLE,地址控制端ALE,写控制端WR,读控制端RE分别和FPGA的I/O端口56、54、55、61、60相连接,而FT245RL中4个与数据传输有关的控制信号则与FPGA的I/O端口90-93相连。 1/2 1 2 下一页 尾页 |