基于LIN总线控制系统实现LIN开发平台的搭建

引言
在汽车电子系统中,主要存在如图1所示的几种网络 协议 。lin主要应用低速(《20kb/s)的车身控制环境。
低速can多用于事件驱动的控制环境(125kb/s),高速can(》500kb/s),flexray和byteflight主要应用于时间驱动的同步高速控制环境,而d2b和most主要应用于汽车娱乐(图像和语音)的传输和控制。
就车身控制而言,主要的应用基于can/lin总线 协议 。基于can总线车身控制,在汽车电子上已经有广泛的应用。随着车上总线节点的增加及高性能系统向中低档汽车的发展,can总线相对较高的实现成本就成为一种障碍。因此lin总线随之产生。由于lin硬件的实现是基于普通的串行通信接口(sci),甚至在子节点中可以用普通i/o口加上定时器进行模拟,所以其实现成本较低。lin的目标应用是不需要can的性能、带宽及复杂性的低端系统。通常lin子总线是现有的can网络的扩充,与can网络一起形成汽车的控制网络(图2)。当然,由于其成本较低,也可以独立用于不是特别复杂的车身控制网络中。
为了加速基于lin总线控制系统的开发周期,freescale半导体公司开发了lin开发平台(lin demo)。lin demo系统提供了完整的软件和硬件,其中,软件包括标准的lin底层驱动软件和led显示的应用软件。用户可以在此平台上很快的搭建起lin控制网络。
lin demo应用系统
demo节点
lin demo(图3)由2个主节点(9s12c32和mc68hc908gz60)和4个从节点(mc68hc908gr60、mc68hc908ey16、mc68hc908qy和mc68hc908ql组成。每个lin节点上,都提供了调试和编程接口(bdm接口(16位单片机)和cyclone/multilink08接口(8位单片机)),同时每个节点还有1个rs232的串口,可以和pc通信。主节点有两种工作模式,两种模式的切换由1个转换开关来控制。
lin总线睡眠模式(此模式下,与主节点相连的所有从节点都处于睡眠模式,主节点不发送任何帧头。)
lin总线工作模式(此模式下,主节点发送帧头,led灯用来显示从节点led的状态。)
lin总线工作模式下,主节点led显示led状态有变化的从节点led状态。每个从节点有4个led灯,这些灯的状态可以通过1个单片机的键盘中断引脚来改变。主节点有8个led灯,其中的右边(低位)4个led用来显示从节点led灯的状态,另外的左边(高位)4个led灯用来从节点的类型和id号,其中2个用来显示节点类型(gr、ey、qy和ql),另外2用来显示和此从节点类型相匹配的节点id号最低的两位。
这样主节点上左边(高位)4个led为i*16的高4位。同时,主节点上右边(低位)4个led用来显示从节点led的数值(同样次序的led灯亮)。
所有的从节点可以在不断电情况下加入或者脱离总线。当监测到有新的从节点加入,主节点从0到7清除主节点的led,然后把该节点存入主节点led的显示序列。当监测到有节点脱离总线时候,主节点从7到0清除主节点的led,然后从主节点led的显示序列去掉该从节点。 pcb设计网
正常工作模式下,复位后,每个从节点响应对于该从节点id(可以重新配置)的主接点帧头,响应的数据定义为2个字节。按动从节点上的开关,可以增加从节点上led的值(从1到15,除去全为零的情况)。当从节点上的led值变化之后,主接点上的led的右边(低位)4个led将显示对应从节点上led的值。
在模式配置模式下,用户可以改变从节点的id。从节点的led用来显示本节点的id号。从节点上第一位的led点亮,表示xxxxxx00;第二位的led点亮,表示xxxxxx01;第三位的led点亮,表示xxxxxx10;第四位的led点亮,表示xxxxxx11。
当所有的从节点连接到主节点并且工作正常的时候,通过拨动主节点上的1个开关,我们可以很容易的让从节点进入睡眠状态。拨动此开关到off档,5秒钟以后,gr60和ey16就进入了睡眠(qy4不支持此操作)。
图4是mc68hc908ey16的基本电路原理图,它包含了lin节点和3个跳线。值得注意的是,这些跳线只是在对芯片编程和调试的时候用到。对芯片编程和调试时,需要用到freescale的开发工具(multilin08/12、cyclone08),通过这些工具再和pc相连。完整的电路图,还包括一些编程接口和双排接口(连接mcu的引脚到其他的应用中)。
基本的lin节点电路图比较简单,主要包括mcu,lin物理层接口和1个5v的电压调节器。本电路中,物理层接口用mc33399,电压调节器用的是lt1121,可以被freescale一颗新的系统基础芯片(sbc)所替换。mcu允许mc33399控制电压调节器。当lin总线上没有任何活动时,mc33399控制电压调节器lt1121停止工作,从而使mcu掉电,使lin从结点进入睡眠状态,整个从节点的静态电流将小于50微安。在从结点的电路板(除去qy4)上,我们可以看到所有的led灯都关闭了(程序的最初设计,使得当mcu上电后,总是有1个led灯是亮)。
其他节点得电路图和mc68hc908ey16的差不多。48脚的gr60主要是用于一些高端应用的lin节点中,但是gr60没有内部时钟,需要外接1个时钟。gz60和gr60比较接近,但是,gz60主接点上多出了1个mc33388的can接口。c32是16位单片机,和8位单片机相比,它有了bdm模块,相对于8位单片机的multilink接口,调试简单了很多。
demo软件结构
1.主节点的软件结构
主节点的软件流程图见图5。在单片机和lin驱动程序初始化以后,通过主节点pcb板上的1个开关,调整lin是否被允许工作。如果睡眠,主节点上的led灯会关闭;如果lin总线工作,则主函数main将会周期的发送帧头到从节点。所有的id号(如表1)在idlist[16]中定义。如果函数lin_msg_status()显示有对应于帧头的特定id,从节点有反应,则反馈回来的数据被读取,同时,检查idactivelist[16]判断这是否为新的lin从节点,如果是,则idactivelist[16]对应的位置1,然后newnode()函数被执行,节点的led灯显示有新的节点加入。
如果对应于帧头的特定id,从节点没有反馈,则检查idactivelist[16]判断对应的位置是否为1,如果为1,则表明有节点被除去。同时,lostnode()函数执行,节点的led灯显示有节点丢失。
2.从节点的软件结构
首先,配置寄存器(config),i/o寄存器和定时器寄存器初始化。初始化完成后,进入主程序while(1)循环。对gr60和ey16,程序中的定时由时间基准模块来实现(tbm)。由于qy4没有时间基准模块(tbm),所以程序中的定时由定时器来实现。由于不同的从节点上,时钟不一样,所以每个从节点执行完1个主程序程序环的时间也不一样。程序中我们用#define定义了2个时间周期:按一次开关的时间(按下和跳起,60毫秒)和持续按住开关的时间(3秒)。对于第3个定时(lin总线持续5秒没有活动,则进入睡眠)在文件slave.cfg中定义。
图6是lin从节点的主软件结构。当完成初始化工作,进入主循环之后,如果lin总线5秒钟没有活动,则进入睡眠状态;如果由,则查看按键(开关)的类型判断是进入id节点的配置模式,还是进入正常模式。如果是正常模式,则将数据(data)写入led,若进入id节点配置模式,则配置id,然后将id写入led。
图7是按键软件流程图。首先判断按键有没有被按下,如果有则计算按键被按下的时间。如果按键按下的时间超过3秒,则进入节点id配置模式(从0到4,然后再到0,反复进行);如果按键按下的时间为60毫秒,则数据(data)加1,然后用这个数据给led显示,同时反馈给主节点(主节用led显示此数据)。
3.lin底层驱动软件
前面的两个小节我们讲到了应用软件。本小节将对lin底层的驱动函数作一个介绍。首先是数据类型(表2),主要的数据类型是无符号8位数,惟一的一个16位数,用来给地址变量(指针)。在驱动函数中,主要用到的常量有两种,一种用来标示lin总线的驱动状态(表3),一种用来表示lin传输过程中消息帧的状态(表4)。由于篇幅有限,与作者联系可获得免费的软件源程序。
总结
freescale的lin节点通信演示平台,提供了一个很好的lin控制开发平台。用户可以基于此lin控制开发平台的软件(驱动程序)和硬件非常简单的编写自己的应用程序(利用codewarrior集成开发环境),然后利用此平台的底层驱动软件和硬件环境,利用与pc相连的通信接口,烧写程序,并进行调试。


电力系统谐波的是怎么产生的?
2011年电子分销商大会(EDS)上Mouser荣获20项大奖
艺术建造未来工厂,借助AI用脑波控制机器
传小米收购HTC 官方否认
基于区块链技术打造的互联网流量再造平台Fbee介绍
基于LIN总线控制系统实现LIN开发平台的搭建
DLP拼接显示墙的可靠性研究
霍尼韦尔助力武汉市中心医院杨春湖院区打造“数字孪生智慧医院”
传感器在物联网万亿级市场中的应用及发展趋势
水货C版iPhone 4S三地能烧号
iphone8什么时候上市?ipjone8最新消息:酝酿十周年的iPhone8外观终极确定,颜值美出了新高度
三星Galaxy Buds+新增两配色,目前仅在韩国市场上销售
魅族18系列或将取消随机附送充电器
教育行业的AR应用案例
半导体材料检测有哪些种类?测试半导体材料有哪些方法?
全球自动驾驶竞赛,英特尔能否拔得头筹?
2020年云计算发展六大关键词,以及六大关键词背后的重要趋势
骏马奔驰在光伏绿洲上
纽扣电池的保质期是多久
8 8点阵汉字显示电路及程序