LIN总线开发:STM32F0 TJA1020

LIN总线协议最新版本是V2.2,历史版本有V1.0,V1.2,V1.3,V2.0,V2.1,V2.2。具体的区别请自行百度,这里只介绍对于写代码最需要关心的问题。

V1.0属于起初版本,各项定义都不完整,目前实际没有应用;

V1.2也没有应用,相对V1.0稍微完善了名称描述;

V1.3是比较完善的版本,目前存在比较旧版的汽车总线中,采用经典校验;

V2.0,V2.1是在V1.3基础上增加了诊断协议,直接继承自ISO15765-3(CAN协议中的诊断定义相同);采用增强型校验+经典校验两种;

V2.2版本没有明显修改,只是对各类文字描述做了修正。

-------------------------------------------------------------------------------------------

LIN的硬件比较简单,有些人认为LIN同RS232,485类似,直接用MCU的普通串口就能实现。但这是不对的,普通串口不完全能够支持LIN协议。因为LIN的帧结构中,对报文头的LIN Break时间长度有特别的要求:11bit长度的低电平.


然而用普通串口是怎么实现LIN Break的低电平长度的?发一个字节的0x00总共才8bit不够长,两个字节0x00又太长而且中间断开了不连续;就算切换低波特率来发送0x00,但是切换波特率比较耗时,高电平长度明显超过协议要求,不符合LIN协议要求。

因此普通串口作为LIN从模式还行,作为主模式完全不符合LIN的标准。作为主模式就必须使用增强型串口才能解决 LIN Break问题。

然后是软件问题,由于LIN总线是半双工通信的,通信效率低而且没有硬件过滤器,必然会对MCU的性能产生极大的影响。这种情况下采用RTOS必然是可选项,否则容易导致事件响应实时性问题。


未完待续!


先发个广告,LIN开发板:

https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.594c1debKlwobB&id=567670729920

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/triv2009/article/details/79953256
文章标签: LIN TJA1020 STM32F0
个人分类: 总线及方控 STM32
上一篇LIN总线开发:智能雨刮传感器
下一篇STM32F0:SD卡升级
想对作者说点什么? 我来说一句

飞思卡尔公司LIN总线的例程代码

2017年11月07日 17.95MB 下载

stm32f103 LIN 从模式参考例程

2016年02月22日 4KB 下载

<em>stm32</em> <em>LIN</em>程序

2018年08月10日 0B 下载

没有更多推荐了,返回首页

关闭
关闭
关闭