CAN总线中位定时的设定方法
can总线用法 -回复
can总线用法-回复CAN总线用法CAN (Controller Area Network) 总线是一种广泛应用于汽车、工业控制和航空等领域的通信协议。
它的特点是高度可靠、实时性强以及适用于复杂环境。
CAN总线采用了多主从结构,允许多个节点同时传输数据,因此它是一种非常灵活的通信协议。
本文将详细介绍CAN总线的用法,并逐步回答中括号内的内容。
一、CAN总线基础1. 什么是CAN总线?CAN总线是一种串行通信协议,用于实现多个节点之间的数据传输。
它的结构包括单一的总线线路,连接多个节点,每个节点通过识别标识符来进行数据交换。
2. 为什么选择CAN总线?CAN总线具有以下几个优点:高度可靠性、实时性强、适用于复杂环境、支持多主从结构、能够进行错误检测和纠正等。
因此,在汽车、工业控制以及航空等领域中得到广泛的应用。
二、CAN总线的应用1. 汽车电子系统CAN总线在汽车电子系统中起着至关重要的作用。
它连接不同的电子控制单元(ECU),如引擎控制单元(ECU)、刹车控制单元(EBCU)、仪表盘等。
通过CAN总线,这些单元能够相互通信,实现数据共享和控制。
比如,ECU可以向仪表盘发送车速信息,以便驾驶员能够及时了解车速情况。
2. 工业控制系统CAN总线在工业控制系统中也得到广泛应用。
它可以连接各种传感器、执行器等设备,实现数据采集和控制。
比如,在一个自动化生产线中,通过CAN总线连接各种传感器,可以实时监测生产状态,并通过执行器控制设备的运行。
这样可以提高生产效率和质量。
3. 航空航天领域CAN总线在航空航天领域也是必不可少的。
它可以连接飞机上的各种航电设备,进行数据交换和控制。
比如,通过CAN总线,飞行控制系统可以与发动机控制系统进行数据交换,实现精确的飞行控制。
三、CAN总线的配置1. 物理连接CAN总线的物理层通常采用双绞线,其中一根线为CANH,另一根为CANL。
这两根线通过一个120欧姆的终端电阻连接在一起。
CAN协议的错误处理及位定时
CAN 协议的错误处理及位定时1 错误的处理 1.1 错误的种类错误共有5种:① 位错误,② 填充错误,③CRC 错误,④ 格式错误,⑤ 应答错误。
2个或2个以上的错误有可能同时出现。
错误的种类、错误的内容、检测错误的帧及检测单元如表l 所示。
表1 错误的种类检测出错误条件的单元通过输出错误标志通知出现错误。
错误激活状态单元输出的错误标志为激活错误标志;错误认可状态单元输出的错误标志为错误认可标志。
表2 错误标志的输出时间2 位定时在没有重新同步的情况下, 发送单元可以发送信息; 每秒钟可以发送的位数称为位速率。
l 位可以划分为下列4个片段:① 同步段(SS),② 传播段(PTS),③ 相位缓冲段l(PBS1),④ 相位缓冲段2(PBS2)。
可以将这些段看成是由最小的单位——时间量程(以下简称Tq)构成的。
Tq 的含义为实现CAN 协议的基准时钟。
l 位的构成如图l 所示。
各片段的作用与Tq 的数目如表3所示。
下面对两个概念稍加说明。
采样点——读取总线上的电平、并将其作为位值的点。
采样点位于PBS的结尾处。
位时间——将l位分成4个片段,再将各片段按最小单位Tq加以分割后,其构成称为位时间。
可能会有“1位由多少个Tq构成? 各片段义分别是由多少个Tq构成的?”等问题,实际上,位定时可以任意设定,通过设定位时间,多个单元可以在同样的时间里抽样,而且可以任意设定采样点。
表3 各片段的作用2.1 同步CAN协议采用的是不归零(NRZ)通讯方式。
在各位的起始处与结尾处不附加同步信号。
发送单元与位时间同步开始发送数据。
而接收单元按总线上的电平变化加以同步的同时,完成接收动作。
但是,由于时钟的误差及传输线路(电缆、驱动器等)的相位延迟,发送单元与接收单元之间有时可能出现同步偏离,因此接收单元要进行硬同步或者是再同步,以对准时间进行接收。
2.1.1 硬同步在总线处于空闲状态、接收单元检测到SOF时,所进行的同步。
CAN总线协议
CAN总线协议协议名称:CAN总线协议一、引言CAN总线协议是一种广泛应用于汽车、工业控制、航空航天等领域的通信协议。
本协议旨在规范CAN总线通信的物理层和数据链路层,确保数据的可靠传输和系统的稳定性。
二、术语和缩略语2.1 术语- CAN(Controller Area Network):控制器局域网,指一种串行通信总线。
- CAN节点:连接在CAN总线上的设备或系统。
- 帧(Frame):CAN总线上的数据传输单位,包括数据和控制信息。
- 数据域(Data Field):帧中用于传输数据的部分。
- 标识符(Identifier):用于唯一标识CAN帧的字段。
- 帧格式(Frame Format):CAN帧的结构和格式。
- 位定时器(Bit Timing):用于控制CAN总线上的位传输速率的定时器。
2.2 缩略语- DLC(Data Length Code):数据长度码,用于指示数据域的字节数。
- ACK(Acknowledge):确认信号,用于指示数据是否被接收。
- CRC(Cyclic Redundancy Check):循环冗余校验,用于检测数据传输中的错误。
- Baud Rate:波特率,用于表示CAN总线上的数据传输速率。
三、物理层规范3.1 传输介质CAN总线协议可以使用双绞线、光纤等传输介质,具体选择应根据系统需求和环境条件进行合理选择。
3.2 电气特性CAN总线协议采用差分信号传输方式,传输线上的电压差应符合以下规范:- 高电平:+2.5V至+5V- 低电平:-2.5V至-5V传输线上的电压差应保持在2V以上,以确保信号的可靠传输。
3.3 位定时器设置CAN总线协议的位定时器应根据系统需求进行合理设置,以确保数据的稳定传输。
位定时器的参数包括以下内容:- 传输速率:根据系统需求设置波特率,常见的波特率有125Kbps、250Kbps、500Kbps和1Mbps等。
- 采样点设置:设置采样点的位置,常见的设置为87.5%。
CAN总线的使用
CAN总线的使用1、硬件连接方式硬件电路如下图所示:图中,D1(IL712)是磁隔离器件,其作用为了使各下井仪之间实现电气隔离。
各下井仪需要为D1提供两组+5V电源,图中标为VCC1和VCC2。
其中,VCC1为仪器内部数字电源,提供给单片机C8051F041和其它数字电路;VCC2是隔离电源,用于给IL712和TJA1050供电,电源电流应大于75mA。
C1、C2为两组电源的滤波电容。
D1的2脚与C8051F041(图中未画)的7脚(CANTX)直接连接,D1的3脚与C8051F041的6脚(CANRX)直接连接。
D2(TJA1050)为CAN总线收发器,该器件应用VCC2供电。
C3为该器件的滤波电容。
D2的输出CANH(6脚)、CANL(7脚)直接连接到下井仪的总线上。
R1、R2、C4为CAN总线终端匹配电阻的接法,这三个器件只需要在处在下井仪串上下两端的仪器中需要。
即:在某仪器中,如果CAN总线是贯通线,则不能连接这三个器件,反之,如果在该仪器中,如果CAN总线不是贯通线,则需要连接这三个器件。
输出的CANH和CANL应双绞。
2、软件使用方法编程者应该熟悉以下两本资料:《C8051F040/1/2/3/4/5/6/7混合信号ISP FLASH微控制器数据手册》《Bosch’s C_CAN User’s Manual》在下井仪中建议采用C8051F041或C8051F040单片机,该单片机内部集成了Bosch CAN控制器。
以下简要介绍C8051F04x单片机和Bosch CAN控制器及其软件编程方法。
2.1 C8041F04x单片机SFR的分页机制C8051F04x系列MCU对CIP-51内核和外设有几项关键性的改进,提高了整体性能。
其中与编程密切相关的一点是使用了SFR(特殊功能寄存器)分页机制,允许器件将很多SFR映射到0X80~0XFF这个存储器空间。
C8051F04x器件使用了5个SFR页:0、1、2、3和F。
CAN的工作原理
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车和工业领域的串行通信协议。
它的工作原理是通过差分信号传输来实现高可靠性和抗干扰能力。
CAN协议采用了分布式的总线结构,其中包含多个节点,每一个节点都可以发送和接收数据。
节点之间通过双线(CAN_H和CAN_L)进行通信。
CAN_H和CAN_L之间的电压差异表示数据的逻辑状态,高电平表示逻辑“0”,低电平表示逻辑“1”。
CAN的工作原理可以分为两个基本模式:数据帧传输和远程帧传输。
在数据帧传输模式下,发送节点首先准备好数据帧,包括数据、标识符和控制位等信息。
然后,发送节点将数据帧通过CAN总线发送出去。
接收节点在接收到数据帧后,会进行数据的解析和处理。
在远程帧传输模式下,发送节点发送一个远程帧请求给接收节点。
接收节点收到请求后,会返回一个数据帧,包含了请求的数据。
CAN的工作原理还包括以下几个关键概念:1. 位定时:CAN总线上的每一个节点都需要同步自己的位定时,以确保数据的准确传输。
位定时由一个定时器和一个采样点组成,定时器用于确定位的开始和结束时间,采样点用于确定数据的采样时间。
2. 状态迁移:CAN总线上的节点可以处于不同的状态,包括空暇状态、发送状态、接收状态和错误状态。
节点之间的状态迁移是通过发送和接收数据帧来触发的。
3. 确认机制:发送节点在发送数据帧后,会等待接收节点的确认信息。
如果接收节点正确接收到数据帧,会发送一个确认信息给发送节点。
如果发送节点没有收到确认信息,会认为数据帧发送失败,并进行重发。
4. 冲突检测:CAN总线上的节点可以同时发送数据帧。
如果发生冲突,节点会检测到总线上的电压差异,并住手发送数据。
然后,节点会根据优先级规则重新发送数据帧。
5. 错误检测和纠正:CAN总线上的节点可以检测到错误,并进行相应的纠正。
常见的错误包括位错误、帧错误和仲裁错误。
位错误是指在位定时过程中浮现的错误,帧错误是指在数据帧传输过程中浮现的错误,仲裁错误是指在冲突检测过程中浮现的错误。
浅谈CAN总线的位定时参数
浅谈CAN总线的位定时参数
1.概述
CAN 总线通信中,波特率、位周期内采样次数和采样位置都可以通过编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。
优化位定时参数,能够保证信息同步、通信性能、传输延迟和晶振误差在极端条件下进行恰当的错误检测。
然而系统的有些性能是相互冲突的,例如,在位周期末端部分选择采样点可以使传播延迟有更大的容差,这时总线长度可以更长;如果在位周期的中点附近选择采样点,则系统的每个节点可以有更大的振荡器容差。
可以明显地看出振荡器容差和总线长度是互相冲突的,它们只有通过优化位定时参数才能兼备。
本文将通过一个CAN 总线控制网络介绍CAN 总线位定时参数的基本概念和计算设置方法。
该网络采用AT89S52 单片机、SJA1000 CAN 控制器和PCA82C250 总线收发器设计,并应用于楼宇自动化控制系统中,获得了良好的应用效果。
2.CAN 总线的位定时关系及相关概念
下面介绍的几个概念中有些与具体的器件有关,本网络中使用的CAN 总线
控制器件是SJA1000,因此,有关概念也都是针对SJA1000 而言的。
振荡器时钟周期tclk tclk 是CAN 总线控制器外挂晶振频率的倒数,它是CAN 总线系统中的最小时间单位。
系统时钟周期tSCL tSCL 是系统将tSCL 分频后得到的一个时间值,它在时间上就是一个时间份额TQ,分频数由SJA1000 的波特率预设值(BRP)决定。
tSCL 可由下式来计算:tSCL=2 乘以tclk 乘以BRP (1)
位周期tBit 位周期是一位数据在总线上的持续时间。
使用Philips 公司的独立。
can总线的位同步中硬同步与重同步的基本原理_概述说明
can总线的位同步中硬同步与重同步的基本原理概述说明1. 引言1.1 概述CAN总线是一种广泛应用于工业领域的实时通信技术,具有高可靠性和实时性的特点。
位同步、硬同步和重同步是CAN总线中三个基本的同步机制。
位同步确保了消息在总线上能够按照预定的时间规则进行传输,硬同步提供了帧之间的时间参考,并对时钟进行校准,而重同步则是为了处理错误帧,保障数据的可靠传输。
1.2 文章结构本文将分为六个主要部分进行论述。
首先,在2. CAN总线的基本原理中简要介绍CAN总线及其基本原理;然后,在3. CAN总线中的位同步机制中详细描述位同步机制及其相关内容;接下来,探讨4. CAN总线中的硬同步机制,在该部分将涉及帧定义、标识符编码规则以及硬件滤波和时钟校准策略;在5.CAN总线中的重同步机制部分,将讨论错误帧重发策略,容错恢复机制以及数据丢失检测与处理方法;最后,在6.结论部分对全文进行总结,并给出深入研究的方向建议。
1.3 目的本文的目的是全面介绍CAN总线的位同步、硬同步和重同步机制的基本原理,让读者对这些重要机制有更深入的了解。
通过了解这些原理,读者可以更好地理解CAN总线在工业领域中的应用,以及如何提高CAN总线系统的可靠性和实时性。
同时,为未来进一步研究和探索CAN总线技术提供参考和启示。
2. CAN总线的基本原理:2.1 CAN总线简介CAN(Controller Area Network)总线是一种高度可靠的串行通信协议,广泛应用于工业控制、汽车电子和航空航天等领域。
CAN总线由控制器和多个节点组成,控制器负责协调节点之间的数据传输。
通过CAN总线,各个节点可以实现快速、可靠的通信。
2.2 位同步的原理位同步是指在CAN总线中节点之间的数据传输是按照统一的时间基准进行的。
为了保证所有节点在传输过程中能够准确地识别出每一个位,并在相同时间点采集到该位信息,需要对时钟进行同步。
位同步机制通过引入一个分割位和一组定时器来实现。
CAN总线位定时参数的确定
CAN总线位定时参数的确定摘要:CAN通信中,波特率、位周期内取样点数和位置可以编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。
优化位定时参数,能够保证信息同步,保证传输延迟和时钟误差在极端条件下进行恰当的错误检测。
本文说明位定时参数的确定方法。
关键词:CAN总线位定时同步延迟引言CAN总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。
由于CAN总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips和Intel等半导体公司都有支持CAN通信协议的集成器件。
CAN总线已经在各个领域中得到了广泛应用。
在CAN通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自行设定。
这样的设计理念,为用户在自己的应用中,优化网络通讯性能提供了空间。
为了通过设定位定时参数来优化网络通信性能,必须清楚位定时参数与参考时钟误差和系统内信号延迟的关系。
如果位周期内的取样位置偏后,将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位置接近中间,则可以容忍系统的节点间的参考时钟误差。
但这显然是矛盾的,为了协调这种矛盾,必须对位定时参数进行优化位置。
图1 位周期结构图通过对CAN总线位定时参数进行研究,找到矛盾的关键所在,就能够对其进行优化,从而提高通信系统的整体性能。
下面以Philips公司的独立通信控制器SJA1000为例,进行研究。
1 相关定义1.1 位周期的组成波特率(fbit)是指单位时间内所传输的数据位的数量,一般取单位时间为1s。
波特率由通信线上传输的一个数据位周期的长度(Tbit)决定,如下式所示。
Fbit=1/Tbit (1)根据Philips公司的独立通信控制器,一个位周期由3个部分组成:同步段(tSYNC_SEG)、相位缓冲段1(tTSEG1)和相位缓冲段2(tTSEG2)。
Tbit=tSYNC_SEG+tTSEG1+tTSEG2 (2)所有这些时间段,都有一个共同的时间单元——系统时钟周期(TSCL)。
CAN Bit timing
CAN总线位定时参数的确定[日期:2004-12-7] 来源:单片机及嵌入式系统应用作者:北京全路通信信号研究设计院吴永[字体:大中小]摘要:CAN通信中,波特率、位周期内取样点数和位置可以编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。
优化位定时参数,能够保证信息同步,保证传输延迟和时钟误差在极端条件下进行恰当的错误检测。
本文说明位定时参数的确定方法。
关键词:CAN总线位定时同步延迟引言CAN总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。
由于CAN总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips和Intel等半导体公司都有支持CAN通信协议的集成器件。
CAN总线已经在各个领域中得到了广泛应用。
在CAN通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自行设定。
这样的设计理念,为用户在自己的应用中,优化网络通讯性能提供了空间。
为了通过设定位定时参数来优化网络通信性能,必须清楚位定时参数与参考时钟误差和系统内信号延迟的关系。
如果位周期内的取样位置偏后,将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位置接近中间,则可以容忍系统的节点间的参考时钟误差。
但这显然是矛盾的,为了协调这种矛盾,必须对位定时参数进行优化位置。
图1 位周期结构图通过对CAN总线位定时参数进行研究,找到矛盾的关键所在,就能够对其进行优化,从而提高通信系统的整体性能。
下面以Phi lips公司的独立通信控制器SJA1000为例,进行研究。
1 相关定义1.1 位周期的组成波特率(fbit)是指单位时间内所传输的数据位的数量,一般取单位时间为1s。
波特率由通信线上传输的一个数据位周期的长度(Tbit)决定,如下式所示。
Fbit=1/Tbit (1)根据Philips公司的独立通信控制器,一个位周期由3个部分组成:同步段(tSYNC_SEG)、相位缓冲段1(tTSEG1)和相位缓冲段2(tTSEG2)。
CAN通讯之位定时与同步
CAN通讯之位定时与同步位定时与同步由前面文章可知,每一帧数据(即一个完整的数据帧)有很多位组成,当发送方发送一帧数据到总线时,接收方怎么准确接收到这帧数据呢?先需要了解下位时间的基本概念,再在此基础上,针对传输延迟等问题,采用同步方法处理。
1. 位时间位时间就是指一个(二进制)位在总线传输所需要的时间,即:位时间就是位速率的倒数。
如图1所示:一个位分为4段,这些段又由称为Time Quantum(以下称为 Tq)的最小时间单位构成。
1位分为4个段,每个段又由若干个Tq构成,这称为位时序。
图1 位时间1位由多少个Tq构成,每个段又由多少个Tq构成等,可以任意设定位时序。
通过设定位时序,多个节点可同时采样,也可任意设定采样点。
也就是说图2中各个节点都可以通过不同的配置可能获得不同的位速率和采样精度,后面通过实例来讲解。
图2关于各段的作用和可配置Tq范围如下图:图3 各段的定义信息,引自[2]所谓采样点是读取总线电平,并将读到的电平作为位值的点,位置在PBS1结束处。
图4 采样点的设定,引自[2]CAN协议的通信方法为NRZ(Non-Return to Zero)方式,各个位的开头或者结尾都没有附加同步信号。
发送单元以与位时序同步的方式开始发送数据。
另外,接收单元根据总线上电平的变化进行同步并进行接收工作。
但是,发送单元和接收单元存在的时钟频率误差及传输路径上的(电缆/驱动器等)相位延迟会引起同步偏差,因此接收单元通过硬件同步或者再同步的方法调整时序进行接收。
2. 硬同步硬同步是指在总线空闲状态,接收节点检测出帧起始位(SOF)时,会调整当前位的同步段(SS)与发送节点的帧起始位SS段一样,调整宽度不限。
如下图5。
图5 SOF位的硬同步,来源[1]引自[1]的具体解释:1)发送节点Node_A在发送SOF位时,SOF位的下降沿在SS段;2)这时接收节点Node_B发现自己当前位的SS段和发送节点SOF位的SS段不同步。
can 位时序逻辑循环
can 位时序逻辑循环【原创版】目录1.CAN 总线的概述2.CAN 总线的位时序逻辑循环3.CAN 总线的优势和应用领域正文一、CAN 总线的概述控制器局域网(Controller Area Network,简称 CAN)是一种串行通信总线,最初由德国的 Robert Bosch GmbH 公司于 1980 年代开发,用于实现汽车电子设备之间的数据通信。
CAN 总线具有多主控制器结构、高噪声抑制能力、高可靠性、低成本等优点,因此在工业自动化、汽车电子、医疗设备等领域得到了广泛应用。
二、CAN 总线的位时序逻辑循环CAN 总线采用位时序逻辑循环的方式进行数据传输。
在 CAN 总线中,数据传输过程分为三个阶段:起始阶段、数据传输阶段和结束阶段。
1.起始阶段:在此阶段,发送节点通过发送起始位(Start of Frame,简称 SOF)来通知接收节点开始数据传输。
2.数据传输阶段:在数据传输阶段,发送节点将数据字段按位发送到总线上。
数据传输过程中,总线上的每个节点都可以接收到数据。
接收节点在接收到有效数据后,将数据字段与自己的数据进行比较,如果发现错误,则发送错误帧通知发送节点。
3.结束阶段:在数据传输完成后,发送节点会发送一个结束位(End of Frame,简称 EOF),表示数据传输结束。
接收节点收到结束位后,会将数据帧从总线上移除。
三、CAN 总线的优势和应用领域CAN 总线具有以下优势:1.多主控制器结构:CAN 总线允许多个节点同时发送数据,提高了通信效率。
2.高噪声抑制能力:CAN 总线采用差分信号传输方式,具有较强的抗干扰能力。
3.高可靠性:CAN 总线具有错误检测和容错机制,可以实时检测并纠正错误,保证数据传输的可靠性。
4.低成本:CAN 总线采用简单的硬件结构和软件协议,降低了系统成本。
CAN 总线在以下领域得到了广泛应用:1.汽车电子:CAN 总线在汽车电子设备间通信中占据主导地位,如发动机控制、底盘控制、车身控制等。
CAN总线中位定时的设定方法.
CAN总线中位定时的设定方法CAN总线中位定时的设定方法张健摘要:在CAN总线中,位定时有一点小错误就会导致总线性能严重下降。
虽然在许多情况下,位同步会修补由于位定时设置不当而产生的错误,但不能完全避免出错情况,并且在遇到两个或多个CAN节点同时发送的情况时,错误的采样点会使节点启动错误认可标志,使节点不能赢得总线上的任何活动。
因此要分析、解决这样的错误就需要对CAN总线位定时中的位同步和CAN节点的工作过程有一个深入的了解。
本文描述了CAN总线位同步的运行规则以及如何对位定时的参数进行设置。
关键词:总线位定时同步延迟1.前言CAN总线的数据传输速率最高可达1Mbit/s,通常用石英晶振作为时钟发生器,可以独立进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样仍可获得相同的位速率。
但网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但只要将其稳定在振荡器容差范围之内,总线上的节点会通过重同步进行弥补。
CAN总线的一个位时间可以分成四个部分:同步段,传播段,相位段1和相位段2,每段的时间份额的数目都是可以编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值BRP决定:tq=BRP/tsys。
如图1:图1参数范围说明分频值[1…….32]规定时间份额的长度同步段1tq固定长度,同步总线节点传播时间段[1…….8]tq补偿总线物理延迟时间相位缓冲段1[1…….8]tq重同步时可以暂时延长相位缓冲段2[1…….8]tq重同步时可以暂时缩短同步跳转宽度[1…….4]tq长度小于相位缓冲段表1:位时间的参数2.同步段(1)同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现。
如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。
采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。
(2)传播时间段用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。
什么是CAN信号中的位时间和位同步?
什么是CAN信号中的位时间和位同步?CAN协议与其它现场协议的区分中有一个是:它用法同步数据传输而不是异步传输(面对字符)。
这意味着传输性能得到更有效的发挥,但是另一方面,这需要越发复杂的位同步办法。
在面对字符的协议中的位同步实现起来很容易,在接受每个字符的起始位时举行同步。
但在同步传输协议中,惟独一帧的开头才有一个起始位。
这通常不足以使接收器的位采样和发送器保持同步。
为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断举行重新同步。
重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期举行检测。
在信号边沿间的最大时光周期内,发送和接受之间最大可能的时光差必需在一个位间隔内的标称采样点之前和之后通过足够的空闲时光(“相位缓冲段”)来补偿。
因为CAN协议用法非破坏性的位总线仲裁和显性应答位,信号从发送器传输到接收器再返回到接收器必需在一个位时光内完成。
因此除了保留用于同步的时光外,还需要一个时光段(“传输延迟段”)对总线上的信号传输举行补偿以及用于发送和接收节点的内部信号延迟。
图 1所示为标称的位时光,划分为4个不重叠的时光段:同步段(Sync_Seg)传输时光段(Prop_Seg)相位缓冲段1(Phase_Seg1)相位缓冲段2(Phase_Seg2)图 1 位时光的划分一个位间隔的时光段的长度按照振荡器周期,被定义为一个基本时光单位(时光份额)的倍数。
基本时光单位tq是表示同步机制时光辨别率的基本单位并且由于同步段而被引入到位时光中。
同步段是位时光中CAN信号电平的边沿将要产生的那一部分。
在同步段之后产生的边沿第1页共4页。
CAN总线位定时参数的确定
CAN 总线位定时参数的确定CAN 通信中,波特率、位周期内取样点数和位置可以编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。
优化位定时参数,能够保证信息同步,保证传输延迟和时钟误差在极端条件下进行恰当的错误检测。
本文说明位定时参数的确定方法。
CAN 总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。
由于CAN 总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips 和Intel 等半导体公司都有支持CAN 通信协议的集成器件。
CAN 总线已经在各个领域中得到了广泛应用。
在CAN 通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自行设定。
这样的设计理念,为用户在自己的应用中,优化网络通信性能提供了空间。
为了通过设定位定时参数来优化网络通信性能,必须清楚位定时参数与参考时钟误差和系统内信号延迟的关系。
如果位周期内的取样位置偏后,将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位置接近中间,则可以容忍系统内节点间的参考时钟误差。
但这显然是矛盾的,为了协调这种矛盾,必须对位定时参数进行优化设置。
通过对CAN 总线位定时参数进行研究,找到矛盾的关键所在,就能够对其进行优化,从而提高通信系统的整体性能。
下面以Philips 公司的独立通信控制器SJA1000为例,进行讨论。
1相关定义1.1位周期的组成波特率(f bit )是指单位时间内所传输的数据位的数量,一般取单位时间为1s 。
波特率由通信线上传输的一个数据位周期的长度(T bit )决定,如下式所示。
bitbit T f 1= (1) 根据Philips 公司的独立通信控制器,一个位周期由3个部分组成:同步段(t SYNC_SEG )、相位缓冲段1(t TSEG1)和相位缓冲段2(t TSEG2)。
T bit =t SYNC_SEG +t TSEG1+t TSEG2 (2)所有这些时间段,都有一个共同的时间单元——系统时钟周期(T SCL )。
CAN总线中位定时的设定方法
CAN总线中位定时的设定方法在CAN总线中,位定时有一点小错误就会导致总线性能严重下降。
虽然在许多情况下,位同步会修补由于位定时设置不当而产生的错误,但不能完全避免出错情况,并且在遇到两个或多个CAN节点同时发送的情况时,错误的采样点会使节点启动错误认可标志,使节点不能赢得总线上的任何活动。
因此要分析、解决这样的错误就需要对CAN总线位定时中的位同步和CAN节点的工作过程有一个深入的了解。
下面我们详细描述CAN总线位同步的运行规则以及如何对位定时的参数进行设置。
1.位时间CAN总线的数据传输速率最高可达1Mbit/s,通常用石英晶振作为时钟发生器,可以独立进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样仍可获得相同的位速率。
但网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但只要将其稳定在振荡器容差范围之内,总线上的节点会通过重同步进行弥补。
CAN总线的一个位时间可以分成四个部分:同步段,传播段,相位段1和相位段2,每段的时间份额的数目都是可以编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值BRP 决定:tq=BRP/tsys。
如下图:位时间的参数表2.同步段(1)同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现。
如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。
采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。
(2)传播时间段用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。
因此,要实现与位流发送节点的同步,接收节点必须移相。
CAN总线非破坏性仲裁规定,发送位流的总线节点必须能够收到同步于位流的CAN总线节点发送的显性位。
下图显示了两个总线节点的相移和传播段时间。
在这个例子里,节点A和节点B都是发送节点,因此总线要对两个节点进行仲裁。
节点A比节点B提前发送不到1个位时间,当节点B收到延迟后的跳变沿时,B节点要同步于A节点,对位时间进行移相。
CAN 控制器的位定时参数
3 位定时要求的规定 .................................................................................................. 6
3.1 计算规则 ............................................................................................................................ 7 3.2 用图表显示计算规则 .......................................................................................................... 8
3.2.1 规定和限制 .............................................................................................................. 8 3.2.2 确定最大的位速率.................................................................................................... 8 3.2.3 确定适当的采样点.................................................................................................... 9
CAN总线的设置编程
#define IF1DATA1
0x0F
/ / IF1 Data A1 Register 数据 A 寄存器
#define IF1DATA2
0x10
/ / IF1 Data A2 Register
#define IF1DATB1
0x11
/ / IF1 Data B1 Register 数据 B 寄存器
transmit_turn_LED_OFF(0x02);
/ /灯灭
}
else
/ /按钮按下
{
SFRPAGE=SFRPAGE_SAVE;
transmit_turn_LED_ON(0x02);
/ / 灯亮
}
}
}
/ /延时函数
void DelayMs (unsigned int n)
/ /Delay (n)MS
EIE2=0x20;
/ /Enable CAN interrupts in CIP-51 使能 CAN 中断
Start_CAN( );
/ /Function call to start CAN CAN 初始化设置函数
EA=1;
/ /Global enable 8051 interrupts 开 8051 中断
// // // // / //
/ / Set up C8051F500
// / // / // / // / / // / // / / // / // / / // / // / // / / // / // / / // / // / / // / // / // / / // /
// // // // / /
/ / Configure CAN connunications
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
张健摘要:在can总线中,位定时有一点小错误就会导致总线性能严重下降。
虽然在许多情况下,位同步会修补由于位定时设置不当而产生的错误,但不能完全避免出错情况,并且在遇到两个或多个can节点同时发送的情况时,错误的采样点会使节点启动错误认可标志,使节点不能赢得总线上的任何活动。
因此要分析、解决这样的错误就需要对can总线位定时中的位同步和can节点的工作过程有一个深入的了解。
本文描述了can总线位同步的运行规则以及如何对位定时的参数进行设置。
关键词:总线位定时同步延迟 1.前言 can 总线的数据传输速率最高可达1mbit/s,通常用石英晶振作为时钟发生器,可以独立进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样仍可获得相同的位速率。
但网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但只要将其稳定在振荡器容差范围之内,总线上的节点会通过重同步进行弥补。
can总线的一个位时间可以分成四个部分:同步段,传播段,相位段1和相位段2,每段的时间份额的数目都是可以编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值brp决定:tq=brp/tsys。