1.2 系统功能设计
文中设计的LED车灯控制系统主要完成了以下几个功能。
1.2.1 亮度自适应调节
将外界的环境亮度分为3个等级:明亮(晴天户外等),昏暗(户外阴雨,户外傍晚,隧道,停车场等室内场所),漆黑(户外深夜或其他类似场合)。系统可以根据当前环境的亮度等级自动调整车灯的亮度,以满足不同情况下的照明需求。车灯亮度分为4级、6级、8级亮度,其中4级最暗,8级最亮,6级居中。车灯亮度的调节策略如下:
1)当环境亮度增强时,信号灯的亮度增强;环境亮度减弱时,照明灯的亮度增强。
2)由于将车灯亮度瞬间降低具有一定的危险性,所以在降低车灯亮度时,需做两次判断:在环境亮度增强时,照明灯的亮度并不立即减弱,而是继续等待一个周期,若环境亮度保持在较低的值没有变化,再将照明灯调暗;在环境亮度减弱时,对信号灯采取同样的操作。
1.2.2 状态监控及过温保护
实时监控驱动器输出到LED灯的电压并将结果通过上位机显示。LED灯定义为3种状态:故障态、关闭态、工作态,这3种工作状态由LED灯当前工作电压和开关状态区分。过温保护是通过实时监控驱动器工作温度实现,当驱动器环境温度值超过80度时,产生过温提示信号,以提示选取温控模式(驱动输出降额允许)。
1.2.3 人机交互
控制系统通过XC164CM单片机自带的CAN总线接口与上位机CAN接收器连接,实现与上位机信息的交互。上位机不仅可以查询和获取车灯的工作状态数字量(故障态、关闭态或亮度级),还可以发送控制命令调整车灯的亮度以及是否进入智能照明模式,从而实现人机交互。
2 硬件设计
硬件主要由单片机控制模块,传感器模块,CAN总线模块和LED驱动模块四部分组成。
2.1 XC164CM单片机简介
XC164CM单片机是Infineon公司推出的采用低功耗CMOS工艺生产的增强型16位单片机,其主要特点有:1)采用C166SV2内核;2)内部集成大容量的存储器;3)带自校检的14路A/D转换器;4)两个比较,捕获单元,可方便地产生PWM波;5)Twin CAN模块,可通过网关交换数据。
2.2 传感器装置
环境亮度的采集由3组位于不同位置(前部、侧身、顶部)的亮度传感器完成。其中亮度传感器为安装在感光位置的光敏电阻GM5528(亮电阻10~20 kΩ,暗电阻1 MΩ,响应时间20~30 ms),GM5528通过分压电路输出的电压值随着环境亮度变化而改变;温度监控电路使用热敏电阻MF58构成分压电路,将温度值的变化转换为电压值的变化;状态监控电路通过电阻分压网络分别采样10路LED驱动器的输出电压,并以此判断LED灯的工作状态。
2.3 CAN控制模块
XC164CM单片机集成了TwinCAN模块,实现CAN总线通信功能。其主要特性为:1)包括两个全CAN功能节点,每一个CAN节点通过一对接收和发送引脚连接到总线收发器,可独立工作或者通过网关功能交换数据帧和远程帧。2)CAN帧的发送和接收遵循CAN V2.0B(active)规范,且每个CAN节点都能接收和发送带11个标识符的标准帧和带29位标识符的扩展帧。3)具有灵活和功能强大的报文传送控制和错误处理能力,CAN总线通信处理更加精确和方便。4)2个CAN节点的位定时源于外设时钟,可以通过编程使数据速率达到1 Mbps。5)具有8个单独的可编程中断节点和适用于发送和接收的FIFO。[page]
2.4 LED驱动器
驱动模块参照西工大LED驱动电源标准,信号灯选用了3~15 W功率范围的LM3406型驱动器,照明灯选用了20~45 W功率范围的LM3409型驱动器。
LM3406型驱动器是具备宽输入电压范围,低参考电压和双导线调光功能的降压稳压器,可提供高达1.5 A的正向电流,是LED的理想恒流供应源。这款芯片内置有可确保电流平均输出的积分电路。在转换器采用连续导电模式((CCM)操作时,受控导通时间结构可以确保无论输入及输出电压的变动如何,开关频率都会恒定不变。因此LM3406的输出电流极为准确,瞬态响应也极快,可以在不同的情况下确保开关频率恒定不变。
LM3409是一款降压稳流的P沟道MOSFET控制器,提供宽输人电压范围,具有高边电流检测功能,采用增强散热的eMSOP-10封装。因此,LM3409是驱动LED的理想恒流源,输出的正向电流可高达5 A。另外,LM3409采用恒定关断时间(COT)控制功能调整电流,确保输出电流大小恒定,而且无需通过外置元件提供环路补偿,可以轻易实现模拟及PWM调光功能,可充分发挥亮度变化高度线性以及高对比度的优点,并提供可编程欠压锁定、低功耗关断及热关断等功能。
信号灯和照明灯驱动器结构分别采用NI公司的LM3406和LM3409作为主控芯片的BUCK电路,芯片工作的温度范围为-40+125℃。其电路原理如图3所示。
3 软件设计
程序主要采用中断控制方式,系统流程主要包括主函数,定时器中断子程序,CAN接收中断子程序3部分。具体系统流程图如图4所示。
[page]
3.1 主函数部分
1)初始化部分:设置各端口的输入输出状态,对各个模块进行初始化并开启定时器。
2)开关扫描:选用6路开关控制10路灯的开启和关闭。当开关闭合时输出低电平,此时对应LED灯的开启状态;开关断开时输出高电平,对应LED灯的关闭状态。
3)状态数字量生成:状态数字量为16位数据,状态位(高八位)表示驱动器状态,标志位(低八位)表示驱动器编号。车灯的初始亮度设为6级。
4)使能全局中断,等待定时器中断信号和CAN总线通信中断信号,并在接收到中断信号后进入相应的中断服务程序。
3.2 定时器中断子程序
定时器每20 ms产生一次定时中断信号,进入定时器中断服务程序。在定时器中断服务程序中实现的操作有:
1)开启AD转换,等待AD转换完成,并将对AD采样结果做归一化处理。
2)环境亮度检测:为避免亮度信息的误判断,只有当位于车身前向、侧面和顶部3个方向的光敏电阻器同时检测到亮度值变化时(且同时超过判断门限),才认为检测结果有效,判断所处环境亮度等级,并将结果送至车灯亮度调整程序。若3个光敏电阻未同时检测到亮度值变化,则认为只是外界干扰造成的亮度差异,而行车环境的亮度未发生变化。
3)在检测环境亮度的同时,对10路LED灯的开关量也进行检测和更新。
4)车灯亮度调整:将检测到的外界环境亮度和前一次检测到的环境亮度进行比较,并根据比较结果对亮度进行相应调整。具体调整策略在2.2节中。
5)过温保护:对采样的温度结果进行比较判断,若温度超过80度,首先产生一个过温提示信息,提示控制系统进入降额应用,将降额标志位置1,驱动器功率减半,随后将降额标志位归零。
6)状态数字量更新:首先,对AD采样结果做归一化处理,将驱动器电压信号的转化结果与测定的工作电压范同比较,超出范围的认定为故障态,生成状态位101,否则使用亮度级寄存器的值作为状态位。其次,将得到的状态位与开关寄存器值相与(开关寄存器取值表:开启为1,关闭为0)得到最终状态位。最后,状态位与驱动器标志位形成状态数字量,并将其放入CAN发送缓冲区。
3.3 CAN接收中断子程序
1)CAN总线接口正确接收信息后,置位中断标志位,进入接收中断服务程序。
2)判断中断是否为远程帧中断,是则将状态量信息写CAN模块发送缓存区,并启动自动发送;否则进一步判断是否为数据帧接收中断。如果是数据帧接收中断,则读CAN接收缓存区的值并将其写入CAN调整量。最后清除相应的标志位,返回到主函数。流程图如图5所示。
4 结论
文中设计了基于XC164CM单片机的高端车用灯光控制模块,该模块不仅完成了对每个车灯的亮度控制,而且可实现对每个车灯的状态检测。汽车灯光控制模块的工作过程是一个不断循环的检测过程,通过对比前后两次的检测结果对亮度信息不断更新,再根据更新的亮度信息来调节车灯亮度,从而实现了灯光的亮度自适应调整。在实验过程中,选用LED5050白灯作为车灯实验灯,并配以车灯罩,制成车灯模拟演示板。在车灯负载和单片机接口之间由自主研发的实验电路连接,并在实验电路上设置6路开关,实现对10路车灯的接通、断开控制。实验结果证明,本系统性能稳定,实现了设计的所有功能,并可以正确返回结果。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』