《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的可調(diào)信號(hào)源設(shè)計(jì)
基于FPGA的可調(diào)信號(hào)源設(shè)計(jì)
楊新春,任璐娟,黃洋文,劉 毅
(中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
摘要: 針對(duì)航天檢測(cè)設(shè)備中信號(hào)源單一、不可調(diào)等缺點(diǎn),提出并實(shí)現(xiàn)了一種以FPGA 、高速D/A、繼電器AQY210為核心,結(jié)構(gòu)簡(jiǎn)單,控制靈活,信號(hào)質(zhì)量高的多功能信號(hào)源生成系統(tǒng)。該系統(tǒng)可提供各種頻率、幅值、偏置等參數(shù)可調(diào)的模擬信號(hào),成功應(yīng)用于工業(yè)控制開(kāi)關(guān)量輸出性能檢測(cè)。同時(shí),上位機(jī)與硬件通信的接口使用了USB-單片機(jī)(CY7C68013)和USB-FIFO(FT245)兩種方案,并進(jìn)行實(shí)際對(duì)比,提出其適用條件和范圍。
Abstract:
Key words :

摘  要:針對(duì)航天檢測(cè)設(shè)備中信號(hào)源單一、不可調(diào)等缺點(diǎn),提出并實(shí)現(xiàn)了一種以title="FPGA" target="_blank">FPGA 、title="高速D/A">高速D/A、繼電器AQY210為核心,結(jié)構(gòu)簡(jiǎn)單,控制靈活,信號(hào)質(zhì)量高的多功能信號(hào)源生成系統(tǒng)。該系統(tǒng)可提供各種頻率、幅值、偏置等參數(shù)可調(diào)的模擬信號(hào),成功應(yīng)用于工業(yè)控制開(kāi)關(guān)量輸出性能檢測(cè)。同時(shí),上位機(jī)與硬件通信的接口使用了USB-單片機(jī)CY7C68013)和USB-FIFO(FT245)兩種方案,并進(jìn)行實(shí)際對(duì)比,提出其適用條件和范圍。
關(guān)鍵詞:FPGA;高速D/A;AQY210;信號(hào)源;USB

    傳統(tǒng)產(chǎn)品級(jí)信號(hào)源往往只能產(chǎn)生單一信號(hào),滿足不了科研和實(shí)際檢測(cè)的需要。尤其在復(fù)雜的航天環(huán)境實(shí)驗(yàn)中,需要信號(hào)源能產(chǎn)生不同種類和參數(shù)可調(diào)的信號(hào),作為系統(tǒng)自檢時(shí)的信號(hào)輸入,以此檢測(cè)目標(biāo)設(shè)備的工作狀態(tài)和各項(xiàng)性能指標(biāo),為目標(biāo)設(shè)備正常工作提供依據(jù)。
    現(xiàn)場(chǎng)可編程邏輯陣列器件(FPGA)具有編程方便、高集成度、高可靠性等優(yōu)點(diǎn)。為了滿足科研和實(shí)際測(cè)試要求,本文設(shè)計(jì)了一種以FPGA、高速D/A為核心,能產(chǎn)生多路頻率可調(diào)信號(hào)的信號(hào)源系統(tǒng)。該系統(tǒng)中波形數(shù)據(jù)、控制命令字由上位機(jī)發(fā)出,通過(guò)FPGA控制在數(shù)據(jù)存儲(chǔ)器中存儲(chǔ)波形數(shù)據(jù),并將波形數(shù)據(jù)讀出送入DAC進(jìn)行數(shù)模轉(zhuǎn)換后得到相應(yīng)的模擬信號(hào)波形及開(kāi)關(guān)量的控制。利用上述方法設(shè)計(jì)的信號(hào)源,信號(hào)產(chǎn)生靈活、功能擴(kuò)展方便、信號(hào)參數(shù)可調(diào),實(shí)現(xiàn)了硬件電路的軟件化設(shè)計(jì),具有特殊的現(xiàn)實(shí)意義和廣泛的應(yīng)用前景[1]。
