-
2018-04-15 21:10:43
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
更多相关内容 -
Lin-Transceiver-Library:利用TJA1020 Lin收发器
2021-04-10 18:57:36LIN收发器库(TJA1020) 通过TJA1020收发器使用LIN总线需要处理状态机,否则您将能够从总线发送或接收数据。 这被封装在此类中。依存关系该库扩展了Lin-Interface库: : 例子看一下基本示例。 库应该像Lin-Interface... -
TJA1020中文资料
2012-09-13 21:02:22TJA1020 收发器是一个物理媒体连接 Physical Medium Attachment它是 LIN 主机从机协议控制器和 LIN 传输媒体之间的接口 协议控制器输入引脚 TXD 的发送数据流被 LIN 收发器转换成总线信号 而且电平翻转速率和波形都... -
电子-第11章LIN总线收发器TJA1020.ppt
2019-09-05 17:00:08电子-第11章LIN总线收发器TJA1020.ppt,单片机/嵌入式STM32-F0/F1/F2 -
AN00093_TJA1020_APP_Hints.pdf
2017-01-19 09:29:15TJA1020应用笔记 -
ES6control-z.rar_TJA1020程序_lin_lin master_stm8 lin_stm8 lin
2022-07-15 06:25:38STM8 LIN发送程序 工程,PCB板子上使用STM8带TJA1020实现LIN发送功能 本程序主要为LIN 主节点询问从节点 -
汽车LIN通讯芯片 TJA1028
2017-01-07 14:00:09汽车LIN通讯芯片 TJA1028 -
ST官网例程_LIN总线通讯_STM8AF
2021-05-31 22:00:28ST官网例程_LIN_communication_with_two_STM8AF_boards_of_STM8A-DISCOVERY 两个STM8_DEMO板分别作为LIN主、从机通讯 -
超全LIN总线入门资料
2021-05-31 21:57:55lin_2.0.pdf LIN2.0中文版本.pdf LIN-BUS.docx 瑞萨公司_LIN总线入门.pdf 搭载信号的帧PID查找表1 搭载信号的帧PID查找表2 -
叮,一份详细的LIN收发器选型指南请查收
2022-05-07 23:03:54单通道LIN收发器 功能描述 单通道LIN收发器的子类型是最多,主要有五个型号,分别是TJA1027,TJA1029,TJA1021/TJA1020,MC33662(B),越往后的型号功能越多,如下图所示: TJA1027是最简单的LIN收发器,没有唤醒,...文章目录
之前给大家介绍了几家主流半导体厂商的CAN(FD)收发器,以及相互替换的注意事项,如下两篇文章:
CAN(FD)收发器选型及替换指南(一)_Auto FAE进阶之路的博客-CSDN博客CAN(FD)收发器选型及替换指南(二)_Auto FAE进阶之路的博客-CSDN博客
本文接着介绍几家主流厂商的LIN收发器。由于工作原因,接触NXP的LIN收发器较多,所以介绍会详细些。对于其他厂家的LIN收发器的认知仅限于各自厂商的官网资料,所以介绍会简单些。如有不足,还请帮忙指出。
12V LIN和24V LIN的说明:
LIN1.3-LIN2.x规范中对于LIN正常工作的供电电压要求为7-18V,耐压要求为-0.3-40V,这个是12V系统的要求,对于24V系统的LIN电气参数要求,该规范中没有定义,如下图所示:
但是在ISO17987-4:2016的5.3.5章节定义了24V系统中LIN的电气参数,如下图所示,
目前市面上大部分厂家的LIN收发器都是12V系统,24V系统比较少见。
1. NXP的LIN收发器介绍
NXP的LIN收发器都是用于12V系统的,不推荐在24V系统使用。NXP的LIN收发器根据通道数分为三类,单通道,双通道以及四通道,根据功能分为普通LIN收发器和LIN Mini-SBC。下面分别针对三种通道数目的LIN收发器和LIN Mini-SBC进行详细介绍。
单通道LIN收发器
功能描述
单通道LIN收发器的子类型是最多,主要有五个型号,分别是TJA1027,TJA1029,TJA1021/TJA1020,MC33662(B),越往后的型号功能越多,如下图所示:
- TJA1027是最简单的LIN收发器,没有唤醒,TXD引脚显性超时等功能。当成本压力非常大时,可以考虑使用该收发器。
- TJA1029在TJA1027基础上增加了TXD显性超时功能,当TXD产生下降沿时,LIN收发器内部的计时器开始计时,一旦TXD保持显性电平达到tto(dom)TXD(TJA1029典型值为12ms),就会关闭发送器,使LIN总线处于隐性电平。
- TJA1021和TJA1020(两者pin2pin)目前是市场上最常见的LIN收发器,在TJA1029的基础上增加了唤醒功能和INH引脚。
- MC33662(B)和TJA1021相比,主要是增加了FAST BAUD RATE模式,可以通过特定顺序配置EN和TXD进入该模式,此模式下的波特率高于100kbps,可以用在ECU测试或者MCU的程序升级。
如果想进一步了解MC33662的FAST BAUD RATE模式,可以去NXP官网下载MC33662的数据手册进行查看,下载链接为:MC33662数据手册。
参数对比
上述几款芯片的详细参数对比如下表:
双通道LIN收发器
NXP的双通道LIN收发器只有一款,就是TJA1022,可以认为是两个TJA1029的晶圆合并而成,但是相比两个TJA1029,在封装的面积上会小一些,如下图所示:
需要注意的是,TJA1022除了SO14以及HVSON14封装之外,还有一个DHVQFN24封装,此封装主要是为了兼容4通道的TJA1024HG,如下图所示:
TJA2022T以及TJA1022TK的封装是向前兼容的,既TJA1022T的焊盘可以贴TJA1029T,TJA2022TK的焊盘可以贴TJA1029TK,反之则不行。
四通道LIN收发器
功能描述
四通道的LIN收发器主要有三个型号,分别为TJA1024,TJA1124,SJA1124,主要区别如下:
-
TJA1024可以认为是两个TJA1022或者四个TJA2019合并而成,但是面积上节省了很多,从下图的对比也可以看出。
-
TJA1124相比TJA1024,在内部集成了LIN主机电阻,增加了VIO引脚和INH引脚(这两个引脚和CAN收发器的同名引脚功能一样,不再赘述),在主节点较多的情况下,使用TJA1124可以更进一步减少PCB面积和BOM,如下图所示:
-
SJA1124内部集成了SPI转LIN的功能模块,可以减少MCU的UART占用,同时SJA1124还支持高速LIN功能,支持超过20K的波特率。SJA1124相比TJA1124可以节省比较多的MCU引脚资源,如下图所示:
参数对比
上述三个芯片的详细参数对比如下表:
LIN Mini-SBC
功能描述
车内有些ECU对PCB的面积要求严格,如雨刮器,座椅加热模块,方向盘加热模块等,这些ECU一般都使用LIN通信,此时集成LDO和IN收发器的芯片就有了用武之地,如市场上常见的TJA1028,这类产品NXP称为 LIN Mini-SBC。
NXP的LIN Mini-SBC主要有三款,TJA1028,UJA1018,TJA1128,主要区别如下图:
- TJA1028是目前客户用的最多的LIN Mini-SBC,内部是一个普通LIN收发器+70mA输出的LDO。
- UJA1018在TJA1028的基础上增加了输出电流达30mA的三路高边开关,可以用来驱动RGB三色灯,同时还有自动寻址功能。
- TJA1128在TJA1028的基础上增加了窗口看门狗,唤醒引脚,可配置的高压输出引脚,用于配置内部寄存器的SPI引脚等。
参数对比
三个LIN Mini-SBC的参数对比如下:
总结
上面陆陆续续把NXP的LIN收发器介绍完了,这些LIN收发器之间的区别以及联系可以通过下面这张图概括。
2. TI的LIN收发器介绍
根据应用的汽车电池系统的不同,将TI收发器分为两大类,12V系统LIN收发器和24V系统LIN收发器,介绍如下。
12V系统LIN收发器
12V系统LIN收发器按通道数可以分为单通道LIN,双通道LIN,四通道LIN以及LIN SBC。
单通道LIN收发器
- SN65HVDA1xx,TLIN1021(A)和NXP的TJA1020,TJA1021是pin2pin的,但是耐压做的高一些。同时TLIN1021A可以提供功能安全设计文档。
- TLIN1027和TJA1027是同一类型的LIN收发器,两者pin2pin,且不带TXD显性超时功能。
- TLIN1029,TLIN1039和TJA1029是同一类型的LIN收发器,pin2pin,带TXD显性超时功能,并且TLIN1039可以提供功能安全设计文档。
双通道LIN收发器
- TLIN1022A和TJA1022同属于双通道的LIN收发器,两者pin2pin,TLIN1022A耐压更高,可以提供功能安全设计文档。
四通道LIN收发器
- TLIN1024(A)和TJA1024同属于四通道LIN收发器,pin2pin,内部只继承了从机终端电阻,用于主机节点时LIN引脚需要外部增加1kΩ的上拉电阻。TLIN1024A以提供功能安全设计文档。
LIN SBC
- TLIN1028和TJA1028属于内部集成了LDO的LIN SBC,pin2pin。
- TLIN1441内部同时集成了LDO和看门狗,当系统需要使用MCU外部的看门狗时非常合适。
24V系统LIN收发器
TI的24V系统LIN收发器型号和12V系统LIN收发器命名类型,只是将TLIN1xxx换成了TLIN2xxx,但是没有4通道的,主要型号如下:
- TLIN2021(A),和TLIN1021(A)是pin2pin的,12v系统和24V系统都可用。
- TLIN2022,和TLIN1022是pin2pin的,12v系统和24V系统都可用。
- TLIN2027,和TLIN1027是pin2pin的,12v系统和24V系统都可用。
- TLIN2029,和TLIN1029是pin2pin的,12v系统和24V系统都可用。
- TLIN2441,和TLIN1441是pin2pin的,12v系统和24V系统都可用。
总结
TI的所有车规LIN收发器及其特性总体如下表所示:
3. Infenion的LIN收发器介绍
Infenion的LIN收发器都是用于12V系统的,主要有如下三类:
- 带LDO的LIN SBC,主要是TLE8457和TLE8458,可以给外部的MCU供电。
- 单路LIN收发器,主要是TLE7257,TLE7258,TLE7259以及比较老的TLE6258。
- 双路/四路LIN收发器,分为两路的TLE7268和TLE7269,以及四路的TLE7468。
下面按照这三类进行详细介绍:
带LDO的LIN SBC
- TLE8457集成了输出5V(A,C版本)或者3.3V(B,D版本)的70mA LDO,同时还会监控输出电压,欠压一段时间会通过NRST引脚复位MCU。TLE8457A,B版本相比C,D版本增加了一个用于初始化时检测系统是否异常的看门狗,详细情况请查阅数据手册。TLE8457和TJA1028是pin2pin的。
- TLE8458集成了输出5V(G版本)或者3.3V(GV33版本)的50mA LDO,同时带wakeup引脚,支持本地唤醒。
单路LIN收发器
-
TLE6258属于比较老的LIN收发器,需要同时提供5V电和12V电,而且不带TXD显性超时功能,现在很少遇到客户使用。
-
TLE7257和TLE7258两者pin2pin,都带sleep mode和standby mode,主要区别是前者上电之后先进入sleep模式,后者上电之后先进入standby mode,两者状态机如下图所示:
-
TLE7258还有一个裁剪版,TLE7258D,不带INH引脚,不支持TXD timeout,和TJA1027是pin2pin的,需要注意的是两者上电之后进入的模式是不一样的,软件配置时需要注意。
-
TLE7259相比TLE7258,增加了Wake up引脚,支持本地唤醒功能,和TJA1021是pin2pin的。
双路/四路LIN收发器
-
TLE7268的下半部分和TLE7258兼容,如下图所示,没有本地唤醒功能。
-
TLE7269的上半部分和TLE7259兼容,如下图所示,支持本地唤醒功能。
-
TLE7468,这个芯片手册笔者在英飞凌官网没有找到数据手册,只有选型手册提到这个型号,具体特性也不是很清楚
总结
Infenion的LIN收发器大概情况如下图所示:
4. ON的CAN(FD)收发器
ON的收发器也都是用于12V系统的,因为ON官网没有选型手册或者选型表格,只能基于笔者已搜索的型号进行介绍。
带LDO的LIN SBC
- NCV7361,NCV7428都和TJA1028是pin2pin的,但是NCV7361相比另外两者,LDO性能弱一些,只能输出50mA的电流,且输出电压只有5V一种。
- NCV7420带可以输出5V/3.3V的50mA LDO,且带wake引脚,支持本地唤醒功能
单路LIN收发器
- AMIS-30600,NCV7380,NCV7382都是需要同时提供5V电和12V电的LIN收发器。其中AMIS-30600和NCV7382都带INH引脚,是pin2pin的。NCV7380没有INH引脚,且不支持TXD显性超时功能。
- NCV7321,NCV7327,NCV7329分别和NXP的TJA1021,TJA1027,TJA1029是pin2pin的,功能也都差不多,就不赘述了。
双路/四路LIN收发器
-
NCV7422是双路LIN收发器,只有DFN14封装,和HVSON14封装的TJA1022是pin2pin的。
-
NCV7424是四路LIN收发器,只有TSSOP16封装,占用的PCB面积较大,但是散热会方便些,中间的一部分和NCV7329封装兼容,如下图所示:
总结
ON的收发器虽然种类不少,但是主推的还是NCV7321,NVC7327,NCV7329等和NXP,TI做引脚兼容的型号。
参考资料
-
NXP的培训资料《IVN_CAN_LIN Portfolio Overview_for DFAE Training.pdf》
-
Infenion的选项手册《Infineon-Automotive_Power_SelectionGuide_2019-ProductSelectionGuide-v01_00-EN.pdf》
-
相关芯片的数据手册
更多内容,欢迎关注我的微信公众号:
-
原理图TJA1100.pdf
2021-11-17 10:12:52车载以太网PHY TJA1100参考评估板原理图PCB -
C519760_TJA1021T_20_CM.PDF
2021-10-09 18:02:03tja1021t—20规格书 -
TJA硬件PCB设计分享.rar
2021-03-02 10:53:12TJA1020硬件原理图资料分享,给了几个可行的方案,对于如何设计TJA1020电路有很好的帮助! -
TJA1027.pdf
2017-01-19 09:19:40TJA1027,k线收发器,没有发送超时限制,TJA1020有发送超时限制 -
CAN收发器PCA82C251与TJA1040的异同
2012-11-28 15:51:17PCA82C251无源时不会妨碍(not disturb)总线,而TJA1040无源时可视为从总线上脱离(disengages from bus),为0负载。在无源状态下,TJA1040表现稍好。 3. PCA82C251具有斜率控制功能(不清楚什么是斜率控制的...一.相同点
1. 高速CAN收发器,都能达到1Mbaud
2. 都可以进入待机模式
3. 都具有较强的抗干扰性
4. 都具有热关断功能(过热保护)
5. TXD(引脚1)为高电平时,输出总线为隐性(recessive)状态;TXD为低电平时,输出总线为显性(dominant)状态
6. 差分电压Vi(dif)=VCANH-VVANL,当Vi(dif)>0.9V时,总线为显性;Vi(dif)<0.5V时,总线为隐性。
二.不同点
1. PCA82C251符合ISO 11898-24标准,而TJA1040符合ISO 11898标准
2. PCA82C251无源时不会妨碍(not disturb)总线,而TJA1040无源时可视为从总线上脱离(disengages from bus),为0负载。在无源状态下,TJA1040表现稍好。
3. PCA82C251具有斜率控制功能(不清楚什么是斜率控制的自己查),以降低电磁辐射,并且PCA82C251的斜率控制程度可根据接入引脚8(RS)上的电阻阻值的不同而不同。当PCA82C251的引脚8直接接地时,无斜率控制功能,处于高速模式。这个时候推荐使用屏蔽电缆来降低电磁辐射。如果PCA82C251的引脚8通过电阻接地时,会启用斜率控制功能(见图1红色部分)。这时可以使用非屏蔽的双绞线或平行线做线缆。接入的电阻值越大,斜率控制越程度越强,阻值一般大于等于10K。当第8引脚Rs直接接地时,Rs与地之间的电流Iext<500uA,当处于斜率控制模式下时,10uA<Iext<200uA,可以根据这个范围并结合你需要什么样的斜率控制来计算电阻Rext的阻值。
图1 动态特性测试电路图
对于TJA1040,其斜率控制是固定的,厂商自己为速率和抑制电磁辐射做了一个平衡。用户无法自己设置斜率控制程度。
4. 趁刚说完斜率控制,顺便说一下两个接口的第8引脚,跟斜率控制有关。
- 对于PCA82C251,第8引脚名称为Rs,描述为:斜率电阻输入。当Rs直接接地,收发器处于高速模式,内部晶体管尽可能快的关断和打开,这样会引起较大的电磁辐射;当Rs通过电阻接地时,收发器处于斜率控制模式,第3条也讲到了这种情况下的细节;当Rs接高电平时,收发器进入待机模式。
- 对于TJA1040,第8引脚名称为STB,描述为:待机模式控制输入。对比PCA82C251,就可以看出两个收发器第8引脚功能的侧重点时不同的。TJA1040的操作模式有两种:正常模式和待机模式。这两种模式正是由第8引脚所控制的。当STB接低电平时,收发器处于正常模式;当STB接高电平时,收发器进入待机模式。
5. 既然说到两个收发器的第8引脚,那就接着说一下引脚内部的不同。
- TJA1040具有故障自动保护特性(Fail-safe features)。这个看上去特牛叉的功能,你可以理解为TJA1040的TXD(第1引脚)和STB(第8引脚)内部具有上拉功能。所以当TXD引脚未被驱动时(unsupplied)可以保证收发器输出到总线上面的是隐形电平;当STB未被驱动时(unsupplied)可以使收发器进入待机模式
- PCA82C251没有此功能。
6. TJA1040具有TXD显性超时保护功能,而PCA82C251不具备此功能。
何为TXD显性超时保护功能?上面文字已经提及到,TXD为低电平时,收发器输出总线状态为显性的。TXD显性超时保护功能可以预防收发器一直向总线输出显性状态(这样会阻塞网络通讯),如果由于硬件或者软件失误,导致TXD引脚长时间为低电平,长到超过内部超时定时器值Tdom,则收发器的发送器被禁止,当TXD出现上升沿后,内部超时定时器复位。
这里一个关键点是内部超时定时器值Tdom的范围是多少?这个可关系到可以传送的波特率。因为CAN传输数据的特性所在,连续5个显性位后,必定会插入一个隐性位,所以传输的5个显性位要小于Tdom的最小值的。不然,收发器判断超时会禁止发送的。
TJA1040的内部超时定时器值Tdom最小为300us,最大为1000us,典型值为600us。这个数据对于波特率大于等于40Kbaud的收发应用场合是毫无压力的。然而,如果是波特率速度很低,发送5个显性位超过了300us,则会被禁止发送。
7. TJA1040的静电防护等级比PCA82C251要好上不少。TJA1040在人体模式下,静电防护可承受-6~6KV;而PCA82C251在同等条件下为-2.5~2.5KV。
8. 两个收发器在正常工作模式下,收发功率相差不大。在待机模式下,TJA1040最大消耗15uA,PCA82C251最大消耗275uA。两者不是一个数量级上的。
9. 输出的差分电压Vo(dif)= VCANH-VVANL。TJA1040为1.5V~3.0V;PCA82C251为1.0V~5V。
10. 关于这两个收发器的第5引脚,跟典型电路有很大关系。
- PCA82C251的第5引脚名称为Vref,描述为:参考电压输出。也就是输出一个电压值,这个值在正常模式下的范围是0.45VCC~0.55VCC,一般都不怎么用这个引脚。典型应用电路见图2:
图2 PCA82C251的典型电路
- TJA1040的第5引脚名称为SPLIT,描述为:稳定共模输出(common-mode stabilization output)。它也输出一个电压值,在正常模式下的典型值为0.5VCC,在待机模式下浮空。该引脚可以辅助电路稳定隐性共模电压,使总线隐性电压稳定在0.5VCC,改善CAN差分波形,也能改善EME。典型应用电路见图3所示:
图3 TJA1040的典型电路
-
基于LIN总线的车身控制系统设计
2020-12-22 11:27:26TJA1020按LIN物理层规范集成了片内从机端电阻,在从机节点应用中无须再外接从机端电阻,在主机节点应用中按图1所示在其INH引脚和LIN引脚之间串接主机端电阻和二极管可提高总线的驱动能力,并在总线对地短路时使节点...http://www.eepw.com.cn/article/262205.htm
LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。LIN 的目标是为现有汽车网络(例如CAN 总线)提供辅助功能,因此LIN 总线是一种辅助的总线网络。在不需要CAN 总线的带宽和多功能的场合,比如智能传感器和制动装置之间的通讯使用LIN 总线可大大节省成本。LIN 技术规范中除定义了基本协议和物理层外还定义了开发工具和应用软件接口。LIN 通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式。仅使用一根12V 信号总线和一个无固定时间基准的节点同步时钟线。这种低成本的串行通讯模式和相应的开发环境已经由LIN 协会制定成标准。LIN 的标准化将为汽车制造商以及供应商在研发应用操作系统降低成本。
典型的LIN 总线应用是汽车中的联合装配单元,如:门、方向盘、座椅、空调、照明灯、湿度传感器,交流发电机等。对于这些成本比较敏感的单元,LIN 可以使那些机械元件如智能传感器、制动器或光敏器件得到较广泛的使用。这些元件可以很容易的连接到汽车网络 中并得到十分方便的维护和服务。在LIN 实现的系统中通常将模拟信号量用数字信号量 所替换,这将使总线性能优化。在以下的汽车电子控制系统中使用LIN 来实现将得到非常完美的效果:
LIN节点硬件设计
1 LIN接口总体设计
LIN 节点硬件上主要包括LIN接口电路部分、控制输入部分、显示电路或负载驱动输出等,其中LIN接口为节点的核心。以Microchip公司的 PIC16F87为控制器、TJA1020为LIN收发器
、SA57022 为开关电源的LIN接口电路如图1所示。SA57022电源输出的打开与关断由LIN收发器
控制通过INH引脚控制。
图1 LIN接口原理图
因主机节点需为网络中的从机节点提供时钟基准,故在主机节点中为PIC16F87配置了外部晶振。在从机节点中,从机节点可通过主机节点发送帧头中的同步场来校准自身波特率,故可省去外部晶振而使用PIC16F87内置的RC振荡器。
2 LIN收发器
应用设计
TJA1020 为LIN收发器
,它是LIN 协议控制器和LIN传输媒体之间的接口,是节点的核心器件,负责收发数据时总线的波形调整和电平转换及节点多种工作模式的实现。TJA1020按LIN物理层规范集成了片内从机端电阻,在从机节点应用中无须再外接从机端电阻,在主机节点应用中按图1所示在其INH引脚和LIN引脚之间串接主机端电阻和二极管可提高总线的驱动能力,并在总线对地短路时使节点自动进入睡眠状态,减少电流损耗。
以TJA1020为收发器
构造的LIN节点具有普通、低斜率、睡眠、准备四种工作模式,以尽可能降低功耗和电磁辐射,各种模式下的节点状态和模式间转换如图2所示。
图2 工作模式的节点状态以及模式间的切换
LIN节点软件设计
1 LIN主机节点软件设计
LIN主机节点行使帧处理和LIN网络的通信管理职能,程序流程如图3所示。
图3 主机程序流程
LIN规范规定,同步间隔场为至少13个连续的显性位(低电平)。LIN 通信基于通用UART/SCI接口,字节传送使用8N1编码,无法直接产生这样一个显性序列。
总线的正常通信波特率为9.6k,从机节点始终以此波特率工作,主机节点在需要发送同步间隔场时将波特率降低到4.8k,并发送0x00,则工作于9.6k 波特率的从机节点将检测到18个连续的显性位,从而判断一个新报文帧的到来。主机节点在发送完同步间隔场后将波特率恢复到9.6k.
2 LIN从机节点软件设计
LIN从机节点的职能可概括为帧头检测与接收和帧处理这两部分。在每个报文帧的帧头中由配置晶体振荡器的主机节点通过同步场给从机节点提供波特率基准,从机节点通过测量同步场来校准自身波特率,以保证在报文传输中各节点之间的同步。
同步场逻辑值为0x55,波形如图4所示。从机节点通过测量同步场中第1和第5个下降沿之间的时间间隔来计算校准自身波特率。
图4 同步场波形图
设主机节点和从机节点的串行口均工作于方式1(8位UART,波特率可变),主机节点波特率为B,从机节点以定时器测量同步场第1和第5个下降沿得到的计数个数为C,从机节点振荡器当前频率为fs,得到式(1)。
设从机节点计数器1作为波特率发生器工作于常数自动重新装入的8位定时器/计数器方式,得到式(2)。
使从机节点与主机节点同步,则令:
Bs=B
由式(1)~式(3)可得到式(4)。
从机节点以由式(4)计算得到的N值作计数器1产生波特率的重新装入值,可产生与主机节点一致的波特率。
节点制作与实验
利用该设计制作LIN节点构建LIN网络,对其进行了通信试验和初步的抗干扰试验。由于报文帧头和报文帧响应均由主机节点发送,报文帧帧头和报文帧响应间的帧间响应间隔较小。
当LIN从机节点在LIN主机节点的引导下相互传送指令或信息时,LIN网络上进行从机节点到从机节点的数据传输,此时LIN主机节点发送报文帧帧头,一个LIN从机节点发送报文帧响应,另一个或几个LIN从机节点接收报文帧响应。由于这种报文帧传送需要3个甚至3个以上节点参与,故预留了较长的帧间间隔,以便报文帧响应的发送节点和接收节点有充足的响应时间,确保报文帧传送的顺利完成。
当LIN主机节点向某从机节点请求数据时,LIN总线上进行从机节点到主机节点的数据传输,此时LIN主机节点发送报文帧头, LIN从机节点接收报文帧帧头后发送报文帧响应, LIN主机节点接收报文帧响应。
汽车电磁环境恶劣,因此汽车通信系统的抗干扰能力尤为重要,按该设计制作的LIN网络在BZ-5型汽车电火花干扰试验台上进行了抗干扰实验,试验中网络通信顺利,各项功能正常。
结束语
对总线式车身控制系统中的CAN/LIN混合网络进行深入研究,给出车身混合网络结构中主控节点设计与实现。在车身控制系统中,将LIN总线连入低速车身系统中,通过主控节点将CAN总线和LIN总线构建成混合控制网络,使其控制系统兼具可靠性、高性能和低成本优点。在器件选型上采用FREESCALE典型汽车电子芯片和智能触点检测模块,既实现了可靠网络控制功能,同时也降低汽车的开发、生产成本,具有较高实用性。
-
Lin-Interface-Library:使用UART发送和请求LIN-Frame作为LIN-Master
2021-04-10 16:51:56我在项目的硬件方面使用了TJA1020收发器。 该芯片包含一个状态机,您必须先对其进行控制,然后才能写入或接收数据。 为了使思考更容易,我创建了一个派生类(从该类派生),该派生类每次都使用总线考虑状态机: : ... -
STM8S-学习程序
2012-08-08 10:34:30STM8S-学习程序STM8S-学习程序STM8S-学习程序STM8S-学习程序 我写的。可用!! -
1020
2010-07-10 03:09:00高精度除法,不给力阿。。 原先把它复杂化了太多 伤心~ #include #include using namespace std; int main() { int T; cin >> T; int todiv[101]; while(T--) { ...++q) cin > -
通信与网络中的用SPMC75F2313A实现LIN结点
2020-12-13 05:16:48摘 要:本应用例使用SPMC75F2313A和通用LIN Bus收发器TJA1020(或ATA6661)实现LIN(Local Interconnect Network)是低成本的汽车网络的传输关键词:SPMC75F2313A、TJA1020、LIN 1.1 引言 LIN 是低成本网络中的... -
【程序】STM32F407VE单片机驱动两片TJA1050 CAN收发器并进行双CAN通信
2020-05-13 23:17:52【连线】 【程序】 Keil工程中不要勾选Use MicroLIB! 晶振采用的是8MHz。 main.c: #include <stdio.h> #include <stm32f4xx.h> #include <string.h> #include "common.h" ... CAN_Filte -
用SPMC75F2313A实现LIN结点
2020-08-11 15:43:28本应用例使用SPMC75F2313A和通用LIN Bus收发器TJA1020(或ATA6661)实现LIN(Local Interconnect Network)是低成本的汽车网络的传输 -
SIT1040T,芯力特CAN接口芯片,参数描述,完美替代TJA1040
2021-05-27 12:38:37SIT1040兼容TJA1040、TJA1044。TJA1040是一款应用于CAN 协议控制器和物理总线之间的CAN接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,速率可达到1Mbps,具有在总线与CAN 协议控制器之间进行差分信号传输的... -
STM8S003_LIN通讯硬件工程文件.rar
2021-05-31 22:23:41硬件开源,基于STM8S003... 设计特点: 1、使用TJA1027T(可替换为TJA1020,TJA1021)作为LIN总线收发器; 2、STM8S003F3P6TR作为LIN主控/从控; 3、两个可程序控制的LED指示灯和一个自复位按钮开关用于验证LIN总线通信。 -
基于MC9S12DG128B的LIN主/从节点设计与通信.pdf
2019-09-14 20:57:14该设计的LIN 网络的节点是采用MC9S12DG128为主控器、TJA1020 为收发器,并使用FT232BL将SCI转USB接口模块与上位机通信。同时文章中还介绍了LIN的主/ 从节点软件设计流程,通过软件程序的设计实现主从节点之间的... -
基于LIN总线的车灯在线诊断系统的设计与实现
2021-02-01 00:53:31LIN节点由MC68HC908QL4作控制器,TJA1020作收发器。各节点通过运用LIN协议构成车灯网络。控制器通过接收车灯的反馈信号对车灯进行诊断和控制。与传统的车灯控制方式相比,LIN总线具有实时性高,错误率低,成本少特点... -
LIN_PDF资料.rar
2021-05-31 22:13:031.LIN总线入门.pdf 2.STM32F042XX.pdf 3.TJA1020.pdf 4.TJA1027.pdf 5.从-STM32F1-移植到-STM32F0.pdf 6.汽车协议LIN总线最新中文版.pdf 7.普通DEMO_STM32_LIN CAN通讯原理图.pdf -
nec单片机实验指导
2010-05-21 14:30:09第1章 NEC单片机教学实验仪简介 1 1.1 电路外观 1 1.2 功能特点 2 1.3 实验项目 3 1.4 主要功能块 4 第2章 PM+的安装及MINICUBE的硬件连接 6 ...附录七 TJA1020 LIN 收发器 207 附录八 串行口调试器2002的应用 215