当前位置:首页 > 通信技术 > 通信技术
[导读]CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。

CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。

在面向字符的协议中的位同步实现起来很简单,在接受每个字符的起始位时进行同步。但在同步传输协议中,只有一帧的开始才有一个起始位。这通常不足以使接收器的位采样和发送器保持同步。为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断进行重新同步。重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期进行检测。在信号边沿间的最大时间周期内,发送和接受振荡器之间最大可能的时间差必须在一个位间隔内的标称采样点之前和之后通过足够的空闲时间(“相位缓冲段”)来补偿。

由于CAN协议使用非破坏性的位总线仲裁和显性应答位,信号从发送器传输到接收器再返回到接收器必须在一个位时间内完成。因此除了保留用于同步的时间外,还需要一个时间段(“传输延迟段”)对总线上的信号传输进行补偿以及用于发送和接收节点的内部信号延迟。

图 1所示为标称的位时间,划分为4个不重叠的时间段:

· 同步段(Sync_Seg)

· 传输时间段(Prop_Seg)

· 相位缓冲段1(Phase_Seg1)

· 相位缓冲段2(Phase_Seg2)

图 1 位时间的划分

一个位间隔的时间段的长度根据振荡器周期,被定义为一个基本时间单位(时间份额)的倍数。基本时间单位tq是表示同步机制时间分辨率的基本单位并且因为同步段而被引入到位时间中。同步段是位时间中CAN信号电平的边沿将要产生的那一部分。在同步段之后产生的边沿与同步段之间的距离称为该边沿的“相位误差e”。

传输延迟段提供必要的时间用于处理网络中的最大信号传输延迟。该时间段必须两倍于两个节点之间的最大信号传输延迟时间加上发送和接收节点的内部延迟时间之和。

需要区分两种类型的同步:帧起始处的“硬同步”和帧中间的“重新同步”。在硬同步之后,位时间在sync段结束时重新启动而不考虑相位的误差。这样硬同步强制产生硬同步的边沿延伸到重新启动的位时间的同步段中。重新同步导致位时间缩短或延长,从而使采样点产生移位。

通过标称采样点之前和之后的相位缓冲段,在重新同步时为实际采样点的移位保留了空闲时间。同步只发生在隐性位转换到显性位电平的边沿。通过在每个时间量内对总线的实际电平进行采样并和前一次采样点的总线电平相比较可检测出边沿。如果在同步段内检测到边沿,那么该边沿可实现同步,否则信号边沿与同步段的结束之间的距离就是边沿相位误差(以时间量计算)。如果边沿发生在同步段之前,相位误差为负,否则为正。

如果相位误差为正,相位缓冲段1将被延长。每次重新同步时,相位缓冲段缩短或延长的数量(“同步跳转宽度”,SJW)的最大值受到限制,它可编程为1和Min{4, Phase_Seg1}之间的值。

当信号边沿相位误差的数值小于或等于SJW的编程值。硬同步和重新同步的值将是相同的。如果相位误差的数量大于SJW,重新同步将无法完全补偿相位误差,这样误差(相位误差-SJW)仍然存在。

在两次采样点之间只允许执行一次同步。重新同步维持了边沿和采样点之间的最小距离,使总线电平的稳定和滤除尖峰的时间小于传输段和相位段1时间之和。

一个位时间内不同的段可按照下面的限度进行编程:

· Sync_Seg:            1 时间份额

· Prop_Seg1:          1...8或更多 时间份额

· Phase_Seg1:        1...8或更多 时间份额

· Phase_Seg2:        Max{Phase_Seg1,信息处理时间}

· 波特率预分频器:    1...32

· SJW:                    1...4 ,但是不大于Min{4, Phase_Seg1}

在同步的时候,Phase_Seg1可以长于编程的标称时间而Phase_Seg2可以短于标称时间。

“数据处理时间”从采样点之后开始,它是用于决定随后发送的位电平的时间(例如,数据位、CRC位、填充位、错误标志或空闲)。该时间不能大于2个时间量。其长度为Phase_Seg2编程值的下限。在同步时Phase_Seg2可以小于数据处理时间,这不会影响总线的时序。

每个位时间的时间份额值必须设置为8到25的范围内。