1 系統(tǒng)設(shè)計(jì)
    本信號(hào)源系統(tǒng)主要由數(shù)據(jù)輸出(上位機(jī)軟件)、USB數(shù)據(jù)傳輸接口、數(shù)據(jù)緩沖與存儲(chǔ)(FIFO和SRAM)、控制部分(FPGA) 、數(shù)據(jù)的轉(zhuǎn)換及調(diào)理(DAC、跟隨器)及開(kāi)關(guān)量的輸出等6個(gè)模塊組成。
    系統(tǒng)總體設(shè)計(jì)框圖如圖1所示,其具體工作流程為:PC機(jī)發(fā)送數(shù)據(jù)至USB單片機(jī)端點(diǎn)FIFO,當(dāng)數(shù)據(jù)大小達(dá)到512 B時(shí),數(shù)據(jù)自動(dòng)打包后送入外部緩沖FIFO。FIFO是一種先進(jìn)先出的數(shù)據(jù)緩存器,它與普通存儲(chǔ)器的區(qū)別在于沒(méi)有外部讀寫(xiě)地址線,靠空/滿標(biāo)志的產(chǎn)生來(lái)控制數(shù)據(jù)的寫(xiě)入與讀出。在FPGA控制模塊中,當(dāng)FPGA接收到FIFO半滿信號(hào)后,由FPGA控制將波形,數(shù)據(jù)存于SRAM中。然后FPGA控制波形數(shù)據(jù)從SRAM中取出后送D/A進(jìn)行轉(zhuǎn)換,經(jīng)數(shù)模轉(zhuǎn)換和調(diào)理電路后即得所需波形,或直接由FPGA將數(shù)據(jù)發(fā)送到繼電器來(lái)控制外部供電系統(tǒng)的開(kāi)斷。

