基于LIN节点的车载防盗报警设计与实现
扫描二维码
随时随地手机看文章
随着汽车工业的迅猛发展,车身上的电子控制单元也越来越多。传统的车身线束不仅会增加制造成本,而且会降低系统的可靠性和可维护性。于是,汽车车身总线应运而生。采用车身总线设计不仅可以简化线路、节约制造成本、提高可靠性,同时也节省了系统的维护成本。车载防盗报警模块是车身控制单元(BCM)的一部分,由于其本身对总线通信的实时性和速率要求不高,所以将其接入低速总线LIN上。
LIN总线
LIN总线主要用于不需要CAN性能、速率和复杂性的低速系统,是一种低成本的串行通信网络,采用一个主节点及若干从节点的结构,基于通用的UART/SCI的硬件接口,最高速率可以达到20kb/s。
LIN总线通过报文帧进行数据传输,一个完整的报文帧包括帧头和信息响应。报文头包括间隔场、同步场和标志符场。间隔场由至少13个位时的持续 显性电平(0)组成,标志着一次数据通信过程中报文帧的开始。同步场包含时钟同步信息,其格式是0x55,所有从机节点在正确接收同步字节场后,准确计算 出主机节点将要发送数据的波特率,并以此波特率作为下一步要发送或接收数据的波特率设定值,从而实现从机节点与主机节点时钟的同步。标志符场定义了信息的 内容和长度。报文响应由主机节点或从机节点根据标志符场的信息发出,由2、4或8字节长度的数据和1字节的校验和构成。校验通过计算数据的全部字节而得 到,用于接收方验证数据的正确性。
图 1完整的LIN信息帧
功能描述
车载防盗报警模块是车身控制模块的一个从节点,主要功能有以下3点:一是与BCM之间保持通信联系并上报防盗报警模块的状态信息;二是接收车身 控制模块的命令并驱动喇叭发出报警声;三是监测连接防盗报警模块与BCM之间的电源线、地线和LIN线是否被割断并发出报警声。
实现方案
1 器件选择
本系统的两个主要器件为LIN收发器和微处理器。由于防 盗报警模块是电池供电的LIN节点,所以在器件选取时需要尽量考虑低功耗的器件。LIN收发器选取TJA1020,它是连接车身控制器与防盗报警模块之间 的物理媒体连接,也是LIN主/从机协议控制器和LIN传输媒体之间的接口。协议控制器输入引脚TXD的发送数据流被LIN收发器转换为总线信号,而且电 平翻转速率和波形都受到限制,以减少电磁辐射。TJA1020的接收器检测到LIN总线上的数据流并通过RXD引脚将它传送到协议控制器。TJA1020 具备低功耗管理模式,它在睡眠模式中几乎不消耗电流并在错误模式中减小功率消耗。所以,TJA1020非常适用于防盗报警模块这种以电池供电的LIN节点。系统采用意法半导体的8位微处理器STM8S105K4作为主控单片机,靠内部128kHz时钟驱动运行时,静态功耗可以低至0.6mA。满足系统对低功耗要求的同时具备LIN控制器与电池电量检测10位ADC功能。
2 信息帧分类与系统状态定义
对车身控制系统与防盗报警模块之间的通信信息帧做了如下的定义:
唤醒命令用于将系统从睡眠状态唤醒到未设防状态,睡眠命令用于指令系统进入睡眠状态。命令信息帧的内容包含设防、解防、报警命令,以及对报警状态如报警周期、次数等属性的定义。系统的状态转换如图2所示。
图2 状态转换图