(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原030051)
(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原030051)
設(shè)計(jì)了一種基于FPGA和USB技術(shù)的彈載測(cè)試儀的通訊接口,重點(diǎn)介紹了EZ—USB FX2系列芯片CY7C68013的特點(diǎn)、固件程序的設(shè)計(jì)及FPGA模塊的設(shè)計(jì),采用GPIF傳輸模式簡(jiǎn)化了系統(tǒng)的硬件電路并且大大提高了數(shù)據(jù)傳輸?shù)乃俾?。最后,?shí)驗(yàn)驗(yàn)證了該接口的可行性及實(shí)用性。
通訊接口;USB;FPGA;固件;GPIF
彈載測(cè)試儀往往工作在振動(dòng),高低溫、強(qiáng)沖擊等惡劣環(huán)境下,很多情況下在炮彈的發(fā)射過程中,彈載測(cè)試儀的通訊接口容易發(fā)生損壞,導(dǎo)致采集到的數(shù)據(jù)無法讀出,為了保證在各種惡劣環(huán)境中能提取出所采集到的數(shù)據(jù),設(shè)計(jì)了一種彈載測(cè)試儀的通訊接口。該接口可以與彈載測(cè)試儀分離出來,不隨炮彈一起飛行,大大提高了系統(tǒng)的可靠性。在正常情況下,該接口可以與彈載測(cè)試儀進(jìn)行通訊,對(duì)彈載測(cè)試儀進(jìn)行各種控制[1]。當(dāng)彈載測(cè)試儀的讀數(shù)接口在惡劣環(huán)境下?lián)p壞時(shí),此通訊接口亦可以與彈載測(cè)試儀的備用接口進(jìn)行通訊將彈載測(cè)試儀中的數(shù)據(jù)提取出來以供分析。并且該接口采用USB與FPGA技術(shù),改善了數(shù)據(jù)傳輸?shù)钠款i問題
該系統(tǒng)主要由USB模塊、FPGA模塊和FIFO數(shù)據(jù)緩存模塊3部分組成。整體的結(jié)構(gòu)如圖1所示,其中FPGA作為主控單元,一方面通過EZ—USB接受上位機(jī)傳送過來的各種命令,并通過通信協(xié)議判斷命令類型,然后將命令轉(zhuǎn)發(fā)給數(shù)據(jù)存儲(chǔ)裝置,以啟動(dòng)對(duì)數(shù)據(jù)的讀取或擦除工作;另一方面讀出數(shù)據(jù)存儲(chǔ)裝置中的數(shù)據(jù)并放入FIFO緩存,最后通過USB總線回傳給上位機(jī)以進(jìn)行下一步處理。
圖1 系統(tǒng)結(jié)構(gòu)框圖
該系統(tǒng)的USB模塊主要采用了CYPRESS公司的EZ—USB FX2系列芯片CY7C68013,該芯片是USB2.0的完整解決方案,并向下完全兼容USB1.1協(xié)議。它通過在單片上集成USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口,使其無需外加芯片即可完成高速USB傳輸,從而性價(jià)比高[2]。
CY7C68013可工作在3種接口模式下:端口模式、GPIF主控模式和從FIFO模式。由于GPIF模式主要由波形描述符來控制CY7C68013工作,其功能的實(shí)現(xiàn)通過對(duì)波形描述符編程即可,可大大簡(jiǎn)化外外圍硬件電路,因此本設(shè)計(jì)選用了GPIF模式[3-4]。GPIF的開發(fā)過程如圖2所示,在這種模式下,F(xiàn)X2的FIFO由內(nèi)部GPIF控制,CPU不直接參與數(shù)據(jù)的傳輸過程,可大大提高數(shù)據(jù)傳輸速率。端口B和D作為與FX2的4個(gè)端點(diǎn)FIFO連接的16 bit數(shù)據(jù)接口,由可編程的波形描述符來響應(yīng)FIFO的狀態(tài)標(biāo)志,CTL信號(hào)可作為驅(qū)動(dòng)時(shí)序的信號(hào),通過采樣RDY信號(hào)判斷外部過程。
圖2 GPIF模式開發(fā)流程圖
本設(shè)計(jì)中68013A單片機(jī)與FPGA相連的數(shù)據(jù)線為8 bit,即FD0~FD7;采用CTL0作為模塊外部FIFO的讀控制信號(hào);FIFO非空信號(hào)作為單片機(jī)的讀數(shù)狀態(tài)判斷信號(hào),當(dāng)FIFO非空信號(hào)有效時(shí),系統(tǒng)進(jìn)行讀數(shù)操作;另外有3條指令信號(hào)線PA0、PA1和PA2,當(dāng)上位機(jī)發(fā)出讀數(shù)或擦除指令到單片機(jī)后,單片機(jī)再把該指令傳給FPGA,F(xiàn)PGA將這些指令編輯成不同的代碼下發(fā)給下行記錄設(shè)備,再由彈載測(cè)試儀將接收到的這些代碼解碼出來以辨別是何種指令,進(jìn)而控制彈載測(cè)試儀的讀數(shù)或擦除操作。其中圖3為本設(shè)計(jì)中USB芯片與外圍電路的硬件連接示意圖。
圖3 USB與外圍電路連接原理圖
固件程序是USB傳輸?shù)年P(guān)鍵部分,其主要功能是處理整個(gè)系統(tǒng)的通信過程和事物處理。本設(shè)計(jì)為了減少外圍電路的復(fù)雜程度而采用了GPIF模式,因此大多數(shù)功能都通過GPIF波形設(shè)計(jì)來實(shí)現(xiàn)[5-7]。下面以USB與備用接口讀數(shù)為例來說明固件的設(shè)計(jì)與現(xiàn)實(shí)。
如圖4所示:本設(shè)計(jì)中GPIF波形定義了S0~S2共三個(gè)狀態(tài)和一個(gè)IDLE狀態(tài)S7。S0狀態(tài)為非判決點(diǎn),在此停留1個(gè)IFCLK周期(即20.83ns),此時(shí)rd為低,將FPGA內(nèi)部FIFO中的數(shù)據(jù)讀出置于數(shù)據(jù)線上,S1繼續(xù)這個(gè)過程;S2為判決點(diǎn),此時(shí)usbrd輸出為高,采樣FIFO數(shù)據(jù)線并儲(chǔ)存數(shù)據(jù)線上的數(shù)據(jù)以進(jìn)行后續(xù)數(shù)據(jù)的打包,并且采樣內(nèi)部狀態(tài)信號(hào)INTRDY(該信號(hào)是8051的“ready”信號(hào)),若該信號(hào)非真則跳到S0,若為真則跳到空閑態(tài)IDLE狀態(tài),結(jié)束GPIF傳輸。在這個(gè)過程中,rd充當(dāng)了讀外部數(shù)據(jù)的時(shí)鐘信號(hào)。當(dāng)GPIF波形設(shè)計(jì)好后,由GPIF設(shè)計(jì)工具將設(shè)計(jì)好的波形導(dǎo)出成gpif.c添加到固件程序中即可使用。
圖4 GPIF波形設(shè)計(jì)
GPIF波形階段只是將外部數(shù)據(jù)讀入了68013的相應(yīng)寄存器中,而往上位機(jī)的傳送還需要聯(lián)合固件中其他程序來實(shí)現(xiàn)[4]。當(dāng)USB固件檢測(cè)到上位機(jī)發(fā)出的讀命令時(shí),開始判斷外部FIFO是否為非空,若非空則開始將外部數(shù)據(jù)讀入FX2相應(yīng)的寄存器中進(jìn)而傳給上位機(jī)以進(jìn)行后續(xù)處理。整個(gè)過程在TD_Poll()函數(shù)的反復(fù)調(diào)度下反復(fù)執(zhí)行,從而將外部數(shù)據(jù)讀出。以下是實(shí)現(xiàn)外設(shè)功能的部分程序代碼:
該模塊主要包括PFGA芯片XC2S100E及其程序配置芯片XCFO1S、數(shù)據(jù)緩存IDT7206及與彈載測(cè)試儀的連接接口。X2S100E是XILINX公司Spartan-IIE系列芯片,該芯片具有1.8 V的內(nèi)核電壓,因此功耗更低,并且可以提供等多的I/O口和邏輯門,使其具有更優(yōu)越的性能[8]。
整個(gè)系統(tǒng)由USB接口提供+5 V電壓,并由電源轉(zhuǎn)換芯片TPS70351將該電壓轉(zhuǎn)換為FPGA所需的3.3 V和1.8 V電壓。系統(tǒng)中FPGA的主要功能是負(fù)責(zé)接收與執(zhí)行通過USB傳送過來的命令,并且按要求對(duì)彈載測(cè)試儀進(jìn)行控制,將采集到的數(shù)據(jù)讀出來暫存入FIFO中,之后再將數(shù)據(jù)傳給USB模塊,最后通過USB總線將數(shù)據(jù)傳給上位機(jī)以供分析。其中圖5為本設(shè)計(jì)中FPGA芯片與外圍電路的硬件連接示意圖。
圖5 FPGA與外圍電路連接原理圖
圖6是從備用接口讀數(shù)的仿真圖:可以看到,將讀數(shù)命令控制字30H寫入f_data后,等待rb_delay自減到0,此時(shí)判斷rb信號(hào)是否為高,若為高則檢測(cè)讀數(shù)請(qǐng)求(send_request)是否有效(低有效),若有效則在讀信號(hào)(rd)的上升沿將數(shù)據(jù)讀出。
圖6 讀數(shù)仿真圖
為驗(yàn)證該系統(tǒng)的可行性及實(shí)用性,對(duì)該系統(tǒng)進(jìn)行了多次的測(cè)試。圖7為在實(shí)驗(yàn)室條件下,對(duì)該系統(tǒng)輸入-3 V~+3 V的矩形波采集到的圖形,可看出該系統(tǒng)可準(zhǔn)確無誤的還原采集到的波形。圖8為在某次實(shí)際應(yīng)用中利用該通訊接口采集到的某炮彈發(fā)射過程中膛內(nèi)初始過載信號(hào),從圖中可以看出,過載值可達(dá)-5 876 gn,脈寬22 ms。膛內(nèi)過載在1 196 ms~1 218 ms時(shí)達(dá)到峰值階段,在1 202 ms附近達(dá)到最大值。驗(yàn)證了該接口可以有效測(cè)得實(shí)驗(yàn)數(shù)據(jù),為摸清彈藥飛行特性參數(shù)做出了突出的貢獻(xiàn)。
圖7 實(shí)驗(yàn)室條件下采集到的波形
圖8 炮彈膛內(nèi)初始過載信號(hào)
本系統(tǒng)利用EZ-USB FX2與FPGA實(shí)現(xiàn)了彈載測(cè)試儀的通訊接口的設(shè)計(jì),利用USB芯片的可編程控制接口很好的解決了數(shù)據(jù)傳輸?shù)钠款i問題,經(jīng)實(shí)際應(yīng)用驗(yàn)證該裝置具有很好的穩(wěn)定,并且具有一定的彈性,易于根據(jù)需要靈活組建,具有一定的實(shí)際意義。
[1]基于USB和GPIF的大規(guī)模數(shù)據(jù)采集系統(tǒng)[J].微型機(jī)與應(yīng)用,2003,11:16-18.
[2]Cypress Corp.EZ-USB FX2 Technical Reference Manual[S]. USA:Cypress Corp,2002
[3]張穎,林偉.通用存儲(chǔ)裝置設(shè)計(jì)[J].電子器件,2012,35(3): 304-308.
[4]薛圓圓.USB應(yīng)用開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.
[5]嚴(yán)石,楊定禮,張宇林.基于USB2.0的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子器件,2008,31(6):1959-1962.
[6]王靜紅,劉教民,于富強(qiáng),等.采用CY7C68013芯片的系統(tǒng)固件程序設(shè)計(jì)[J].河北師范大學(xué)學(xué)報(bào)/自然科學(xué)版,2008,32(2): 169-173.
[7]基于EZ-USB FX2的固件程序設(shè)計(jì)[J].電子元器件應(yīng)用,2007,9(1):42-44.
[8]錢峰.EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.
基于EZ-USB FX2的彈載測(cè)試儀通訊接口的設(shè)計(jì)*
王春水,張斌珍*,龔 珊
The Design of Communication Interface of Projectile Load Instrument Based on EZ-USBFX2LP*
WANG Chunshui,ZHANG Binzhen*,GONG Shan
(Key Laboratory of Instrumentation Science and Dynamic Measurement(North University of China),Ministry of Education,Taiyuan030051,China)
A communication interface of projectile load instrument based on the technology of FPGA and USB is designed.It focused on the the characteristics of the EZ-USB FX2 series chip CY7C68013 and the design of the firmware and FPGAmodule.The data transmission rate and hardwarecircuit of the system are greatly improved by using the GPIF transfermode.Finally,the interface is verified by experimentwith high practicability.
interface;USB;FPGA;firmware;GPIF
10.3969/j.issn.1005-9490.2013.06.036
TP23 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1005-9490(2013)06-0915-04
項(xiàng)目來源:國家自然科學(xué)基金項(xiàng)目(51075374)
2013-03-18修改日期:2013-04-11
EEACC:7210
王春水(1988-),男,河北保定人,現(xiàn)于中北大學(xué)電子科學(xué)與技術(shù)系攻讀碩士研究生,主要研究方向?yàn)楣鈱W(xué)MEMS、微流檢測(cè)、射頻MEMS器件;
龔 珊(1989-),女,湖北荊門人,碩士研究生,研究方向?yàn)槲⒓{傳感與執(zhí)行器件,gongshan89@163.com。
張斌珍(1974-),男,山西嵐縣人,教授,主要研究方向?yàn)槲⒓{機(jī)電系統(tǒng)和武器系統(tǒng)惡劣環(huán)境下的動(dòng)態(tài)測(cè)試技術(shù)。在此領(lǐng)域內(nèi)先后開展微納器件和系統(tǒng)的設(shè)計(jì)制造,微弱信號(hào)檢測(cè)與處理,以及惡劣環(huán)境下存儲(chǔ)測(cè)試?yán)碚撆c技術(shù)的研究;