《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于Flash型FPGA的信號(hào)源卡設(shè)計(jì)
基于Flash型FPGA的信號(hào)源卡設(shè)計(jì)
摘要: 信號(hào)源廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)試驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。該設(shè)計(jì)可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率進(jìn)行動(dòng)態(tài)、及時(shí)的控制。作為激勵(lì)源,仿真各種測(cè)試信號(hào),提供給被測(cè)電路,以滿足測(cè)量或各種實(shí)際需要,并能夠與其它模塊,組成自動(dòng)測(cè)試系統(tǒng)。該系統(tǒng)的設(shè)計(jì),完整的實(shí)現(xiàn)了一個(gè)物理信號(hào)的產(chǎn)生,同時(shí)也包括信號(hào)發(fā)生器硬件的設(shè)計(jì)和軟件的設(shè)計(jì)。
關(guān)鍵詞: FPGA Flash 信號(hào)源
Abstract:
Key words :
  0 引言

  信號(hào)源廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)試驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。該設(shè)計(jì)可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率進(jìn)行動(dòng)態(tài)、及時(shí)的控制。作為激勵(lì)源,仿真各種測(cè)試信號(hào),提供給被測(cè)電路,以滿足測(cè)量或各種實(shí)際需要,并能夠與其它模塊,組成自動(dòng)測(cè)試系統(tǒng)。該系統(tǒng)的設(shè)計(jì),完整的實(shí)現(xiàn)了一個(gè)物理信號(hào)的產(chǎn)生,同時(shí)也包括信號(hào)發(fā)生器硬件的設(shè)計(jì)和軟件的設(shè)計(jì)。

  1 系統(tǒng)構(gòu)成

  系統(tǒng)工作原理如圖1所示,通過(guò)JTAG接口把程序燒進(jìn)芯片中后通過(guò)電源模塊給所有芯片供電使得它們可以正常工作。FPGA上電后自動(dòng)復(fù)位,通過(guò)撥動(dòng)撥碼開關(guān)選擇需要輸出的波形和波形的頻率,F(xiàn)PGA通過(guò)接收到的命令不斷的從RAM中讀出數(shù)據(jù)給D/A轉(zhuǎn)化器使其把數(shù)字信號(hào)轉(zhuǎn)化成模擬信號(hào),同時(shí)FPGA也控制多路模擬開關(guān)在確定的四路中進(jìn)行不斷的選通使得D/A轉(zhuǎn)換完的模擬信號(hào)在肉眼無(wú)法識(shí)別的情況下感覺(jué)是同時(shí)從四路輸出的信號(hào),最后信號(hào)經(jīng)過(guò)電壓跟隨器完整的輸出,我們用示波器在對(duì)應(yīng)的插針上就能夠檢測(cè)到相應(yīng)的信號(hào)。

a.jpg

  2 硬件設(shè)計(jì)

  FPGA采用的是ACTEL公司A3P125-VQ100,該芯片是一歙Flash型的芯片,有30k個(gè)系統(tǒng)門,多達(dá)81個(gè)用戶I/O口,350 MHz的系統(tǒng)性能。FPGA模塊是由晶振電路、復(fù)位電路和下載電路這幾部分組成。晶振為FPGA提供一個(gè)外接的CLK,復(fù)位電路是由一個(gè)電容和一個(gè)電阻組成,只要電源一給芯片上電就會(huì)自動(dòng)復(fù)位,下載電路就是JTAG接口,通過(guò)該接口把下載的程序燒入到FPCA中。通過(guò)這幾個(gè)外接電路組成一個(gè)FPGA模塊。

  控制電路模塊是由撥碼開關(guān)實(shí)現(xiàn)的,一部分用于信號(hào)選擇,另一部分用于頻率控制。該系統(tǒng)中一共有4種信號(hào)供選擇,撥碼開關(guān)只有0和1,所以只需用兩個(gè)開關(guān)就能控制選擇四種信號(hào),在這里00表示直流,01表示正弦波,10表示三角波,11表示方波。那么撥碼開關(guān)的1到9位是用來(lái)控制頻率的,因?yàn)樵O(shè)計(jì)的要求是要控制1~500Hz頻率可調(diào),而500用二進(jìn)制表示為111110100共9位,所以頻率可調(diào)就是通過(guò)控制撥碼開關(guān)把需要的頻率用二進(jìn)制表示出來(lái),通過(guò)一定的運(yùn)算法則使得輸出的波形頻率為所要的頻率。

  D/A轉(zhuǎn)換器用的芯片是AD5424,該芯片為電流輸出型,8位的分辨率,17ns寫周期,DAC轉(zhuǎn)換時(shí)間是30ns。FPGA接收到控制模塊的命令后從RAM中給D/A不斷的發(fā)送8位的二進(jìn)制數(shù)據(jù),芯片通過(guò)自身內(nèi)部一定的電路把前面發(fā)送的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的電流,發(fā)送數(shù)據(jù)的時(shí)間是通過(guò)該芯片的技術(shù)資料中的時(shí)序圖來(lái)控制的,每一個(gè)CS的寫周期是t3+t7=19ns,中間轉(zhuǎn)化是t7+t8=29ns。當(dāng)再來(lái)一個(gè)有效信號(hào)時(shí)數(shù)據(jù)就被讀出,當(dāng)寫信號(hào)有效時(shí)又開始寫入新的數(shù)據(jù)從而往復(fù)循環(huán)。

  從AD5424輸出的電流通過(guò)下拉電阻轉(zhuǎn)換成電壓,經(jīng)過(guò)第一個(gè)運(yùn)放使電壓跟隨起到加強(qiáng)信號(hào)的作用,假設(shè)輸出的電壓是VLF353,通過(guò)第二個(gè)運(yùn)放實(shí)現(xiàn)放大,第二個(gè)電路實(shí)際是一個(gè)負(fù)反饋的電路,通過(guò)公式f.jpg可得把VLF353放大了兩倍,最后實(shí)現(xiàn)輸出,從而完成了從D/A到調(diào)理信號(hào),再到輸出這一過(guò)程。

  轉(zhuǎn)化后的電壓需要4路同時(shí)輸出,一共有四種信號(hào),所以采用ADG706這款芯片實(shí)現(xiàn)16路信號(hào)選擇。FPGA給ADG706發(fā)送命令控制什么時(shí)間選擇哪一路開關(guān)導(dǎo)通。每一個(gè)從模擬開關(guān)出來(lái)的電壓都需要通過(guò)濾波器模塊,這里用到的是OPA4340這款芯片,同時(shí)在每一個(gè)輸出后面加入一個(gè)電容以便保證電壓連續(xù)輸出。

  在整個(gè)系統(tǒng)中每一個(gè)芯片都需要電源的供電,而每個(gè)芯片所需要的電壓也不一樣,根據(jù)需要電源模塊從外界引入一個(gè)5V的電壓通過(guò)TPS70358芯片轉(zhuǎn)換成3.3V和2.5V,通過(guò)SPX3819M5-L-1-5芯片把5V轉(zhuǎn)化成1.5V。

  3 軟件設(shè)計(jì)

  這個(gè)軟件的整體設(shè)計(jì)如圖2所示,主要分為五大模塊:除法模塊、分頻模塊、控制模塊、D/A模塊和多路模擬模塊這五部分。每一個(gè)模塊都有一定的功能,是一級(jí)一級(jí)實(shí)現(xiàn)的,軟件的整體功能是達(dá)到波形的多路輸出,頻率可調(diào)的功能。

