<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 一種小型智能化UPS系統的嵌入式設計方案

一種小型智能化UPS系統的嵌入式設計方案

作者: 時(shí)間:2012-07-27 來(lái)源:網(wǎng)絡(luò ) 收藏

2 軟件

2.1 軟件功能描述

智能 電源的功能是基于硬件電路,利用軟件控制相應模塊來(lái)實(shí)現。如圖4 所示,軟件的主要功能為:

一種小型智能化UPS系統的嵌入式設計方案

圖4 軟件功能說(shuō)明圖

(1) 當市電正常供電時(shí), 軟件系統通過(guò)獲取電池組信息來(lái)判斷是否對電池組充電,并監控電池組電壓和溫度,確保 電源的正常工作。

(2) 當市電對電池組充電時(shí), 中斷系統實(shí)時(shí)監測充電電流,出現異常時(shí)發(fā)出報警并停止充電以保護電池組。

(3) 當市電掉電時(shí), 軟件系統控制主控芯片迅速給出相應控制信號,切換到電池組供電模式。

(4) 當 電源工作在電池組供電模式時(shí),中斷系統實(shí)時(shí)監控放電結束信號和電池組電壓,當電池組電能耗盡時(shí),停止電池組供電。

(5) 當電池組電壓過(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;

}

技術(shù)資料出處:電源學(xué)報

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)行修正得到合適的補償參數。

2.5 報警處理

當UPS 工作在電池組供電狀態(tài)且電池組電壓較低時(shí)(小于12 V),軟件系統控制蜂鳴器報警,其程序如下:

if(battery_voltage12.0)

{

if(Discharge==1)

{

Buzzer_Low(2);

}

if(Discharge==1)

{

ET0=1;

TR0=1;

}

}

電池組溫度報警程序中設置了兩個(gè)溫度閾值,較低值為報警閾值(Temp_Alert),用來(lái)控制蜂鳴器報警,警示用戶(hù)。較高值為停機閾值(Temp_Stop),當溫度高于停機閾值時(shí), 強制關(guān)閉系統以保護UPS 電源,其程序如下:

if(temp

{

Buzzer=1;

if(temp

{

Charge=0;

Discharge=0;

}

}

2.6 軟件系統總結

在硬件電路的基礎上通過(guò)對主控芯片的軟件進(jìn)行設計,融合AD 轉換單元、中斷系統、PCA 計數器模塊等多個(gè)部分, 最終實(shí)現UPS 電源的功能:市電掉電后UPS 電源能持續給負載供電,并且切換時(shí)間小于10 ms;具有自保護措施,實(shí)現對UPS 電源的管理;具備聲光預警功能,能夠直觀(guān)的提示用戶(hù)UPS 電源的工作狀況;良好的魯棒性,能較好的抵抗外界干擾。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>