1.5 后备锂电池组
该UPS 电源采用14.4 V,3.3 Ah 可充电锂电池组作为后备电池组,其最大充电电压为17.4 V.电池组内部集成了控制芯片,供电后,控制芯片能产生充电完成信号、放电结束信号以及电池组温度。
1.6 充电模块及放电模块
以LTC1512 为核心的充电模块,通过电压及电流反馈调节等方式将12 V 直流输入转换为16.8 V的恒流输出向电池组充电。当电池组供电时,以LTC3780 为核心的放电模块将电池组输出稳压为12 V 提供给负载。
为了实现对UPS 的智能化管理,系统需要对电池组电压和充电电流进行监测。电池组电压的测量方法为:将电压分压、滤波后送入主控芯片的AD 转换单元,处理得到当前电压值。充电电流则通过将采样电阻两端的电压分别送入ADC 单元转换得到电压差值,进而推导出电流值。
1.7 热插拔模块
热插拔保护即带电插拔保护,允许用户在不关闭系统、不切断电源的情况下取出和更换硬盘、电源或板卡等部件。该UPS 电源优点之一是集成以LTC4256 为核心的热插拔保护模块,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。此外LTC4256 还能起到抑制输出纹波、提高电能质量的作用。
2 软件系统
2.1 软件系统功能描述
智能UPS 电源的功能是基于硬件电路设计,利用软件控制相应模块来实现。如图4 所示,软件系统的主要功能为:
图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 转换过程中会受到各种因素的干扰,因此程序中需要相应的误差补偿来确保数据的准确性。这些误差补偿参数可以通过估算得到理论值,然后根据多次试验的实际数据进行修正得到合适的补偿参数。