PIC单片机在汽车电动车窗控制器中的应用*
2010-08-08邱云峰
王 义,邱云峰
(1.贵州师范大学 物理与电子科学学院,贵州 贵阳 550001;2.贵州大学 理学院,贵州 贵阳 550025)
随着汽车电子技术的发展,越来越多的电子产品装载到汽车上,极大地提高了汽车的动力性和舒适性,同时也增加了车内布线的难度和成本。CAN(Controller Area Network)作为一种串行数据通信总线,由于具有良好的可靠性、实时性及灵活性,已经成为国际标准(ISO11898)[1],在汽车电子系统中得到了广泛的应用。
目前,在CAN系统设计中,使用最多的是单片机外挂独立的CAN控制器,如Philips公司的PCA82C200、SJA1000以及Intel公司的82526、82527等芯片。但是采用此类芯片的设计方案不利于系统集成化。本文以Microchip公司内部集成的CAN模块PIC18F258单片机为核心,介绍CAN总线电动车窗控制系统的硬件电路结构及软件设计流程。由于PIC18F258单片机对CAN收发器PCA82C250进行数据操作时只需要TXD、RXD两条数据线,这样就大大简化了硬件电路的设计,提高了系统的可靠性。
1 电动车窗控制系统通信网络的构成
电动车窗控制系统通信网络共有4个CAN节点电子控制器,分别是:左前门主控制器、右前门子控制器、左后门子控制器、右后门子控制器。采用CAN总线通信技术可以实现4个车门控制器之间的通信,如图1所示。
操作主控制器除了可以控制驾驶员的车窗玻璃升降外,还可以通过CAN总线控制其余乘客车窗玻璃的升降,同时子控制器也可控制各自位置车窗玻璃的升降。主控制器由Microchip公司的内部集成了CAN模块的PIC18F258单片机、6N137高速光电耦合器、PCA82C250总线收发器等三个主要部分组成。考虑到设计成本和软件编程的方便性,子控制器选用了与主控制器相同的芯片,且具有相同的硬件电路结构。
2 功率驱动芯片及其应用电路
Motorola公司的功率驱动芯片MC33486以其强大的功能和优异的性能在汽车电子中得到了广泛的应用。此芯片的应用模式为桥式结构[2],芯片内部有2个高端MOSFET驱动管 MOS1、MOS2,外接 2个低端 MOSFET驱动管MOS3、MOS4组成一个完整的H桥,实现车窗电机的正、反向控制。同时,利用Cur R端的电流镜像功能可方便地实现过流保护和车窗的防夹功能,如图2所示。
OUT1和OUT2是MC33486的两个高端输出引脚,直接驱动车窗电机M。IN1和IN2受微控制器的控制。当 IN1为高电平‘1’,IN2为低电平‘0’时,相应的GLS1输出低电平,GLS2输出高电平,此时MOS1、MOS4导通,MOS2、MOS3截止。OUT1输出正电压而OUT2接地,车窗电机朝某一个方向运转。反之,当 IN1 为低电平‘0’,IN2 为高电平‘1’时,相应的GLS2输出低电平,GLS1输出高电平, 此时 MOS2、MOS3 导通,MOS1、MOS4截止。OUT2输出为正,OUT1接地,车窗电机反转,达到升降车窗玻璃的目的。此外,MC33486在待机模式下有非常低的静态电流,在正常工作时的输出电流为10 A,最大峰值电流为35 A,直流输入电压的范围较宽,可达8 V~28 V。当电压高于28 V时芯片具有过压保护功能。由于该器件性能完善,因而可减小电动车窗控制器的体积,提高EMS(电磁兼容)特性。
3 CAN控制器硬件电路设计
对电动车窗控制器硬件电路设计的总体要求是系统简单、容易实现、性能稳定可靠,在满足要求的情况下尽量降低成本。
CAN通信系统硬件电路主要由三部分组成[3]:PIC18F258单片机、6N137高速光电耦合器、PCA82C250总线收发器。电路原理如图3所示。
PIC18F258是美国Microchip公司生产的内部嵌有CAN总线控制器的高性能PIC系列单片机,由于其超小型、低功耗、低成本、多品种的特点,其应用范围十分广泛。PIC18F258是集成了CAN模块的微控制器,有着先进的精简指令集构架、增强型内核、32级堆栈,片内具有Flash程序存储器、EEROM数据存储器、自编程功能、在线调试器(ICD)和多种内部、外部中断源,并采用了程序和数据空间完全分开的“哈佛”结构。这种结构大大降低了PIC微控制器的总体成本,同时提高了运行效率。在电路中,PIC18F258单片机是CAN总线接口电路的核心,主要完成CAN总线上数据的发送和接收,实现串行数据的分解及组合,保证通信的正常畅通。
PCA82C250是Philips公司的CAN总线接口芯片,是CAN控制器与物理总线之间的接口,提供对总线的差分发送和接收的功能,它与ISO11898标准完全兼容,有三种不同的工作方式,即高速、斜率控制和待机,可以根据实际情况加以选择,在本方案中选择高速工作方式。该芯片引脚少,使用简单。CAN总线采用PCA82C250芯片作为与总线之间的接口,PCA82C250的CANH、CANL引脚各自通过一个电阻与CAN总线相连,电阻可以起到一定的限流作用,保护PCA82C250免受过流的冲击。另外,CANH和CANL与地之间并联两个小电容,可以滤除总线上的高频干扰和防电磁辐射。光电耦合器采用General Instrument公司生产的高速逻辑门输出光电耦合器6N137,它的最大传输延迟时间是75ns,典型值是 46 ns,采用 6N137高速光电耦合电路可以很好地实现总线上节点之间的电气隔离,同时可提高系统的抗干扰能力和传输信号的能力。使用时,光电耦合器的两个电源 VCC和V′CC必须采用电源隔离电路进行完全隔离。
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控制方式后,启动较为平稳,启动快速性好。
图4 初始化子程序流程图
车窗的防夹功能是利用功率芯片MC33486的Cur R输出端所具有的负载电流线性镜像功能实现的。Cur R端能够输出与车窗电机负载电流Iload成比例的监控电流ICurR,有如下数学关系:
图5 电机控制子程序流程图
将此电流转化为电压输入到PIC单片机的A/D采样端,能够完成对车窗电机的控制,实现电动车窗的防夹功能。
网络化控制是现代汽车电子控制的发展趋势。相对于传统的控制方式,采用CAN总线的电动车窗控制系统可以减少车内的线束。同时可以通过软件编程在不改变原有网络硬件结构的前提下,增加许多功能。PIC18F258单片机内部集成了CAN控制器,可以在线编程。用该芯片设计而成的电动车窗控制系统性能稳定、工作可靠,经实际装车试验,系统的各项功能都得到了很好的实现,为系统的产业化实施奠定了基础。
[1]饶运涛,邹继军,王进宏,等.现场总线 CAN原理与应用技术(第二版)[M].北京:北京航空航天大学出版社,2007.
[2]杜琳,姜久春,潘磊.双高端开关器件 MC33486在车身电控系统中的应用[J].电气应用,2005,24(7):122-124.
[3]王轶,张凡.CAN总线技术在智能汽车系统中的应用[J].微计算机信息,2005,21(7):48-50.
[4]肖朝晖,谭进,李山.混合动力汽车中CAN总线技术的应用[J].重庆大学学报(自然科学版),2005,28(6):68-70.
[5]赵鹏,王旭东.基于CAN总线的车门控制系统设计[J].哈尔滨理工大学学报,2008,13(2):77-85.
[6]吴志红,陆科,朱元.一种高性价比的电动车窗控制器设计[J].单片机与嵌入式系统设计.2009(1):43-45.