摘 要:提出了一种采用LIN作总线为控制网络的电动车窗设计,通过驾驶员侧主节点对4个车窗从节点进行升降集中控制。阐述了车窗升降的工作模式和功能需求,给出了硬件和软件设计方案。通过使用逻辑分析仪测试,车窗控制模块的通信要求达到了设计标准。
关键词:LIN总线;电动车窗;PIC16F887
车窗控制系统是汽车的重要组成部分,传统的车窗控制采用的是线束控制,较为简单,并且线束和相关的设备都比较庞大。为了摆脱这种局面,汽车电子技术逐步向整车集成电子化、智能化方向发展,而总线式网络控制技术正是目前汽车网络控制所采用的主要方式。
根据美国SAE(汽车工程师协会)划分的汽车数据传输分类,汽车车窗控制系统属于A类的面向传感器/执行器控制的低速网络。数据传输位速率通常只有1 b/s~10 kb/s。而在这种速率上采用LIN总线方式的网络控制,正好可以满足其要求,并且LIN总线能节省大量的线束、便于维护和实现汽车诊断功能。本文提出了一种将LIN总线运用到车窗控制系统中的设计方案,并给出系统硬件及软件的实现方法。
1 车窗控制系统的网络结构设计
本设计主要实现4个车窗的升降功能及车窗防堵转。驾驶员侧车窗开关总成可以控制全车4个车窗的手动升降和自动升降,驾驶员侧车窗安全锁开关可以使能或禁止其他车窗的升降,其他3个车窗的分开关也可以控制各自车窗的升降。
车窗控制系统采用了LIN总线构建的控制网络,并按照LIN2.0协议规范来编写控制程序。网络框架如图1所示。一个驾驶员侧主节点通过LIN总线和4个车窗从节点进行通信,通信速率为19 200 b/s,4个车窗从节点上带有电机驱动电路,可以驱动车窗电机的运行。
2 硬件系统设计
从LIN总线的通信方式来说,对硬件的要求并不高,它由基于UART接口的低成本硬件实现,几乎所有的微控制器都具有LIN通信的条件,但对于芯片的选择还需要考虑到性价比和稳定性,这在实际的产品制造中相当重要。
2.1 微控制器的选择
主节点微控制器的功能主要是对按键进行检测,并按LIN2.0协议的帧格式发送相应控制命令,同时还需具有休眠功能,在无操作时最大限度地节省汽车能源。在本次设计中选择了Microchip公司的PIC16F系列微控制器PIC16F887,具有8 KB Flash、368 B SAM、256 B ROM、增强型USART 模块(支持RS-485、RS-232和LIN 2.0,自动波特率检测,遇到起始位时自动唤醒)、节能休眠模式。其抗干扰能力完全能在汽车复杂电磁环境中正常工作[1]。
从节点选用PIC16F883,其主要性能和PIC16F887相同,片内容量和引脚数要少于PIC16F887,为28个引脚,不过能满足从节点车窗控制的要求。
2.2 LIN通信接口及电源系统
LIN总线驱动电路采用了Microchip公司的MCP2021,该器件遵循LIN1.3、LIN2.0和2.1总线规范,并符合SAE J2602规范。宽供电电压,连续情况下可为6.0 V~18.0 V,扩展的温度范围为-40 ℃~+125 ℃,可以与标准的UART器件接口。MCP2021内部包含一个电压调整电路,在温度范围内,可输出电压为5.0 V,50 mA电源,误差为±3%。稳压器采用LDO设计,具有短路保护功能,在输出电压降到3.5 V以下时将关闭输出。MCP2021还具有热关断保护功能。经过特别设计的稳压器可在汽车环境下工作,在电池反向连接、+43 V瞬变负载突降和双电池启动情况下不至毁坏[2]。
MCP2021在单片机和LIN半双工总线之间提供了物理接口,它针对的是串行总线速度达20 kb/s的汽车及工业应用。MCP2021在单片机和串行网络总线之间提供了半双工、双向通信接口。将CMOS/TTL电平转换为LIN逻辑电平。
LIN2.0规范要求系统中所有节点的收发器通过LIN引脚连接。以地为参考,从LIN总线到供电电池间的外部终端电阻最大为510Ω。510 Ω电阻对应 1个主节点和 16个从节点。
LIN接口及电源系统如图2所示。二极管D2用于防止系统电源反接输入对器件产生的破坏,二极管D3和电阻R31构成上拉以满足LIN2.0规范中对主节点的要求,从节点则不需要D3和R31构成上拉。24 V瞬态抑制二极管TVS3和TVS4可对器件进行保护,C3、C4为外部电源滤波电容,C6是负载电容。
2.3 从节点电机驱动及A/D采样电路
目前汽车上的车窗电机可以采用电机驱动IC来实现控制,但成本相对较高。因此,在从节点电机驱动中采用两个单刀双掷继电器组成一个闭合回路,以控制直流电机的正反转从而实现开闭窗操作。具体电机驱动电路如图3所示。通过微控制器的RB2和RB3输出控制信号,以导通三极管来推动继电器动作实现开启和闭合。二极管D3和D4用于保护继电器不被电感释放的反向电流冲击,电阻R4为电流采样电阻,用于车窗上升到顶或下降到底的情况下,电机发生堵转时采样电机的堵转电流。微控制器通过A/D采样值的变化量来判断是否停止电机动作。
图4为从节点主控芯片的复位电路及A/D采样电路,电阻R1和R2为分压电阻,D1和D2为钳制二极管,将输入电压范围钳制在-0.7 V~+5.7 V,以防止芯片端口电压过高损坏。C6、D9和R15构成复位保护电路,AD IN为A/D采样输入通道。
3 系统软件设计
软件设计采用C语言在MPLAB集成开发环境中开发,软件的调试和下载采用ICD3下载器实现。
根据实际车窗设计的要求,其主要的功能需求如下:
(1)车窗升降控制功能,又分为点动和自动。
点动:车窗升降按键按下时间(100 ms
同时按下则无效,按键动作间隔200 ms,若开关在电机自动运行时又发出手动信号,则电机停止。
(2)门窗锁止功能,驾驶员侧门窗开关总成锁止按钮按下后,只有驾驶员侧门窗开关总成可以控制车窗升降,从节点不能控制升降。
(3)按键无操作时,60 s后微控制器进入休眠状态,通过按键中断唤醒微控制器。
其主程序流程图如图5所示。其中按键防抖采用了软件延时的设计思想,通过10 ms的延时时间去抖,防止误操作[3]。
4 传输信号分析
在完成硬件及软件的设计后,需要对模块的传输信号延时及相关的协议帧是否满足协议规范进行分析测试。通过逻辑分析仪对LIN总线的信号传输进行分析测试,如图6所示。
从图6可以看出,其发送的信号完全是按照LIN2.0协议规范来进行的。其中帧头部分包括了13位0的发送间隔,0X55同步字符,受保护标识符0X14,帧响应部分为数据字节和校验和,其响应间隔时间满足LIN2.0协议的规范要求[4]。
采用LIN总线设计了车窗控制系统,在车窗的升降控制方面表现出很好的性能优势,完全符合汽车在复杂环境中的正常使用,同时能节省大量的线束,便于维护和制造。总线式的汽车控制网络是汽车电子工业的一个发展趋势,在未来的汽车电子市场有很好的发展前景。
参考文献
[1] PIC16F883/887 datasheet[A].Microchip Technology Inc.2006.
[2] MCP202X datasheet[A].Microchip Technology Inc.2009.
[3] 夏彬彬,任明全,屈金学.PIC单片机常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2009.
[4] LIN Specification package revision 2.0,Motorola.