wordpress自动发布网站,深圳公司排名名字,怎么做电子商务的网站,南昌淘宝网站制作公司位定时与同步
1.位时间
1.1相关基本概念 1#xff09;系统时钟#xff1a;记为 t c l k t_{clk} tclk#xff1b; 2#xff09;CAN时钟周期#xff1a;CAN时钟是由系统时钟分频而来的一个时间长度值#xff0c;表示CAN控制器的工作时钟#xff0c;实际上就是一个时…位定时与同步
1.位时间
1.1相关基本概念 1系统时钟记为 t c l k t_{clk} tclk 2CAN时钟周期CAN时钟是由系统时钟分频而来的一个时间长度值表示CAN控制器的工作时钟实际上就是一个时间份额 t Q t_Q tQ。可以按照下面的公式计算 时间份额 t Q t_Q tQ1. CAN控制器的一个时钟周期 2. CAN控制器工作的最小时间单位 3BRP叫做波特率预分频值baud rate prescaler 由前面的图可知上述三者存在以下的公式关系 t Q t c l k × B R P t_Qt_{clk}\times BRP tQtclk×BRP 注意可以在网络上看到一些博客把上述公式记为 t Q t c l k × ( B R P 1 ) t_Qt_{clk}\times (BRP1) tQtclk×(BRP1)。实际上分频值是存在一个寄存器里面的且从0开始这里是取得BRP的值为该寄存器里面的实际值也是对的至于这两种写法谁更标准可能需要去翻阅相关官方文档。 4 位时间位时间表示一个二进制位在总线上传输时所需要的时间。如上图所示在本文中则指的是CAN通信的位时间。 一个位可以分为四个时间段每个段 又由若干个 t Q t_Q tQ构成位时间大概包含8~25 t Q t_Q tQ 波特率 1 位时间 波特率\frac{1}{位时间} 波特率位时间1
1.2 位时间分段 1同步段Synchronization Segment 固定长度为一个 t Q t_Q tQ一个位的传输时从同步开始的同步段用于同步总线上的各个节点多个连接在总线上的单元通过此段实现时序调整从而能同步进行接收和发送的工作一个位的跳变沿在此时间段内 2传播段Propagation Segment(记为 t P r o p t_{Prop} tProp) 传播段时长可编程1~8个时间份额 t Q t_Q tQ。传播段用于补偿报文在总线和节点上传输时所产生的时间延迟传播段时长 ≥ 2 × \ge 2 \times ≥2× 报文在总线和节点上传输时产生的时间延迟 传播延时 其中发送单元的输出延迟接收单元的输入延迟分别表示CAN收发器到CAN控制器之间的延时。 在CAN网络上两个节点之间进行通信CAN报文首先从控制节点的控制器发出经过CAN收发器发送到总线上再通过一段距离的传输到达接收节点的CAN收发器CAN控制器最后接收节点发出ACK显性应答位重复上述过程到达发送节点可以看到一次单向传输的延迟包括发送单元的输出延迟总线上信号传播延迟接收单元的输入延迟。 3相位缓冲段1Phase Buffer Segment1和 相位缓冲段2Phase Buffer Segment2 用于补偿总线上的边沿相位误差用于补偿节点间的晶振误差允许通过重同步延长PBS1或缩短PBS2从而补偿同步误差因为时钟的偏差传送延迟等各单元会有同步误差PBSPBS2在PBS1时间段的末端进行总线状态的采样长度可编程PBS1为18$t_Q$、PBS2为28 t Q t_Q tQ 同步跳转宽度SJW(reSynchronization Jump Width) a. SJW是相位缓冲段PBS1和PBS2调整的最大值。 b. SJW的值可以通过编程从1~4中取值。 c. SJW的值 ≤ min { P B S 1 , P B S 2 } \le\min\{PBS1,PBS2\} ≤min{PBS1,PBS2} d. 由于PBS1PBS2加上前面b和c进一步可以推导出1 ≤ \le ≤SJW的值 ≤ min { P B S 1 , 4 } \le\min\{PBS1,4\} ≤min{PBS1,4}。 问题:对于SJW的值为什么只能取1~4还是很疑惑。 4采样点Sample Point 采样点一般位于相位缓冲段1之后采样点是读取总线电平并解释各位的值的一个时间点采样点对CAN总线来说也非常重要尤其在组网的时候多个节点尽量保持同一个采样点且最好在但不超过7/8位时间点上。
1.3 总线分段
CAN从总线采用的是一部串行通信为了保证报文的接收节点能在正确的采样点采集到准确的点评因此采用了总线同步的机制CAN的同步则包括了硬同步和重同步。 同步规则 a. 一个位时间内只允许一种同步方式 b. 任何一个“隐性”到“显性”的跳变都可用于同步。 1硬同步 硬同步发生在SOF位所有接收节点调整各自当前位的同步调整宽度不限使其位于发送的SOF内。 例子 当总线出现帧起始信号时某节点检测到帧起始信号不在节点内部时序的SS段范围所以判断它自己的内部时序与总线不同步因而这个状态的采样点采集得得数据是不正确的。所以节点以硬同步的方式调整把字节的为时序中的SS段平移至总线下出现下降沿的部分获得同步同步后采样点就可以采集得到正确的数据了。 从这个例子也可以看出硬同步只是在SOF时起作用并不能确保后续的CAN帧的位时序都是同步的。那么后续CAN帧的位时序同步都是怎么保证的呢此时就需要引入重同步了。 2重同步 重同步是指接收节点检测出出了SOF位意外的其他位通过调整位时序进行的同步调整。重同步会通过加长PBS1或者PBS2来调整同步从而保证采样点的准确。 例子1 当发送端跳变沿落比接收端跳变沿晚两个 t Q t_Q tQ则接收端节点的PBS1应该延长两个 t Q t_Q tQ则可使得发送端和接收端的采样点对齐。 例子2 当发送端跳变沿落比接收端跳变沿早两个 t Q t_Q tQ则接收端节点的PBS2应缩短两个 t Q t_Q tQ那么接收端的下一个位时间中采样点可以提前两个 t Q t_Q tQ从而使得发送和接收端的下一位采样点能够同步。