摘要:針對在自動控制系統(tǒng)設(shè)計(jì)領(lǐng)域和通信領(lǐng)域中有著廣泛運(yùn)用的AD7862" title="AD7862">AD7862芯片,介紹了一種基于FPGA" title="FPGA">FPGA的驅(qū)動接口電路" title="接口電路">接口電路的設(shè)計(jì)。闡述了 AD7862的特點(diǎn)及基本功能,以及基于這些功能特點(diǎn)的驅(qū)動時序,并以此時序?yàn)榛A(chǔ)在FPGA芯片中實(shí)現(xiàn)了AD7862的驅(qū)動電路。給出了主要的VHDL 代碼以及最終的仿真測試結(jié)果,實(shí)現(xiàn)了對AD7862芯片的穩(wěn)定可靠驅(qū)動,同時也驗(yàn)證了所設(shè)計(jì)驅(qū)動電路的正確性。
關(guān)鍵詞:AD7862芯片;接口電路;FPGA;VHDL語言" title="VHDL語言">VHDL語言
在自動控制的很多應(yīng)用場合,都需要實(shí)時對信號進(jìn)行采樣分析,然后由DSP來進(jìn)行運(yùn)算控制。AD芯片是采樣中最常用的芯片,本文主要對 ADI公司的AD7862芯片進(jìn)行介紹,同時為它設(shè)計(jì)了驅(qū)動接口電路。由于AD7862不能自動工作,需要給它提供相關(guān)的驅(qū)動信號才能觸發(fā)它進(jìn)行轉(zhuǎn)換,本文用FPGA芯片給它做一個接口驅(qū)動電路,并詳細(xì)的介紹了驅(qū)動電路程序的設(shè)計(jì),設(shè)計(jì)的電路為AD7862提供了非常好的驅(qū)動作用,并在實(shí)際運(yùn)用中能使其穩(wěn)定的工作。
1 AD7862芯片簡介
AD7862是美國ADI公司出品的12 bit高速,低功耗轉(zhuǎn)換器,單電源5伏供電。共有4個模擬輸入端,被分為兩個通道(A&B),通過輸入端AO來進(jìn)行選擇。每一個通道有兩個輸入端(VA1&VA2或者VB1&VB2)。能夠接受的模擬信號的輸入范圍為正負(fù)10伏。不過模擬信號的輸入端的過
壓保護(hù)允許輸入電壓達(dá)到正負(fù)17伏。原理框圖如圖1所示。
AD7862芯片具有以下特點(diǎn):
(1)對每一個通道而言,從啟動轉(zhuǎn)換到轉(zhuǎn)換完成需要3.6μs的時間。
(2)芯片由5 V單電源供電,功耗低,工作時典型值為60 mW。具有自動休眠模式,當(dāng)一次轉(zhuǎn)換完成后自動進(jìn)入休眠模式,節(jié)省電能。當(dāng)下一個轉(zhuǎn)換周期來臨時在自動蘇醒。
(3)提供一個高速并行接口,和微處理器、微控制器以及數(shù)字信號處理器的連接變得容易。
(4)AD7862系列共有三個版本分別針對三種不同的輸入范圍。其中AD7862-10針對標(biāo)準(zhǔn)工業(yè)級輸入范圍正負(fù)1O伏;AD7862-3主要針對普通信號輸入范圍正負(fù)2.5 V。AD7862-2被用于單極O到2.5 V的輸入范圍。對AD7862-10和AD7862-3來說,轉(zhuǎn)換輸出的12位為二進(jìn)制補(bǔ)碼,對于AD7862-2來說,輸出的為12位的原碼。
2 接口電路程序設(shè)計(jì)
在本設(shè)計(jì)中用的是AD7862-10,采用高速轉(zhuǎn)換模式,典型轉(zhuǎn)換時序如圖2所示。
圖2中隊(duì)?wèi)?yīng)的時間參數(shù)的要求如下表1所示。
從圖2的時序圖可以看出AD7862通過輸入脈沖信號CONVST啟動轉(zhuǎn)換。在CONVST信號的下降沿,片上的兩個track/hold都同時的被設(shè)置為hold狀態(tài),兩個通道開始進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換時鐘由內(nèi)置的晶振提供。BUSY信號指示轉(zhuǎn)換結(jié)束,同時兩個通道的轉(zhuǎn)換結(jié)果可以被讀出。由AO的值來決定第一次讀取的值是VA1或者VB1,第二次讀取的是VA2或者VB2。當(dāng)CS信號和RD信號為低時,數(shù)據(jù)被從12位的并行數(shù)據(jù)線上讀取。在高速轉(zhuǎn)換模式下,AD7862的轉(zhuǎn)換時間為3.6 us,track/hold收集時間為0.3 us。為了保證最佳轉(zhuǎn)換效果,在轉(zhuǎn)換期間和下一次轉(zhuǎn)換開始前300 ns不能進(jìn)行讀取操作。
上述的時序圖對應(yīng)為先讀取VA1和VA2,然后在讀取VB1和VB2,對應(yīng)的信號AO首先被設(shè)為低電平,然后被拉為高電平。在設(shè)計(jì)驅(qū)動電路的過程中,一定要保證設(shè)計(jì)的時序滿足上述時序參數(shù)的要求,不然就有可能發(fā)生采樣不準(zhǔn),出錯。
結(jié)合AD7862的轉(zhuǎn)換速度,F(xiàn)PGA選擇1O MHz的處理時鐘。對于整個轉(zhuǎn)換過程的控制用一個狀態(tài)機(jī)來完成,狀態(tài)機(jī)分為12個狀態(tài) (idie,convert1,busy1,reada1,wait1,reada2,swapchna1,convert2,busy2,readb1,wait2,readb2),其中idle狀態(tài)為空閑等待轉(zhuǎn)換狀態(tài);convertl指示第一次轉(zhuǎn)換啟動狀態(tài);busyl指示第一次轉(zhuǎn)換狀態(tài);resdal狀態(tài)下讀取 VA1;waitl狀態(tài)為讀取VA1和VA2之間的等待狀態(tài);reada2狀態(tài)下讀取VA2;swapchnal狀態(tài)指示交換到另一個通道進(jìn)行轉(zhuǎn)換;convert2指示第二次轉(zhuǎn)換啟動狀態(tài);剩余狀態(tài)和前面的類似,只不過是針對VB1和VB2而言。設(shè)計(jì)代碼如下(只描述VA1和VA2的部分,剩下的類似):
3 設(shè)計(jì)電路的仿真驗(yàn)證
最終設(shè)計(jì)用QuartusⅡ軟件編譯綜合后在板上測試,F(xiàn)PGA接口電路接受到的轉(zhuǎn)換數(shù)據(jù)傳給DSP芯片,然后將DSP受到的數(shù)據(jù)用實(shí)時監(jiān)控軟件顯示。圖3是給AD輸入端加50 Hz的正弦波信號(同時對其中三個輸入端加信號),監(jiān)控軟件顯示的波形。
從圖3波形圖可以看出,接口驅(qū)動電路成功的控制了AD7862芯片的采樣過程,從而驗(yàn)證了驅(qū)動電路設(shè)計(jì)的正確性。