摘要:為解決航空參數(shù)記錄數(shù)據(jù)讀取問題,文章提出了一種新穎的基于NIOSII和USB2.0平臺(tái)的高性能記錄儀數(shù)據(jù)采集器。系統(tǒng)以USB2.0作為與計(jì)算機(jī)的接口,在FPGA內(nèi)建NIOSII處理器來實(shí)現(xiàn)NAND FLASH的控制以及與CY7C68013A USB2.0 芯片接口。實(shí)驗(yàn)證明,該系統(tǒng)在采集速率為20MByte/s,遠(yuǎn)超出了目前通用的數(shù)據(jù)采集器的性能。
關(guān)鍵詞:數(shù)據(jù)記錄儀;閃存;采集;可編程邏輯器件
中圖分類號(hào):TP333 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1009-2374(2012)04-0112-02
數(shù)據(jù)記錄儀在航空、車載、船舶等領(lǐng)域已經(jīng)大量應(yīng)用。NAND FLASH作為記錄儀中的存儲(chǔ)介質(zhì)已經(jīng)得到普遍認(rèn)可,如彈載數(shù)據(jù)記錄儀、機(jī)載記錄儀、多通道測(cè)試記錄儀等。而記錄儀的數(shù)據(jù)讀取方法,目前普遍采用USB1.1或RS232等低速接口實(shí)現(xiàn),如嵌入式超載監(jiān)控記錄儀采用CH375 USB1.1模塊進(jìn)行數(shù)據(jù)讀取,采用DSP的串口將數(shù)據(jù)傳至計(jì)算機(jī)。上述系統(tǒng)中,數(shù)據(jù)的記錄和讀取都合并到記錄儀中,然而讀取數(shù)據(jù)部分在系統(tǒng)記錄過程中是多余的,完全可將記錄和讀取獨(dú)立開,以減輕記錄系統(tǒng)的體積和復(fù)雜度。同時(shí),大多系統(tǒng)采用低速通信接口讀取NAND FLASH中的數(shù)據(jù),然而隨著電子技術(shù)的發(fā)展,對(duì)數(shù)據(jù)記錄儀的記錄數(shù)據(jù)量要求越來越高,USB1.1或RS232的通信速率已不能滿足實(shí)際需求。
一、方案框架
方案整體上采用USB2.0、FPGA、SRAM實(shí)現(xiàn)數(shù)據(jù)采集器的結(jié)構(gòu)。結(jié)構(gòu)框圖如圖1所示:
為了增加系統(tǒng)的靈活性,在FPGA中建立NIOSII 32位處理器。計(jì)算機(jī)可以同過USB2.0接口向采集器發(fā)送讀數(shù)據(jù)、擦除數(shù)據(jù)命令。采集器接收到命令后,通過NIOSII 解析命令。SRAM作為NIOSII的程序運(yùn)行存儲(chǔ)器和FLASH數(shù)據(jù)緩沖區(qū)。
二、方案實(shí)現(xiàn)
(一)硬件電路設(shè)計(jì)
CY7C68013A芯片與FPGA的主要通信接口采用Slave FIFO方式,該模式已有大量論文進(jìn)行過研究6,7,8。IS61LV25616芯片直接與FPGA連接。由于NAND FLASH的接口電平為3.3V,因此可以跟EP2C8Q208FPGA芯片直接進(jìn)行連接,使用過程中,采集器通過數(shù)據(jù)排線方式連接至數(shù)據(jù)記錄儀。
(二)FPGA硬件程序設(shè)計(jì)
1.FPGA與CY7C68013A接口。
FPGA與CY7C68013A接口的高速slave fifo程序模塊如圖2所示。UsbCtrl模塊實(shí)現(xiàn)與CY7C68013A的slave fifo接口通信,UsbFifoIn和UsbFifoOut是FPGA芯片內(nèi)存儲(chǔ)器資源建立的FIFO存儲(chǔ)器,16位寬,1024深度。由于slave fifo模式在USB端是BULK模式,因此必不可少的會(huì)出現(xiàn)傳輸?shù)却詾榱吮WC數(shù)據(jù)連續(xù)傳輸過程中不丟失以及提高傳輸速度,系統(tǒng)中加入這兩個(gè)FIFO。ExtCtrl模式起到FIFO接口邏輯控制作用。該模塊提供了標(biāo)準(zhǔn)的WR、RD、DIR、WRFULL、RDEMPTY、DATA[15:0]接口。
2.FPGA與CY7C68013A接口的低速命令模塊。
FPGA與CY7C68013A的低速命令接口模塊如圖3所示。ParaCtrl模塊與CY7C68013A的PC[7:0]、PA0、PA1、PA3通信,實(shí)現(xiàn)傳輸計(jì)算機(jī)發(fā)送的控制命令和返回采集器的狀態(tài)信息。ParaFifoIn和ParaFifoOut為命令輸入輸出FIFO緩沖區(qū)和返回狀態(tài)信息緩沖區(qū)。UartCtrl模塊實(shí)現(xiàn)上述兩個(gè)FIFO的通信轉(zhuǎn)換接口,將USB的低速接口轉(zhuǎn)換成串口通信時(shí)序,方便與NIOSII連接。
3.NIOSII 的配置。
在SOPC BUILD 中對(duì)NIOSII的配置如圖4所示:
Uart_1模塊用于解析2.2.2節(jié)所述計(jì)算機(jī)命令和返回狀態(tài)。Nf_ 等8個(gè)模塊實(shí)現(xiàn)FLASH芯片的接口。USB_等7個(gè)模塊實(shí)現(xiàn)與高速USB數(shù)據(jù)傳輸模塊接口。Sram模塊控制擴(kuò)展的IS61LV25616芯片。
(三)NIOSII 軟核程序設(shè)計(jì)
NIOSII軟核主程序流程圖如圖5所示。采集器接收計(jì)算機(jī)發(fā)送的串口命令,如果是0xeb5a,則讀取FLASH芯片中有效數(shù)據(jù),并將數(shù)據(jù)通過高速USB接口將數(shù)據(jù)發(fā)送到計(jì)算機(jī),發(fā)送完畢返回狀態(tài)信息。如果是0xbdce,則擦除整塊FLASH,擦除完畢返回狀態(tài)信息。
(四)計(jì)算機(jī)軟件
計(jì)算機(jī)軟件由兩部分構(gòu)成,驅(qū)動(dòng)程序和應(yīng)用程序,驅(qū)動(dòng)程序采用CYPRESS公司提供的驅(qū)動(dòng)。應(yīng)用程序用VC++編寫。程序界面如圖6所示:
三、實(shí)驗(yàn)驗(yàn)證
采集器硬件電路板跟板載K9K8G08U0M NAND FLASH芯片的參數(shù)記錄儀連接,NIOSII軟核程序采用NIOSII IDE 的JTAG UART在線調(diào)試,進(jìn)行數(shù)據(jù)傳輸測(cè)試。讀操作命令測(cè)試如圖7所示。圖中,左邊為計(jì)算機(jī)應(yīng)用程序,點(diǎn)擊讀取數(shù)據(jù)操作后,采集器讀取NAND FLASH完畢后,返回0x43狀態(tài)字。右邊是在NIOSII IDE在線調(diào)試中顯示的終端結(jié)果。NIOSII軟核程序開始運(yùn)行后,會(huì)根據(jù)讀取FLASH的ID來檢測(cè)FLASH是否已經(jīng)連接。如果連接正常,則等待計(jì)算機(jī)的操作命令。圖中顯示接收到計(jì)算機(jī)的讀FLASH命令。
四、結(jié)語
隨著參數(shù)記錄儀的普遍應(yīng)用,對(duì)記錄儀數(shù)據(jù)讀取器的需求也日益廣泛。文章提出了一種全新的基于USB2.0和NIOSII的采集器設(shè)計(jì)方案。該方案提高了讀取FLASH的數(shù)據(jù)速率。該參數(shù)采集器已經(jīng)在某機(jī)載參數(shù)記錄系統(tǒng)中得到應(yīng)用。
參考文獻(xiàn)
[1] 王琦,杜力力,李永紅.基于DSP的多通道彈載數(shù)據(jù)記錄儀的設(shè)計(jì)[J].彈箭與制導(dǎo)學(xué)報(bào),2011,(31).
[2] 韓云鵬.采用SOPC技術(shù)的機(jī)載數(shù)據(jù)記錄儀[J].光電與控制,2009,(16).
[3] 董剛剛,吳建,曾強(qiáng).基于CPLD+FLASH的多通道測(cè)試記錄儀[J].光電技術(shù)應(yīng)用,2011,(26).
[4]田微.嵌入式超載監(jiān)控記錄儀的USB通信[J].起重運(yùn)輸機(jī)械,2008,(1).
[5] 吳德平.?dāng)?shù)據(jù)記錄儀的設(shè)計(jì)與實(shí)現(xiàn)[J].四川兵工學(xué)報(bào),2009,(30).
[6] 謝宏,曹翔.EZ-USB FX2 接口在誘發(fā)電位儀系統(tǒng)中的應(yīng)用[J].電子設(shè)計(jì)工程,2011,(19).
[7] 位小記,謝紅,郭慧.基于FPGA和USB的高速數(shù)據(jù)傳輸平臺(tái)的設(shè)計(jì)[J].應(yīng)用科技,2011,(37).
[8] 齊新軍.基于USB總線的NIOS系統(tǒng)與主機(jī)通信實(shí)現(xiàn)
[J].煤炭技術(shù),2011,(30).
基金項(xiàng)目:浙江省財(cái)政廳支助項(xiàng)目(項(xiàng)目編號(hào):2011R461002)。
作者簡(jiǎn)介:黃輝,男,浙江臺(tái)州人,臺(tái)州科技職業(yè)學(xué)院機(jī)電工程系助教,碩士,研究方向:計(jì)算機(jī)設(shè)備控制。
(責(zé)任編輯:劉 艷)