PIC单片机在汽车电动车窗控制器中的应用
4 CAN通信系统软件设计流程
软件设计是系统设计的关键。使用开发软件MPLAB IDE、仿真器ICD 2,以及灵活简便的C语言。为了提高可靠性和可理解性[4],内部软件设计采用了模块结构,主要包括主程序、系统初始化子程序、数据发送子程序、数据接收子程序和电机控制子程序。此外,还应有中断服务子程序、A/D采样子程序、故障诊断子程序和终端子程序等。这里主要对系统初始化子程序和电机控制子程序进行探讨。
系统初始化子程序是系统设计工作中极为重要的部分,它是CAN总线系统正常工作的前提,关系到整个CAN系统能否正常工作。因此,初始化设计是一个重点,主要包括CAN模块工作方式的配置、接收滤波器的设置、接收屏蔽寄存器设置、波特率参数设置、发送优先级设置和中断允许寄存器设置等。初始化子程序流程如图4所示。
对电动车窗的控制可分为软启动、满PWM输出、续流和停止4个阶段。其中包括对电动车窗"手动/自动"控制的判断和处理、车窗上升到顶或下降到底的判断和处理、车窗防夹的判断和处理等[5],其工作流程如图5所示。程序初始化完成后,在按键端口扫描到有上升或下降按键输入的控制命令后,主程序调用电机控制子程序,车窗电机进入PWM软启动阶段。PWM软启动分为10步,每步20 ms,占空比从10%逐渐增加到100%。随后电机进入上升或下降的工作状态[6]。电动车窗采用PWM控制方式后,启动较为平稳,启动快速性好。
车窗的防夹功能是利用功率芯片MC33486的Cur R输出端所具有的负载电流线性镜像功能实现的。Cur R端能够输出与车窗电机负载电流Iload成比例的监控电流ICur R,有如下数学关系:
将此电流转化为电压输入到PIC单片机的A/D采样端,能够完成对车窗电机的控制,实现电动车窗的防夹功能。
网络化控制是现代汽车电子控制的发展趋势。相对于传统的控制方式,采用CAN总线的电动车窗控制系统可以减少车内的线束。同时可以通过软件编程在不改变原有网络硬件结构的前提下,增加许多功能。PIC18F258单片机内部集成了CAN控制器,可以在线编程。用该芯片设计而成的电动车窗控制系统性能稳定、工作可靠,经实际装车试验,系统的各项功能都得到了很好的实现,为系统的产业化实施奠定了基础。
- 汽车电动车窗控制电路设计(04-26)
- 车窗控制系统的LIN2.1协议应用(11-28)
- LIN2.1协议在车窗控制系统中的应用(01-21)
- 另类传感器观念:汽车传感器(3)(11-30)
- 如何解决汽车车身控制设计的三大挑战 (09-29)
- 基于LIN总线的车灯控制系统(07-10)
