ds1302时钟芯片工作原理及说明_晶振时钟

ds1302时钟芯片工作原理及说明_晶振时钟CAN同步机制,你真的了解吗?CAN总线作为异步通信方式,收发双方节点需约定相同的波特率进行通讯,但由于各种因素影响,接收方的数据总会有误差,当误差过大时,整个通讯网络将不能正常通讯。那么,该如何保障CAN节点之间通信同步呢?CAN同步机制1、CAN时钟首先了解一下CAN总线系统中的两个时钟

CAN同步机制,你真的了解吗?   CAN总线作为异步通信方式,收发双方节点需约定相同的波特率进行通讯,但由于各种因素影响,接收方的数据总会有误差,当误差过大时,整个通讯网络将不能正常通讯。那么,该如何保障CAN节点之间通信同步呢?   CAN同步机制   1、CAN时钟   首先了解一下CAN总线系统中的两个时钟:晶振时钟周期和CAN时钟周期。晶振时钟周期:是由单片机振荡器的晶振频率决定的,指的是振荡器每振荡一次所消耗的时间长度,也是整个系统中最小的时间单位。CAN时钟周期:CAN时钟是由系统时钟分频而来的时间长度值,实际上就是一个时间份额Tq。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图1 CAN时钟与位时间的关系   其中,CAN位时间表示CAN的一位二进制数据所保持的时间,具体关系如图2所示。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图2 CAN总线二进制报文与位时间关系   2、位时序CAN总线作为串行通信,发送单采用不归零编码,将数据以位流形式发送到总线上,并且每一位数据位宽都由CAN控制器的N个时钟周期组成,该时钟周期则为最小的时间单位Time Quantum(以下称为Tq),这N个Tq被分为四段:同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)、相位缓冲段2(PBS2),而采样点位置处于PBS1和PBS2的交界处。   1位分为4个段,每个段又由若干个Tq构成,这称为位时序,如图3所示。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图3 同TQ数量情况下不同采样点的配置时序   其中,各段的作用为:同步段(SS:Synchronization Segment):CAN网络中的所有节点,在接收一位数据时,以此段作为位起始的参考点,进行下降沿的检测,统计下降沿基于SS段的偏移,然后进行位时序的调整,使接收趋于同步(下降沿在理想情况下应出现在SS段)。需注意,进行位时序调整的条件是检测到下降沿,若无下降沿则不进行调整,因此为了避免多个相同连续位出现导致位时序得不到调整,产生不同步的情况,CAN控制器增加了填充位的概念,当出现连续5个相同位后,添加一位相反电平的填充位。SS段长度固定为1个Tq。传播时间段(PTS:Propagation Time Segment):CAN总线上数据的传输会受到物理延迟,比如发送单的发送延迟、总线上信号的传播延迟、接收单的输入延迟等,PTS段就是用来补偿这些因素产生的时间延迟。而PTS段长度至少应为这些因素产生的时间延时的2倍,PTS段长度至少为1个Tq。相位缓冲段1(PBS1:Phase Buffer Segment 1):若下降沿延后N个Tq,且延迟不大于同步跳转宽度,使得原本位时序中采样点位置提前N个Tq,则需要对PBS1段增加N个Tq数(使采样点位置延后N个Tq),吸收这段误差。PBS1段长度至少为1个Tq。相位缓冲段2(PBS2:Phase Buffer Segment 2):若跳变边沿提前N个Tq, 且不大于同步跳转宽度,使得原本位时序中采样点位置延后N个Tq,则需要对上一个位时序的PBS2段减少N个Tq数(使采样点位置提前N个Tq),吸收这段误差。PBS2段长度至少为2个Tq。重同步补偿宽度(SJW: reSynchronization Jump Width):SJW为PBS1增加或PBS2减少的最大Tq数。   3、CAN同步的策略CAN同步是以位为单位,每接收一个下降沿,则进行一次同步。发送单以约定好的位时序进行数据发送。接收单根据总线上接收到的下降沿进行位时序同步。   但是,发送节点和接收节点作为互相独立的硬件个体,时钟频率误差、传输路径上的(电缆、驱动器等)相位延迟等都会引起时序偏差。因此接收单需通过硬同步或者重同步的方法进行位时序调整。如图4帧结构所示,硬同步只在空闲状态检测出第一个下降沿(帧起始下降沿)时进行,而重同步则在其余各段进行。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图4 CAN标准数据帧结构   4、硬同步接收单在总线空闲状态检测出第一个下降沿时(对应报文的SOF下降沿)进行的同步调整。在检测到SOF的下降沿时,直接将此下降沿的位置认为是SS段,然后按照位时序对信号进行采样,达到同步的效果。硬同步的过程如图5所示。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图5 硬同步将下降沿位置标识为SS段   5、重同步硬同步只是在总线空闲时检测出下降沿(帧起始)时进行,后续CAN报文数据位的同步则需要通过调整位时序来进行重同步。在接收过程中检测出总线上的下降沿来临时,根据SJW值通过加长PBS1段,或缩短PBS2段,以调整同步。但如果发生了超出SJW值的误差时,最大调整量不能超过SJW值。重同步的过程如图6、图7所示。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图6 同步前下降沿延后2个Tq
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟图7 同步后PBS1增加2个Tq   其中,图6可以有另一种理解:CAN总线上通讯的误差我们也可以量化,量化成Tq数。图6中对误差的量化结果为下降沿延后2个Tq,因此在图7重同步时在PBS1段增加2个Tq;但总线误差真的就刚好是2个Tq吗?答案是否定的,当位时序总Tq数越大,对误差的量化就会越精确,重同步的同步效果就越理想。因此,合理配置位时序的Tq数极为重要。   6、位时序计算   位时序在底层、微观上可体现为误差的量化,在上层、宏观上又体现为波特率(Baud)和采样点位置(Samp_pos)。在位时序中,波特率的表现形式为总Tq数,采样点位置的表现形式为各段的Tq数(采样点位置处于PBS1和PBS2的交界处)。他们之间的换算关系如下。其中:CLK为当前时钟频率,DIV是分频系数。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟   若当前时钟频率CLK=80M,用户配置Baud =1M,Samp_pos =80%。DIV=1时,Tq个数N = 80M/1M = 80;DIV=2时,Tq个数N = 80M / 2 / 1M = 40。   以40个Tq数为例(SS+PTS+PBS1+PBS2=40),各段Tq数应满足以下计算公式,其中TSEG1为PTS和PBS1的合并(CAN控制器将二者视为一段),TSEG2为PBS2段。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟   计算可得SS=1,TSEG1 = 31,TSEG2=8。通过计算结果配置CAN控制器相应寄存器,即可得到相应的波特率及采样点位置。   注意,不同的分频系数DIV,对应不同的Tq数,但都满足位时序要求,在选择时我们应尽可能选择小的分频系数(多的Tq数),这样的位时序调整会更加准确,同步效果越理想。   总结   CAN总线没有时钟线,严格来讲并不是同步通讯,但它存在位时序调整这种特殊的同步机制,使得CAN通讯的可靠性无限接近于同步通讯。因此,即使汽车的电子控制单(ECU)在不断增加,但CAN总线依旧凭借自身的高可靠性,在汽车控制领域被大量应用。   ZPS-CANFD是致远电子总线分析仪第二代CAN总线开发辅助工具,是适用于CANFD、CAN、LIN总线的测量及测试仪器,支持总线数据的发送和接收,高层协议解析及诊断,能对CANFD、CAN总线物理层电气信号实时采集和记录,并附带有高速模拟通道、通用数字IO及模拟IO,通过提供的硬件接口及软件功能,用户能够便捷地构建总线信号测量与分析、节点功能仿真及测试、网络可靠性诊断及评估的自动化系统。
ds1302时钟芯片工作原理及说明_晶振时钟
ds1302时钟芯片工作原理及说明_晶振时钟

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/39070.html

(0)
上一篇 2024年 9月 8日
下一篇 2024年 9月 8日

相关推荐

关注微信