摘 要:針對航天檢測設(shè)備中信號源單一,、不可調(diào)等缺點,,提出并實現(xiàn)了一種以title="FPGA" target="_blank">FPGA 、title="高速D/A">高速D/A,、繼電器AQY210為核心,,結(jié)構(gòu)簡單,控制靈活,,信號質(zhì)量高的多功能信號源生成系統(tǒng),。該系統(tǒng)可提供各種頻率、幅值,、偏置等參數(shù)可調(diào)的模擬信號,,成功應(yīng)用于工業(yè)控制開關(guān)量輸出性能檢測,。同時,上位機與硬件通信的接口使用了USB-單片機(CY7C68013)和USB-FIFO(FT245)兩種方案,,并進行實際對比,,提出其適用條件和范圍。
關(guān)鍵詞:FPGA,;高速D/A,;AQY210;信號源,;USB
傳統(tǒng)產(chǎn)品級信號源往往只能產(chǎn)生單一信號,,滿足不了科研和實際檢測的需要。尤其在復(fù)雜的航天環(huán)境實驗中,,需要信號源能產(chǎn)生不同種類和參數(shù)可調(diào)的信號,,作為系統(tǒng)自檢時的信號輸入,以此檢測目標設(shè)備的工作狀態(tài)和各項性能指標,為目標設(shè)備正常工作提供依據(jù),。
現(xiàn)場可編程邏輯陣列器件(FPGA)具有編程方便,、高集成度、高可靠性等優(yōu)點,。為了滿足科研和實際測試要求,,本文設(shè)計了一種以FPGA、高速D/A為核心,,能產(chǎn)生多路頻率可調(diào)信號的信號源系統(tǒng),。該系統(tǒng)中波形數(shù)據(jù)、控制命令字由上位機發(fā)出,,通過FPGA控制在數(shù)據(jù)存儲器中存儲波形數(shù)據(jù),,并將波形數(shù)據(jù)讀出送入DAC進行數(shù)模轉(zhuǎn)換后得到相應(yīng)的模擬信號波形及開關(guān)量的控制。利用上述方法設(shè)計的信號源,,信號產(chǎn)生靈活,、功能擴展方便、信號參數(shù)可調(diào),,實現(xiàn)了硬件電路的軟件化設(shè)計,,具有特殊的現(xiàn)實意義和廣泛的應(yīng)用前景[1]。
1 系統(tǒng)設(shè)計
本信號源系統(tǒng)主要由數(shù)據(jù)輸出(上位機軟件),、USB數(shù)據(jù)傳輸接口,、數(shù)據(jù)緩沖與存儲(FIFO和SRAM)、控制部分(FPGA) ,、數(shù)據(jù)的轉(zhuǎn)換及調(diào)理(DAC,、跟隨器)及開關(guān)量的輸出等6個模塊組成。
系統(tǒng)總體設(shè)計框圖如圖1所示,,其具體工作流程為:PC機發(fā)送數(shù)據(jù)至USB單片機端點FIFO,,當(dāng)數(shù)據(jù)大小達到512 B時,,數(shù)據(jù)自動打包后送入外部緩沖FIFO。FIFO是一種先進先出的數(shù)據(jù)緩存器,,它與普通存儲器的區(qū)別在于沒有外部讀寫地址線,,靠空/滿標志的產(chǎn)生來控制數(shù)據(jù)的寫入與讀出。在FPGA控制模塊中,,當(dāng)FPGA接收到FIFO半滿信號后,,由FPGA控制將波形,數(shù)據(jù)存于SRAM中,。然后FPGA控制波形數(shù)據(jù)從SRAM中取出后送D/A進行轉(zhuǎn)換,,經(jīng)數(shù)模轉(zhuǎn)換和調(diào)理電路后即得所需波形,或直接由FPGA將數(shù)據(jù)發(fā)送到繼電器來控制外部供電系統(tǒng)的開斷,。
2 模塊設(shè)計
2.1 USB傳輸部分
USB 接口即“通用串行總線接口”,,是應(yīng)用于計算機領(lǐng)域的新型接口之一,它使得外圍設(shè)備與計算機的連接更加高效,、便利。USB 接口不僅具有傳輸速率快,、即插即用,、支持熱插拔等特點,而且易于擴展,,可以有效地解決計算機外圍接口不足的問題,。隨著在工程實際中對數(shù)據(jù)傳輸?shù)乃俾室笤絹碓礁撸瑐鹘y(tǒng)的串口,、并口傳輸已經(jīng)不能滿足數(shù)據(jù)傳輸速率的要求,,而USB2.0 接口最高可達480 Mb/s 的高速傳輸速率,使得計算機和外圍設(shè)備之間的高速數(shù)據(jù)傳輸成為可能,。同時,,USB 接口設(shè)備的普及也促使其成為數(shù)據(jù)高速傳輸中設(shè)備連接的首選接口。
本設(shè)計考慮了兩種USB2.0通信接口設(shè)計模式:(1) 基于USB 單片機的接口設(shè)計,。例如以Cypress 公司開發(fā)的CY7C68013 單片機為控制核心而設(shè)計的USB 通訊接口,;(2)基于協(xié)議轉(zhuǎn)換芯片的接口設(shè)計,例如以FTDI 公司推出的FT245BM 協(xié)議接口芯片為控制核心的USB 通信接口,。
(1)USB-單片機
CY7C68013單片機[2]的GPIF接口有16位數(shù)據(jù)線,、6個RDY信號和6個CTL信號。RDY信號用于對輸入的信號進行判斷,, CTL用于輸出對外部器件的控制命令,,16位數(shù)據(jù)線用于單片機與外部器件進行數(shù)據(jù)交換和傳輸。該芯片集成了51單片機內(nèi)核,、USB2.0收發(fā)器,、串行接口引擎(SIE),、4 KB FIFO存儲器以及通用可編程接口等模塊,這些模塊保證了CY7C68013與DSP,、ATA等外圍器件實現(xiàn)無縫,、高速的數(shù)據(jù)傳輸。
(2)USB-FIFO
FT245BM是由FTDI公司推出的USB協(xié)議芯片,。FT245BM內(nèi)含2個FIFO數(shù)據(jù)緩沖區(qū),。一個是128 B的接收緩沖區(qū),另一個是384 B的發(fā)送緩沖區(qū),。它們用作USB數(shù)據(jù)與并行I/O口數(shù)據(jù)的交換緩沖區(qū),。FIFO是實現(xiàn)與外界(微控制器、FPGA或其他器件)數(shù)據(jù)互換的接口,,它主要通過8根數(shù)據(jù)線DO~D7,、讀寫控制線RD和WR以及FIFO發(fā)送緩沖區(qū)空標志TXE和FIFO接收緩沖區(qū)非空標志RXF來完成數(shù)據(jù)的交互。FT245BM與FPGA之間的邏輯連接圖如圖2所示,。
通過USB-單片機和USB-FIFO兩種傳輸方式的對比來看,,F(xiàn)T245BM USB接口協(xié)議芯片具有設(shè)計簡單、使用簡便的特點,。但是,,由于受其芯片內(nèi)部FIFO空間所限,導(dǎo)致傳輸速率有限,,最高只能達到1 MB/s左右,;同時由于波形數(shù)據(jù)和控制命令字都是通過DATA(7:0) 8個端口進行輸入或輸出,所以在傳輸時是分時復(fù)用的,,不僅在上位機和底層硬件通信時帶來很大的不便,,而且降低了信號源的頻率,遠遠小于1 MB/s[3],。
CY7C68013單片機具有傳輸速率快,、程序設(shè)計靈活性強、傳輸速率高等特點,。它支持12 Mb/s的全速速率和480 Mb/s高速傳輸速率,,并且用戶可以根據(jù)實際情況來編寫和修改數(shù)據(jù)傳輸?shù)某绦蚰K,但是其程序的設(shè)計相對FT245BM來說比較復(fù)雜,,需要用戶根據(jù)實際需求來開發(fā)相關(guān)的動態(tài)鏈接庫和應(yīng)用程序,以完成對數(shù)據(jù)傳輸?shù)目刂啤?br />
兩種基于USB的設(shè)計方法各有優(yōu)缺點,,根據(jù)實際實驗設(shè)計的需要,在傳輸速率不高,、接口設(shè)計比較簡單的情況下,,可以考慮使用FT245BM USB接口協(xié)議芯片。而對于傳輸速率要求較高,接口設(shè)計比較復(fù)雜,,同時要求根據(jù)實際需求來設(shè)計數(shù)據(jù)傳輸模塊的場合,,可以考慮使用CY7C68013 USB單片機。本設(shè)計在前期試驗中采用FT245BM,但由于傳輸速度的限制以及控制的實時性,,最終采用了CY7C68013 USB單片機設(shè)計模式,。
2.2 FPGA控制部分
FPGA程序控制流程圖如圖3所示。
FPGA有兩種工作模式:第一種是數(shù)據(jù)存儲模式,,即控制讀取FIFO中的波形數(shù)據(jù)并存儲到SRAM中,。進入這種工作模式后,F(xiàn)PGA判斷FIFO的空信號是否有效,;如果FIFO的空信號無效,,則FPGA控制FIFO的讀信號有效,從FIFO中讀取波形數(shù)據(jù)存儲到SRAM中,。SRAM的存儲方式采用分塊存取的方式,,在數(shù)據(jù)讀取時可通過分塊掃描的方式均勻讀出各種波形數(shù)據(jù),并且通過簡單的修改掃描頻率即可控制波形頻率,。第二種是數(shù)據(jù)轉(zhuǎn)換模式,,即控制讀取SRAM中的波形數(shù)據(jù)傳送給D/A轉(zhuǎn)換器,并控制D/A轉(zhuǎn)換器完成轉(zhuǎn)換和對繼電器開斷,。
2.3 D/A轉(zhuǎn)化部分和開關(guān)電路[4-5]
DAC715是美國TI公司生產(chǎn)的16位高精度數(shù)模轉(zhuǎn)換器,,該芯片具有16位數(shù)據(jù)總線,可在工作電壓為±12 V或±15 V時,,實現(xiàn)0 V~10 V的模擬電壓輸出,。FPGA主要通過DAC715的輸入工作選通信號WR,、寄存器控制信號A0和D/A鎖存控制信號A1 來控制DAC715完成數(shù)模轉(zhuǎn)換,。DAC715輸入數(shù)據(jù)與輸出電壓的對應(yīng)關(guān)系如表1所示。
本設(shè)計的開關(guān)量采用繼電器AQY210,,該繼電器是電流驅(qū)動,,電路連接圖如圖4所示。
本文所設(shè)計的信號源利用USB接口技術(shù),,實現(xiàn)了計算機命令字和波形數(shù)據(jù)的實時下載,使得產(chǎn)生的信號頻率,、幅值和偏置靈活可調(diào),可滿足不同的實驗要求,,同時對外部供電系統(tǒng)可以靈活控制,。事實上,這種控制的靈活性也使其在航天測試上得到了廣泛運用,。
參考文獻
[1] 陳亮,張煒.基于FPGA的多功能信號源生成系統(tǒng)設(shè)計與實現(xiàn)[J]. 現(xiàn)代電子技術(shù),2009,,32(6):34-37.
[2] 林剛勇,馬善農(nóng),許邦蓮.CY7C68013在數(shù)據(jù)傳輸中的應(yīng)用[J].微計算機信息,2007(29):76-78.
[3] 周功業(yè),陳玉剛.基于USB和GPIF的大規(guī)模數(shù)據(jù)采集系統(tǒng)[J].微型機與應(yīng)用,2003,22(11):16-18.
[4] 雷霆,李航,曲永志.基于FPGA的可調(diào)信號源檢測裝置的設(shè)計 [J].自動化信息,2008 (12):41-43.
[5] 王春玲,王杰.可變頻標準信號源的VHDL設(shè)計[J].泰山學(xué)報,2009(11):79-82.