1目录一.设计题目.........................................1二.设计要求.........................................1三.设计的作用与目的.................................1四.系统硬件设计.....................................24.1接口电路设计......................................44.1.1时钟电路及复位电路....................................44.1.2JTAG调试接口电路.....................................44.1.3LCD串行接口设计......................................54.1.4RS232接口设计........................................64.2驱动电路的设计....................................74.3采样电路设计......................................84.3.1输入电压采样电路......................................84.3.2蓄电池端电压采样电路..................................94.3.3蓄电池充电电流采样电路................................94.3.4蓄电池温度采样电路...................................104.4保护电路设计.....................................114.5电源电路设计.....................................12五.系统软件设计.............................................................................................135.1系统软件的总体结构...............................135.2应用μC/OS-II的必要准备..............................135.2.1定义任务优先级.......................................135.2.2定义任务栈空间.......................................145.2.3定义消息邮箱.........................................1425.2.4μC/OS-II的基本函数................................14六.系统仿真与调试................................................................156.1主控模块及其流程图...............................156.2主任务模块及其流程图.............................176.2.1A/D采样模块软件仿真设计.............................176.2.2充电模式仿真设计.....................................176.4.4LCD显示任务模块及其流程图···································18七.结论.........................................20八.嵌入式系统实习心得...........................21九.参考文献.....................................221嵌入式系统在蓄电池充电中的应用研究一.设计题目嵌入式系统在蓄电池充电中的应用研究二.设计要求本文的主要目的是研究并设计一套蓄电池充电控制器,控制器的总体功能和技术要求如下:(1)充电系统的输入直流电压范围为200~650V;(2)充电系统的直流输出电压范围为0~60V,待充蓄电池组额定电压为48V;(3)充电系统的输出直流电流范围为0~20A;(4)充电系统的最大输出功率为1200W;(5)充电系统应根据蓄电池的荷电状态采用合适的充电方法对蓄电池进行充电;(6)充电系统应具有完善的充电保护功能;(7)充电系统应具有实时显示和监控的功能。三.设计的作用与目的如何高效、快速、安全地对蓄电池进行充电控制,一直是人们关心的问题。虽然蓄电池问世至今已有100多年的历史,但是由于技术条件的限制,目前很多的充电器仍然采用传统的充电方式。铅酸蓄电池作为一种可重复使用的储能设备得到了广泛的应用,但是充电一直是影响其使用寿命的关键问题。随着铅酸蓄电池在新能源开发中的广泛应用,对蓄电池的充电方法和充电装置都提出了新的要求:研究并设计一种快速、高效、安全的蓄电池充电系统成为一项很重要的任务。对蓄电池充电的改进可以从两个方面考虑,一是蓄电池的充电方法,二是蓄电池的充电装置。随着电力电子技术、微电子技术、计算机技术以及自动控制技术的发展,蓄电池的充电控制方法和充电装置的研究也越来越广泛,这两个方面的研究设计对光伏发电、电动汽车等新兴绿色环保产业的发展具有非常重要的意义。本文致力于研究并设计一种快速、安全、智能的蓄电池充电控制器。蓄电池的充电过程主要分为激活充电、大电流快速充电、过充电和浮充电四个阶段。2这四个充电阶段是完全按照蓄电池的状态进行设置的,多模式充电控制策略考虑到蓄电池在实际使用过程中的荷电状态,根据蓄电池的荷电状态进行相应的充电控制,通过对蓄电池端电压的检测,确定采用何种充电模式,有效地维护了蓄电池的充电寿命。这种多模式的充电方法综合了恒流充电快速而安全、及时补偿蓄电池电量和恒压充电能够控制过充电以及在浮充状态保持蓄电池100%电量的优点。这种充电控制策略能够实时检测充电情况并按预定的充电方案对蓄电池充电;通过对蓄电池荷电状态的分析与判断,选择合适的充电模式,激活充电能够有效地激活过放电蓄电池内部的活性物质,避免初始大电流快速充电对蓄电池造成损坏;大电流快速充电能够最大效率地补足蓄电池的电量;过充电能够能够使得蓄电池的电量接近100%充满,最后的浮充电又能够补充蓄电池自身放电而损失的电量,进一步补充蓄电池的电量并延长蓄电池的使用寿命。本文根据充电系统的功能要求和技术指标,进行了总体方案设计。蓄电池充电控制器的控制方式采用基于时下最常用的嵌入式ARM7微处理器LPC2292的数字控制。充电系统采用多模式充电控制策略,分别为激活充电、大电流快速充电、过充电和浮充电四种模式。根据充电系统的总体方案,对充电控制器的硬件和软件进行了详细的设计与实现。硬件部分主要充电控制器的驱动电路,采样电路,保护电路以及辅助电源的设计。软件部分主要包括介绍了μC/OS-II实时操作系统在ARM7上的移植和各个软件模块包括A/D采样、控制器数据的处理以及数据在LCD显示等程序的实现。四.系统硬件设计本文的充电控制器以嵌入式作为平台,以ARM7LPC2292为核心,由于该款芯片的片内外设功能丰富,能完成模拟量的采样转换、数据处理和控制调节、以及片内的定时器可产生占空比调节的PWM控制信号,完全能够实现蓄电池的充电控制,同时该单片机的I/O端口和异步串行通信接口能方便实现外接LCD显示和上位机的串行通信。充电控制器的硬件结构如图4.1所示。这种数字化的充电控制器满足了充电系统输出可编程控制、具有数据通讯和显示、智能化控制等要求。下面将分别介绍充电控制器中复位电路、JTAG接口、LCD串行接口和RS232接口的硬件设计。3温度采样输入电压采样输出电压采样输出电流采样PWM波输出RS232接口LCD显示JTAG程序下载调试复位电路LPC2292图4.1充电控制器硬件结构图本系统对CPU的特殊要求有以下几点:(1).能提供至少1路独立的脉宽调制(PWM)输出(若不能提供,则系统的工作频率至少要求100M以上);(2).有4个8位或者10位精度的AD转换器(现在也有不少单片机带有AD功能,但单买AD转换器会造成成本的提高);(3).带有CAN总线控制器;(4).具有JTAG接口;(5).除以上之外,至少还需要35个普通I/0口。考虑以上条件,采用ARM公司LPC2200系列中的2292微控制芯片作为中央处理器。下表4.1给出LPC2292的管脚配置。表4.1LPC2292的管脚配置端口号引脚I/O类型功能说明P0.0P0.1P0.4P0.28P0.7P0.6P0.5P0.27P0.30P0.29P0.10-P0.17P1.27-P1.3142495961686978,83,84,85,92,99,100,10123253233144,140,126,113,43OII/OI/OI/OIOIIIII/ORS232TXD接口RS232RXD接口CA12864KRS接口CA12864KSID接口CA12864KSCLK接口PWM波形输出CA12864KDB0-DB7接口ADC0采样(输入电压)ADC1采样(充电电压)ADC3采样(蓄电池温度)ADC2采样(充电电流)JTAG接口44.1接口电路设计4.1.1时钟电路及复位电路LPC2000系列ARM7微控制器可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHZ)。本设计为提高系统反应速度,启用片内的PLL功能(使用此功能,则外部晶振的频率限定在10~25MHz)。振荡器工作在振荡模式下,由于片内集成了反馈电阻,只需在外部连接一个晶体和电容Cx1、Cx2就可形成基本模式的振荡。晶振选用11.0592MHz,使串口波特率更精确。如图4.2所示。图4.2振荡模式下晶振连接复位电路采用上电复位电路,如图4.3所示。图4.3上电复位电路4.1.2JTAG调试接口电路JTAG标准是一种国际标准测试协议IEEE1149.1,主要用于芯片内部测试及对系统进行仿真、调试。通过JTAG接口,可以对芯片内部的所有部件进行访问,因而是开发调5试的一种简洁高效的手段。LPC2292处理器内置了串行JTAG接口,可通过此接口对片内256K的FLASH存储器进行编程以及程序的烧写和调试,给用户的开发带来极大的方便。接口电路如图4.4所示。图4.4JTAG调试接口4.1.3LCD串行接口设计本文采用的LCD型号为CA12864K,该LCD内部的中文字型点阵控制器为ST7920,可显示四行八列汉字,也可显示图形,内置8192个简体中文汉字(16×16点阵)。LCD使用3.3V进行供电,LPC2292与LCD的接口有并行和串行两种模式,可方便地实现8位、4位并行接口或者串行接口数据传输,采用哪种模式由LCD中的PSB引脚控制,PSB接高电平时选择并行模式,接低电平时选择串行模式。LPC2292采用串行接口的方式与LCD进行连接,图4.5所示为LCD串行接口。图4.5LCD串行接口LCD的各引脚定义及功能如表4.2所示。LCD与LPC2292的串行接口只需连接三个6引脚:RS、SID和SCLK。LPC2292通过P0.10-P0.17口与LCD串行通信,P0.6接液晶的SCLK端,P0.4接液晶的RS端,P0.5接液晶的SID端。将LCD的并口/串口选择引脚接地即为选择串行接口,RS为串行传输时的片选信号;SID为串行数据线,负责单片机往LCD的数据传输;SCLK为传输时的时钟信号,该时钟信号由LPC2292提供。充电控制器在运行中,时刻检测蓄电池的充电参数,对输入电压、输出电压、输出电流和温度等信息进行数据处理和反馈控制调节的同时,通过串行接口将充电信息