基于NiosII的高精度數(shù)控直流穩(wěn)壓電源設(shè)計
1 引言
直流穩(wěn)壓電源是各種電子設(shè)備不可缺少的組成部分,廣泛用于教學(xué)、科研、各種終端設(shè)備和通信設(shè)備中,其作用是把交流電轉(zhuǎn)換成滿足一定性能的直流電供給電子設(shè)備的其他部件使用。某電子設(shè)備不僅要求其供電電源具有良好的性能,還要求運行時電源的輸出電壓值由程序可控。這種情況下,用模擬電路方法無法實現(xiàn)。
針對此種應(yīng)用需求,可采用可編程邏輯器件FPGA(Field Programmable Gate Array)來實現(xiàn)這一功能:以32位嵌入式NiosⅡ軟核為處理器,將其嵌入FPGA中運行相應(yīng)的控制程序,從而實現(xiàn)一個基于Nios II的高精度數(shù)控直流穩(wěn)壓電源。與傳統(tǒng)的數(shù)控直流穩(wěn)壓電源相比.該設(shè)計不僅結(jié)構(gòu)緊湊、精度高,而且硬件容易升級。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計
圖1為利用SoPC Builder工具開發(fā)的基于Nios II的數(shù)控電源硬件系統(tǒng)框圖,該系統(tǒng)實際是一個內(nèi)嵌于FPGA器件中的基于NiosⅡ軟核的嵌人式最小應(yīng)用系統(tǒng)。其硬件系統(tǒng)主要由Avalon數(shù)據(jù)總線、 EPCS控制器、鍵盤接口、Nios II軟核CPU、SDRAM控制器、LCD控制器、I/O輸出模塊和相應(yīng)的外圍器件組成。Nios II軟核CPU是32位嵌入式處理器,承擔(dān)運算、控制和信息處理等多項任務(wù);
EPCS控制器及其外圍的存儲器,構(gòu)成串行電可擦除Flash存儲系統(tǒng)。主要用于存儲FP-GA配制文件及Nios II軟核CPU執(zhí)行程序代碼;SDRAM控制器用來控制SDRAM,保證Nios II處理器能順利地對SDRAM進(jìn)行讀寫操作;SDRAM用于存儲用戶程序代碼和Nios II軟核CPU運行時的重要數(shù)據(jù);鍵盤和鍵盤接口構(gòu)成本系統(tǒng)的輸入設(shè)備,輸入的信息通過Avalon數(shù)據(jù)總線被送至Nios II軟核CPU;LCD控制器是用戶自定組件,它與外圍240x128液晶顯示屏構(gòu)成字符顯示設(shè)備,用于顯示人機界面和輸出電壓值。
3 關(guān)鍵器件選型
這里所用到的關(guān)鍵器件主要有可編程邏輯器件FPGA、串行電可擦除Flash存儲器、SDRAM存儲器、D/A轉(zhuǎn)換器和240x128液晶顯示器等。
考慮設(shè)計成本等因素,可編程邏輯器件FPGA采用EP1C6Q240C8低功耗器件。該器件采用邏輯陣列模塊(LAB)和查找表(LUT)結(jié)構(gòu),內(nèi)核采用 1.5 V電壓供電,其內(nèi)部資源豐富,內(nèi)嵌5 980個邏輯單元(LE)、20個4 K字節(jié)雙口存儲單元(M4K RAM block)和92 160 bit的高速RAM等。串行電可擦除Flash存儲器采用Altera公司的EPCS16ST16N集成電路;SDRAM存儲器采用三星公司的 K4S641632H;D/A轉(zhuǎn)換器采用National Semiconductor公司的DAC0832;為增加顯示信息,采用240x128型液晶顯示器顯示字符。
4 系統(tǒng)硬件設(shè)計
4.1 基于Nios II最小系統(tǒng)的SoPC
打開QuartuslI中的SoPC Builder開發(fā)工具,在Altera公司的可編程邏輯器件FPGA中,把相應(yīng)的IP核添加到系統(tǒng)中,構(gòu)建一個基于Nios II的嵌入式可編程片上硬件系統(tǒng)。SoPC Builder是一個功能強大的SoPC開發(fā)工具,它使開發(fā)者在可編程邏輯器件能夠定義并生成一個完全意義的Nios II系統(tǒng),而所用的時間比采用傳統(tǒng)手工設(shè)計方法少得多。而且,SoPC Builder提供有很多免費的IP核,設(shè)計者可根據(jù)實際需求任意添加與裁減。設(shè)計者還能根據(jù)實現(xiàn)情況。選擇SoPC Builder中3種不同的NiosII處理核(經(jīng)濟(jì)型Nios II、標(biāo)準(zhǔn)型NiosⅡ和快速型Nios II)以滿足用戶要求。圖2為利用SoPC Builder開發(fā)工具定制的SoPC系統(tǒng)。Nios_cpu選擇標(biāo)準(zhǔn)型(Nios II/S),具有4 Kbit的InstructionCashe,其性能指數(shù)超過22 DMI/s;lcd_controller是自定義用戶邏輯組件,控制240x128液晶顯示屏;ikeyboat為鍵盤輸入接口;PIO_DATA為輸出數(shù)據(jù)通道,電壓控制數(shù)據(jù)可通過此通道送至D/A轉(zhuǎn)換器。
4.2 電源電路
圖3為系統(tǒng)電源電路圖,主要由變壓器、橋式整流電路、電容濾波電路和各種類型三端穩(wěn)壓器件組成,能輸出±15 V、+5 V和+10 V 4組穩(wěn)壓直流電源。±15 V作為主輸出電源,除為各級運放電路提供電源外,還為功率放大電路提供電源;+5 V為FPGA器件的工作電壓;+10 V為D/A轉(zhuǎn)換器的參考電壓,保證輸出電壓能在0~10 V內(nèi)連續(xù)變化。為使電路具有較大的輸出功率,在每片3端穩(wěn)壓管中安裝有較大的散熱片。
4.3 D/A轉(zhuǎn)換電路
為實現(xiàn)電壓值的D/A模轉(zhuǎn)換,在電路中還要專門設(shè)計D/A轉(zhuǎn)換電路,如圖4所示。為降低設(shè)計成本,采用8位DAC0832轉(zhuǎn)換器。DAC0832屬于倒T 型電阻網(wǎng)絡(luò)型D/A轉(zhuǎn)換器,內(nèi)部無運算放大器,輸出為電流形式,因此,使用時,需外接一個運算放大器。DAC0832可根據(jù)實際情況接成雙緩沖、單緩沖和直緩沖3種形式,此D/A轉(zhuǎn)換器接成第3種形式使用,即引腳1、2、17、18接低電平,19引腳接+5 V。引腳8為參考電壓輸入端口,接+10 V電源,當(dāng)數(shù)字輸入端全為高電平時,模擬輸出端為-1O V。
4.4 功率放大電路
雖然D/A轉(zhuǎn)換電路輸出電壓幅值大小滿足任意可設(shè)要求,但其輸出電流過小,不能驅(qū)動負(fù)載。為增大輸出電流,增強帶負(fù)載能力,還需設(shè)計一個電壓增益為1的功率放大電路,其電路如圖5所示。圖5中,R1、R2和LM324構(gòu)成一個電壓增益為1的反相比例放大電路;VQ1為大功率三極管,在加散熱片的條件下,最大輸出電流可達(dá)到3 A;C1、L1和C2構(gòu)成π型LC濾波器,可進(jìn)一步濾除電源的波紋,提高電源的輸出性能。
開機進(jìn)入界面初始化程序,用戶可根據(jù)界面的提示進(jìn)行操作,然后讀鍵盤值并判別此值是否有效,如無效,則返回,如值有效,則根據(jù)此值執(zhí)行相應(yīng)的模塊操作,最后刷新顯示屏并返回。
6 測試結(jié)果
把已編譯過的程序下載到硬件平臺中運行,并測試系統(tǒng)。在程序運行過程中,用UT51數(shù)字萬用表的20 V檔測量系統(tǒng)的輸出電壓值,表1為該系統(tǒng)在運行電壓設(shè)值程序時所測得結(jié)果;表2為該系統(tǒng)在執(zhí)行電壓步進(jìn)程序時所測得結(jié)果,其進(jìn)步值為0.01 V。測試結(jié)果表明,該系統(tǒng)輸出電壓誤差小,系統(tǒng)精度較高。
7 注意事項
在工程實踐中,可根據(jù)工程具體要求改進(jìn)本系統(tǒng)有關(guān)參數(shù)。例如,為了提高輸出電源的控制精度,在選擇D/A轉(zhuǎn)換器時,采用10位或者更多位D/A轉(zhuǎn)換器,從而提高系統(tǒng)輸出電壓的分辨率。另一方面,若設(shè)備運行環(huán)境惡劣,則需提高系統(tǒng)的抗干擾能力。因此,在制作系統(tǒng)PCB板時,應(yīng)考慮如下因素:(1)注意電源線與地線的布線實踐表明,由于電源線與地線布線不合理,常會產(chǎn)生噪音干擾,影響系統(tǒng)的穩(wěn)定性。抑制此噪音的方法是,在電源線與地線之間增加去耦電容并增加走線寬度。 (2)要處理好數(shù)字地與模擬地問題在數(shù)字電路和模擬電路混合布線時,數(shù)字電路地與模擬電路地是分開的,最終采用一點相連。(3)采用“隔離”技術(shù)為了進(jìn)一步提高系統(tǒng)的抗干擾能力,有時考慮采用“隔離”技術(shù),有效地把系統(tǒng)“隔離”起來。
8 結(jié)論
設(shè)計一個基于NiosⅡ的高精度數(shù)控直流穩(wěn)壓電源系統(tǒng),首先給出系統(tǒng)的硬件設(shè)計框圖,然后分別介紹系統(tǒng)的軟硬件設(shè)計方法,并給出該系統(tǒng)的測試結(jié)果。測試結(jié)果表明,該系統(tǒng)控制精度高,抗干擾能力強,已成功應(yīng)用于某個電子設(shè)備中,具有較好的實用價值。
編輯:博子