DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1296|回复: 0
打印 上一主题 下一主题

[待整理] 车载防盗报警LIN节点的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 20:26:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
随着汽车工业的迅猛发展,车身上的电子控制单元也越来越多。传统的车身线束不仅会增加制造成本,而且会降低系统的可靠性和可维护性。于是,汽车车身总线应运而生。采用车身总线设计不仅可以简化线路、节约制造成本、提高可靠性,同时也节省了系统的维护成本。车载防盗报警模块是车身控制单元(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 状态转换图

3 基本框图

系统基本框图如图3所示,系统与外部的接口有3个,LIN线、电源线和地线。车载蓄电池分别向可充电电池、TJA1020和MCU进行供电,其中可充电电池的作用是在汽车蓄电池电源被剪断时向系统提供报警所需的电源。

图3 系统基本框图

初始情况,TJA1020处于休眠状态并通过INH引脚切断对MCU的供电,此时系统的状态定义为睡眠状态。连接汽车蓄电池相当于TJA1020的NWAKE管脚产生电平变化,从而触发TJA1020的外部中断唤醒,同时TJA1020的Tx管脚会产生强下拉。当有远程LIN信息帧唤醒TJA1020时,Tx管脚会产生弱下拉。TJA1020被唤醒后,会通过INH管脚打开对MCU的供电使MCU开始工作,系统进入未设防状态。

在未设防状态下,MCU通过GPA端口检测是否存在汽车蓄电池供电信号,如果不存在供电信号,系统在一定时间后通过连接NSLP的GPB管脚令TJA1020进入休眠状态,TJA1020则会通过INH管脚关闭MCU的电源供给,系统返回睡眠状态。汽车蓄电池供电存在时,若收到LIN睡眠信息帧,系统也进入睡眠状态。

系统在非睡眠状态时可以通过接收BCM的LIN命令信息帧在未设防状态、设防状态和报警状态之间进行转换。系统处于设防状态和报警状态时,不会进入睡眠状态。

4 软件流程
系统的软件主要包括实现单片机与LIN总线通信的程序以及单片机对防盗报警喇叭控制的主程序。为确保通信的实时性,系统采用了高优先级中断来接收LIN总线上的信号。为了保证系统的实时性,在中断处理时除了进行一些简单的判断和数据接收外,其他部分都在主程序中处理。

图 4主程序流程图

一旦总线上出现有效的显性电平,控制器立即转入高优先级中断处理函数,首先判断是否为主机节点发送的间隔场,如果是间隔场则接收同步场和标志符场,若不是同步场则退出等待下一次中断。在接收到正确的标志符后,若标志符要求系统发送信息,系统则发送数据场及校验和场,发送完成后又开始等待接收下一帧数据。若标志符不是要求本机进行数据发送,则接收随后的数据场及校验和场,在主程序中再根据标志符判断所接收的数据是否对本机有效,有效的就进行相应的处理,无效就丢弃,处理完成后又开始等待接收下一帧数据。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-27 12:29 , 耗时 0.174934 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表