于小龍
(山西省機(jī)電設(shè)計(jì)研究院有限公司,山西 太原 030009)
在儀器儀表等領(lǐng)域中,模擬信號(hào)的采集和轉(zhuǎn)換在系統(tǒng)檢測(cè)中具有十分重要的意義。傳統(tǒng)上是用單片機(jī)對(duì)模數(shù)轉(zhuǎn)換器進(jìn)行控制,其優(yōu)點(diǎn)是編程簡(jiǎn)單,但也存在著周期長(zhǎng)、速度慢的缺點(diǎn)[1]。而FPGA具有速度快、靈活性強(qiáng)的特點(diǎn),非常適合AD控制器的設(shè)計(jì)。本文采用型號(hào)為EP4CE6E22C8的FPGA芯片對(duì)模數(shù)轉(zhuǎn)換器MAX191進(jìn)行實(shí)時(shí)采樣控制,經(jīng)測(cè)量,所得的數(shù)據(jù)具有較高精度,達(dá)到了實(shí)際使用要求。
MAX191是MAXIM公司生產(chǎn)的單片CMOS、12位AD轉(zhuǎn)換器,它既可以采用+5 V單電源供電來測(cè)量單極性信號(hào),也可以采用±5 V雙電源供電來測(cè)量雙極性信號(hào),并具有內(nèi)部采樣保持、電壓參考電路,既可以采用內(nèi)部時(shí)鐘工作,也可以利用外部時(shí)鐘工作。MAX191的采樣保持時(shí)間為2 μs,數(shù)據(jù)轉(zhuǎn)換時(shí)間為7.5 μs。它與控制器之間采用串行或者并行接口來傳輸數(shù)據(jù)。MAX191具有功耗低、速度快和精度高的特點(diǎn),非常適合弱信號(hào)的實(shí)時(shí)采集系統(tǒng)。MAX191引腳如圖1所示。
圖1 MAX191引腳圖
具體引腳功能為:引腳1:掉電控制端;引腳2:-5 V;引腳3:待測(cè)模擬量輸入端;引腳4:模擬量輸入返回端;引腳5:參考電壓輸入/輸出端;引腳6:參考電壓調(diào)整端;引腳7:模擬地;引腳8:極性選擇端;引腳9:轉(zhuǎn)換結(jié)束標(biāo)志;引腳10~11:數(shù)據(jù)輸出端;引腳12:數(shù)字地;引腳13~18:數(shù)據(jù)輸出端;引腳19:讀控制輸入端;引腳20:片選;引腳21:高字節(jié)使能;引腳22:串并行選擇;引腳23:時(shí)鐘;引腳24:+5 V。
MAX191含有內(nèi)部時(shí)鐘電路,在CLK和DGND之間接120 pF的電容,就可以產(chǎn)生1 MHz的內(nèi)部時(shí)鐘。MAX191在工作時(shí),通過在REF和AGND之間連接一個(gè)4.7 μF的電解電容,然后該電容再并聯(lián)一個(gè)0.1 μF的無極電容,就會(huì)在REF端產(chǎn)生4.096 V的參考電壓[2]。
圖2 MAX191時(shí)序圖
圖3 FPGA與MAX191的連接
AD轉(zhuǎn)換控制器采用硬件描述語言Verilog進(jìn)行編程設(shè)計(jì)。通過分析MAX191的時(shí)序圖,可以發(fā)現(xiàn)采用狀態(tài)機(jī)來設(shè)計(jì)比較合適。本文把AD整個(gè)工作流程分為8個(gè)狀態(tài),分別是①Reset_ad,復(fù)位狀態(tài),MAX191未開始工作,此時(shí)控制器HBEN、RD_CS_N引腳皆輸出高電平;②Start_ad_1,準(zhǔn)備啟動(dòng)AD轉(zhuǎn)換,此時(shí)控制器HBEN輸出低電平,RD_CS_N輸出高電平;③Start_ad_2,啟動(dòng)AD轉(zhuǎn)換,HBEN繼續(xù)輸出低電平,RD_CS_N輸出低電平;④Read_ad_low,讀取轉(zhuǎn)換的低8位數(shù)據(jù),HBEN繼續(xù)輸出低電平,RD_CS_N繼續(xù)輸出低電平;⑤Read_ad_high1,讀取低8位數(shù)據(jù)完畢,HBEN繼續(xù)輸出低電平,RD_CS_N輸出高電平;⑥Read_ad_high2,準(zhǔn)備讀取高4位數(shù)據(jù),HBEN輸出高電平,RD_CS_N繼續(xù)輸出高電平;⑦Read_ad_high3,數(shù)據(jù)總線送出高4位數(shù)據(jù),HBEN繼續(xù)輸出高電平,RD_CS_N輸出低電平;⑧Read_ad_high,讀取高4位數(shù)據(jù)。轉(zhuǎn)換完畢后控制器進(jìn)入復(fù)位狀態(tài),等待下次轉(zhuǎn)換??刂破骶幾g后的RTL視圖如圖4所示。本設(shè)計(jì)250 ms啟動(dòng)一次AD轉(zhuǎn)換,轉(zhuǎn)換結(jié)果通過RS232發(fā)送至分辨率為(800×400)像素的LCD上實(shí)時(shí)顯示。
圖4 控制器RTL視圖
軟、硬件設(shè)計(jì)完成后,即可接入實(shí)際的模擬信號(hào)進(jìn)行測(cè)試,本文中接入的待測(cè)信號(hào)為直流電壓值。由開關(guān)電源輸出的±5 V電壓經(jīng)電阻分壓后輸入MAX191,將該系統(tǒng)測(cè)得的電壓值與高精度5位半數(shù)字萬用表測(cè)得的電壓值進(jìn)行比對(duì)。由于MAX191是±5 V雙電源供電,REF端產(chǎn)生的參考電壓為4.096 V,所以該系統(tǒng)的測(cè)量范圍±2.048 V,如需擴(kuò)展量程可選擇合適的分壓電阻將高電壓轉(zhuǎn)為測(cè)量范圍的區(qū)間。實(shí)測(cè)結(jié)果如表1所示。
表1 測(cè)量結(jié)果比對(duì)
由表1數(shù)據(jù)可見,最大相對(duì)誤差為1.7%,準(zhǔn)確度較高。
采用FPGA芯片EP4CE6E22C8實(shí)現(xiàn)對(duì)模數(shù)轉(zhuǎn)換芯片MAX191的采樣控制,充分利用了FPGA高可靠性和高速度的特點(diǎn),測(cè)量的電壓數(shù)據(jù)準(zhǔn)確度較高,該系統(tǒng)具有較高的實(shí)用價(jià)值。