论文部分内容阅读
【摘要】 首先阐述了新能源电动汽车的发展前景,然后介绍了汽车仪表专用芯片MC9S12HY的特点,重点介绍以MC9S12HY为核心汽车仪表的硬件和软件设计,仪表在实际运行中有较高的精度和通用性。
【关键词】 汽车组合仪表;MC9S12HY微控制器;步进电机;CAN总线
引言
随着环境污染的日趋严重,国家正在大力推广新能源产业,电动汽车是新能源汽车的主力军,国家出台了相应政策,扶持电动汽车发展。
电动汽车的能量来源是电池,电池为驱动汽车的电动机提供电能,电动机将电源的电能转化为机械能,通过一定的传动装置驱动车轮。电动汽车是利用电力驱动汽车,与传统燃油车相比,不会产生对空气污染的有毒气体,对空气的污染较小。有研究表明,同样的原油经过粗炼,送至电厂发电,经充入电池,再由电池驱动汽车,其能量利用效率比经过精炼变为汽油,再经汽油机驱动汽车高,电动汽车的低污染和高能量利用率,使得电动汽车成为大多数汽车厂家研究开发的热点。
汽车仪表进入全数字化阶段,现在已有多家芯片厂家推出针对汽车仪表的微控制器。MC9S12HY系列微控制器就是一款非常实用的仪表控制器。MC9S12HY是飞思卡尔公司开发的16位微控制器,将大部分的仪表专用模块集成到一块芯片上,利用单芯片方案开发一款仪表,从而简化了硬件电路,提高了仪表的可靠性。本文就是以本系列的MC9S12HY48芯片为核心,开发了一款实用的电动汽车数字仪表。
一、MC9S12HY微控制器介绍
MC9S12HY系列是16位单片机,是开发汽车数字仪表专用微控制器,其片上资源,如电机驱动器、段码屏驱动器、CAN控制器等,都是开发汽车仪表的专用控制单元。下面简单介绍芯片的主要资源和特点:
1.主频最大64M。
2.最大64KB带有错误校正码的程序FLASH。
3.最大4KB带有错误校正码的数据FLASH。
4.最大4KB片内RAM。
5.8通道12位A/D
6.2个16位带有输入捕获、输出比较、计数和脉冲累加器功能的定时器。
7.最多可配置40*4段的LCD驱动器。
8.4个可驱动步进马达的驱动器。
9.支持CAN2.0A/B的CAN控制器。
10.一个SPI、一个I2C和可支持LIN的串行SCI。
本仪表用到了MC9S12HY大部分片上资源,如A/D转换器、定时器、段码屏驱动器、电机驱动器、CAN控制器等。
二、汽车仪表设计
(一)仪表整体结构
图1 仪表硬件组成结构图
图1为本仪表的主要硬件结构图,其中包含了汽车转速、车速、状态量的采集以及状态的显示、报警等。开关量信号包括开门、安全带未系以及小计/总计里程切换开关,这些电平一般是汽车电池电压,不能直接被单片机直接采集,需通过分压转换为TTL电平、同时滤波送相应端口;电机转速传感器测得的脉冲信号,通过仪表的分压、滤波、整形电路进入单片机进行处理。电动汽车是电力驱动,电压电流显示必不可少,汽车仪表外接一个电压/电流采集器,采集器是把电压、电流AD值转换为PWM值,单片机通过采集PWM占空比信号,计算获得电动汽车电压、电流值。
为了避免断电总计里程丢失,需存储器存储数据,MC9S12HY内部的DFLASH可替代外扩eeprom存储数据,节省了硬件成本。
输出方面,MC9S12HY的四个电机驱动器使用了两个,用来驱动车速和电量。
当出现电机超速、安全带未系、电池故障、发动机过热等报警或系统READY准备就绪等状态指示时,单片机控制相应端口LED显示或蜂鸣器报警。内部LCD驱动器直接驱动LCD屏,屏上显示电压、电流、转速、总计里程、小计里程和报警信息。为了抑制电动汽车严重的电磁干扰,我们选用了与MC9S12HY的CAN控制器相连的收发器是带有隔离功能的ISO1050DUB。
(二)仪表硬件设计
1.转速信号采集电路
从转速传感器获得的转速信号是方波信号,低电平是0V,高电平是12V,经过分压转化为可以被MC9S12HY系列单片机接收的TTL电平信号,从传感器来的方波信号在传输过程中,波形会发生畸变,通过施密特触发器的整形可以获得理想的方波信号,另外,为了保证施密特触发器的可靠工作,输入端加了一个5V稳压管。施密特触发器前后电容C36和C35起着高频滤波的作用。
2.仪表硬件低功耗设计
BATTERY_12V是直接接汽车电瓶的电压,IGN_12V是钥匙点火电压。电源通过电感的通直阻交,利用C13、C10电解电容的充放电特性,使输入直流电压更稳定,另外,10nf和100nf起到滤除高频及脉冲干扰的作用。
汽车停置不用时,仪表等汽车设备由汽车电瓶供电,时间长了,电瓶溃电,汽车就发动不了。为了降低功耗我们选用了一款功耗非常低的LDO芯片-TLE42744,它的静态电流只有100uA。而且温度范围宽,-40°~150°,完全满足汽车级电源芯片要求。
另外,MC9S12HY控制器也有满足低功耗的设计。MC9S12HY控制器可以工
作在stop模式,stop模式只有RTC工作,功耗很小,静态电流只有360uA。本仪表在软件使用了这种stop模式,降低了静态功耗。
3.CAN接口设计
除了传统汽车的各种电磁干扰,电动汽车还有高压大功率电力电子装置和驱动电机产生的严重电磁干扰,对CAN通信影响很大。为了抑制严重的电磁干扰,在仪表和CAN节点之间增加CAN隔离电路。CAN收发器ISO1050DUB内部集成所有必需的CAN隔离及 CAN收发器,可实现CAN节点的收发与隔离功能,构建一个安全稳定高可靠性的总线网络环境。ISO1050DUB 需要双电源供电,隔离前级接仪表,仪表电压VCC给其供电,RXD、TXD接MC9S12HY控制器的内部CAN控制器;隔离后级接电机控制器,"控制器+12V"和"控制器-12V"通过仪表电源芯片TLE4264稳压输出"+5"V给隔离后级供电为。提高EMC性能,在与电机控制器CAN_H、CAN_L数据线通讯之间增加一共模扼线圈T1。电源芯片TLE4264电路见图5。ISO1050DUB隔离电路见图4。 (三)仪表软件设计
1.总体软件设计
汽车仪表是一个多任务系统,如果软件规划不合理就会出现需要实时执行的任务无法及时响应。本仪表根据各任务需要执行周期长短不一的特点,分几种执行周期函数,把相应的任务放到各周期函数中执行,使任务执行起来更合理,实时性更好。下面介绍本电动汽车仪表的程序主框架。图6为程序的程序主流程图。
主程序开始是看门狗、总线、外设、变量等初始化,第一次上电仪表指针会有一次大回零。接着进入WHILE循环。WHILE循环中先中断使能、然后看门狗使能,下一步是实时判断是否钥匙电打开,如果钥匙电开,仪表背光打开,仪表正常工作;否则,仪表进入STOP状态,STOP状态中除用于采集钥匙电的AD转换器不关闭外,其他外设都关闭。
在STOP模式中,RTC一直在工作,它每隔8ms唤醒CPU,醒来时,检测是否有车钥匙打开,如果有,就先进行总线、外设、变量初始化,然后电机指针小回零,最后进入主任务处理函数中;如果没有,等待。
主任务处理函数包括转速采集模块、车速表模块、电压/电流采集模块、电量表模块、CAN通讯模块、LCD显示模块等。程序采用定时器中断捕获来计算转速传感器脉冲周期;由脉冲周期计算获得电机转速,由转速计算可得到车速,驱动车速电机进行车速指示。
电压/电流采集模块是采用中断捕获改变捕获上升沿和下降沿方式,来计算从电压/电流采集器获得的PWM信号占空比值,从而获得电压、电流值。根据电压值计算出电量值,驱动电量表电机进行电量指示。
车速和电量指示都是采用电机指针指示,经过多年的不断完善,我们已经设计出成熟的步进电机驱动程序,不管输入信号变化快慢,电机输出带动的指针都能快速、平稳地转动,以让人感觉很自然的方式将输入的物理量显示出来。
CAN通讯模块是与珠海英搏尔的电机控制器进行通讯。CAN通讯协议采用SAE J1939-21,CAN2.0B标准,通讯波特率为250kbps,SAE J1939-21规范规定两种PDU格式:PDU1格式(PS为目标地址)和PDU2格式(PS为组扩展),PDU2为不指定特定目标地址的传输,本标准选用PDU2格式。从电机控制器可获得档位和故障代码等各种信息。
MC9S12HY控制器内部集成的LCD控制器驱动外部液晶屏,显示车辆的电流、电压、转速、小计里程、总计里程、故障代码等,屏幕刷新频率为100ms,显示在同一块区域的总计里程和小计里程可通过按钮进行切换显示。
2.车速采集软件设计
转速传感器装在电机上,电机旋转一周,转速传感器发6个脉冲,单片机采集脉冲的周期,通过计算得到电机的转速,再除以变速箱传动比就可得到车轮的转速,由车轮的转速乘于轮胎周长得到汽车的速度。
采集传感器脉冲周期是关键,本仪表利用MC9S12HY的定时器捕获功能,采用中断捕获的方式获得波形的周期。首先软件初始化定时器总线频率、设置相应端口为输入捕获,设上升沿捕获。中断程序中记录每次上升沿时刻的值,把本次记录的时刻值减去上一个上升沿中断获得的时刻值,求两者差值得到得脉冲的周期。
3.步进电机走指针软件设计
车速表和电量表是指针式的,选用VID29步进电机,采用它的微步驱动模式。车速或电量大小与指针走的角度成正比,也就是与电机的目标步数成正比。为使电机走得流畅、无颤动,整个电机的运动过程为加速-匀速-减速,为了控制电机运行的速度我们采用修改定时器时间的方式控制电机的走步速度。步进电机走动的方向是按照下面原理:如果当前步数小于目标步数就前进一步,否则就后退一步。图7为电机走步中断函数。
结束语
本仪表以MC9S12HY控制器为核心,充分利用MC9S12HY片上资源,节省外围设备,真正做到了低成本高可靠性,目前已经大批量生产和使用。
【关键词】 汽车组合仪表;MC9S12HY微控制器;步进电机;CAN总线
引言
随着环境污染的日趋严重,国家正在大力推广新能源产业,电动汽车是新能源汽车的主力军,国家出台了相应政策,扶持电动汽车发展。
电动汽车的能量来源是电池,电池为驱动汽车的电动机提供电能,电动机将电源的电能转化为机械能,通过一定的传动装置驱动车轮。电动汽车是利用电力驱动汽车,与传统燃油车相比,不会产生对空气污染的有毒气体,对空气的污染较小。有研究表明,同样的原油经过粗炼,送至电厂发电,经充入电池,再由电池驱动汽车,其能量利用效率比经过精炼变为汽油,再经汽油机驱动汽车高,电动汽车的低污染和高能量利用率,使得电动汽车成为大多数汽车厂家研究开发的热点。
汽车仪表进入全数字化阶段,现在已有多家芯片厂家推出针对汽车仪表的微控制器。MC9S12HY系列微控制器就是一款非常实用的仪表控制器。MC9S12HY是飞思卡尔公司开发的16位微控制器,将大部分的仪表专用模块集成到一块芯片上,利用单芯片方案开发一款仪表,从而简化了硬件电路,提高了仪表的可靠性。本文就是以本系列的MC9S12HY48芯片为核心,开发了一款实用的电动汽车数字仪表。
一、MC9S12HY微控制器介绍
MC9S12HY系列是16位单片机,是开发汽车数字仪表专用微控制器,其片上资源,如电机驱动器、段码屏驱动器、CAN控制器等,都是开发汽车仪表的专用控制单元。下面简单介绍芯片的主要资源和特点:
1.主频最大64M。
2.最大64KB带有错误校正码的程序FLASH。
3.最大4KB带有错误校正码的数据FLASH。
4.最大4KB片内RAM。
5.8通道12位A/D
6.2个16位带有输入捕获、输出比较、计数和脉冲累加器功能的定时器。
7.最多可配置40*4段的LCD驱动器。
8.4个可驱动步进马达的驱动器。
9.支持CAN2.0A/B的CAN控制器。
10.一个SPI、一个I2C和可支持LIN的串行SCI。
本仪表用到了MC9S12HY大部分片上资源,如A/D转换器、定时器、段码屏驱动器、电机驱动器、CAN控制器等。
二、汽车仪表设计
(一)仪表整体结构
图1 仪表硬件组成结构图
图1为本仪表的主要硬件结构图,其中包含了汽车转速、车速、状态量的采集以及状态的显示、报警等。开关量信号包括开门、安全带未系以及小计/总计里程切换开关,这些电平一般是汽车电池电压,不能直接被单片机直接采集,需通过分压转换为TTL电平、同时滤波送相应端口;电机转速传感器测得的脉冲信号,通过仪表的分压、滤波、整形电路进入单片机进行处理。电动汽车是电力驱动,电压电流显示必不可少,汽车仪表外接一个电压/电流采集器,采集器是把电压、电流AD值转换为PWM值,单片机通过采集PWM占空比信号,计算获得电动汽车电压、电流值。
为了避免断电总计里程丢失,需存储器存储数据,MC9S12HY内部的DFLASH可替代外扩eeprom存储数据,节省了硬件成本。
输出方面,MC9S12HY的四个电机驱动器使用了两个,用来驱动车速和电量。
当出现电机超速、安全带未系、电池故障、发动机过热等报警或系统READY准备就绪等状态指示时,单片机控制相应端口LED显示或蜂鸣器报警。内部LCD驱动器直接驱动LCD屏,屏上显示电压、电流、转速、总计里程、小计里程和报警信息。为了抑制电动汽车严重的电磁干扰,我们选用了与MC9S12HY的CAN控制器相连的收发器是带有隔离功能的ISO1050DUB。
(二)仪表硬件设计
1.转速信号采集电路
从转速传感器获得的转速信号是方波信号,低电平是0V,高电平是12V,经过分压转化为可以被MC9S12HY系列单片机接收的TTL电平信号,从传感器来的方波信号在传输过程中,波形会发生畸变,通过施密特触发器的整形可以获得理想的方波信号,另外,为了保证施密特触发器的可靠工作,输入端加了一个5V稳压管。施密特触发器前后电容C36和C35起着高频滤波的作用。
2.仪表硬件低功耗设计
BATTERY_12V是直接接汽车电瓶的电压,IGN_12V是钥匙点火电压。电源通过电感的通直阻交,利用C13、C10电解电容的充放电特性,使输入直流电压更稳定,另外,10nf和100nf起到滤除高频及脉冲干扰的作用。
汽车停置不用时,仪表等汽车设备由汽车电瓶供电,时间长了,电瓶溃电,汽车就发动不了。为了降低功耗我们选用了一款功耗非常低的LDO芯片-TLE42744,它的静态电流只有100uA。而且温度范围宽,-40°~150°,完全满足汽车级电源芯片要求。
另外,MC9S12HY控制器也有满足低功耗的设计。MC9S12HY控制器可以工
作在stop模式,stop模式只有RTC工作,功耗很小,静态电流只有360uA。本仪表在软件使用了这种stop模式,降低了静态功耗。
3.CAN接口设计
除了传统汽车的各种电磁干扰,电动汽车还有高压大功率电力电子装置和驱动电机产生的严重电磁干扰,对CAN通信影响很大。为了抑制严重的电磁干扰,在仪表和CAN节点之间增加CAN隔离电路。CAN收发器ISO1050DUB内部集成所有必需的CAN隔离及 CAN收发器,可实现CAN节点的收发与隔离功能,构建一个安全稳定高可靠性的总线网络环境。ISO1050DUB 需要双电源供电,隔离前级接仪表,仪表电压VCC给其供电,RXD、TXD接MC9S12HY控制器的内部CAN控制器;隔离后级接电机控制器,"控制器+12V"和"控制器-12V"通过仪表电源芯片TLE4264稳压输出"+5"V给隔离后级供电为。提高EMC性能,在与电机控制器CAN_H、CAN_L数据线通讯之间增加一共模扼线圈T1。电源芯片TLE4264电路见图5。ISO1050DUB隔离电路见图4。 (三)仪表软件设计
1.总体软件设计
汽车仪表是一个多任务系统,如果软件规划不合理就会出现需要实时执行的任务无法及时响应。本仪表根据各任务需要执行周期长短不一的特点,分几种执行周期函数,把相应的任务放到各周期函数中执行,使任务执行起来更合理,实时性更好。下面介绍本电动汽车仪表的程序主框架。图6为程序的程序主流程图。
主程序开始是看门狗、总线、外设、变量等初始化,第一次上电仪表指针会有一次大回零。接着进入WHILE循环。WHILE循环中先中断使能、然后看门狗使能,下一步是实时判断是否钥匙电打开,如果钥匙电开,仪表背光打开,仪表正常工作;否则,仪表进入STOP状态,STOP状态中除用于采集钥匙电的AD转换器不关闭外,其他外设都关闭。
在STOP模式中,RTC一直在工作,它每隔8ms唤醒CPU,醒来时,检测是否有车钥匙打开,如果有,就先进行总线、外设、变量初始化,然后电机指针小回零,最后进入主任务处理函数中;如果没有,等待。
主任务处理函数包括转速采集模块、车速表模块、电压/电流采集模块、电量表模块、CAN通讯模块、LCD显示模块等。程序采用定时器中断捕获来计算转速传感器脉冲周期;由脉冲周期计算获得电机转速,由转速计算可得到车速,驱动车速电机进行车速指示。
电压/电流采集模块是采用中断捕获改变捕获上升沿和下降沿方式,来计算从电压/电流采集器获得的PWM信号占空比值,从而获得电压、电流值。根据电压值计算出电量值,驱动电量表电机进行电量指示。
车速和电量指示都是采用电机指针指示,经过多年的不断完善,我们已经设计出成熟的步进电机驱动程序,不管输入信号变化快慢,电机输出带动的指针都能快速、平稳地转动,以让人感觉很自然的方式将输入的物理量显示出来。
CAN通讯模块是与珠海英搏尔的电机控制器进行通讯。CAN通讯协议采用SAE J1939-21,CAN2.0B标准,通讯波特率为250kbps,SAE J1939-21规范规定两种PDU格式:PDU1格式(PS为目标地址)和PDU2格式(PS为组扩展),PDU2为不指定特定目标地址的传输,本标准选用PDU2格式。从电机控制器可获得档位和故障代码等各种信息。
MC9S12HY控制器内部集成的LCD控制器驱动外部液晶屏,显示车辆的电流、电压、转速、小计里程、总计里程、故障代码等,屏幕刷新频率为100ms,显示在同一块区域的总计里程和小计里程可通过按钮进行切换显示。
2.车速采集软件设计
转速传感器装在电机上,电机旋转一周,转速传感器发6个脉冲,单片机采集脉冲的周期,通过计算得到电机的转速,再除以变速箱传动比就可得到车轮的转速,由车轮的转速乘于轮胎周长得到汽车的速度。
采集传感器脉冲周期是关键,本仪表利用MC9S12HY的定时器捕获功能,采用中断捕获的方式获得波形的周期。首先软件初始化定时器总线频率、设置相应端口为输入捕获,设上升沿捕获。中断程序中记录每次上升沿时刻的值,把本次记录的时刻值减去上一个上升沿中断获得的时刻值,求两者差值得到得脉冲的周期。
3.步进电机走指针软件设计
车速表和电量表是指针式的,选用VID29步进电机,采用它的微步驱动模式。车速或电量大小与指针走的角度成正比,也就是与电机的目标步数成正比。为使电机走得流畅、无颤动,整个电机的运动过程为加速-匀速-减速,为了控制电机运行的速度我们采用修改定时器时间的方式控制电机的走步速度。步进电机走动的方向是按照下面原理:如果当前步数小于目标步数就前进一步,否则就后退一步。图7为电机走步中断函数。
结束语
本仪表以MC9S12HY控制器为核心,充分利用MC9S12HY片上资源,节省外围设备,真正做到了低成本高可靠性,目前已经大批量生产和使用。