基于单片机的车载电源控制系统设计
2013-08-30李丽霞李健
李丽霞 李健
(同方电子科技有限公司研究所江西九江332002)
1 引言
在实际使用中,电源对于一个电子设备系统至关重要,电源正常工作是电子通信系统[1]可靠工作的前提,以前,大多数电源没有微机控制电路,只有电源转换电路和简单的开关按键控制电路;随着科技的发展,人们对电源人机界面交互功能更直观的需求日益增加,逐渐在单电源单元设计微机控制电路,主要用来实现电源各路电压和电流显示等功能,通常使用数码管显示;由于电源在设备中的重要性逐渐提高,对电源的稳定性和可靠性以及自动化控制[2]要求也更高,在一些车载中设计具有显示电源参数和状态等功能的电源综合控制单元。为了对车载整体电源状态进行全面地实时监测,对电源故障提前预警,快速地对电源故障进行排查,设计了一款采用单片机外接显示和语音电路的电源控制盒,实现通信车电源[3]状态的全面管理和监控功能。
2 总体设计方案
系统的构成:系统主要由微机控制模块、语音报警电路、面板显示及按键单元和通信电路等组成。系统的工作原理如图1所示。电源控制盒与车载电源单元1和车载电源单元2分别通过RS422进行信息交互,电源控制盒下发开关机、电源电压输出关闭以及电源电压输出值设定等命令给各电源单元,电源单元上报各路输出电源的电压和电流及工作状态;电源单元通过检测控制电路[4]把当前的各路输出电压和电流等送给电源单元的单片机C8051F020自带的A/D模数转换器,单片机检测出电源的电压和电流等参数,并通过RS422接口上报给电源控制盒,电源控制盒计算当前各路电源上报的输出电压和电流值,并判断其是否在正常工作参数范围内,如在正常范围内,则电源控制盒通过面板彩色液晶显示屏实时显示当前车载电源单元各路电源电压和电流的值以及电源的工作状态;如不在正常参数范围,电源控制盒在面板上显示当前电源故障类型,如过压、过流和欠压等,同时控制语音报警电路进行语音报警,从而实现车载电源的故障显示报警和语音报警,实现了电源管理的自动化。
图1 系统工作原理示意图
2.1 硬件设计
该电源控制盒系统硬件主要由CPU芯片C8051F020为主控核心,外接串口、语音报警和显示按键等功能电路模块;设计C8051F020的P0口配置成串口0、串口1,串口0和串口1通过MAX3074EESA接口转换芯片实现TTL电平与RS422电平[5]之间的相互转换,实现电源控制盒与电源1、电源2单元通信;CPU的 P1.0~P1.7口线分别与语音报警芯片ISD1420的A0~A7相连接用于设置录放音的起始地址,CPU的P2口线连接语音报警芯片的REC-、PLAYE-及PLAYL-等控制管脚对芯片的录放音进行控制;CPU的P3口连接按键扫描控制线用于键值读取;P4和P5口连接液晶显示屏数据、地址及控制线用于显示电源状态。
主控CPU芯片C8051F020单片机是Silabs集成产品公司推出的C8051F系列芯片中的一款8位嵌入式单片机,采用CIP-51CPU模式;集成度高,功能强大;I/O口交叉开关可以动态配置;功耗低;温度范围宽;基于JTAG接口的在系统调试功能方便调试,是一款性价比较高的嵌入式单片机[6]。C8051F020单片机芯片的管脚分布图和芯片资料可参阅C8051F020相关数据手册。
串口通信电路主要采用RS422与各电源单元进行交互,RS422接口是差分双绞形式,具有抗干扰能力强,数据传输速率高,传输距离远,可挂接多个接收端等特点,电源控制盒通过RS422接口向各路电源单元下发开关机和电压设置等命令;各路电源单元向电源控制器报告当前的工作电压、工作电流以及工作状态等参数,实现电源原始参数的采集;RS422接口芯片采用MAX3074EESA接口芯片,双绞线端加120Ω平衡电阻,RS422接口电路如图2所示。
图2 RS422接口转换电路图
语音报警电路主要采用ISD1420芯片[7],该芯片是美国ISD公司的一款单片永久记忆型语音录放集成电路芯片,外围电路简单,零功耗存储,内部设有时钟振荡器、128KE2PROM(电可编、电可擦只读存储器)、前置放大器、自动增益电路、反混叠滤波器、模拟转发器、平滑滤波器和差分功放等基本功能电路。外围电路由驻极体话筒、一个扬声器、少量电阻和电容构成,选址能力强,具有分段录放功能,处理多达160段语音信息,20 s录放时间,ISD1420芯片管脚主要包括8根地址输入线A0~A7,功放输出端SP+和SP-分别接扬声器(+)和扬声器(-)端;模拟量输入ANA IN;模拟量输出ANA OUT;驻极体话筒输入MIC;边缘触发放音端PLAYE;电平触发放音端PLAYL;录音触发端REC-以及发光二极管接口端RECLED,ISD1420芯片各管脚详细功能定义请参阅相关数据手册。
录音:面板设置录音后,CPU置REC-管脚为低电平,V1录音指示灯亮,此时对着话筒讲话则可录音。当录音时间到,关闭录音,CPU置REC-为高,则LED熄灭,录音结束。放音:CPU置PLAYL-为低电平,则电平触发放音,或CPU置PLAYE-下降沿也可触发放音。
按每秒可读3个汉字计算,20 s可分段储存60多个汉字语音。在软件支持下,可划分成若干段完整的长短语句。A0~A7:00000000~10011111,表明160段语音信息。A0~A7决定每段起止地址,反映录放音的起止时间,时间关系公式:T=0.125×(128A7+64A6+32A5+16A4+8A3+4A2+2A1+A0)。根据以上计算公式,下表每段语音小于等于3个汉字,则按每段2 s时间设计,每单位值为0.125 ms,计算出各段语音的起始地址,A7为0,A6~A0值如表1所示。
表1 ISD1420录音地址的真值表
显示按键功能电路主要为人机交互接口[8],显示当前各路电源的电压、电流及工作状态等参数,按键用来输入开、关机命令和录音启动停止等,显示屏采用彩色液晶屏显示,故障时设计用红色字体显示,正常时使用绿色字体显示,可以提高视觉效果。
2.2 软件设计
系统软件主要由主程序、串口中断程序[9]以及功能子程序模块构成,主程序如图3所示,主要包括初始化程序、状态检测程序、串口服务程序和按键控制程序。串口服务程序;初始化程序对CPU的各管脚及系统进行配置,对寄存器进行初始化;状态检测程序流程图如图4所示,检测计算当前电源工作参数是否正常,为了消除干扰,对检测值进行软件滤波,取5次采样平均值,检测的电源工作参数如果在正常工作参数范围内则实时显示电源参数实际值,如不正常则进行显示报警及语音报警处理;串口服务程序用来对接收到电源单元上报的数据包进行解析处理;按键控制程序对按键进行扫描,检测到有键按下,进行相应的键值服务程序。串口中断程序包括中断保护、串口数据接收缓存并置串口服务标志以及串口中断恢复等,主要完成串口数据的接收和缓存,收完完整的数据包后置串口服务标志,传递给串口服务程序进行处理。
图3 主程序流程图
图4 状态检测程序流程图
3 关键技术
3.1 语音报警设计
系统通过选用ISD1420语音芯片来实现系统各种故障语音报警功能,该芯片集成度高,功能强大,降低了语音报警设计的复杂性,使用时,先把要播放的报警语音段分别录制到语音芯片的存储器中,通过录音按键与录音人员语音配合进行录制,为了进行清晰实时的语音报警,语音录制是首要解决的问题之一,为了充分利用电源控制盒平台,系统设计通过单片机软件配合按键,实现系统语音录放一体功能,为了确保播放出的语音干净清晰,录音应在一个安静的空间进行,否则录音时会把周围环境噪声也录到语音芯片中,这样经过音频放大播放出来语音会含有较大的噪音。语音录制完后,可通过单片机软件控制语音芯片的地址和播放控制线对多段报警语音分别播放,该语音报警电路稍做修改,录制不同的语音,就可以扩展应用到其他需要语音报警提示的场合,如常见的公交车站到站提示等,如果录音内容较多,录音存储器容量不够,可选择时间更长的语音芯片。
3.2 RS422通信技术
系统采用RS422接口分别与2个电源单元进行交互,RS422接口具有电路简单、可靠性较高以及成本适中等特点,在使用RS422接口的时候,一对收和一对发线应分别采用一对双绞线,并且需注意阻抗匹配,系统设计采用120Ω匹配电阻,如图2所示,可以增加系统通信的抗干扰能力,提高通信距离,适当降低速率也可以延长通信距离,系统采用9 600 bit/s的通信速率能可靠的进行通信,由于电源里面干扰比较多,为了保证系统的可靠性,需对电源检测IO口线、A/D检测口线进行滤波,保证检测源数据的准确性。
4 系统仿真与结果分析
为了测试系统的实际应用效果,搭建了一个仿真测试平台,使用RS422通信双绞线把电源控制盒与2个电源单元互连,使用WYK-303B2直流双路稳压稳流电源输入电源单元1和电源单元2的电压及电流检测端,把电源电压调至超过设定的正常门限范围,电源控制盒显示屏显示当前电源故障类型,同时语音报警提示,然后把检测值调回正常范围,电源控制盒显示各路电压和电流实际值,无语音报警;在实际应用时,发现有时电源控制盒显示数据会中断,经排查分析发现,是电源单元继电器切换时,产生干扰导致单片机复位引起,采取加强单片机复位管脚的滤波后系统工作正常;经试验表明,该系统能满足车载系统电源预警功能,推动了电源自动化进程。
5 结束语
由于电源在电子设备中非常通用,重要性也常被忽视,但经常出问题的往往是电源单元,如果系统电源不可靠,则整个系统无法顺利的工作,所以对于车载系统来说,电源是系统正常工作的根本,电源控制盒提高了电源的可靠性、提前预警,加快了故障判断时间,减小了维修时间,使电源从一个不可见的单元到可自动显示报警,并可实时监控电源工作状态,大大提高了电源的自动化程度。
[1]沈琪琪,朱德生.短波通信[M].西安:西安电子大学出版社,2001:42-62.
[2]胡寿松.自动控制原理[M].北京:国防工业出版社,1998:39-64.
[3]扬帮文.新型实用电源电路集锦[M].北京:人民邮电出版社,1999:71-136.
[4]张晓光,张国定.信号检测与控制电路[M].北京:中国计量出版社,2008:1-13.
[5]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社,1999:407-410
[6]张培仁.C8051F系列单片机原理与应用[M].北京:北京航空航天大学出版社,2013.
[7]任致程.语音录放和识别集成电路应用与制作实例[M].北京:人民邮电出版社,1999:30-34.
[8]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2002:56-62.
[9]张培仁,孙占辉,张 欣,等.基于C语言编程MCS-51单片机原理与应用[M].北京:清华大学出版社,2003.