楼梯 技术支持 东莞网站建设,南京那些公司做网站,制作表格的软件app,百度最新推广产品本文框架1.前言2. 位时间2.1 位时间定义2.2 位时间计算3. Tq3.1 Tq的计算3.1.1 举个例子3.2 位时间与Tq的换算4. 采样点同步4.1 硬同步4.2 重同步4.2.1 延长PBS1的重同步4.2.2 缩短PBS2的重同步1.前言
本篇记录些关于CAN的一些学习笔记#xff0c;说实话CAN协议发展的已经非常…
本文框架1.前言2. 位时间2.1 位时间定义2.2 位时间计算3. Tq3.1 Tq的计算3.1.1 举个例子3.2 位时间与Tq的换算4. 采样点同步4.1 硬同步4.2 重同步4.2.1 延长PBS1的重同步4.2.2 缩短PBS2的重同步1.前言
本篇记录些关于CAN的一些学习笔记说实话CAN协议发展的已经非常成熟了网上关于CAN通信的分享非常多很多文章讲得而比较好自己总结的这篇不是枯燥的理论会结合具体的例子进行计算相对于新手会更容易理解些言归正传下面进入正题。
2. 位时间
2.1 位时间定义
由发送单元在非同步的情况下每秒钟发送的位数称为位速率即一个二进制位在总线上传输所需要的时间。 位时间的组成包括四个部分同步段、传播段、相位缓冲段1及相位缓冲段2四部分组成其排列顺序示例如下 同步段SS: Synchronization Segment每个位的传输从同步段开始用于同步各节点同步进行接收和发送的工作。 长度对应1个Tq
传播段PTS: Propagation Time Segment用于吸收网络上的物理延迟的段。 所谓的网络的物理延迟指发送单元的输出延迟、总线上信号的传播延迟、接收单元的输入延迟这个段的时间为以上各延迟时间的和的两倍。 其长度对应1~8个Tq
相位缓冲段1:同步过程中可以对TSEG1进行延长此外为方便编程许多CAN模块将传播段及TSEG1合并为一段。 最小为3个Tq
相位缓冲段2:同步过程中可以对TSEG2进行缩短。 最小为2个Tq
2.2 位时间计算
在计算位时间前需要知道波特率虽然波特率与比特率在定义上有所区别但对于CAN总线上的传输而言可以认为其数值是一样的即1/波特率为传输一个Bit所需的时间
举个栗子 对于传输速率为500KBaud标准CAN而言其位时间即为1/500kbaud 2us/Bit
3. Tq
即Time Quantum时间量子或者一个时间份额。
3.1 Tq的计算
涉及到CAN的时钟频率及波特率分频系数BRP TqBRP/fCAN
3.1.1 举个例子
对于fCAN100MHzBRP10的case, Tq10/100 us0.1us
3.2 位时间与Tq的换算
一个位时间由多个Tq组成根据标准规定一个位时间最小由8个Tq组成。
举个栗子 传输速率为500KBaud标准CAN且fCAN100MHzBRP10的case换算如下 位时间 1/500k 2us/Bit Tq 10/100 us0.1us
位时间/Tq20即每个Bit由20个Tq组成。
4. 采样点同步
所谓采样点是读取总线电平并将读到的电平作为位值的点其位置在相位缓冲段1结束处。
在实际通信过程中由于发送单元和接收单元存在的时钟频率误差及传输路径上的电缆、驱动器等相位延迟会引起同步偏差为保证报文接收节点能在正确的采样点采集到准确的电平就需要重新进行同步同步的方式有两种硬同步及再同步。
4.1 硬同步
硬同步接收单元在总线空闲状态检测出帧起始时进行的同步调整在检测出边沿的地方不考虑 SJW 的值而认为是 SS 段直接同步到SS位其示意如下
4.2 重同步
检测到下降沿后通过对自身相位缓冲段进行延长或者缩短而实现的同步延长或缩短的最大范围受SJW(再同步补偿宽度)的限制该变量定义了重同步的最大Tq SJW必须满足的两个条件 SJW不得大于PBS1和PBS2的最小值 2SJW最大不能超过4
4.2.1 延长PBS1的重同步
适用情况隐性电平到显性电平的边沿出现在PTS和BPS1间即发的比收的慢延时等一等。
举个例子当SJW2在PTS段检测到下降沿较发送节点早了两个Tq此时通过延长PBS1段2个Tq此时采样点经过补偿后刚好与发送节点相同。 4.2.2 缩短PBS2的重同步
适用情况隐性电平到显性电平的边沿出现在BPS2即发的比收的快这个周期赶不上了下个周期追回来。。