0 引 言
可編程電源指某些功能或參數(shù)可以通過計(jì)算機(jī)軟件編程進(jìn)行控制的電源??删幊屉娫吹膶?shí)現(xiàn)方法有很多種。其中,現(xiàn)場可編程門陣列(Field ProgrammableGate Array,FPGA)具有性能好,規(guī)模大,可重復(fù)編程,開發(fā)投資小等優(yōu)點(diǎn)。隨著微電子技術(shù)的發(fā)展,F(xiàn)PGA的成本不斷下降,正逐漸成為各種電子產(chǎn)品不可或缺的重要部件。由于FPGA有著如此眾多的優(yōu)點(diǎn),因此系統(tǒng)采用FPGA作為控制芯片,實(shí)現(xiàn)可編程電壓源系統(tǒng),為需要可調(diào)電壓源的電子產(chǎn)品提供高精度、高可靠性的電壓。
1 系統(tǒng)設(shè)計(jì)
采用Altera公司Cyclone系列EP1C6Q240C8為控制芯片。通過Altera的IP工具M(jìn)egaWizard管理器定制LPM_ROM宏功能模塊,用.mif格式文件存放產(chǎn)生電壓的數(shù)據(jù);利用硬件描述語言(HDL)設(shè)計(jì)分頻電路、地址發(fā)生器或數(shù)據(jù)計(jì)數(shù)器等控制電路。地址發(fā)生器對ROM進(jìn)行數(shù)據(jù)讀取。ROM中各單元的數(shù)據(jù)經(jīng)串/并轉(zhuǎn)換電路,在DAC控制電路的作用下,串行數(shù)據(jù)從高位到低位讀入數(shù)/模轉(zhuǎn)換器中,數(shù)/模轉(zhuǎn)換器出來的模擬電壓信號經(jīng)過運(yùn)算放大器放大后,得到所需的模擬電壓。系統(tǒng)框圖如圖1所示。
根據(jù)項(xiàng)目需求,定制10 b×32 Word的LPM_ROM??梢援a(chǎn)生32路1 024階可調(diào)的電壓。此外,可以根據(jù)需要定制不同的位寬,不同單元數(shù)的LPM_ROM宏功能模塊,可以產(chǎn)生符合精度要求的多通道電壓。
2 控制電路設(shè)計(jì)
2.1 分頻電路模塊
開發(fā)板提供的系統(tǒng)時鐘為50 MHz,系統(tǒng)的時鐘信號通過分頻模塊進(jìn)行分頻,將分頻后的時鐘信號分別提供給控制電路模塊、地址發(fā)生器和并/串轉(zhuǎn)換電路作為時鐘控制信號。該模塊部分VHDL源程序如下:
程序中,duty為控制占空比的參數(shù);count為控制分頻的參數(shù)。通過改變duty和count兩個參數(shù),得到占空比及分頻數(shù)可調(diào)的時鐘信號,極為方便。
2.2 其他模塊的實(shí)現(xiàn)
其他控制模塊包括地址發(fā)生器、DAC控制電路、并/串轉(zhuǎn)換電路。存儲數(shù)據(jù)中只讀存儲器ROM是通過QuartusII軟件中Mega Wizard Plug-In Manager命令定制元件的。地址發(fā)生器產(chǎn)生地址信號addr_tom和讀使能信號clk_rom,對ROM中的數(shù)據(jù)進(jìn)行讀取。讀取到的數(shù)據(jù)data為并行數(shù)據(jù),由于采用的是串行數(shù)據(jù)輸入的數(shù)/摸轉(zhuǎn)換器,所以要進(jìn)行并/串轉(zhuǎn)換。data并行數(shù)據(jù)在load使能信號的作用下,賦植給寄存器data_q,經(jīng)并/串轉(zhuǎn)換電路對data_q進(jìn)行從高位到低位的并/串轉(zhuǎn)換。在DAC控制電路產(chǎn)生讀數(shù)據(jù)信號clk_dac和片選信號cs_dac的作用下,轉(zhuǎn)換電路的輸出信號從高位到低位串行讀入數(shù)/模轉(zhuǎn)換器DAC中。完整程序如下:
2.3 程序仿真
在QuartusⅡ軟件中,用原理圖的方式把上面兩個程序例化成工程。圖2為例化后的結(jié)果。
ROM中的數(shù)據(jù)采用.mif格式進(jìn)行存儲。ROM中存儲的數(shù)據(jù)如圖3所示。
對工程進(jìn)行全編譯,用啟動仿真器對工程進(jìn)行功能仿真。仿真結(jié)果如圖4所示。從仿真結(jié)果可以看出,din_dac輸出的數(shù)據(jù)與ROM內(nèi)寫入的數(shù)據(jù)完全一致。clk_dac和cs_dac:也完全滿足數(shù)/模轉(zhuǎn)換器所需的控制信號。
3 數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器的設(shè)計(jì)
采用TI公司的TLC5615和OPA551分別作為數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器。TLC5615是10位電壓輸出型數(shù)/模轉(zhuǎn)換器,其轉(zhuǎn)換輸出如式(1)所示。
從式(1)可看出,數(shù)/模轉(zhuǎn)換輸出由參考電壓VREFIN和輸入數(shù)據(jù)Code決定,輸出精度達(dá)到1/1 024,因此可以達(dá)到很高的調(diào)壓精度。
兩款元器件均采用DIP封裝形式,可以即插即用,加上價格不高,特別適合用來實(shí)驗(yàn)。
通過改變R3和R2的值,在輸入不變的條件下便可改變輸出電壓。
4 實(shí)驗(yàn)結(jié)果
取Vref=2.16 V,R1=2.5 kΩ,R2=3 kΩ,R3=15 kΩ,V+=30 V。
實(shí)驗(yàn)只用到ROM的30個單元數(shù)據(jù),即只產(chǎn)生30路可編程電壓。把.sof文件加載到FPGA中。
5 結(jié) 語
利用FPGA可以方便定制IP核,可重復(fù)編程,可在線調(diào)試的諸多優(yōu)點(diǎn),在改變ROM的地址單元數(shù)及各單元數(shù)據(jù)以及改變分頻模塊的參數(shù),極其方便地產(chǎn)生所需的可編程多路電壓。通過實(shí)驗(yàn)表明,系統(tǒng)產(chǎn)生的電壓穩(wěn)定,精度高,可調(diào)范圍大(0-26V),適合為電子元件或者對多像素的元件提電源。此外,本文給出了完整的程序代碼、原理圖參數(shù),具有一定的工程參考價值。