论文部分内容阅读
摘要:为解决航空参数记录数据读取问题,文章提出了一种新颖的基于NIOSII和USB2.0平台的高性能记录仪数据采集器。系统以USB2.0作为与计算机的接口,在FPGA内建NIOSII处理器来实现NAND FLASH的控制以及与CY7C68013A USB2.0 芯片接口。实验证明,该系统在采集速率为20MByte/s,远超出了目前通用的数据采集器的性能。
关键词:数据记录仪;闪存;采集;可编程逻辑器件
中图分类号:TP333 文献标志码:A 文章编号:1009-2374(2012)04-0112-02
数据记录仪在航空、车载、船舶等领域已经大量应用。NAND FLASH作为记录仪中的存储介质已经得到普遍认可,如弹载数据记录仪、机载记录仪、多通道测试记录仪等。而记录仪的数据读取方法,目前普遍采用USB1.1或RS232等低速接口实现,如嵌入式超载监控记录仪采用CH375 USB1.1模块进行数据读取,采用DSP的串口将数据传至计算机。上述系统中,数据的记录和读取都合并到记录仪中,然而读取数据部分在系统记录过程中是多余的,完全可将记录和读取独立开,以减轻记录系统的体积和复杂度。同时,大多系统采用低速通信接口读取NAND FLASH中的数据,然而随着电子技术的发展,对数据记录仪的记录数据量要求越来越高,USB1.1或RS232的通信速率已不能满足实际需求。
一、方案框架
方案整体上采用USB2.0、FPGA、SRAM实现数据采集器的结构。结构框图如图1所示:
为了增加系统的灵活性,在FPGA中建立NIOSII 32位处理器。计算机可以同过USB2.0接口向采集器发送读数据、擦除数据命令。采集器接收到命令后,通过NIOSII 解析命令。SRAM作为NIOSII的程序运行存储器和FLASH数据缓冲区。
二、方案实现
(一)硬件电路设计
CY7C68013A芯片与FPGA的主要通信接口采用Slave FIFO方式,该模式已有大量论文进行过研究6,7,8。IS61LV25616芯片直接与FPGA连接。由于NAND FLASH的接口电平为3.3V,因此可以跟EP2C8Q208 FPGA芯片直接进行连接,使用过程中,采集器通过数据排线方式连接至数据记录仪。
(二)FPGA硬件程序设计
1.FPGA与CY7C68013A接口。
FPGA与CY7C68013A接口的高速slave fifo程序模块如图2所示。UsbCtrl模块实现与CY7C68013A的slave fifo接口通信,UsbFifoIn和UsbFifoOut是FPGA芯片内存储器资源建立的FIFO存储器,16位宽,1024深度。由于slave fifo模式在USB端是BULK模式,因此必不可少的会出现传输等待,所以为了保证数据连续传输过程中不丢失以及提高传输速度,系统中加入这两个FIFO。ExtCtrl模式起到FIFO接口逻辑控制作用。该模块提供了标准的WR、RD、DIR、WRFULL、RDEMPTY、DATA[15:0]接口。
2.FPGA与CY7C68013A接口的低速命令模块。
FPGA与CY7C68013A的低速命令接口模块如图3所示。ParaCtrl模块与CY7C68013A的PC[7:0]、PA0、PA1、PA3通信,实现传输计算机发送的控制命令和返回采集器的状态信息。ParaFifoIn和ParaFifoOut为命令输入输出FIFO缓冲区和返回状态信息缓冲区。UartCtrl模块实现上述两个FIFO的通信转换接口,将USB的低速接口转换成串口通信时序,方便与NIOSII连接。
3.NIOSII 的配置。
在SOPC BUILD 中对NIOSII的配置如图4所示:
Uart_1模块用于解析2.2.2节所述计算机命令和返回状态。Nf_ 等8个模块实现FLASH芯片的接口。USB_等7个模块实现与高速USB数据传输模块接口。Sram模块控制扩展的IS61LV25616芯片。
(三)NIOSII 软核程序设计
NIOSII软核主程序流程图如图5所示。采集器接收计算机发送的串口命令,如果是0xeb5a,则读取FLASH芯片中有效数据,并将数据通过高速USB接口将数据发送到计算机,发送完毕返回状态信息。如果是0xbdce,则擦除整块FLASH,擦除完毕返回状态信息。
(四)计算机软件
计算机软件由两部分构成,驱动程序和应用程序,驱动程序采用CYPRESS公司提供的驱动。应用程序用VC++编写。程序界面如图6所示:
三、实验验证
采集器硬件电路板跟板载K9K8G08U0M NAND FLASH芯片的参数记录仪连接,NIOSII软核程序采用NIOSII IDE 的JTAG UART在线调试,进行数据传输测试。读操作命令测试如图7所示。图中,左边为计算机应用程序,点击读取数据操作后,采集器读取NAND FLASH完毕后,返回0x43状态字。右边是在NIOSII IDE在线调试中显示的终端结果。NIOSII软核程序开始运行后,会根据读取FLASH的ID来检测FLASH是否已经连接。如果连接正常,则等待计算机的操作命令。图中显示接收到计算机的读FLASH命令。
四、结语
随着参数记录仪的普遍应用,对记录仪数据读取器的需求也日益广泛。文章提出了一种全新的基于USB2.0和NIOSII的采集器设计方案。该方案提高了读取FLASH的数据速率。该参数采集器已经在某机载参数记录系统中得到应用。
参考文献
[1] 王琦,杜力力,李永红.基于DSP的多通道弹载数据记录仪的设计[J].弹箭与制导学报,2011,(31).
[2] 韩云鹏.采用SOPC技术的机载数据记录仪[J].光电与控制,2009,(16).
[3] 董刚刚,吴建,曾强.基于CPLD+FLASH的多通道测试记录仪[J].光电技术应用,2011,(26).
[4] 田微.嵌入式超载监控记录仪的USB通信[J].起重运输机械,2008,(1).
[5] 吴德平.数据记录仪的设计与实现[J].四川兵工学报,2009,(30).
[6] 谢宏,曹翔.EZ-USB FX2 接口在诱发电位仪系统中的应用[J].电子设计工程,2011,(19).
[7] 位小记,谢红,郭慧.基于FPGA和USB的高速数据传输平台的设计[J].应用科技,2011,(37).
[8] 齐新军.基于USB总线的NIOS系统与主机通信实现
[J].煤炭技术,2011,(30).
基金项目:浙江省财政厅支助项目(项目编号:2011R461002)。
作者简介:黄辉,男,浙江台州人,台州科技职业学院机电工程系助教,硕士,研究方向:计算机设备控制。
(责任编辑:刘 艳)
关键词:数据记录仪;闪存;采集;可编程逻辑器件
中图分类号:TP333 文献标志码:A 文章编号:1009-2374(2012)04-0112-02
数据记录仪在航空、车载、船舶等领域已经大量应用。NAND FLASH作为记录仪中的存储介质已经得到普遍认可,如弹载数据记录仪、机载记录仪、多通道测试记录仪等。而记录仪的数据读取方法,目前普遍采用USB1.1或RS232等低速接口实现,如嵌入式超载监控记录仪采用CH375 USB1.1模块进行数据读取,采用DSP的串口将数据传至计算机。上述系统中,数据的记录和读取都合并到记录仪中,然而读取数据部分在系统记录过程中是多余的,完全可将记录和读取独立开,以减轻记录系统的体积和复杂度。同时,大多系统采用低速通信接口读取NAND FLASH中的数据,然而随着电子技术的发展,对数据记录仪的记录数据量要求越来越高,USB1.1或RS232的通信速率已不能满足实际需求。
一、方案框架
方案整体上采用USB2.0、FPGA、SRAM实现数据采集器的结构。结构框图如图1所示:
为了增加系统的灵活性,在FPGA中建立NIOSII 32位处理器。计算机可以同过USB2.0接口向采集器发送读数据、擦除数据命令。采集器接收到命令后,通过NIOSII 解析命令。SRAM作为NIOSII的程序运行存储器和FLASH数据缓冲区。
二、方案实现
(一)硬件电路设计
CY7C68013A芯片与FPGA的主要通信接口采用Slave FIFO方式,该模式已有大量论文进行过研究6,7,8。IS61LV25616芯片直接与FPGA连接。由于NAND FLASH的接口电平为3.3V,因此可以跟EP2C8Q208 FPGA芯片直接进行连接,使用过程中,采集器通过数据排线方式连接至数据记录仪。
(二)FPGA硬件程序设计
1.FPGA与CY7C68013A接口。
FPGA与CY7C68013A接口的高速slave fifo程序模块如图2所示。UsbCtrl模块实现与CY7C68013A的slave fifo接口通信,UsbFifoIn和UsbFifoOut是FPGA芯片内存储器资源建立的FIFO存储器,16位宽,1024深度。由于slave fifo模式在USB端是BULK模式,因此必不可少的会出现传输等待,所以为了保证数据连续传输过程中不丢失以及提高传输速度,系统中加入这两个FIFO。ExtCtrl模式起到FIFO接口逻辑控制作用。该模块提供了标准的WR、RD、DIR、WRFULL、RDEMPTY、DATA[15:0]接口。
2.FPGA与CY7C68013A接口的低速命令模块。
FPGA与CY7C68013A的低速命令接口模块如图3所示。ParaCtrl模块与CY7C68013A的PC[7:0]、PA0、PA1、PA3通信,实现传输计算机发送的控制命令和返回采集器的状态信息。ParaFifoIn和ParaFifoOut为命令输入输出FIFO缓冲区和返回状态信息缓冲区。UartCtrl模块实现上述两个FIFO的通信转换接口,将USB的低速接口转换成串口通信时序,方便与NIOSII连接。
3.NIOSII 的配置。
在SOPC BUILD 中对NIOSII的配置如图4所示:
Uart_1模块用于解析2.2.2节所述计算机命令和返回状态。Nf_ 等8个模块实现FLASH芯片的接口。USB_等7个模块实现与高速USB数据传输模块接口。Sram模块控制扩展的IS61LV25616芯片。
(三)NIOSII 软核程序设计
NIOSII软核主程序流程图如图5所示。采集器接收计算机发送的串口命令,如果是0xeb5a,则读取FLASH芯片中有效数据,并将数据通过高速USB接口将数据发送到计算机,发送完毕返回状态信息。如果是0xbdce,则擦除整块FLASH,擦除完毕返回状态信息。
(四)计算机软件
计算机软件由两部分构成,驱动程序和应用程序,驱动程序采用CYPRESS公司提供的驱动。应用程序用VC++编写。程序界面如图6所示:
三、实验验证
采集器硬件电路板跟板载K9K8G08U0M NAND FLASH芯片的参数记录仪连接,NIOSII软核程序采用NIOSII IDE 的JTAG UART在线调试,进行数据传输测试。读操作命令测试如图7所示。图中,左边为计算机应用程序,点击读取数据操作后,采集器读取NAND FLASH完毕后,返回0x43状态字。右边是在NIOSII IDE在线调试中显示的终端结果。NIOSII软核程序开始运行后,会根据读取FLASH的ID来检测FLASH是否已经连接。如果连接正常,则等待计算机的操作命令。图中显示接收到计算机的读FLASH命令。
四、结语
随着参数记录仪的普遍应用,对记录仪数据读取器的需求也日益广泛。文章提出了一种全新的基于USB2.0和NIOSII的采集器设计方案。该方案提高了读取FLASH的数据速率。该参数采集器已经在某机载参数记录系统中得到应用。
参考文献
[1] 王琦,杜力力,李永红.基于DSP的多通道弹载数据记录仪的设计[J].弹箭与制导学报,2011,(31).
[2] 韩云鹏.采用SOPC技术的机载数据记录仪[J].光电与控制,2009,(16).
[3] 董刚刚,吴建,曾强.基于CPLD+FLASH的多通道测试记录仪[J].光电技术应用,2011,(26).
[4] 田微.嵌入式超载监控记录仪的USB通信[J].起重运输机械,2008,(1).
[5] 吴德平.数据记录仪的设计与实现[J].四川兵工学报,2009,(30).
[6] 谢宏,曹翔.EZ-USB FX2 接口在诱发电位仪系统中的应用[J].电子设计工程,2011,(19).
[7] 位小记,谢红,郭慧.基于FPGA和USB的高速数据传输平台的设计[J].应用科技,2011,(37).
[8] 齐新军.基于USB总线的NIOS系统与主机通信实现
[J].煤炭技术,2011,(30).
基金项目:浙江省财政厅支助项目(项目编号:2011R461002)。
作者简介:黄辉,男,浙江台州人,台州科技职业学院机电工程系助教,硕士,研究方向:计算机设备控制。
(责任编辑:刘 艳)