資源描述:
《基于fpga的數(shù)控直流恒流源設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、基于FPGA的數(shù)控直流恒流源設(shè)計蘇振宇浪潮電子信息產(chǎn)業(yè)股份有限公司引言隨著數(shù)字電子技術(shù)和電子設(shè)計自動化的發(fā)展,在計量領(lǐng)域、電量和非電量測量的儀表、工業(yè)控制系統(tǒng)中會普遍的應(yīng)用數(shù)控直流恒流源。數(shù)控直流恒流源與傳統(tǒng)穩(wěn)壓電流源相比,具有操作方便、輸出電流穩(wěn)定、精確度高等特點。系統(tǒng)功能簡介本文設(shè)計的恒流源以FPGA為控制核心,包括FPGA主控模塊、鍵盤輸入模塊、LCD顯示模塊、模數(shù)轉(zhuǎn)換(ADC)電路、電壓-電流(V/I)轉(zhuǎn)換電路和數(shù)模轉(zhuǎn)換(DAC)電路。通過鍵盤設(shè)定好期望輸出的電流值后,F(xiàn)PGA通過狀態(tài)機對該設(shè)定值進行數(shù)字處理,經(jīng)DAC電路輸出電壓,再經(jīng)過V/I轉(zhuǎn)換電路后輸出相應(yīng)
2、的電流值。FPGA通過采樣V/I轉(zhuǎn)換電路上串接的采樣電阻的電壓,計算岀此吋電路的輸岀電流值并與設(shè)定值進行比較,以控制DAC電路的輸岀,從而實現(xiàn)對恒流源的輸出電流進行調(diào)節(jié),使輸出電流能實時與設(shè)定值保持一致。該數(shù)控直流恒流源具有以下功能:仃)可手動設(shè)定輸入電流值(范圍0、4A),輸出電流范圍是0~4A,步進lmA;(2)可同時顯示電流的設(shè)定值和實測值;(3)輸岀電流恒定,紋波小;(4)輸出電流精度高,與設(shè)定值的課差小于ImA。系統(tǒng)總體設(shè)計木數(shù)控直流恒流源的原理如圖1所示,各個模塊的功能及釆用的芯片型號介紹如下。1.主控模塊采用FPGA作為主控模塊,負責(zé)控制其他模塊的工作,進
3、行數(shù)字信號處理等。FPGA作為控制核心,其工作效率關(guān)系到系統(tǒng)的效率和穩(wěn)定性。FPGA選用美國Altera公司CycloneTV系列的EP4CE6E144C8器件,該芯片的I/O引腳為91根,內(nèi)部RAM為34KB,邏輯單元(LE)6272個。其I0接口及內(nèi)部資源可以滿足該電源系統(tǒng)的設(shè)計需求,通過硬件描述語言VHDL設(shè)計數(shù)字狀態(tài)機,實現(xiàn)FPGA對各個模塊的控制。2.DAC轉(zhuǎn)換電路DAC模塊采用TT公司的12位DAC轉(zhuǎn)換器TLV5638,轉(zhuǎn)換精度高,該DAC模塊的輸出電壓是后而V/I轉(zhuǎn)換電路的輸入。3.V/I轉(zhuǎn)換電路V/1轉(zhuǎn)換電路由運算放大器和三極管設(shè)計實現(xiàn),其中的運算放大器
4、采用了LM324o4.ADC轉(zhuǎn)換電路ADC模塊的作用是對恒流源輸出的電流進行實時的采集,轉(zhuǎn)換成數(shù)字量后反饋至FPGA,FPGA再調(diào)整控制端的電壓,從而實現(xiàn)高精度的恒流輸出。ADC模塊采用了ADI公司的AD977A芯片,16b分辨率,具有精度高,采樣準確的優(yōu)點,實現(xiàn)對恒流源采樣電阻兩端的電壓進行采樣,采樣電阻選用了阻值受溫度影響很小的康銅絲電阻。圖1數(shù)控直流恒流源的原理框圖下載原圖5.鍵盤鍵盤用于設(shè)定輸入的電流值及步進值,包括“0、9”、“確認”、“取消”、“步進+”、“步進等14個按鍵,利用FPGA豐富的10接口可以方便實現(xiàn)鍵盤功6.LCD顯示LCD模塊的作用是同時顯示
5、電流的設(shè)定值和實測值。采用的LCD型號是FYD12864,具有4位/8位并行,2線/3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字體庫的點陣圖形液晶顯示模塊;其顯示分辨率為128X64,內(nèi)置8192個16X16點漢字和128個16X8點ASCII字符集。利用LCD模塊靈活的接口方式和簡單方便的操作指令,構(gòu)成了人機交互界面,可以顯示8X4行16X16點陣的漢字。7.FPGA配置芯片采用了Altera公司的EPCS4芯片,用于存儲FPGA的程序。每次上電后FPGA首先從EPCS4里加載程序。FPGA狀態(tài)機設(shè)計FPGA的狀態(tài)轉(zhuǎn)換如圖2所示,狀態(tài)機工作過程如下:(1)系
6、統(tǒng)上電復(fù)位后進行FPGA配置以及鍵盤、LCD等外圍設(shè)備的初始化工作,之后FPGA進入空閑IDLE狀態(tài);(2)當(dāng)有按鍵按下后,Key_pushdown信號變?yōu)楦唠娖?,F(xiàn)PGA進入PUSH狀態(tài)。直到處理完所有的按鍵狀態(tài),All_key_done信號變?yōu)楦唠娖?,F(xiàn)PGA進入Displayl狀態(tài),控制LCD芯片顯示設(shè)定的由流值;(3)FPGA之后進入DAC狀態(tài),根據(jù)按鍵信息配置DAC芯片的寄存器,DAC芯片輸岀對應(yīng)數(shù)字信號的模擬電壓。數(shù)模轉(zhuǎn)換完成后,DAC_done信號變?yōu)楦唠娖?,F(xiàn)PGA進入ADC轉(zhuǎn)換狀態(tài);⑷在ADC狀態(tài)FPGA控制}DC芯片把采集到的采樣電阻兩端的電壓值轉(zhuǎn)
7、換為數(shù)字信號,當(dāng)轉(zhuǎn)換完成后,ADC_donc信號變?yōu)楦唠娖?,F(xiàn)PGA進入Judge狀態(tài);(2)在Judge狀態(tài)FPGA比較采集到的數(shù)字信號與之前設(shè)定的電流值,如果兩者之差△I〈lmA,則進入Display2狀態(tài);否則如果厶12lmA再次返回到DAC狀態(tài),調(diào)整控制端的電壓,從而實現(xiàn)高精度的恒流輸出;(3)在Display2狀態(tài),F(xiàn)PGA控制LCD芯片顯示經(jīng)過反饋后的高精度電流值。FPGA最后進入FINISH狀態(tài),至此一次狀態(tài)機轉(zhuǎn)換流程結(jié)束,之后等待下次按鍵的輸入。電源轉(zhuǎn)換模塊設(shè)計1.DAC轉(zhuǎn)換電路DAC轉(zhuǎn)換電路如圖3所示,恒流源的輸出電流由