b.jpg

  由于芯片的限制,在該芯片中寫入的程序時(shí)不能有除法運(yùn)算,但是在這里為了選擇頻率必須用到除法,所以在寫入程序前先寫入一個(gè)除法程序模塊;由于要輸出的是多路信號(hào),為了實(shí)現(xiàn)這一設(shè)計(jì)要求通過(guò)控制D/A和多路模擬開關(guān)兩個(gè)芯片的時(shí)鐘,使得他們?cè)跁r(shí)鐘上不同步,D/A輸出的模擬信號(hào)在四個(gè)輸出口都可以輸出,由于肉眼識(shí)別的時(shí)間差異可以達(dá)到四路同時(shí)輸出這一效果。在圖3中LOAD是除法模塊中的使能端高電平有效,B[8..0]是控制頻率的,SWITCH[1..0]是選擇輸出波形的,這三個(gè)都是輸入端,輸出端是兩個(gè),ADGDATA[3..0]和DATA[7..0],前面是多路模擬開關(guān)的輸出信號(hào),后面是DA的輸出信號(hào),從圖中可以看出DA輸出一個(gè)信號(hào)的時(shí)候多路模擬開關(guān)不斷的在四個(gè)開關(guān)口選通。

c.jpg

  4 實(shí)驗(yàn)結(jié)果

  圖4是用撥碼開關(guān)輸出250 Hz和100 Hz的測(cè)試結(jié)果。從實(shí)驗(yàn)結(jié)果中可以看出當(dāng)撥碼開關(guān)的前9位為011111010,第10個(gè)和第11個(gè)撥碼開關(guān)為10,然后把示波器的紅色探針?lè)诺脚拍傅牡?根到第12根上的任意一根可以在示波器上看到三角波,并且在圖的右下角可以看到當(dāng)前波形的頻率,該頻率為261Hz與理論上相差不大。當(dāng)把撥碼開關(guān)的前9位改為001100100時(shí),示波器的頻率顯示為100.94Hz,達(dá)到了預(yù)期的效果。

d.jpg

  圖5為同一個(gè)方波信號(hào)同時(shí)輸出四路,當(dāng)?shù)?0個(gè)和第11個(gè)撥碼開關(guān)為11時(shí),會(huì)在排母的第13根到第16根上同時(shí)輸出方波信號(hào),從圖片的左邊到右邊分別為探針從第16路到第13路探測(cè)出的波形,可以看到四路都有方波信號(hào),實(shí)現(xiàn)了四路同時(shí)輸出信號(hào)的功能。

e.jpg

  通過(guò)實(shí)驗(yàn)結(jié)果可以看出該Flash型FPGA的信號(hào)源卡的設(shè)計(jì)實(shí)現(xiàn)了方波,三角波,正弦波和直流信號(hào)的多路輸出以及頻率在1~500 Hz可調(diào)的功能。



 

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