于小龍
(山西省機電設計研究院有限公司,山西 太原 030009)
在儀器儀表等領域中,模擬信號的采集和轉換在系統檢測中具有十分重要的意義。傳統上是用單片機對模數轉換器進行控制,其優點是編程簡單,但也存在著周期長、速度慢的缺點[1]。而FPGA具有速度快、靈活性強的特點,非常適合AD控制器的設計。本文采用型號為EP4CE6E22C8的FPGA芯片對模數轉換器MAX191進行實時采樣控制,經測量,所得的數據具有較高精度,達到了實際使用要求。
MAX191是MAXIM公司生產的單片CMOS、12位AD轉換器,它既可以采用+5 V單電源供電來測量單極性信號,也可以采用±5 V雙電源供電來測量雙極性信號,并具有內部采樣保持、電壓參考電路,既可以采用內部時鐘工作,也可以利用外部時鐘工作。MAX191的采樣保持時間為2 μs,數據轉換時間為7.5 μs。它與控制器之間采用串行或者并行接口來傳輸數據。MAX191具有功耗低、速度快和精度高的特點,非常適合弱信號的實時采集系統。MAX191引腳如圖1所示。

圖1 MAX191引腳圖
具體引腳功能為:引腳1:掉電控制端;引腳2:-5 V;引腳3:待測模擬量輸入端;引腳4:模擬量輸入返回端;引腳5:參考電壓輸入/輸出端;引腳6:參考電壓調整端;引腳7:模擬地;引腳8:極性選擇端;引腳9:轉換結束標志;引腳10~11:數據輸出端;引腳12:數字地;引腳13~18:數據輸出端;引腳19:讀控制輸入端;引腳20:片選;引腳21:高字節使能;引腳22:串并行選擇;引腳23:時鐘;引腳24:+5 V。
MAX191含有內部時鐘電路,在CLK和DGND之間接120 pF的電容,就可以產生1 MHz的內部時鐘。MAX191在工作時,通過在REF和AGND之間連接一個4.7 μF的電解電容,然后該電容再并聯一個0.1 μF的無極電容,就會在REF端產生4.096 V的參考電壓[2]。


圖2 MAX191時序圖


圖3 FPGA與MAX191的連接
AD轉換控制器采用硬件描述語言Verilog進行編程設計。通過分析MAX191的時序圖,可以發現采用狀態機來設計比較合適。本文把AD整個工作流程分為8個狀態,分別是①Reset_ad,復位狀態,MAX191未開始工作,此時控制器HBEN、RD_CS_N引腳皆輸出高電平;②Start_ad_1,準備啟動AD轉換,此時控制器HBEN輸出低電平,RD_CS_N輸出高電平;③Start_ad_2,啟動AD轉換,HBEN繼續輸出低電平,RD_CS_N輸出低電平;④Read_ad_low,讀取轉換的低8位數據,HBEN繼續輸出低電平,RD_CS_N繼續輸出低電平;⑤Read_ad_high1,讀取低8位數據完畢,HBEN繼續輸出低電平,RD_CS_N輸出高電平;⑥Read_ad_high2,準備讀取高4位數據,HBEN輸出高電平,RD_CS_N繼續輸出高電平;⑦Read_ad_high3,數據總線送出高4位數據,HBEN繼續輸出高電平,RD_CS_N輸出低電平;⑧Read_ad_high,讀取高4位數據。轉換完畢后控制器進入復位狀態,等待下次轉換??刂破骶幾g后的RTL視圖如圖4所示。本設計250 ms啟動一次AD轉換,轉換結果通過RS232發送至分辨率為(800×400)像素的LCD上實時顯示。

圖4 控制器RTL視圖
軟、硬件設計完成后,即可接入實際的模擬信號進行測試,本文中接入的待測信號為直流電壓值。由開關電源輸出的±5 V電壓經電阻分壓后輸入MAX191,將該系統測得的電壓值與高精度5位半數字萬用表測得的電壓值進行比對。由于MAX191是±5 V雙電源供電,REF端產生的參考電壓為4.096 V,所以該系統的測量范圍±2.048 V,如需擴展量程可選擇合適的分壓電阻將高電壓轉為測量范圍的區間。實測結果如表1所示。

表1 測量結果比對
由表1數據可見,最大相對誤差為1.7%,準確度較高。
采用FPGA芯片EP4CE6E22C8實現對模數轉換芯片MAX191的采樣控制,充分利用了FPGA高可靠性和高速度的特點,測量的電壓數據準確度較高,該系統具有較高的實用價值。