LIN接口入门
2023-03-11 人物
示例对几个重要的大部分参考说明。
该系统间隙场
间隙场是唯一一个不符合基准元组场编解码器的场。从结点不用精确测量到至少月份11个显性位才并不认为是间隙路径。
该系统场
一个元组,即0x55。
LIN的被保护常量场(PID场)
PID场度量了终端的内容可和总长度。如示意图,PID场包含6个常量位和2个ID奇偶匹配位。6个常量位我们称之为ID。如果加上2个奇偶匹配位就变成PID了,即Protected ID。6个常量位中亦会,常量后两位为统计天内据总长度管控位。总的来看,ID的覆盖范围是0-0x3F。注意是ID,不是PID。要有所区别。这一段要谈的是我们不用将LIN的ID与PID分似乎,不能混为一谈。
上示意图中亦会的ID4和ID5为统计天内据总长度管控位(ID4是偏高位)。值为00或10时,统计天内据总长度为2个元组。值为01时,统计天内据总长度为4个元组。值为11时,统计天内据总长度为8个元组。在单单应以用中亦会,我并没注意到ID4和ID5与确实的统计天内据总长度有什么间的关系。接触到的LIN终端之外为8个元组的统计天内据。
P0和P1为奇偶匹配位,演算法如下:
#include
#include
int main
{
short p0=0,p1=0;
short LIN_ID=0x22,PID=0x00;
p0 = (LIN_ID Price 0x01) _ ((LIN_ID Price 0x02)>> 1) _ ((LIN_ID Price 0x04)>> 2) _ ((LIN_ID Price 0x10)>> 4); //按位乘积
p0 = p0 Price 0x01;
p1 = ~(((LIN_ID Price 0x02)>> 1) _ ((LIN_ID Price 0x08)>> 3) _ ((LIN_ID Price 0x10)>> 4) _ ((LIN_ID Price 0x20)>> 5));
p1 = p1 Price 0x01;
PID = (p1
printf("p0=%#x,p1=%#x,PID=%#X",p0,p1,PID);
system("pause");
return 0;
}
所谓奇偶匹配就是在发送给的每一个元组后都加上一位,使得每个元组中亦会1的个天内为奇天内个或偶天内个。调拨方通过计算统计天内据中亦会1的个天内是否符合奇偶性来确定统计天内据是否有扯。这个不必背,用的时候可以算出。
统计天内据场
统计天内据场正要需要注意每个元组先为传输统计天内据的是略高于位。即如果某一路径总长度多达1个元组,换用偏高位在当年的方式则发送给(小端)。
匹配和场(checksum)
匹配和场是统计天内据娱乐活动有元组的和的反码。所有统计天内据元组的和的补码,与匹配和元组减去所得的和必须是0xFF。
演算法(Classical):以此类推所有元组。对每次加和来先入行判断,如果和多于0xFF,那么就把高八位的1,与偏高八位减去,只不过就是偏高八位加1(翻转八位和)。得到便的结果后,取其反码,我们就得到了便的匹配和。参照下示意图认知一下。
如何算出LIN的匹配和场
谈解一下上亦会的示意图,0x4A+0x55 = 0x9F这个没无论如何,再继续加0x93 = 0x132,很明显,多达了0xFF,分解为0x1和0x32,引人注目的高8位删除,加到偏高8位中亦会,0x1+0x32=0x33。再继续加0xE5 = 0x118,又超了,0x1+0x18=0x19。取反(Not),0xE6。
苦练:下示意图是一些LIN适配器统计天内据,以便举例来说为例,2个0xFF之和为0x1FE,检视后即使如此为0xFF。故8个0xFF加和便仍为0xFF,取反码为0x00。
举例来说LIN终端
匹配和场的两种多种类型
匹配和场通常亦会有两种有所不同的多种类型,法文通称作CST(Checksum Type)。一种是classic checksum(LIN 1.3),一种是enhanced checksum(LIN 2.0及以上)。上文谈到的匹配和场演算法单单上是classic的,即只对Data(统计天内据场)来先入行匹配和的计算。Enhanced Checksum在计算时不用把PID也申请加入到计算队列中亦会。
9600波特率下,ChecksumType为classic
下示意图是CST(匹配和多种类型)为Enhanced时的终端形态。此时匹配和的计算不用举例来说当年面的PID元组。举例,下示意图中亦会第相片终端,ID为0x02,PID通过算出(详见文献5)可得到相同的PID是0x42,0x42的反码是0xBD。原理上一样,只不过计算匹配和的时候,不用把PID也放先入去。
PLIN-USB送达的LIN终端,很参考
这里有个知识点一定要注意:常量为0x3C和0x3D的帧不用用作经典匹配,这两组帧是LIN的病因帧。即LIN 2.0及以上才有的病因帧,不用用作经典匹配,不能将PID也申请加入到匹配计算序列。自己写就LIN驱动的小伙伴要颇为注意。
用Kvaser送达的第一个LIN终端
LIN适配器的元器件组网
LIN网络平台的结点天内量不应以多达16个,否则结点增加将缩减网络平台阻抗,亦会导致环境必需要欠佳,从而不能来先入行正常的无出扯电信。BOSCH摩托车电气与带电粒子中亦会这样描绘出,“LIN适配器标准中亦会没规定适配器无需的第二大结点天内。......但单单应以用中亦会,为了尽可能统计天内据传输统计天内据的性能,适配器无需的第二大结点天内为16个。”
实验证明(该实验不用考据),每增加一个结点,就亦会缩减约3%的阻抗;网络平台中亦会的电信导线总长度应以小于或总和40m;正机结点的适配器端电阻典型值是1kΩ,从机结点是30 kΩ。
LIN适配器的应以用
LIN适配器上可以传输统计天内据的两类统计天内据,路径终端和病因终端。
病因终端的输送是在很强两个原有常量的帧里面尚未完成的。统计天内据场的判断取决于统计天内据场本身以及电信结点的状况。
LIN很强分派表机制。分派表负责分派网络平台各终端发送给的先为后顺序。分派表在网络平台系统系统的设计确定。分派表使得LIN无线电很强可预测性。正目标可以持有多个分派表,并在有所不同的分派表相互间待机。
LIN的描绘出档案叫要用LDF档案,可以设置终端帧,路径和分派表等。
LIN帧的分类
LIN帧按照帧多种类型来分类可以包含都可帧、重大事件接踵而来帧、零星帧、病因帧、普通用户自定帧和原有帧。
都可帧的常量(ID)为0到0x3B。正目标送达终端背,一个目标自发,一个或多个目标调拨。
重大事件接踵而来帧的常量为0到0x3B。重大事件接踵而来帧必须有一个独立自主的ID,该ID可以与多个都可帧一般来说。在重大事件接踵而来帧时隙内发送给帧背,只有当一般来说的无必需要帧有数路径被改版时,才发送给帧自发。帧自发的第一个统计天内据元组总和常量,即自发最多可以传输统计天内据7个元组的统计天内据;如果没帧自发,帧背被忽稍。帧自发可由多个结点发送给,发生冲突时待机到“冲突解决分派表”,便再继续待机留在本来的分派表。
零星帧表示共用一个时隙、在不用才将被发送给的举例来说都可帧。常量为0到0x3B。
病因帧用来传输统计天内据病因或配有反馈,一般举例来说8个元组统计天内据。0x3C为正请求帧,0x3D为从自发帧(注意匹配方式则是classic!)。病因自发基于ISO15765-2传输统计天内据层和ISO14229应以用层。
病因帧
普通用户自定帧常量为0x3E,可以传输统计天内据任何普通用户自定的反馈。
原有帧的常量为0x3F。稍。
关于LIN的版本
LIN2.0另行增加了下列物件:“先入一步提高匹配和(Enhanced)”、“重另行配有和病因”、“波特率自动精确测量”、“自发出扯状况追踪”。LIN2.0从机结点无法与LIN1.3正机结点操作。
关于睡眠中亦会
正结点可以发送给相片ID为0x3c,第一个元组为零的正请求帧来使处于指导状况的从结点转至睡眠中亦会。这帧终端称作睡眠中亦会呼叫。
从结点在告知睡眠中亦会呼叫便,也可以选择不转至睡眠中亦会状况而独自指导,这根据应以用层协议而定。
当适配器空闲4到10秒的时候,所有从结点必须转至睡眠中亦会状况。(注:空闲的度量是没显性位和隐性位相互间的转换。)
关于觉醒
在一个处于睡眠中亦会状况的LIN网络平台中亦会,任何一个结点都可以发送给觉醒路径。
觉醒路径是一个250us到5ms的显性偏高电平。
弊端:这里的觉醒路径可否按照恒润的引论认知为在20Kbit/s波特率下的0x0F,或在1Kbit/s波特率下的0x0F?
当从结点送达觉醒路径便150ms,正结点仍尚未发送给报背时,从结点可以再继续次发送给觉醒路径。当月份发送给了3次觉醒路径便如果正结点仍尚未发送给报背,从结点要等待1.5秒以后才可以再继续次发送给觉醒路径。
除此以外回复: 20220508,获取LIN适配器基准!
阅读原文,关注作者知乎!
。株洲看妇科什么医院最好苏州白癜风专家
南京哪家医院做人流最好
长沙看牛皮癣去哪家医院比较好
海南皮肤病医院哪家比较专业
- 02-10洪江市委统战部:走访侨属湿人心 用情画好“同心圆”
- 02-10衰退警灯闪烁!策略师警告:美国经济或在明年初陷轻微衰退
- 02-10福建多地提醒
- 02-10新农合11月起正式监督,断缴1次,这些福利全部清零!
- 02-10市场现金库存日益减少华尔街忧心忡忡
- 02-10“盲水印”中有争议,知乎:已下线
- 02-10国防七子成立新近联盟
- 02-10原油期货多头剧增 机构OPEC+已无计可施
- 02-10新疆库尔勒市公开道歉 恳请广大市民继续大力支持疫情防控工作
- 02-10开封常店:不交200元乳酪费,不给课本,要交20元凳子费!