基于FPGA和AD768的高精度信號卡設(shè)計
摘要:遙測匹配裝置的自檢與測試是系統(tǒng)設(shè)計中不可缺少的一項(xiàng)功能,而信號卡是匹配裝置自動測試系統(tǒng)的重要組成部分。本文介紹了一種高精度信號卡的設(shè)計,它采用Xilinx公司的可編程邏輯器件XCF2S50E及AD768來實(shí)現(xiàn)。采用FPGA簡化了電路設(shè)計,提高了系統(tǒng)的設(shè)計靈活性;采用16位的D/A變換器AD768則提高了信號卡的精度。
關(guān)鍵詞:高精度;信號卡;FPGA;AD768
1 引言
在導(dǎo)彈型號的研制過程中,匹配裝置是用于遙測系統(tǒng)中信號變換的關(guān)鍵部件,是彈上所有關(guān)鍵部件的信息送到遙測設(shè)備的咽喉。匹配裝置的精度和可靠性是影響遙測結(jié)果的重要因素。本課題是為遙測匹配裝置自動測試系統(tǒng)提供高精度的信號,用于檢驗(yàn)匹配裝置自動測試系統(tǒng)的工作情況。從這個意義上來說,小型化、通用化信號卡的設(shè)計和實(shí)現(xiàn)是測試平臺的必然要求。因此,必須采用先進(jìn)的設(shè)計方法和大規(guī)??删幊踢壿嬈骷右詫?shí)現(xiàn)才能適應(yīng)這種發(fā)展趨勢,CPLD/FPGA等大規(guī)??删幊踢壿嬈骷陌l(fā)展和VHDL硬件描述語言的成熟為此奠定了良好的軟硬件基礎(chǔ)。為了提高信號卡的精度,D/A的選擇至關(guān)重要,選用Analog Device公司的16位D/A轉(zhuǎn)換器AD768完全滿足精度的設(shè)計要求。
本文著重介紹了一種基于FPGA和AD768,用VHDL硬件描述語言設(shè)計實(shí)現(xiàn)高精度信號卡的方案,理論和實(shí)驗(yàn)證明,該方案切實(shí)可行。
2 信號卡的方案設(shè)計
2.1 功能介紹
該信號卡輸出為64路-15V~+15V 的可調(diào)電壓。信號的調(diào)節(jié)精度不低于0.1%。每路信號的驅(qū)動電流不小于5mA,不大于20mA。另外根據(jù)需要,也可以在-15V~+15V范圍內(nèi)通過調(diào)整硬件任意選擇極限輸出范圍,電壓范圍越小,絕對誤差電壓也相對越小。
2.2 信號卡原理框圖
該信號卡由FPGA主控單元、單片機(jī)、電源模塊、大容量存儲器、DAC、后繼調(diào)理電路及輸出接口等部分組成。其中,波形數(shù)據(jù)由上位機(jī)通過軟件編程產(chǎn)生,數(shù)據(jù)經(jīng)主控卡傳送到高速數(shù)字總線上,信號卡由單片機(jī)通過總線接口接收后送到FPGA,由FPGA送到大容量存儲器存儲。FPGA中心控制邏輯負(fù)責(zé)各種控制信號的產(chǎn)生,它控制數(shù)據(jù)從大容量存儲器輸出到DAC轉(zhuǎn)換,并控制模擬開關(guān)的選通,信號經(jīng)模擬開關(guān)后再經(jīng)過保持放大電路輸出。信號卡的原理框圖如圖1所示。
圖1 高精度信號卡的原理框圖
電源模塊給各個部分供電(圖中未標(biāo)箭頭)。繼電器的控制信號由上位機(jī)給出,經(jīng)主控卡傳送到數(shù)字總線上,然后經(jīng)單片機(jī)和FPGA給繼電器。繼電器控制后繼調(diào)理電路的電源供電,以此來控制是否將信號輸出給外部設(shè)備。
2.3 提高精度的一些措施
采用16位D/A能達(dá)到所要的1%的調(diào)節(jié)精度,但是由于信號傳輸中有串?dāng)_、噪聲等一系列的干擾,難免會對精度產(chǎn)生影響,有鑒于此,我們在電路中加入以下措施來抑制干擾,提高精度。
1.電路板采用4層板設(shè)計,提高整個系統(tǒng)的抗干擾能力
2.模擬地和數(shù)字地分開,在一點(diǎn)處用0歐的電阻連接起來。整個信號源模塊與測試臺其他模塊不共地。
3. 在接口與單片機(jī)之間采用光電隔離器進(jìn)行隔離,抑制干擾。
4.采用獨(dú)立電源供電,通過繼電器給放大電路供電,保證電源電壓不受干擾。
5.后續(xù)調(diào)理電路采用外部頻率補(bǔ)償法,降低環(huán)路增益,提高了信號的穩(wěn)定性。
經(jīng)驗(yàn)證,以上措施很好地抑制了系統(tǒng)地干擾,對提高系統(tǒng)地調(diào)節(jié)精度起到了很大的作用。
3 DAC單元電路設(shè)計
AD768是16位的高速模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換速率高達(dá)30MSPS,根據(jù)要求,輸出的模擬信號電壓范圍要求在-15V~+15V之間,轉(zhuǎn)換電路采用AD811與AD824的組合,如圖2所示。
圖2 DAC信號轉(zhuǎn)換電路
圖2中,IOUTA為AD768的電流輸出,數(shù)字輸入全為1時滿幅;REFOUT為AD768的參考輸出電壓,值為2.5V。AD768有兩個互補(bǔ)的電流輸出端IOUTA和IOUTB,它們具有相同的動態(tài)性能??梢耘渲贸蓡味嘶虿罘謨煞N工作模式。IOUTA和IOUTB可通過一個負(fù)載電阻R1轉(zhuǎn)換成互補(bǔ)的單端電壓輸出VOUTA和VOUTB。而使差分電壓存在于VOUTA和VOUTB之間,同時通過一個差分放大器來將差分信號轉(zhuǎn)換成單端電壓。本設(shè)計采用AD768的差分模式。通過設(shè)置IBipolar的值為最大反饋電流IFB的一半,使得輸出電壓的邊界值對稱。當(dāng)參考輸出電壓REFOUT端接地時,AD768處于電流輸出模式,輸出電流IOUTA與參考電流IREFIN的關(guān)系式為:
IOUTA=(DACCODE/65536)(IREFIN4) (1)
式(1)中,DACCODE是16位數(shù)字輸入碼,在0~65535間變化。IREFIN的值為5mA。因此輸出電流IOUTA最大不會超過20mA,能滿足要求的驅(qū)動電流的要求。輸出電流經(jīng)過運(yùn)算差分放大器AD811緩沖放大后,輸出電壓范圍在-2.5V~+2.5V,再經(jīng)過放大增益為6的放大電路,輸出電壓VOUT將在-15V~+15V之間,能夠滿足規(guī)定的要求。
4 FPGA內(nèi)部邏輯控制
VHDL語言是一種硬件描述語言,描述能力極強(qiáng),可覆蓋邏輯設(shè)計的諸多領(lǐng)域和層次,并支持眾多的硬件模型。與其它HDL語言相比有:設(shè)計技術(shù)齊全,方法靈活,支持廣泛;系統(tǒng)硬件描述能力強(qiáng);可以與工藝無關(guān)地進(jìn)行編程;語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用;縮短設(shè)計周期,減少投資風(fēng)險等優(yōu)點(diǎn)。本設(shè)計的FPGA內(nèi)部邏輯全部采用VHDL語言來編寫。
4.1 FPGA內(nèi)部原理圖
圖4 FPGA邏輯內(nèi)部原理圖
圖4是由VHDL語言實(shí)現(xiàn)的信號卡FPGA內(nèi)部原理圖,F(xiàn)PGA在系統(tǒng)時鐘信號(FOSC)的驅(qū)動下,判斷上位機(jī)給出的控制信號,接收上位機(jī)發(fā)出的波形數(shù)據(jù),然后輸出各種控制信號,并將數(shù)據(jù)送到存儲器中。另外,F(xiàn)PGA還給出指示燈的控制信號,通過指示燈指示其工作狀態(tài),方便了設(shè)備工作狀態(tài)的判斷及調(diào)試。
4.2 數(shù)據(jù)的二次編碼
由于單片機(jī)與FPGA之間的數(shù)據(jù)傳輸是8位的,而我們用的D/A是16位的,因此產(chǎn)生的16位數(shù)據(jù)如在單片機(jī)與FPGA間傳輸是問題所在,為此,我們將計算機(jī)生成的16位數(shù)據(jù)分成3個8位的數(shù)據(jù),用每個數(shù)據(jù)的高二位即DATA7和DATA6的組合來表示數(shù)據(jù)是高位、中位還是低位。單片機(jī)傳給FPGA的8位的數(shù)據(jù),F(xiàn)PGA要把它們還原成原來16位的數(shù)據(jù),這就是數(shù)據(jù)的二次編碼。數(shù)據(jù)的二次編碼是整個程序的重點(diǎn)所在。圖5是二次編碼的流程圖。
圖5 數(shù)據(jù)二次編碼流程
在總線寫(即wr有效)的過程中,F(xiàn)PGA要判斷收到單片機(jī)的數(shù)據(jù)是高位、中位還是低位,程序中, busdata(7 downto 6) = "00"表示接受到的數(shù)據(jù)是低位;busdata(7 downto 6) = "01"表示接受到的數(shù)據(jù)是中位;busdata(7 downto 6) = "10"表示接受到的數(shù)據(jù)是高位。FPGA將3個8位(實(shí)際是6位)的數(shù)據(jù)整合,寫入到存儲器及D/A轉(zhuǎn)換器收到的數(shù)據(jù)就是轉(zhuǎn)換以后的dataout[15 … 0]。
5 結(jié)論
信號卡的輸出結(jié)果如圖6所示,由圖可見,波形穩(wěn)定,失真度極低,較好地達(dá)到了設(shè)計的要求。
圖6 信號卡輸出波形
因此,采用可編程邏輯器件FPGA和16位D/A轉(zhuǎn)換器AD768來進(jìn)行設(shè)計的方案切實(shí)可行,本信號卡具有結(jié)構(gòu)簡單,性能穩(wěn)定,有效性、可靠性高,此外還有便于修改和優(yōu)化等優(yōu)點(diǎn),縮短了開發(fā)設(shè)計的周期。
參考文獻(xiàn):
[1] 朱衛(wèi)華,黃鄉(xiāng)佩等. 基于FPGA的高精度數(shù)字移相低頻正弦波發(fā)生器設(shè)計. 微計算機(jī)信息. 2005,21(7):106~107。
[2] 任勇峰,莊新敏. VHDL與硬件實(shí)現(xiàn)速成. 國防工業(yè)出版社. 2005年7月。
[3] 宋濤,師奕兵等. 一種高速D/A卡的硬件電路及驅(qū)動程序設(shè)計. 中國測試技術(shù). 2005,31(5):100~102。
[4] 宋躍,胡升平. 低頻高精度DDS脈沖信號生成研究與FPGA實(shí)現(xiàn). 微電子學(xué)與計算機(jī). 2006,23(7):178~181。
評論