导言
LIN协会于1999年发布了第一版LIN协议,至今已有十几年了,在这十几年中,LIN总线不断开展,现已在以车身操控为主的许多场合得到了运用。LIN总线至今一共有7个版别,其间,LIN2.1协议于2006年11月发布,是现在较新的一个版别。它与最新的LIN2.2协议几乎没有差异,却比它的前身LIN2.0协议有显着的改善,首要体现在参加了事情触发帧的竞赛处理、完善了节点装备功用和进行了确诊分级三个方面。这些改善运用户能够愈加便利和快速地安排LIN网络,能够依据自己的需求从头设置LIN网络,既确保了产品的稳定性,又满意了用户的个性化需求,是LIN总线本身开展进程中很有含义的一步。
1 LIN2.1协议的新特色
1.1 事情触发帧的竞赛处理
假如有多于一个的从节点在同一个帧时隙里呼应帧头,就会导致竞赛,竞赛处理都是由主节点完结的。LIN2.0的事情触发帧竞赛处理机制如图1所示。某主节点的进展表中有无条件帧A、事情触发帧和无条件帧B。当竞赛产生后,主节点会持续依照之前的进展表,在接纳完一切与事情触发帧相关的无条件帧后,再发送事情触发帧帧头。LIN2.1对此作出了改善,它引入了竞赛处理进展表,LIN2.1的事情触发帧竞赛处理机制如图2所示。每个事情触发帧都有与之相对应的竞赛处理进展表,主节点在竞赛处理进展表里处理完竞赛后,再回来履行一般的进展表。明显,LIN2.1的竞赛处理机制需求花费的时刻较短。
图1 LIN2.0的事情触发帧竞赛处理机制 图2 LIN2.1的事情触发帧竞赛处理机制
1.2 节点装备功用的完善
1.2.1 新增分配一系列帧ID的功用
将装备功用分配帧ID改为分配一系列帧ID。LIN2.0和LIN2.1协议中分配帧ID的格局如图3所示。在LIN2.0中,只要NAD和Supplier ID都匹配的状况下,分配才干成功,但每次只能分配一个帧ID。而在LIN2.1中,只需求NAD匹配就能够了,每次能够分配最多4个帧ID,而LIN2.0中的Message ID在LIN2.1中现已被取消了。这种改善的意图是进步LIN网络装备的功率,更改后分配帧ID的速度最快可到达本来的4倍。
图3 LIN2.0和LIN2.1协议中分配帧ID的格局
1.2.2 新增保存装备的功用
LIN2.1协议新增了保存从节点装备信息的功用,将从节点的装备信息存入到掉电不易失的存储空间中。这样,主节点对从节点的装备在复位后也不会丢掉。
1.3 确诊分级
LIN2.1的另一大新特色是依据确诊功用将从节点分为3个等级。
(1) 确诊一级
确诊一级一般运用于智能传感器或履行器等一些不需求或只需求很少确诊功用的器材。确诊一级支撑一切节点装备功用,而且只需求单帧传输。
(2) 确诊二级
与确诊一级比较,确诊二级的节点增加了节点辨识的功用。例如,用户能够取得产品的软、硬件版别号等。此外,确诊二级还支撑读写软件内部的参数,比方温度、车速等。确诊二级支撑多帧传输。
(3) 确诊三级
确诊三级的节点不只包含了前面两级的一切功用,还支撑内部Flash的擦写,用户能够通过LIN总线烧写程序。确诊三级支撑多帧传输。
2 LIN2.1协议的节点装备功用
(1) 分配NAD
为了防止某个NAD被重复运用,用户或许需求为从节点分配新的NAD。
(2) 有条件分配NAD
当用户替换或增加从节点时,或许会呈现两种状况:
① 一种是用户不知道新增从节点的初始NAD,因而,有必要以“播送”的方法寻觅一切的从节点并分配有用的NAD(“播送”指的是给网络中的一切从节点发送恳求,它有一个专用的NAD为0x7F)。但假如直接这样做,会导致一切的从节点取得同一个NAD,这明显是不答应的。为了防止这个状况,能够参加约束条件。
② 另一种是用户知道新增节点的初始NAD,但其和LIN网络中已有从节点的NAD重复了。假如用户只依照原始NAD分配新的NAD,则会导致两个从节点的NAD都被修正。因而,有必要参加约束条件。
当从节点取得有条件分配NAD的恳求后,将依据下面的进程判别是否要修正NAD:
① 依据ID读取从节点的相关信息。
② 依据Byte提取相关信息中一个8位数据,例如Byte=1,则提取D1。
③ 与Invert进行异或运算。
④ 与Mask进行与运算。
⑤ 假如成果为0,则修正NAD。
例如:本产品被新增到一个LIN网络中,初始NAD为0x06,但网络中已有了一个NAD为0x06的从节点。所以,用户能够运用本产品的Function ID,假定为0x0000,分配新的NAD为0x08。这儿假定已存在的从节点的Function ID不为0x0000。这样,只要新增节点的NAD会被修正,罢了存在从节点的NAD保持为0x06不变。
(3) 保存装备
保存装备是LIN2.1增加的新功用,用来将从节点的当时装备存入非易失的存储空间中,下次上电时能够读出装备数据,这儿首要是保存NAD和帧ID。
(4) 分配一系列帧ID
这一功用能够装备最多4个帧ID,留意确诊帧ID和保存帧ID是不能装备的。
主节点的恳求帧在D1中给出需求分配帧ID的第一个帧在帧数组中的序号,一般来说,从节点所用到的一切帧的ID会被排列成一个帧数组。假如要分配帧ID,则通过D2到D5给出新的帧ID;假如要制止某个帧,则将这个帧对应的PID设为0x00;假如要持续运用现在的帧ID,则将这个帧对应的PID设为0xFF。
(5) 读取从节点信息
读取节点信息依据D1中ID的值,能够读取不同的从节点信息。现在,只规则了ID为0和ID为1的状况,其他可保存或由用户自己确认。
3 LIN通讯的完结
3.1 TLE9832的LIN模块
TLE9832是一款由英飞凌公司出产的8位功率级单片机,专门用于车窗操控。其间的LIN总线模块支撑LIN2.1和LIN2.0,并向下兼容LIN1.3。该模块能够作业在一般形式、接纳形式和制止形式下。各个形式的特色如表1所列。
表1 TLE9832 LIN模块各个形式的特色
其间,一般形式又可依据传输速率的巨细分为低速形式、中速形式、高速形式和Flash形式。低速形式的最大传输速率为10.4 kbps;中速形式是一般的LIN传输形式,最大传输速率为20 kbps;高速形式的最大传输速率为40 kbps;Flash形式的最大传输速率为115 kbps。为了防止打断传输进程,在一般形式下制止改动传输速率。正确的做法是先制止发送功用,再改动传输速率,最终答应发送功用。
LIN模块在一般形式下还建立了一种主动省电机制。当发送行列中没有数据时,将主动制止发送功用;当有发送恳求时,将主动敞开发送功用。
3.2 依据TLE9832的车窗防夹操控体系
依据TLE9832的防夹车窗操控体系是英飞凌同济微操控器与嵌入式体系实验室的最新研究成果。用户能够通过按键或许LIN总线操控车窗的上升和下降。依据TLE9832的防夹车窗体系原理图如图4所示。可通过操控PWM信号操控电机的转速,而霍尔传感器TLE4966又会收集电机的转速并传送给TLE9832,这样就构成了闭环操控。此外,电机的电枢电流在转化为电压信号后,被传送给TLE9832的ADC模块。假如车窗在上升进程中遇到不正常的阻力,电枢电流和电机转速都会产生反常的改变,TLE9832能够依据这种改变判别是否履行防夹算法,防止损伤乘客。
图4 依据TLE9832的防夹车窗体系原理图
3.3 LIN通讯部分的软件规划
LIN通讯部分的程序流程如图5所示。可将车窗操控器中LIN通讯部分的程序分为两个部分:
图5 LIN通讯部分程序流程
① 第一部分为初始化,在每次从头上电后,程序都会首要读取Flash中的数据,若0x8000中的数据为0x78,则判别产品在出厂后履行过保存装备的功用。所以程序会将存储在Flash中的NAD和帧ID读出来,作为当时的NAD和帧ID。接着是初始化LIN模块,包含设置与LIN通讯相关的定时器和UART等外设,设置从节点的各个参数、波特率等。
② 第二部分则放在定时器中止里边,在每次中止时进行节点装备、数据的发送和接纳。首要是依据帧ID判别有无节点装备使命,若有则依据SID履行各种节点装备使命;接着依据收到的数据帧内容操控车窗的主动上升和主动下降;最终将车窗信息,包含电枢电流、车窗方位等发给主节点。
4 LIN通讯的测验成果
本测验凭借Kvaser公司出品的LIN通讯测验东西Leaf Professional LIN及其配套软件CANLab完结。测验时测验东西设置为主节点,TLE9832单片机设置为从节点,比特率设置为19 200 bps。初始NAD设置为0x06,初始帧ID为无条件帧0x00、0x01和确诊装备帧0x3C、0x3D,SupplierID和Function ID都为0x0000。
首要测验节点装备的各个功用:先测验分配NAD功用,将NAD修正为0x03;接着测验有条件分配NAD功用,将NAD修正为0x08;然后测验分配一系列帧ID功用,并保存设置;最终从头上电,并读取从节点信息。节点装备功用的测验成果如图6所示。
图6 节点装备功用的测验成果
然后通过LIN总线操控车窗主动上升和下降,测验成果如图7所示。
图7 车窗主动上升下降功用的测验成果
最终通过LIN总线取得车窗上升进程中电枢电流的数据,并转化成图形,如图8所示。其间电流值为通过A/D转化后的成果。
图8 车窗上升进程中的电枢电流值
结语
本文依据LIN2.1协议规划了防夹车窗操控体系中的通讯模块。能够看出,该模块能够很好地满意用户在数据传输和确诊等方面的需求。LIN总线本身的开展必将推进车身操控范畴的进一步开展。