基于LIN总线的倒车雷达系统的设计与实现
3 LIN总线模块设计
3.1 硬件设计原理
整个节点的主控部分是由控制器AT89S52、LIN收发器TJA1020组成。本设计需要5 V、12 V电源,为了节省外接电源、简化电路的外接线,采用了单电源设计,即系统的电源输入为12 V,用于TJA1020的供电。另外,通过LM7805稳压管12 V变为5 V,用于提供单片机和LCD液晶显示屏的电源。单片机的P3.0(RXD)和P3.1(TXD)分别连接TJA1020的RXD、TXD管脚,用于发送接收数据,并把数据显示在LCD上,TJA1020的LIN管脚接DB9针接口的7脚,而DB9针接口则可以直接与Kvaser LIN总线分析仪连接,便于与上位机进行直接通信。
基于单片机构成的LIN节点实现方案有查询、中断2种方式,其区别在于报文头接收判断方法不同。(1)查询方式硬件电路简单,对时钟要求比较高,系统中断的种类和次数少,程序运行比较稳定。但不足的是系统大部分时间都花费在对帧报文头的等待查询上,系统资源利用率低;(2)中断方式对查询方式的不足之处加以改进和提高,间隔场、同步字节场的接收完全采用中断方式进行。中断方式的优点是对主程序运行的影响较小,系统的资源利用率高。不足的是增加了单片机的外围电路,硬件较复杂。综合以上特点,本设计采用中断方式接收。
3.2 软件设计原理
LIN总线通信系统由主节点和从节点组成,主节点包括主任务、同时也可以包括从任务;从节点则只能包括从任务,整个通信是由主任务发起的。首先主节点查询本身的超声波倒车雷达是否需要数据传输,如果有,则将数据装进LIN数据信箱,然后按照LIN通信的过程发送同步间隔场、同步场、标识符场、数据场和校验和场;如果没有,则按照顺序发送报文头,每个ID对应一个报文头,然后总线等待从节点响应。程序框图如图3所示。
从节点包括2类:(1)带有倒车雷达的从节点,它有1个ID信箱,将自己在总线获得的ID放在里面,每当识别到有报文帧来的时候,提取报文头里的ID与本身信箱里的ID进行对比。如果相同则将采集到的超声波数据装进数据信箱,然后把数据做为数据响应发送出去;否则保持沉默,不发送任何数据。(2)不带倒车雷达系统的从节点,其主要功能是对接收总线的数据进行显示,并在必要的时候充当网关的作用,将收集到的LIN信号转换成其他总线信号进行下一步的传输,其本身并不发送数据,所以该ID定义全局的标识符,对总线上所有的信号进行接收,并且根据校验和场的数据,分析数据传输过程是否出现错误,如果没有,则将数据显示出来;如果有,则产生提醒信号并将数据丢弃掉。
4 倒车雷达系统实验及数据分析
4.1 超声波测距误差及分析
超声波测距在室温下进行测试,其数据如表1所示。经过多次测量发现,在同一温度下测量结果有如下规律:
(1)对于同一距离进行多次测量取平均值的方法,测试范围在0.4~1.2之间精度较好。
(2)测量误差随着所测距离的增大而增大。
其中的误差有2种:(1)固定误差,测量的起始位置与探头的压电晶片所在位置之间的距离,这种误差不随测量环境和距离的变化而变化;(2)可变误差,随着距离的增大而增大,主要是由接收超声波越过阈值的时间与超声波实际到达探头的时间不同引起的。
4.2 结合LIN总线分析仪进行通信测试
使用瑞典Kvaser公司生产的LIN总线分析仪,能够检测出符合LIN协议标准的信号,并在电脑显示中,可以对LIN报文的每一部分进行分析。测试系统将实验板与LIN总线分析仪Kvaser Leaf Professional相连接、Kvaser Leaf Professional与电脑相连接,在电脑端采用NI公司的LabVIEW软件进行编程,并将数据显示在显示屏上面。图4所示为采用NI公司LabVIEW软件自行编写的LIN数据接收界面,能够接收LIN总线的数据并显示在界面上,可以清晰地看到报文帧的内容,其中Data为数据场,显示最长8个字节的数据,DLC为数据场长度,范围为0~8,MsgID是接收到的帧的标识符,用十进制标识。图4中的ID为50,即0X32,BR表示接收到帧的波特率,由于采用从节点接收信号,根据LIN总线协议,从节点应该具备测试通过同步场测试通信波特率的能力。所以在途中不管选择多大的波特率,测试出来的都是总线上的波特率。本设计的波特率是4 800 b/s,测试结果为4 801 b/s,可见误差为1。Time为收到报文的时间,PA为标识符,CS为校验和场数据,由此可以计算出通信过程数据传输是否出错。
本系统实现了与瑞典Kvaser公司的LIN总线分析仪相互进行通信,实验表明该系统数据的传输符合LIN协会规定的LIN协议标准,能够很好地与其他符合LIN标准的汽车电子设备进行通信,具有较好的实际应用价值。由于目前国内汽车总线正处于发展阶段,相比欧美
- 另类传感器观念:汽车传感器(3)(11-30)
- 如何解决汽车车身控制设计的三大挑战 (09-29)
- 基于LIN总线的车灯控制系统(07-10)
- 以灯光控制为例说明LIN总线在车身控制中的应用(05-24)
- 有限状态机在LIN总线开发中的应用(03-01)
- LIN主从节点设计与实现(03-19)