资源描述
内 容 摘 要
本文根据近年来便携式电子产品的迅速增长,对电源充电管理的要求越来越高,设计了一款用于电源管理的智能电器。
首先对不同影响因素下充放电时锂离子电池电压与容量的关系进行了介绍,另外还就充放电电流,过充,过放,及过温对锂电池的影响进行了讨论。
在对锂离子电池特性实验分析的基础上,进行了智能电器电路设计。设计的电源管理部分具备了充电过程的控制,结合Atmel公司的AT89C52单片机管理功能,可以完成一个较为实用的电源管理系统。为了保护数据,抑制干扰,进行了看门狗监测电路功能设计,保证了智能电器工作的可靠性。
关键词
智能电器,电源管理,锂电池,AT89C52
Abstract
Based on the rapid growth of the portable electronics in recent years, power management have become increasingly demanding, the article designs a intelligent power management for electrical apparatus.
First of all, the article introduces the chemical principle of lithium batteries, and then carries out the experiments of the battery charge and discharge in different factors, finding out the relationship between the battery voltage and capacity. In addition, discussing the charge and discharge current, charge-off, take-off, and over-temperature to the impact of lithium batteries.
On the basis of analysis of the lithium-ion battery characteristics experiments, carry out a intelligent electrical circuit design. Design of power management has some control over the charging process, combined with Atmel's AT89C52 single-chip management capabilities, , can be a more practical power management system. In order to protect the data, interference suppression, the watchdog function of monitoring circuit design ensures that the work of the intelligent apparatus.
KEY WORDS
power management, lithium batteries, AT89C52
目 录
第一章 绪论
1.1 选题背景及意义
1.2 电池充电控制器的发展概况
1.3 本课题的内容安排
第二章 充电控制器设计基本原理概述
2.1 电池的测量原理
2.1.1 电池性能参数及测量方法
2.1.2 过充,过放及过温现象
2.2 充电控制器的充电原理
第三章 锂电池充电控制器的硬件设计
3.1 系统硬件设计的整体方案
3.2 CPU选型
3.3 充电控制器电路设计
3.4 液晶显示模块设计
3.4.1 GXM12864 简介
3.4.2 GXM12864 的接口设计
3.5 看门狗功能
3.6 复位电路
3.7 抗干扰电路的设计
第四章 软件设计
4.1 控制电路的软件设计
4.2 显示模块的软件设计
4.3 复位电路的软件设计
第五章 结论及展望
致谢
参考文献
锂离子电池充电控制器
第一章 绪论
1.1 选题背景及意义
便携式电子设备对电源的要求有以下几点:体积小,重量轻,效率高,低压差。锂离子电池具有能量密度高,可循环充电次数多,使用寿命长,价格也越来越低等诸多优点,使得选用锂离子电池供电的便携式产品越来越多。然而锂离子电池也存在一些不足,主要在于对充电控制器要求比较苛刻,需要保护电路。为有效利用电池容量,需将锂离子电池充电至最大电压,但是过压充电会造成电池损坏,这就要求较高的控制精度。另外,对于电压过低的电池需要进行预充,充电控制器最好带有热保护和时间保护,为电池提供附加保护。
目前市场上很多采用大电流的快速充电法,所以在电池充满后如不及时停止会使电池发烫,过度的过充会严重损害电池的寿命。也有一些低成本的充电控制器采用电压比较法,为了防止过充一般充电到90%就停止大电流快充,采用小电流涓流补充充电。一般地,为了使得电池充电充分,容易造成过充,表现为有些充电控制器在充终了时电池经常发烫(电池在充电后期明显发烫一般说明电池已过充)。对电池经常出现过充和欠充的缺点已越来越不能满足们的需要。锂电池的使用寿命和单次循环使用时间与充电维护过程和使用情况密切相关。一部好的充电控制器不但能在短时间内将电量充足,而且对电池还能起到一定的维护作用,修复由于使用不当而造成的记忆效应,即容量下降(电池活性衰退)现象。因而传统的普通充电控制器存在明显的不足。
基于以上问题的提出与分析本文将设计一款用于锂离子电池的智能电器。所谓智能充电控制器是指能根据用户的需要智能控制充电进程,并且在充电过程中能对被充电电池进行保护从而防止过电压和温度过高的一种智能化充电控制器。单片机控制的智能充电器,具备业界公认较好的-⊿V检测,可以检测出电池充电饱和时的电压变化信号,比较精确地结束充电工作。这些充电器芯片往往具备了充电过程的控制,加上单片机管理功能,包括:温度控制、时间控制、电源关断、蜂鸣报警和液晶显示等,可以完成一个较为实用的智能充电控制器。随着电子技术的发展,芯片体积小型化及其价格的降低,智能充电控制器大规模的批量生产已经成为可能。而智能充电控制器具有操作简单、可靠性高和通用性强等优点,是充电控制器家族中一个重要的组成部分,也是未来充电控制器发展的主要方向。因此,对充电控制器智能化的研究与应用具有深远的现实意义。
1.2 电池充电控制技术的发展
充电方式的选择直接影响着电池的使用效率和使用寿命,充电技术近年来发展非常迅速。充电控制器的发展经历了三个阶段:
1) 限流限压式充控制电器
最原始的就是限压式充电,然后过渡到限流限压式充电,它使用的方式就是浅充浅放,其寿命表述就是时间,没有次数,比如10年。这种充电模式的效果较差。
2) 恒流/限压式充电控制器
这是充电控制器发展的第二阶段,这种模式的充电控制器占据了充电控制器市场近半个世纪。首先,以恒电流充电至预定的电压值,然后,改为恒电压完成剩余的充电。一般两阶段之间的转换电压就是第二阶段的恒电压。这种充电控制器充电电流总是低于电池的可接受能力,造成充电效率低,大大降低了电池的寿命。
3) 自适应智能充电控制器
随着大规模集成IC的出现,充电设备进入了一个全新的自适应、智能阶段,即称为第三代充电控制器。自适应充电控制器遵循各类电池的充、放电规律进行充、放电。并且具有温度补偿功能。充电系统由具有特殊功能的单片机控制,不断检测系统参数,按模糊推理算法不断调整充电参数,同一充电控制器可适应不同种类电池的充电,充电控制器自适应调整自己的输出电流,无需人工选择,避免操作失误。
1.3 本课题的内容安排
首先,介绍锂离子电池充放电原理及特性。
在这一部分通过实验分析验证了锂离子电池电压在不同放电率下与电池容量的关系,环境温度与电池放电容量的关系,并进一步分析论述了充放电电流对锂离子电池的影响,放电率对电池寿命的影响,过充过放及过温对锂离子电池的危害。
然后,为控制器设计进行选型并设计其硬件电路和软件部分,以实现其智能功能。这里在充电电路设计上在比较锂电池充电主要的四种方法:恒流充电、恒压充电、恒流恒压充电和脉冲充电的优缺点上,考虑到虽然恒流恒压充电需要复杂得多的电路来实现,但由于其充电时间短,充电效率高,因此本文所设计的智能电器充电控制部分将采用恒流恒压充电方法。
智能电源控制器设计包括三部分:控制电路,充电电路,显示等外围电路。并完成这三部分相关的程序设计。实现智能充电,液晶显示,看门狗功能。智能电器工作时不可避免会受到外界的干扰,这些干扰轻则导致系统内部数据出错,重则将严重影响程序的运行。为了保护数据,抑制干扰,在单片机智能系统的开发过程中需要进行可靠性设计。这里看门狗功能设计可保证智能电器的正常工作。
最后,给出采用本智能电源管理控制器对锂离子电池充电的仿真。
第二章 锂电池充电控制器设计基本原理概述
2.1 锂电池的测量原理
2.1.1 锂电池性能参数及测量方法
1)电池电压
锂离子电池的开路电压与电池的正负极材料、电池的充电状态有关。电池的额定电压有3.6V 和3.7V 两种,目前使用比较普遍的是3.7V 的电池。该电池的充电终止电压为4.2V,放电终止电压一般为2.75V(不同的厂商有不同的推荐值)。从表2.1[可以看出,锂离子电池的电压相当于镍镉、镍氢电池的三倍,也就是说,为了得到同样的电池组端电压,锂离子电池的使用数目只有镍镉、镍氢电池的1/3,大大减少了电池的数目,简化了电池组的设计、增加了整个电池组稳定性。
表2.1 电池工作电压
Table 2.1 Battery voltage
电池种类
充电电压(V)
额定电压(V)
放电终止电压(V)
镍镉电池
1.43
1.2
1.11
镍氢电池
1.43
1.2
1.11
锂离子电池
4.2
3.6
2.75
但是锂离子电池对电压精度的要求很高,误差不能超过1%。如果电池的终止充电电压是4.2V,那么允许的误差范围就是0.042V。终止电压过高,将会影响锂离子电池的寿命,甚至造成过充现象,对电池造成永久性的损坏:终止电压过低,又会使充电不完全,电池的可使用时间变短。
实验测得充放电时电池电压随电池容量变化的关系。如图2.2,电池终止电压为4.1V。可以发现充电时电池的端压要比放电时高,这是因为电池本身和充放电回路上有一定的电阻。
图2.2 电池电压与容量的关系
Fig 2.2 The relationship between the battery voltage and capacity
我们把电阻等效为,如图2.3,那么充电时的端电压表达式为:
(2.1)
相应的,放电时端电压表达式为:
(2.2)
图2.3 电池充放电等效回路
Fig 2.3 Battery charging and discharging equivalent circuit
从这两个公式可以看出,在充电和放电时(这里假设充电电流等同于放电电流),电池端压所表示的值都不是真正电池的电动势,而是加上了电池组内阻的影响。
实验同时测得不同的放电率下,电池电压的变化。放电率越大,相应剩余容量下的电池电压就越低,电池终止电压为4.2V,如图2.4 所示。
锂离子电池的使用环境温度范围比较宽,可以达到-20~60℃。但是环境温度对电池的放电容量有很大影响。实验测得环境温度对电池放电的影响,如图2.5 所示。采用0.2C 放电速率,当环境温度为25℃时,可放出额定容量;当环境温度为-5℃时,电池容量下降约5%。电池放电曲线随温度的变化如图2.5 所示。
图2.4 不同放电率下,电池电压与容量的关系
Fig 2.4 In different discharge rate, the relationship between the battery voltage and capacity
图2.5 温度为参变量的放电曲线(电池容量为650mAh)
Fig 2.5 Temperature parameter for the discharge of the curve
2)电池寿命
锂离子电池和其他电池一样,也存在使用寿命的问题。在正确使用的前提下,容量也会随着循环次数慢慢减少。造成这一现象的原因主要有一下两点:
1) 负极材料(石墨)中的锂逐渐被电解质氧化,造成可使用的锂离子数目减少。
2) 在循环中,正极材料的老化,降级,使晶状结构慢慢遭到破坏,可容纳的锂离子数目减少。图2.6 表示了不同循环次数下电池容量的变化。
图2.6 电池在1C 的放电率下容量随循环次数的变化
Fig 2.6 In battery discharge rate of 1C the capacity changes with the number of cycles
3)充放电电流
锂离子电池对充放电的最大电流都有一定的限制。充电时,一般常用的充电率为0.25C~1C(C为电池的容量,比如1500mAh 的锂离子电池,1 C 的充电率即为1500mA)。在大电流充电时,还应检测电池的温度,以防过热损坏电池或产生爆炸。
同样的,锂离子电池的最大放电电流一般限制在2~3C 左右,更大的放电电流会使电池发热严重,对电池的组成物质造成损坏,影响电池的使用寿命。同时,大电流放电还将影响电池能放出的容量,因为一部分能量转化成了热能。
2.1.2 过充,过放及过温现象
当加在锂离子电池两端的电压超过4.5V 时,就会产生过充现象。过充时负极的石墨嵌入的锂离子完全饱和,锂将在负极沉积下来,形成锂枝晶,使电池的容量减少;同时电池继续从正极抽出过量的锂离子,造成正极材料的活性降低,也会对电池的容量造成损害。
过放现象则是电池电压低于放电终止电压后,仍然继续放电,使电池电压继续降低。过放时,电极产生晶枝,电路迅速短路。虽然此时由于电池已经完全放电,不会造成安全方面的问题,但是电池也已经遭到了不可恢复的破坏,不能再继续使用了。
过温时,锂离子电池中的活性物质(LiC6,LiNiO2)与电解液可能会发生化学反应,产生更多的热量。而电解质中存在可燃的有机溶剂成分。在这种情况下,电池温度将失去控制越来越高,最终导致电池燃烧,甚至爆炸。
2.2 充电控制器的充电原理
目前锂电池充电主要有四种方法:恒流充电、恒压充电、恒流恒压充电和脉冲充电。
1)恒流充电(CC)
恒流充电根据其充电电流的大小,又可分为浮充充电(又称涓流充电)、标准充电及快速充电。该方法在整个充电过程中采用恒定电流对电池进行充电,如图3.1 所示。这种方法操作简单,易于做到,特别适合对由多个电池串联的电池组进行充电。但由于锂电池的可接受电流能力是随着充电过程的进行而逐渐下降的,在充电后期,若充电电流仍然不变,充电电流多用于电解质,产生大量气泡,这不仅消耗电能,而且容易造成极板上活性物质脱落,影响锂电池的寿命。
图3.1 恒流充电法曲线
Fig 3.1 Constant current charge curve
2)恒压充电法(CV)
在恒压充电法中,充电电源的电压在全部充电时间里保持恒定的数值,随着锂电池端电压的逐渐升高,电流逐渐减少。充电曲线如图3.2 所示。从图中可以看出,充电初期充电电流过大,这样对锂电池的寿命会造成很大影响。
图3.2 恒压充电法曲线
Fig 3.2 Constant voltage charge curve
3)恒流恒压充电法(CC/CV)
在CC/CV 充电器中,充电通过恒定电流开始。在恒流充电CC 周期中,为了防止过度充电而不断监视电池端电压。当电压达到设定的端电压时,电路切换为恒定电压充电,直到把电池充满为止。在CC充电期间,电池可以以较高电流强度进行充电,这期间电池被充电到大约85%的容量。在CV 周期中,电池电压恒定,充电电流逐渐下降,在电流下降到低于电池的1/10 容量时,充电周期完成。恒流恒压充电曲线如图3.3 所示。
图3.3 恒流恒压充电法曲线
Fig 3.3 Constant current and voltage charge curve
4)脉冲充电法
脉冲充电方式是比较新的一种充电方式。脉冲充电法是从对电池的恒流充电开始的,大部分的能量在恒流充电过程中被转移到电池内部。当电池电压上升到充电终止电压VCV 后,脉冲充电法由恒流转入真正的脉冲充电阶段。在这一阶段,脉冲充电方式以与恒流充电阶段相同的电流值间歇性的对电池进行充电。每次充电时间为TC 后,然后关闭充电回路。充电时由于充电电流的存在,电池电压将继续上升并超过充电终止电压VCV;当充电回路被切断后,电池电压又会慢慢下降。电池电压恢复到VCV 时,重新打开充电回路,开始下一个脉冲充电周期。在脉冲充电电流的作用下,电池会渐渐充满,电池端压下降的速度也渐渐减慢,这一过程一直持续到电池电压恢复到VCV 的时间达到某个预设的值TO 为止,可以认为电池已接近充满,如图3.4 所示。
图3.4 脉冲充电法曲线
Fig 3.4 charging impulse curve
在以上四种充电方法中,锂电池充电仍以恒流恒压的方法为主。虽然恒流恒压充电需要复杂得多的电路来实现,但由于其充电时间短,充电效率高,因此在锂离子电池充电中占主导地位。本文所设计的智能电器充电控制部分将采用这种充电方法。
锂离子电池充电方式可分为三种:
1) 交换式(switch-mode)
2) 脉冲式(pulse)
3) 线性式(linear)
交换式充电控制器的效率较佳但其电路板面积较大,线路较为复杂及需较大的电感电容等被动组件,其电路复杂且成本较高;脉冲式及线性式充电控制器其电路板面积较小及只需较少的外部组件,但脉冲式需要有限电流功能的交流适配器(AC adapter),价格较昂贵且大部分的AC Adapter 不具此功能;线性式的充电控制器其周边组件不会占过多的电路板面积,只需小部分额外的面积以利晶体管的散热即可,成本较小,尽管与前二种相比其效率略差,但性价比较高。综合三种充电方式的优缺点,本文采用线性式充电方式。
第三章 充电控制器的硬件设计
3.1 系统硬件设计的整体方案
智能电源充电控制器设计包括三部分:
1) 控制电路
控制电路主要包括单片机及其外部的扩展电路。其主要作用是控制充电电路的工作,同时对充电电池各项反馈的数据(如电流、电压和温度等)进行处理。同时它还起着人机交互的作用(接收用户发出的各种指令来控制充电),并将显示的数据送至显示电路。
2) 充电电路
充电电路主要包括充电芯片和同步整流电路。它能够根据CPU 发出的指令给充电电池提供恒流或恒压。
3) 显示等外围电路
显示电路主要包括显示器及其驱动芯片。其主要作用是方便用户对智能控制器的操作和直观地了解智能控制器的工作进程。其它外围电路由报警和传感器等电路构成。
3.2 CPU选型
实现电路的智能化控制一般有两种方法。一种是利用集成电路芯片来实现控制。目前市场上有很多厂家生产的集成芯片,能够以相对不高的成本完成各种充放电和保护功能。但是集成电路的应用场合比较窄,一般限于小容量的单、双节电池的控制。当需求功率较大,电池串并联数目较多时,集成电路就无能为力了。另一种方法就是采用单片机系统。单片机系统稍显复杂,但是其灵活性是集成电路无法比拟的。特别是在有特殊需求的场合,单片机系统更能体现出它的优势。
综合考虑,我们选用ATMEL公司生产的AT89C52单片机。由于AT89C52含有非易失FLASH、并行可编程的程序存储器,所有器件都是通过引导装载器串行编程(ISP)。该单片机采用先进CMOS工艺的单片8位微控制器,是80C51微控制器系列的派生,和80C51指令相同。不仅具有8k 片内FLASH 程序存储器,所需扩展片外ROM,而且与80C51 系列单片机指令相同,因此非常适合用做智能管理系统的中心控制单片机。
选用AT89C2052 单片机作为电源管理控制器的主芯片,单片机负责输电的控制和提示,智能电源管理控制器在单片机的管理下,能够完成充电管理、充满自停和充完显示及报警等功能。
3.3 充电控制器电路设计
在单片机和MAX1898 控制下,充电过程分为预充、快充、满充、断电和报警5 个部分。主要原理如图3.3 和3.4 所示:
图3.3 单片机控制部分原理图
Fig 3.3 The single-chip control schematic
图3.4 充电部分电路图
Fig 3.4 Part of charging circuit
1) 预充
在安装好电池后,接通输入直流电源,当控制器检测到电池时则将定时器复位,单片机输入高电平,充电芯片启动,从而进入预充过程,在此期间控制器以快充电流的1/10 给电池充电,使电池电压、温度恢复到正常状态。预充时间由充电控制器确定,如果在规定的充电时间内电池电压达到标准以上,电池温度正常,充电进入快充过程;如果电池电压低于标准,则认为电池不可充电,控制器显示电池故障。
2) 快充
快充过程也称恒流充电,此时控制器以恒定电流对电池充电。根据电池厂商推荐的充电速率,一般锂离子电池大多选用标准充电速率,充满电池需要1 个小时左右的时间。恒流充电时,电池电压将缓慢上升,一旦电池电压达到所设定的终止电压,恒流充电终止,充电电流快速递减,充电进入满充过程。
3) 满充
在满充过程中,充电电流逐渐衰减,直到充电速率降到设置值以下或满充时间超时,转入顶端截止充电;顶端截止充电时,控制器以极小的充电电流为电池补充能量。由于控制器在检测电池电压是否达到终止电压时有充电电流通过电池内阻,尽管在满充和顶端截止充电过程中充电电流逐渐下降,减小了电池内阻和其他串联电阻对电池端电压的影响,但串联在充电回路中的电阻形成的压降仍然对电池终止电压的检测有影响,一般情况下,满充和顶端终止充电可以延长电池5%~10%的使用时间。
4) 断电
当电池正常充满后,MAX1898 芯片的2 引脚发送的脉冲电平将会被单片机检测到,引起单片机的中断,在中断中判断出充电完毕的状态。由单片机将通过P2.0 口输出控制MAX1898 芯片EN/OK 脚,控制器停止充电,从而保证芯片和电池的安全,同时也减小功耗。同样当电池因短路或断路不可充电时,也由单片机控制停止充电并显示电池故障。
5) 报警
当电池充满后,MAX1898 芯片本身也会向外接的LED 灯发出指令,LED 灯会闪烁。同时单片机在检测到充满状态的脉冲后,或检测到电池故障不仅会自动切断MAX1898 芯片的供电,而且会通过蜂鸣器报警,提醒用户及时取出电池。
监测MAX1898 的输出信号CHG,当MAX1898 将要完成充电时,该引脚会发出1.5HZ 信号的脉冲,单片机的INTO 引脚接收中断后,产生中断,并使用单片机的T0 计数器开始计数,当下一个脉冲到来时,在外中断程序中判断单片机的计数值是否在4S 左右,如果是,则通过控制P1.2 输出控制MAX1898 芯片EN/OK 脚,控制器停止充电,并引发蜂鸣器报警。
3.4 液晶显示模块设计
3.4.1 GXM12864 简介
液晶显示器(LCD)已经经历了几代发展,其应用从第一代的以TN-LCD 为代表的电子手表,计算器到第二代的以STN-LCD 为代表的快译通,商务通,家电设备,测量设备以及今天正继续发展的第三代TFT-LCD 以便携式同台计算机与多媒体显示为代表的用于高级信息社会的各种办公室自动化与新型信息传递设备。
本论文采用了内含KS0108 B/HD61202 控制器的图形液晶显示模块GXM12864,它是一种采用低功耗CMOS 技术实现的点阵图形LCD 模块,有8 位的微处理器接口,通过内部的128*64 位映射DDRAM(Display Data RAM)实现128*64 大小的平板显示。该液晶显示模块使用KS0108B 作为列驱动器,同时使用KS0107B 作为行驱动器。KS0107B 不与单片机发生联系,只要提供电源就能产生行驱动信号和各种同步信号。这样的配置大大简化了设计,节约了单片机的资源。
2)GXM12864 的引脚定义
GXM12864 共有20 个引脚。其中DB0-DB7 是8 位双向数据总线,它的方向由读写控制脚R/W 来决定,高电平为读,此时数据出现在总线上,可以由CPU 读走;低电平为写,可以写入8 位数据。E 为使能信号脚,在E 的下降沿数据被锁存在KS0108B,在E 高电平期间数据被读出。D/I 是数据指令选择脚,为高电平表示数据操作,低电平表示写指令或读状态。GXM12864 引脚定义如表4.1 所示:
表4.1 GXM12864 引脚说明
Table 4.1 GXM12864 pins note
3.4.2 GXM12864 的接口设计
在本设计中,GXM12864 模块的工作原理如图4.3 所示。
图4.3 GXM12864 模块的工作原理
Fig 4.3 GXM12864 working principle
图中电位器R10 的作用是调节提供给驱动器的供压,从而调节液晶显示的对比度。A,K 引脚用于背光灯。RST 是复位脚,接高电平VCC。数据线DB0-DB7 和单片机的P0 端口相连接,控制线D/I,R/W和片选线/CSA,/CSB 分别与单片机P2 端口的6,5,2,4 脚相连。
GXM12864 最大的特点是驱动芯片和LCD 显示屏的接口电路已经做好在模块内部,设计时候只考虑驱动芯片与单片机的接口和编写具体的驱动程序。
3.5 看门狗功能
单片机系统通常工作在一些特定环境中,不可避免会受到外界的干扰,这些干扰轻则导致系统内部数据出错,重则将严重影响程序的运行。为了保护数据,抑制干扰,在智能电源管理控制系统的开发过程中需要进行可靠性设计。一般说来系统的可靠性应从软件、硬件以及结构设计等方面全面考虑。如器件选择、电路板的布线、看门狗、软件冗余等。只有通过软、硬件的联合设计才能保证系统总体的可靠性指标,以满足系统在现场苛刻条件下的正常运行。
对于来自电网电压的欠压、过压、掉电和瞬变现象,通常采用低通电源滤波器、隔离变压器、光电隔离及使用UPS不间断电源,或者给单片机系统配备专用电源。但这些措施仍然不能解决上述电源异常问题,而且线路复杂、成本高。所以,单片机监控电路应运而生。利用监控芯片和少量外围元件能方便地组成各种有效的复位电路,并能对电源异常情况进行各种监控。这种芯片具有监视功能多、可靠性高、外围元件少、监控电路简单和体积小等优点。因此它被广泛应用在计算机、微控制器应用系统、便携式智能仪器、自动控制等领域。
看门狗功能是指在系统设计中通过软件或硬件的方式在一定的周期内监控单片机微处理器的运行情况,如果在规定的时间内没有收到来自单片机微处理器的触发信号,则系统会强制复位。
3.6 复位电路
3.6.1 MAX6304 简介
Maxim公司生产的MAX6304是一款专用、高性能、低功耗的微处理器监控芯片。它有如下特点:
1)同时具有复位和看门狗功能。
2)复位门限电压在1.22V以上可调节。
3)复位超时时间可调。
4)看门狗超时时间可调,通过看门狗选择脚还可以设置500倍超时时间。
5)4μA供电电流。
6)输出结构为:推/拉方式输出、高电平复位。
MAX6304有DIP、μMAX和SO三种封装形式,其引脚分布如图4.4所示。
图4.4 MAX6304 引脚分布图
Fig 4.4 MAX6304 pins maps
3.6.2 硬件电路设计
参考Maxim公司提供的MAX6304芯片资料,设计出如图4.5所示的单片机监控电路原理图。
图4.5 系统原理图
Fig 4.5 System schematic
单片机AT89C2051监控复位电路由MAX6304实现。单片机P1口的P1.0和P1.1用于LED指示灯的显示,用红、绿LED 构成,完成简单测试。P1.2 口和MAX6304的看门狗监测器输入脚WDI相连,单片机程序控制它在一定时间周期内(小于看门狗的超时时间)发生电平变化。如果在看门狗的超时时间内MAX6304 没有检测到这个变化,则认为“程序跑飞”或者“死机”。这样MAX6304的RESET输出脚产生复位信号,对单片机复位。MAX6304的RESET输出脚和89C2051的RESET输入脚相连。 MAX6304是否正常工作取决于它的外围电路设计。
监控芯片MAX6304外围电路的设计可以参考Maxim公司提供的芯片资料进行。监控芯片MAX6304外围电路的设计主要是对图5.2中R1、R2、C1、C2的取值计算。
复位门限电压满足如下公式:
(4.1)
分别选择 为3.9kΩ,为10kΩ,由(4.1)式可得:
(4.2)
系统供电电源为+ 5V,所以复位电压设置在4.35V是满足要求的。
MAX6304的RST脚用于设置复位超时时间,这个时间可以通过外部电容C1来调节。复位超时时间按下式计算:
(4.3)
式中,C1的单位为pf , 的单位为。
取C1 = 10 pf ,可得:
(4.4)
MAX6304的SWT脚用于设置看门狗超时时间,这个时间可以通过外部电容C2来调节。基本看门狗超时时间按下式计算:
(4.5)
式中,C2的单位为pf , 的单位为。
取C2 = 100 pf ,可得:
(4.6)
WDS脚是MAX6304的看门狗选择输入脚,这个输入脚可以选择看门狗的模式,接低电平为正常模式,接高电平是扩展模式。在扩展模式下,看门狗超时时间为基本超时时间的500倍。在本系统中,WDS接高电平,故看门狗超时时间为:
(4.7)
因此,只需在单片机程序中每隔小于133.5ms的时间间隔让P1.2产生电平跳变(即对MAX6304的WDI输入脚提供“喂狗”信号),就可以实现看门狗功能。如果“程序跑飞”或者“死机”,程序就不会运行到“喂狗”语句,超过看门狗超时时间,MAX6304的RESET就会产生有效的复位输出,从而对单片机复位。
第四章 软件设计
4.1 控制电路的软件设计
当MAX1898 完成充电时,其/CHG 引脚会产生由低到高的跳变,该跳变引起单片机的INT0 中断。/CHG 的输出为高存在3 种情况:一是电池未放进充电器上或无充电输入;二是充电完毕;三是充电出错。前两种情况单片机都可以直接控制电源切断,所以程序只需对待第三种充电出错的情况即可。该部分程序流程图如下图3.5:
图3.5 智能控制器程序流程图I
Fig 3.5 Intelligent control program flow chart I
图3.5 智能控制器程序流程图II
Fig 3.5 Intelligent control program flow chart II
图3.5 智能控制器程序流程图III
Fig 3.5 Intelligent control program flow chart III
4.2 显示模块的软件设计
这里软件设计的重点在于对液晶模块的驱动。本设计中的行驱动芯片KS0107B 不与单片机发生联系,因此在设计中只用考虑KS0108B 的工作方式和指令控制。
KS0108B 驱动器具有以下特点:内部有64*64=4096 位显示RAM,RAM 中每位数据对应LCD 屏上的一个点的亮暗状态;KS0108B 列驱动器,具有64 路列驱动输出;KS01018B 的占空比为1/32-1/64;KS0108B 内部有输入输出寄存器,它们相当于是微控制器和内部的显示RAM 之间的缓冲器。
KS0108B 内部状态由显示控制指令控制,总共有7 种指令,现分别介绍如下:
1) 显示开/关指令
表4.2 显示开/关指令
Table 4.2 Display on / off instructions
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
1
1
1
1
1
1/0
当 DB0=1 时,LCD 显示RAM 中的内容;DB0=0 时,关闭显示。
2)显示起始行(ROW)设置指令
表4.3 显示起始行设置指令
Table 4.3 Display start line setting up instructions
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
1
显示起始行(0~7)
该指令设置了对应液晶屏最上一行的显示 RAM 行号,有规律地改变显示起始行,可以使LCD 实现显示滚屏的效果。
3)页(PAGE)设置指令
表4.4 页设置指令
Table 4.4 Page setting up instructions
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
0
1
1
1
页号(0~7)
显示RAM 共64 行,分8 页,每页8 行。
4)列地址(YAddress)设置指令
表4.5 列地址设置指令
Table 4.5 Columns address setting up instructions
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
1
显示列地址(0~63)
设置了页地址和列地址就唯一确定了显示 RAM 中的一个单元,这样MPU 就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。
5)读状态指令
表4.6 读状态指令
Table 4.6 Reading state instructions
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
展开阅读全文