首页 > 其他分享 >车载测试系列:CAN协议之波特率

车载测试系列:CAN协议之波特率

时间:2022-12-02 11:56:15浏览次数:44  
标签:SS 总线 车载 测试 PBS2 波特率 标识符 ID

位时序分解

CAN协议把每一个数据位的时序都分解成了若干个段。其中包括SS、PTS、PBS1、PBS2段,这四段加起来即为一个CAN数据位的长度。分解后最小的时间单位为Tq,一个完整的位是由8~25个Tq组成的。如下图所示:

 

该图中表示的 CAN 通讯信号每一个数据位的长度为 19Tq,其中 SS 段占 1Tq,PTS 段占 6Tq,PBS1 段占 5Tq,PBS2 段占 7Tq。信号的采样点位于PBS1段与PBS2段之间,通过控制各段的长度,可以对采样点的位置进行偏移,以便准确地采样。

  • SS段(SYNC SEG)

SS 译为同步段,若通讯节点检测到总线上信号的跳变沿被包含在 SS 段的范围之内,则表示节点与总线的时序是同步的,当节点与总线同步时,采样点采集到的总线电平即可被确定为该位的电平。SS段大小固定为 1Tq。

  • PTS段(PROP SEG)

PTS 译为传播时间段,这个时间段是用于补偿网络的物理延时时间。是总线上输入比较器延时和输出驱动器延时总和的两倍。PTS段大小为 1~8Tq。

  • PBS1段(PHASE SEG1)

PBS1 译为相位缓冲段,主要用来补偿边沿阶段的误差,它的时间长度在重新同步时可以加长。PBS1段初始大小为 1~8Tq。

  • PBS2段(PHASE SEG2)

PBS2是另一个相位缓冲段,也是用来补偿边沿阶段误差的,它的时间长度在重新同步时可以缩短。PBS2 段的初始大小为2~8Tq。

波特率:一秒内在通信网络上传输的比特数,单位bps。表示信息在通信通道中传输的速率。

 

CAN总线上支持的不同波特率:

波特率

线缆长度

1 Mbit/s

30m-40m

500 kbit/s

100m-110m

250 kbit/s

240m - 250m

125 kbit/s

500m

小结:CAN总线的最高通信速率为1Mbps,实际使用中,只能比这个低,到底低到多少是根据实际应用环境的多方面因素决定的。
1. 如果一定量的信息必须在一定时间内发出去,例如2560个位,必须在5ms内送出,那么波特率可以定2560bits/0.005s=512000bps;
2. 还可以根据网络延时决定,如果位时间是2us,那么这个网络条件下的最快波特率就是500kbps;实际选定的时候,肯定要比最快值慢一点;

CAN通信协议总结

1. 两线制:CAN_H、CAN_L,两根信号线以差分电压的形式传输0、1信息,抗干扰能力强。

2. CAN虽没有单独的时钟信号,但为了实现位同步、网络节点中多个设备间的仲裁,须保持主从机使用相同的波特率。

3. 数据传输格式:以“帧”为单位,“帧”中包含ID(标识符)、DATA、帧格式、有效数据长度、标识符类型等信息。网络中不同的节点通过ID来识别和过滤信息。 每帧最多包含8个字节的有效DATA。 “帧”的另一种描述为“报文”。具体组成如下:IDR0-IDR3(4个字节的ID标识)、DSR0-DSR7(8个字节的数据)、DLR(1个字节的有效数据长度,指明前面8个字节寄存器中有几个数据是有效的)

4. 标识符ID:分为标准标识符(11bit)和扩展标识符(29bit)。

5. 波特率设置:须遵循CAN标准的时段设置(SEG2和SEG1有特定的组合约束),否则即使最终的波特率一致,也不能正常通信。

6. ID滤波和ID屏蔽设置:为了接收网络中特定的“帧”,CAN控制器使用一套ID过滤机制来判断是否接收数据。包括IDAR(8个标识符接收寄存器)、IDMR(8个标识符掩码寄存器)。

标签:SS,总线,车载,测试,PBS2,波特率,标识符,ID
From: https://www.cnblogs.com/laoluoits/p/16944017.html

相关文章