2 模塊設(shè)計(jì)
2.1 USB傳輸部分

    USB 接口即“通用串行總線接口”,是應(yīng)用于計(jì)算機(jī)領(lǐng)域的新型接口之一,它使得外圍設(shè)備與計(jì)算機(jī)的連接更加高效、便利。USB 接口不僅具有傳輸速率快、即插即用、支持熱插拔等特點(diǎn),而且易于擴(kuò)展,可以有效地解決計(jì)算機(jī)外圍接口不足的問(wèn)題。隨著在工程實(shí)際中對(duì)數(shù)據(jù)傳輸?shù)乃俾室笤絹?lái)越高,傳統(tǒng)的串口、并口傳輸已經(jīng)不能滿足數(shù)據(jù)傳輸速率的要求,而USB2.0 接口最高可達(dá)480 Mb/s 的高速傳輸速率,使得計(jì)算機(jī)和外圍設(shè)備之間的高速數(shù)據(jù)傳輸成為可能。同時(shí),USB 接口設(shè)備的普及也促使其成為數(shù)據(jù)高速傳輸中設(shè)備連接的首選接口。
    本設(shè)計(jì)考慮了兩種USB2.0通信接口設(shè)計(jì)模式:(1) 基于USB 單片機(jī)的接口設(shè)計(jì)。例如以Cypress 公司開(kāi)發(fā)的CY7C68013 單片機(jī)為控制核心而設(shè)計(jì)的USB 通訊接口;(2)基于協(xié)議轉(zhuǎn)換芯片的接口設(shè)計(jì),例如以FTDI 公司推出的FT245BM 協(xié)議接口芯片為控制核心的USB 通信接口。
    (1)USB-單片機(jī)
    CY7C68013單片機(jī)[2]的GPIF接口有16位數(shù)據(jù)線、6個(gè)RDY信號(hào)和6個(gè)CTL信號(hào)。RDY信號(hào)用于對(duì)輸入的信號(hào)進(jìn)行判斷, CTL用于輸出對(duì)外部器件的控制命令,16位數(shù)據(jù)線用于單片機(jī)與外部器件進(jìn)行數(shù)據(jù)交換和傳輸。該芯片集成了51單片機(jī)內(nèi)核、USB2.0收發(fā)器、串行接口引擎(SIE)、4 KB FIFO存儲(chǔ)器以及通用可編程接口等模塊,這些模塊保證了CY7C68013與DSP、ATA等外圍器件實(shí)現(xiàn)無(wú)縫、高速的數(shù)據(jù)傳輸。
    (2)USB-FIFO
    FT245BM是由FTDI公司推出的USB協(xié)議芯片。FT245BM內(nèi)含2個(gè)FIFO數(shù)據(jù)緩沖區(qū)。一個(gè)是128 B的接收緩沖區(qū),另一個(gè)是384 B的發(fā)送緩沖區(qū)。它們用作USB數(shù)據(jù)與并行I/O口數(shù)據(jù)的交換緩沖區(qū)。FIFO是實(shí)現(xiàn)與外界(微控制器、FPGA或其他器件)數(shù)據(jù)互換的接口,它主要通過(guò)8根數(shù)據(jù)線DO~D7、讀寫(xiě)控制線RD和WR以及FIFO發(fā)送緩沖區(qū)空標(biāo)志TXE和FIFO接收緩沖區(qū)非空標(biāo)志RXF來(lái)完成數(shù)據(jù)的交互。FT245BM與FPGA之間的邏輯連接圖如圖2所示。

    通過(guò)USB-單片機(jī)和USB-FIFO兩種傳輸方式的對(duì)比來(lái)看,F(xiàn)T245BM USB接口協(xié)議芯片具有設(shè)計(jì)簡(jiǎn)單、使用簡(jiǎn)便的特點(diǎn)。但是,由于受其芯片內(nèi)部FIFO空間所限,導(dǎo)致傳輸速率有限,最高只能達(dá)到1 MB/s左右;同時(shí)由于波形數(shù)據(jù)和控制命令字都是通過(guò)DATA(7:0) 8個(gè)端口進(jìn)行輸入或輸出,所以在傳輸時(shí)是分時(shí)復(fù)用的,不僅在上位機(jī)和底層硬件通信時(shí)帶來(lái)很大的不便,而且降低了信號(hào)源的頻率,遠(yuǎn)遠(yuǎn)小于1 MB/s[3]。
    CY7C68013單片機(jī)具有傳輸速率快、程序設(shè)計(jì)靈活性強(qiáng)、傳輸速率高等特點(diǎn)。它支持12 Mb/s的全速速率和480 Mb/s高速傳輸速率,并且用戶可以根據(jù)實(shí)際情況來(lái)編寫(xiě)和修改數(shù)據(jù)傳輸?shù)某绦蚰K,但是其程序的設(shè)計(jì)相對(duì)FT245BM來(lái)說(shuō)比較復(fù)雜,需要用戶根據(jù)實(shí)際需求來(lái)開(kāi)發(fā)相關(guān)的動(dòng)態(tài)鏈接庫(kù)和應(yīng)用程序,以完成對(duì)數(shù)據(jù)傳輸?shù)目刂啤?br />     兩種基于USB的設(shè)計(jì)方法各有優(yōu)缺點(diǎn),根據(jù)實(shí)際實(shí)驗(yàn)設(shè)計(jì)的需要,在傳輸速率不高、接口設(shè)計(jì)比較簡(jiǎn)單的情況下,可以考慮使用FT245BM USB接口協(xié)議芯片。而對(duì)于傳輸速率要求較高,接口設(shè)計(jì)比較復(fù)雜,同時(shí)要求根據(jù)實(shí)際需求來(lái)設(shè)計(jì)數(shù)據(jù)傳輸模塊的場(chǎng)合,可以考慮使用CY7C68013 USB單片機(jī)。本設(shè)計(jì)在前期試驗(yàn)中采用FT245BM,但由于傳輸速度的限制以及控制的實(shí)時(shí)性,最終采用了CY7C68013 USB單片機(jī)設(shè)計(jì)模式。
