一種小型UPS電源的嵌入式設計
該UPS 電源采用14.4 V,3.3 Ah 可充電鋰電池組作為后備電池組,其最大充電電壓為17.4 V.電池組內部集成了控制芯片,供電后,控制芯片能產(chǎn)生充電完成信號、放電結束信號以及電池組溫度。
1.6 充電模塊及放電模塊
以L(fǎng)TC1512 為核心的充電模塊,通過(guò)電壓及電流反饋調節等方式將12 V 直流輸入轉換為16.8 V的恒流輸出向電池組充電。當電池組供電時(shí),以L(fǎng)TC3780 為核心的放電模塊將電池組輸出穩壓為12 V 提供給負載。
為了實(shí)現對UPS 的智能化管理,系統需要對電池組電壓和充電電流進(jìn)行監測。電池組電壓的測量方法為:將電壓分壓、濾波后送入主控芯片的AD 轉換單元,處理得到當前電壓值。充電電流則通過(guò)將采樣電阻兩端的電壓分別送入ADC 單元轉換得到電壓差值,進(jìn)而推導出電流值。
1.7 熱插拔模塊
熱插拔保護即帶電插拔保護,允許用戶(hù)在不關(guān)閉系統、不切斷電源的情況下取出和更換硬盤(pán)、電源或板卡等部件。該UPS 電源優(yōu)點(diǎn)之一是集成以L(fǎng)TC4256 為核心的熱插拔保護模塊,從而提高系統對災難的及時(shí)恢復能力、擴展性和靈活性等。此外LTC4256 還能起到抑制輸出紋波、提高電能質(zhì)量的作用。
2 軟件系統
2.1 軟件系統功能描述
智能UPS 電源的功能是基于硬件電路設計,利用軟件控制相應模塊來(lái)實(shí)現。如圖4 所示,軟件系統的主要功能為:
圖4 軟件功能說(shuō)明圖
?。?) 當市電正常供電時(shí), 軟件系統通過(guò)獲取電池組信息來(lái)判斷是否對電池組充電,并監控電池組電壓和溫度,確保UPS 電源的正常工作。
?。?) 當市電對電池組充電時(shí), 中斷系統實(shí)時(shí)監測充電電流,出現異常時(shí)發(fā)出報警并停止充電以保護電池組。
?。?) 當市電掉電時(shí), 軟件系統控制主控芯片迅速給出相應控制信號,切換到電池組供電模式。
?。?) 當UPS 電源工作在電池組供電模式時(shí),中斷系統實(shí)時(shí)監控放電結束信號和電池組電壓,當電池組電能耗盡時(shí),停止電池組供電。
?。?) 當電池組電壓過(guò)低或電池組溫度異常時(shí),軟件系統發(fā)出報警指示, 并且強制關(guān)閉UPS 系統,確保系統安全。
2.2 主控芯片的初始化
C8051F320 每個(gè)引腳都可以被配置為模擬輸入或數字I/O 引腳, 被選擇作為數字I/O 的引腳還可以被配置為推挽或漏極開(kāi)路輸出。此外數字交叉開(kāi)關(guān)允許將內部數字系統資源映射到端口I/O 引腳。
用戶(hù)可以通過(guò)配置端口跳過(guò)寄存器(PnSKIP)、端口交叉開(kāi)關(guān)寄存器(XBR0, XBR1)等寄存器來(lái)根據設計要求自由分配數字資源的功能引腳。
為了簡(jiǎn)化硬件電路,主控芯片采用內部振蕩器作為時(shí)鐘基準。軟件初始化時(shí)則通過(guò)配置寄存器OSCICN 來(lái)選取內部時(shí)鐘基準。
2.3 中斷系統設計
由于市電檢測需要保證足夠的實(shí)時(shí)性,所以采用中斷方式來(lái)監測市電掉電信號。軟件上采用PCA模塊的輸入捕捉功能來(lái)捕獲信號的變化,從而提升系統的動(dòng)態(tài)性能。PCA 模塊初始化程序如下:
void PCA_Init(void)
{
PCA0MD = 0x00;
PCA0CPM0 = 0x31;
PCA0CN = 0x40;
EIE1 = 0x10;
PCA0L = 0x00;
PCA0H = 0x00;
}
2.4 AD 轉換軟件設計
C8051F320 的AD 轉換單元支持最多17 路模擬輸入,從功能上滿(mǎn)足了設計要求。其軟件分為初始化和測量?jì)刹糠?。初始化主要負責選擇電壓基準,配置ADC 模塊工作方式等,而測量部分程序則用來(lái)獲取UPS 工作時(shí)的電池組電壓、充電電流和電池組溫度并根據報警閾值對系統進(jìn)行保護。
由于A(yíng)D 轉換過(guò)程中會(huì )受到各種因素的干擾,因此程序中需要相應的誤差補償來(lái)確保數據的準確性。這些誤差補償參數可以通過(guò)估算得到理論值,然后根據多次試驗的實(shí)際數據進(jìn)行修正得到合適的補償參數。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論