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