新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 存儲測試系統(tǒng)USB接口的設計與實現(xiàn)

存儲測試系統(tǒng)USB接口的設計與實現(xiàn)

作者: 時間:2013-10-10 來源:網(wǎng)絡 收藏
0 引言

存儲測試是指在對被測對象無影響或在允許范圍的條件下,在被測體內(nèi)置入微型與存儲測試儀,現(xiàn)場實時完成信息的快速采集與記憶,然后回收記錄儀,由計算機處理和再現(xiàn)測試信息的一種動態(tài)測試技術。經(jīng)過近三十年的發(fā)展,存儲測試技術不斷成熟,已成功應用于火炮膛壓測試、彈載全彈道參數(shù)測試、車輛機械運動部件工況參數(shù)測試、石油井下壓力測試、爆炸沖擊波場測試、人體運動及生理參數(shù)測試、載人航天測試等諸多領域,在軍工測試領域和國民經(jīng)濟建設中發(fā)揮著重要作用。

接口電路是測試系統(tǒng)與外部計算機進行數(shù)據(jù)傳輸?shù)耐ǖ溃?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/存儲測試系統(tǒng)">存儲測試系統(tǒng)的重要組成部分。文獻表明南京理工大學和北京理工大學研究的主要采用串行接口,而文獻表明中北大學研究的串口和并口兼而有之,視實際使用情況而定。眾所周知,串口使用受波特率的限制,制約了存儲測試系統(tǒng)與計算機數(shù)據(jù)傳輸?shù)男?。并行傳輸是一種效率較高的傳輸方式,利用計算機并口的EPP模式可以實現(xiàn)大于300 KB/s的穩(wěn)定傳輸率,然而現(xiàn)在大多數(shù)計算機已不再配置并口,成為計算機對外數(shù)據(jù)傳輸?shù)闹饕ǖ?。因此,開發(fā)適于存儲測試系統(tǒng)集成的成為存儲測試技術發(fā)展的一項重要內(nèi)容。

1 USB協(xié)議及集成芯片

USB全稱是通用串行總線(Universal Serial Bus),目前以USB 2.0規(guī)范應用最為普遍。USB 2.0規(guī)范的理想傳輸速率為480 Mb/s(60 MB/s),足以滿足大多數(shù)外設的速率要求。USB 2.0是一種復雜的傳輸協(xié)議,這給的設計和開發(fā)帶來很大難度。文獻的研究表明,在應用層對系統(tǒng)進行USB接口設計時,可以選擇集成USB協(xié)議的專用芯片進行二次開發(fā),從而降低了系統(tǒng)開發(fā)難度。通過查閱大量文獻,本文選用FTDI公司的FT245R芯片進行USB接口設計。

FT245R符合USB 2.0規(guī)范,具有功能強、體積小、傳輸速度快、易于與微處理器接口等特點,非常適合在嵌入存儲測試系統(tǒng)中進行接口設計。FT245R可以方便地實現(xiàn)USB主機與外設MCU,CPLD的接口,其數(shù)據(jù)傳輸速率可達1 MB/s。FT245R內(nèi)部集成了256 B的接收FIFO和128 B的發(fā)送FIFO,大大提高了USB主機與外設的通信質(zhì)量。另外,F(xiàn)T245R還具備3.3 V的LDO調(diào)整器、USB數(shù)據(jù)時鐘恢復PLL及USB數(shù)據(jù)收發(fā)器,且E2PR OM接口邏輯單元可外接串行存儲器,以實現(xiàn)VID,PID,序列號和設備描述符的存儲。FT245R大大簡化了外圍電路,使接口設計更趨于小型化,符合存儲測試系統(tǒng)微小體積的要求。

2 接口硬件設計

USB接口設計以單片機和FT245R為核心器件,原理如圖1所示。由于FT245R將涉及USB協(xié)議的高速信號全部集成在芯片內(nèi)部,從而降低了系統(tǒng)對單片機性能的要求。本設計選用了Microchip公司的中檔單片機PIC16F877,該單片機最高工作時鐘為20 MHz,有5個并行I/O端口,13個中斷源,完全滿足同時對FT245R和存儲測試系統(tǒng)進行控制的要求。

圖1中,SRAM是集成于存儲測試系統(tǒng)中的靜態(tài)存儲器,測試過程結(jié)束后,SRAM存滿了測試數(shù)據(jù)。單片機在USB接口中起到橋梁的作用,其I/O端口中的PORTD以及PORTC的低四位與SRAM中的12 b數(shù)據(jù)位相連,作為數(shù)據(jù)總線。同樣,單片機的PORTB端口與F245R中的8b數(shù)據(jù)位相連,成為另外一條數(shù)據(jù)總線。SRAM中3個與存取操作有關的控制信號分別與單片機的RA0,RA1和RA2相連,而FT245R的4個與數(shù)據(jù)傳輸有關的控制信號則與單片機PORTC端口的高四位相連。在硬件設計中,兩條數(shù)據(jù)總線是有區(qū)別的。SRAM到單片機的數(shù)據(jù)總線是單向的,數(shù)據(jù)只能從存儲器傳向單片機。單片機與FT245R間的數(shù)據(jù)總線是雙向的,既能完成測試數(shù)據(jù)的上行傳輸,又能完成計算機指令的下行傳輸。

另外,存儲測試系統(tǒng)都是使用電池供電,為了節(jié)省有限的電源,USB接口電路可以采取由計算機供電的方法。計算機的USB口能夠提供5 V電源,最大負載電流可達500 mA,完全可以滿足本文設計的USB接口的用電需求。

圖2是USB總線供電原理圖。5 V電源自USB口的1腳輸出,經(jīng)電容C1和鐵氧體濾波后進入DC-DC變換器LP2987,經(jīng)電壓變換后輸出3.3 V直流電壓(負載電流200 mA),供應單片機、FT245R及其外圍元件。

3 軟件編程

3.1 固件編程

讀取數(shù)據(jù)時首先要通過計算機發(fā)送讀數(shù)指令,該指令經(jīng)USB接口傳輸至FT245R。FT245R經(jīng)內(nèi)部串/并轉(zhuǎn)換,輸出并行數(shù)據(jù)至FIFO控制器,同時將RXF信號置為低電平。單片機通過查詢RXF狀態(tài)判斷FT245R是否有數(shù)據(jù)等待讀取,RXF由高變低后,單片機將讀數(shù)控制信號RD置低。FT245R在檢測到RD信號變低后,迅速將FIFO控制器中的數(shù)據(jù)放在數(shù)據(jù)總線上。單片機從總線上讀取數(shù)據(jù)后,首先進行判斷,若為瀆數(shù)指令,則單片機進入從測試系統(tǒng)讀數(shù)的子程序。圖3是單片機從FT245R讀取數(shù)據(jù)的流程圖。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