LIN总线(其二)

四.帧的结构

        LIN报文帧包括帧头(hearder)与应答(response)两部分。主机负责发送至帧头;从机负责接收帧头并作出解析,然后决定是发送应答,还是接收应答或不回复帧在总线上的传输如下图所示:

       帧头结构包括间隔场(BREAK)、同步(SYNC)以及标识符场(PID),应答部分包括数场(DATA)与效验和场(CHECKSUM)。标识符场唯一定义了帧的目的。而用于提供与标识符相关的帧响应的从机任务就会输送该目的总线值“0”为显性电平、“1”为隐性电平,这点与CAN总线相类似。在总线上实行“线-与”:当总线有至少一个节点发送显性电平时,总线呈现显性电平;所有节点均发送隐性电平或者不发送信息时,总线呈隐性电平,即显性电平着主导用。

帧的结构

节场:1 位起始位(Start Bit,显性) + 8数据位 + 1 位停止位(Stop Bit,隐性),总计10Bit,是一标准UART 据传输格式,在LIN 的一帧当中,除了间隔场,其他的各场都通过节场的格输的。LIN 帧中,数据传输都是先发LSB(Least Significant Bit,最低有效位),最后发送MSB (Most Significant Bit,最高有效位)。

字节场

(1)间隔场(Break Field):间隔场由同步间隔(Break)和间隔界定符(Break Delimiter)成。同步间至少持13(机节点的位速率为准)的显性电平,由于帧中的所有间隔或总线空闲时都应保持隐电平,并且帧中的任字段都不会发出大于9 位的显性电平,因此同步间隔可以标志一个帧的开始。间隔界定符是至少持续1位的隐性电平。注意:同步间隔发送显性电平的下限为13 位,上限为26位(保证帧的最大输时间THeader_Maximum规定范围之内。)间隔界定符发送隐性电平的下限1位,上14位(保证帧的最输时间THeader_Maximum在规定范围之内。)

间隔场

(2)同步场(Sync Byte Field):同步场是一个数据值为0x55的字节场(转换为二进制为01010101b)。即使从机任务期望是字节场,从机任务总是能够检测间隔场/同步场序列。当发生间隔场/步场序列时,应中止正在行的传输,并开始处理新帧。

同步场

波特率自适应:机节点可以不采用精度高的时钟,而采用片上振荡器等精度和成本相对较低的时钟,由此带来的与主机节点时钟产生的偏差,需要通过步场进行调整,调整的结果是使从机节点数据波特率与主机节点一致。同步场用于同步的基准时钟为主机节点的时钟

       从机节点通过接收主机节点发出的步场,测量起始位下降沿到第七位下降沿之间的时间,并将得到的值右移3位(除以8算出主机节点位速率,根据计算结果对自身的位速率重新作调整。

 

计算公式:1位时间=(第7位的下降沿时刻 - 起始位的下降沿时刻)/ 8

过计算,可以得到主机节点实际传输1 位所用的时间,波特率

(3)标识符场(Potected Identifier Field):标识符场的6 位叫作帧ID(Frame ID)加上两个奇偶校验位后称作受保护IDID 的范围在0x00~0x3F间,共64 个。帧ID 标识了帧的类别和目的地,也称标识符位。从机任务对于帧头作出的反应(接收/发送/忽略应答部分)都是依据帧ID 判断的。如果帧ID 传输错误,将会导致信号无法正确到达目的地,因此引入奇偶校验位。校验公式如下,其中“⊕”代表“异或”运算,“¬”代表“取非”运算。由公式可以看出,PID 不会出现全0 或全1 的情况,因此,如果从机节点收到了“0xFF”或“0x00”,可判断为传输错误

标识符场

奇偶检验计算公式:

P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4

P1 = ¬ (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

(4)数据场(Data Field):数据场可以包含1-8个字节。先发送编号最低的字节DATA1,编号依次增加至DATA8。对于拥有指定PID的帧来说,其所包含的字节数量应与发送节点和所有接受节点保持一致。

数据场

(5)检验和场(Checksum Field):和场是对帧中所传输的内容进行校验校验和分为传统型校验和(Classic Checksum)及增强型(Enhanced Checksum)。仅根据数据字节进行计算的校验和是传统型校验和,而根据数据字节和标识符进行计算的校验和是增强型校验和。校验方法为将校验对象的各字节作带进位二进制加法(每当结果大256 时就减去255),并将所得最终的和逐位取反,以该结果作为要发送的校验和。接收方根据校验型,对接收数据作相同的带进位二进制加法,最终的和不取反,并将该和与接收到的校验和作加法,结果为0xFF,则校验和无误,这在一定程度上保证了数据传输的正确性。

检验和场

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此一生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值