一种小型智能化UPS系统的嵌入式设计方案

时间:2012-07-27来源:网络

2 软件系统

2.1 软件系统功能描述

智能UPS 电源的功能是基于硬件电路设计,利用软件控制相应模块来实现。如图4 所示,软件系统的主要功能为:

一种小型智能化UPS系统的嵌入式设计方案

图4 软件功能说明图

(1) 当市电正常供电时, 软件系统通过获取电池组信息来判断是否对电池组充电,并监控电池组电压和温度,确保UPS 电源的正常工作。

(2) 当市电对电池组充电时, 中断系统实时监测充电电流,出现异常时发出报警并停止充电以保护电池组。

(3) 当市电掉电时, 软件系统控制主控芯片迅速给出相应控制信号,切换到电池组供电模式。

(4) 当UPS 电源工作在电池组供电模式时,中断系统实时监控放电结束信号和电池组电压,当电池组电能耗尽时,停止电池组供电。

(5) 当电池组电压过低或电池组温度异常时,软件系统发出报警指示, 并且强制关闭UPS 系统,确保系统安全。

2.2 主控芯片的初始化

C8051F320 每个引脚都可以被配置为模拟输入或数字I/O 引脚, 被选择作为数字I/O 的引脚还可以被配置为推挽或漏极开路输出。此外数字交叉开关允许将内部数字系统资源映射到端口I/O 引脚。

用户可以通过配置端口跳过寄存器(PnSKIP)、端口交叉开关寄存器(XBR0, XBR1)等寄存器来根据设计要求自由分配数字资源的功能引脚。

为了简化硬件电路,主控芯片采用内部振荡器作为时钟基准。软件初始化时则通过配置寄存器OSCICN 来选取内部时钟基准。

2.3 中断系统设计

由于市电检测需要保证足够的实时性,所以采用中断方式来监测市电掉电信号。软件上采用PCA模块的输入捕捉功能来捕获信号的变化,从而提升系统的动态性能。PCA 模块初始化程序如下:

void PCA_Init(void)

{

PCA0MD = 0x00;

PCA0CPM0 = 0x31;

PCA0CN = 0x40;

EIE1 = 0x10;

PCA0L = 0x00;

PCA0H = 0x00;

}

技术资料出处:电源学报

2.4 AD 转换软件设计

C8051F320 的AD 转换单元支持最多17 路模拟输入,从功能上满足了设计要求。其软件分为初始化和测量两部分。初始化主要负责选择电压基准,配置ADC 模块工作方式等,而测量部分程序则用来获取UPS 工作时的电池组电压、充电电流和电池组温度并根据报警阈值对系统进行保护。

由于AD 转换过程中会受到各种因素的干扰,因此程序中需要相应的误差补偿来确保数据的准确性。这些误差补偿参数可以通过估算得到理论值,然后根据多次试验的实际数据进行修正得到合适的补偿参数。

2.5 报警处理

当UPS 工作在电池组供电状态且电池组电压较低时(小于12 V),软件系统控制蜂鸣器报警,其程序如下:

if(battery_voltage12.0)

{

if(Discharge==1)

{

Buzzer_Low(2);

}

if(Discharge==1)

{

ET0=1;

TR0=1;

}

}

电池组温度报警程序中设置了两个温度阈值,较低值为报警阈值(Temp_Alert),用来控制蜂鸣器报警,警示用户。较高值为停机阈值(Temp_Stop),当温度高于停机阈值时, 强制关闭系统以保护UPS 电源,其程序如下:

if(temp

{

Buzzer=1;

if(temp

{

Charge=0;

Discharge=0;

}

}

2.6 软件系统总结

在硬件电路的基础上通过对主控芯片的软件进行设计,融合AD 转换单元、中断系统、PCA 计数器模块等多个部分, 最终实现UPS 电源的功能:市电掉电后UPS 电源能持续给负载供电,并且切换时间小于10 ms;具有自保护措施,实现对UPS 电源的智能化管理;具备声光预警功能,能够直观的提示用户UPS 电源的工作状况;良好的鲁棒性,能较好的抵抗外界干扰。

1 2 3

关键词: 设计 方案 嵌入式 系统 智能化 UPS 小型

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版