【基础知识】常见公式计算(三)

以下为你介绍CAN、LIN、SENT 等汽车嵌入式通信协议里的常用计算公式:

CAN(Controller Area Network)总线

1. 波特率计算

CAN 总线的波特率由位时间和采样点等参数决定,通常 CAN 控制器通过配置位时间寄存器来设置波特率。位时间可以分为同步段(SYNC_SEG)、传播段(PROP_SEG)、相位缓冲段 1(PHASE_SEG1)和相位缓冲段 2(PHASE_SEG2)。

  • 公式
    在这里插入图片描述

其中:
- BRP(Baud Rate Prescaler)是波特率预分频器的值。
- T_SYNC_SEGT_PROP_SEGT_PHASE_SEG1T_PHASE_SEG2 分别是各段的时间份额。

  • 解释:系统时钟为 CAN 控制器提供时钟源,经过预分频器和各段时间份额的分频后得到实际的波特率。

2. 位时间计算

位时间是指传输一位数据所需要的时间。

  • 公式
    在这里插入图片描述

其中 Tclk 是系统时钟周期。

  • 解释:它反映了 CAN 总线传输一位数据的时间长度,受预分频器和各段时间份额影响。

LIN(Local Interconnect Network)总线

1. 波特率计算

LIN 总线的波特率通常由主节点配置,通过定时器产生相应的时钟信号来实现。

  • 公式
    在这里插入图片描述

其中:
- PSC(Prescaler)是定时器预分频器的值。
- ARR(Auto - Reload Register)是定时器自动重装载寄存器的值。

  • 解释:定时器时钟经过预分频器和自动重装载寄存器的分频后得到 LIN 总线的波特率。

2. 帧传输时间计算

LIN 帧由同步间隔段、同步字节、PID(Protected Identifier)、数据字节和校验和字节组成。

  • 公式
    在这里插入图片描述

其中:
- T_sync是同步间隔段的位数(通常为 13 位)。
- T_PID是 PID 字段的位数(通常为 8 位)。
- T_data是数据字节的总位数(数据字节数×8)。
- T_checksum是校验和字节的位数(通常为 8 位)。

  • 解释:根据波特率和各部分的位数可以计算出整个 LIN 帧的传输时间。

SENT(Single Edge Nibble Transmission)协议

1. 周期时间计算

SENT 信号由同步脉冲和多个数据半字节(nibble)组成,一个完整的 SENT 消息周期包括同步脉冲和数据传输时间。

  • 公式
    在这里插入图片描述

其中:
- T_sync是同步脉冲的时间。
- T_nibble_i是第 i 个数据半字节的传输时间。

  • 解释:该公式用于计算一个 SENT 消息周期的总时间,同步脉冲时间和每个数据半字节的传输时间共同决定了整个周期。

2. 数据分辨率计算

SENT 协议的数据分辨率取决于时间测量的精度。

  • 公式
    在这里插入图片描述

其中 n 是用于表示数据的位数。

  • 解释:反映了 SENT 协议能够分辨的最小物理量变化,位数越多,分辨率越高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值