2.2 FPGA控制部分
    FPGA程序控制流程圖如圖3所示。


    FPGA有兩種工作模式:第一種是數(shù)據(jù)存儲(chǔ)模式,即控制讀取FIFO中的波形數(shù)據(jù)并存儲(chǔ)到SRAM中。進(jìn)入這種工作模式后,F(xiàn)PGA判斷FIFO的空信號(hào)是否有效;如果FIFO的空信號(hào)無(wú)效,則FPGA控制FIFO的讀信號(hào)有效,從FIFO中讀取波形數(shù)據(jù)存儲(chǔ)到SRAM中。SRAM的存儲(chǔ)方式采用分塊存取的方式,在數(shù)據(jù)讀取時(shí)可通過(guò)分塊掃描的方式均勻讀出各種波形數(shù)據(jù),并且通過(guò)簡(jiǎn)單的修改掃描頻率即可控制波形頻率。第二種是數(shù)據(jù)轉(zhuǎn)換模式,即控制讀取SRAM中的波形數(shù)據(jù)傳送給D/A轉(zhuǎn)換器,并控制D/A轉(zhuǎn)換器完成轉(zhuǎn)換和對(duì)繼電器開(kāi)斷。
2.3 D/A轉(zhuǎn)化部分和開(kāi)關(guān)電路[4-5]
    DAC715是美國(guó)TI公司生產(chǎn)的16位高精度數(shù)模轉(zhuǎn)換器,該芯片具有16位數(shù)據(jù)總線,可在工作電壓為±12 V或±15 V時(shí),實(shí)現(xiàn)0 V~10 V的模擬電壓輸出。FPGA主要通過(guò)DAC715的輸入工作選通信號(hào)WR、寄存器控制信號(hào)A0和D/A鎖存控制信號(hào)A1 來(lái)控制DAC715完成數(shù)模轉(zhuǎn)換。DAC715輸入數(shù)據(jù)與輸出電壓的對(duì)應(yīng)關(guān)系如表1所示。

    本設(shè)計(jì)的開(kāi)關(guān)量采用繼電器AQY210,該繼電器是電流驅(qū)動(dòng),電路連接圖如圖4所示。

    本文所設(shè)計(jì)的信號(hào)源利用USB接口技術(shù),實(shí)現(xiàn)了計(jì)算機(jī)命令字和波形數(shù)據(jù)的實(shí)時(shí)下載,使得產(chǎn)生的信號(hào)頻率、幅值和偏置靈活可調(diào),可滿足不同的實(shí)驗(yàn)要求,同時(shí)對(duì)外部供電系統(tǒng)可以靈活控制。事實(shí)上,這種控制的靈活性也使其在航天測(cè)試上得到了廣泛運(yùn)用。
參考文獻(xiàn)
[1] 陳亮,張煒.基于FPGA的多功能信號(hào)源生成系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2009,32(6):34-37.
[2] 林剛勇,馬善農(nóng),許邦蓮.CY7C68013在數(shù)據(jù)傳輸中的應(yīng)用[J].微計(jì)算機(jī)信息,2007(29):76-78.
[3] 周功業(yè),陳玉剛.基于USB和GPIF的大規(guī)模數(shù)據(jù)采集系統(tǒng)[J].微型機(jī)與應(yīng)用,2003,22(11):16-18.
[4] 雷霆,李航,曲永志.基于FPGA的可調(diào)信號(hào)源檢測(cè)裝置的設(shè)計(jì) [J].自動(dòng)化信息,2008 (12):41-43.
[5] 王春玲,王杰.可變頻標(biāo)準(zhǔn)信號(hào)源的VHDL設(shè)計(jì)[J].泰山學(xué)報(bào),2009(11):79-82.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。