图 2 重新同步的原理

图 2中所示为重新同步的原理。如果发送器的振荡器比接收器的慢(a),用于同步的信号边沿将延迟到达接收器。接收器可通过采样点的移位进行补偿。可补偿的最大累积“延迟”(边沿相位误差)由相位段1所保留的时间确定。在重新同步过程中,如果相位误差的值小于等于SJW,采样点则根据所发生的边沿相位误差e进行移位,并因此恢复与当前位位置相关的采样点的位置。当发送器的振荡器比接收器的快时(b),信号边沿的到达比接收器预期的要早,因此下一个位时间间隔必须提前启动。这通过缩短相位缓冲段2来实现。这种情况下,同步段被省略了,因此在重新同步之后,从信号边沿到采样点之间的距离和同步段到采样点之间的距离相等(如果没有检测到边沿)。在第一个例子中,该“提前”边沿的相位误差值小于SJW,因此可以实现完全补偿。

相位缓冲段只是暂时改变,在下一个位时间里如果没有检测到相位误差,它们将恢复为标称值。接收器希望边沿出现在同步段当中。

下面是应用于位同步的规则 [ISO99-1]:

· 在一个位时间内的两次采样点之间只有一次同步。

· 只有在前一个采样点检测到的信号电平与后一个采样点的信号电平不同时,才能使用从隐性到显性的信号边沿进行同步。短暂的干扰脉冲是不起作用的。

· 只要在总线空闲时出现一个隐性到显性的信号边沿,就会执行一个“硬同步”(新的位时间间隔的起始)。

· 在帧间空间中(间歇场的第一位除外)隐性到显性的信号边沿会导致执行一个硬同步。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:针对通信系统中解调电路体积大、结构复杂、抗干扰能力差等缺点,通过深入研究数字解调原理,设计并实现了基于FPGA的QPSK全数字中频解调器。该系统采用数字Costas环来完成载波同步电路设计,同时采用基于Gardne...

关键字: 数字解调器 FPGA 载波同步 位同步

CAN和CANopen区别

关键字: canopen can

工业现场CAN环境复杂多变,工程师面对信号的杂、乱、差却是束手无策,追根溯源对于信号的各种地你接对了吗?CAN总线以其高可靠性、实时性、灵活性以及严谨的数据处理机制等特点,在工业现场和汽车行业得到广泛应用,但随着环境干扰...

关键字: can 通信技术

你知道常常弄混的总线分类吗?总线是什么?度娘的完整定义总线是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类。

关键字: 系统总线 lin can fd技术

奔驰推出Smart汽车专用iPhone助驾系统 戴姆勒集团(戴姆勒奔驰)日前宣布,将为旗下迷你车品牌Smart fortwo推出一套整合iPhone的娱乐、导航一体化系统,这将是第一款由汽车厂商开发

关键字: 电动车 can 驱动

摘要:基于提高CAN总线组网能力的考虑,提出一种新颖的CAN中继器设计方法;阐述以LPC2119控制器为核心的硬件设计方案;详细分析在μC/OSII实时操作系统下的软件实现过程;针对中继器

关键字: can 中继器 lpc2119 cosii

  在中国移动及产业链加紧布局TD-LTE长期演进技术的同时,作为TD-SCDMA近期演进技术——多载波TD-HSPA+最近也获得了重大突破,这无疑是TD-SCDMA产业

关键字: can lin 通信网络

  从家庭住屋到大型住宅楼和办公楼及至工厂,建筑物自动化都是发展越来越多的一个极重要方面。受需要增强安全性和提高能源效率这两项21世纪最重要优先任务的推动,建筑物和工业厂房中运行的系统变得越来越

关键字: can 汽车网络

  CAN波特率的简单计算   假设我们先不考虑BTR0中的SJW位和BTR1中的SAM位。那么,BTR0和BTR1就是2个分频系数寄存器;它们的乘积是一个扩展的分频系数。即:

关键字: can 波特率

  CAN网络阻抗   问题的开始是由CAN网络开始的,如下图是一个CAN的网络的基本模型,两端是120欧姆的电阻,   can网络用的线材的特性阻抗是也是120欧姆的,下面有几

关键字: can
关闭
关闭