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