CAN 控制器的位定时参数
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节点同时发送的情况时,错误的采样点会使节点启动错误认可标志,使节点不能赢得总线上的任何活动。
因此要分析、解决这样的错误就需要对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总线的位同步机制~~~总结一下所谓同步,就是接收端要按照发送端发送每个码元的起止时刻和速率来接收数据。
通常采用的同步方式有:异步方式和同步方式。
在通信时接受端要校准自己的实践和重复频率,以便和发送端取得一致,这一过程就称为同步过程。
通信时传输的同步方式分为两种:同步方式、异步方式。
同步式依赖两台设备间协调的时间表来分开位组,并将它们以被称作帧的信息块传输。
异步式又称起止同步方式,并不要求每一bit位都要严格时钟同步,而设置了起始位和终止位。
帧传送:在总线上传输的报文以帧结构进行传输。
报文传送由4种不同类型的帧来表示和控制:数据帧、远程帧、出错帧和超载帧。
以数据帧为例:数据帧携带数据由发送器至接收器,由7个不同的位场组成,分别是帧起始、仲裁场、控制场、数据场、CRC场、应答场以及帧结束。
位定时:CAN总线节点可独立进行位定时的参数设置,这样即使网络中节点之间的晶振时钟周期不一样仍可获得相同的位速率。
网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但要将其稳定在振荡器容差范围之内,所以总线上的节点需要通过位同步进行弥补。
CAN总线位同步的实现:CAN总线的位同步只有在节点检测到“隐性位”(逻辑1)到“显性位”(逻辑0)的跳变时才会产生,当跳变沿不位于位周期的同步段之内时将会产生相位误差。
该相位误差就是跳变沿与同步段结束位置之间的距离。
如果跳变沿发生在同步段之后采样点之前为正的相位误差;如果跳变沿位于同步段之前采样点之后为负的相位误差。
相位误差源于节点的振荡器漂移,网络节点之间的传播延迟以及噪声干扰等。
CAN协议规定了两种类型的同步:硬同步和重同步。
硬同步:只在总线空闲时通过一个下降沿(帧起始)来完成,此时不管有没有相位误差,所有节点的位时间重新开始。
强迫引起硬同步的跳变沿位于重新开始的位时间的同步段之内。
重同步:在消息帧的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。
CANstress使用说明
CANstress使用说明书
北京经纬恒润科技有限公司
CANstress核心功能包括:
CAN系统失效
CAN控制器的干扰
可编程短路和断路
模拟各种线长
CANstress
硬件设备
Trigger In Trigger PC 接口:
USB ,COM 供电接gg
gg Out
供电接口
CAN 接口指示灯
CANstress软件界面
CANstress硬件配置过程
1.设备连接设置(串口、USB)
3.CAN控制器参数设置(速率、位定时)
控制器参数设置(速率位定时)
44.设定触发方式(7种)
5.设定触发条件
6.设定干扰方式(数字、模拟)
7.设定干扰时间、次数
备连接设置
CANstress设备CAN接口选择
CAN控制器参数设置
设定触发方式(7种)
1.按照报文位场序列
2.帧起始
4帧结束总线空闲
4.帧结束、总线空闲
5.外部电平触发
6.软件触发(点击按钮)
7.无条件连续触发
按照报文位场序列触发的配置
帧起始触发
序列触发
其它触发方式的配置
错标志触发
帧结束标志触发
外部电平触发
软件触发
连续触发
CANstress干扰模式
扰模式
干扰次数
干扰序列
模拟量干扰配置
触发输出配置
CAN
CANStress
CANScope Trigger Out Trigger In
谢谢!。
canopen参数
canopen参数CANopen是用于工业自动化应用的一种通信协议,它基于控制器局域网(Controller Area Network,CAN)协议。
CANopen协议定义了设备之间的通信规则、数据交换方式、设备对象字典(Device Object Dictionary,DOD)以及设备管理过程等。
以下是一些常见的CANopen参数:1.通信速率:CANopen协议支持多种通信速率,常见的有125Kbps、250Kbps、500Kbps和1Mbps。
通信速率的选择取决于应用需求和网络负载。
2.报文标识符:CANopen协议使用29位的标识符(Identifier)来标识不同的报文。
每个标识符对应一个特定的服务或信号。
3.数据长度:CANopen协议支持不同长度的数据帧,最常用的有8字节、16字节、32字节和64字节。
数据长度应根据实际需要选择。
4.位时间:CANopen协议使用位时间来定义信号的采样频率。
位时间是信号在物理线上传输所需的时间,可以根据通信速率和数据长度计算出来。
5.重发次数:CANopen协议支持报文的自动重发功能,可以通过配置重发次数来提高通信的可靠性。
重发次数的选择应根据实际情况进行调试和优化。
6.校验方式:CANopen协议支持多种校验方式,包括位反转、循环冗余校验(CRC)等。
可以根据实际需要选择适合的校验方式来提高数据的准确性。
7.节点地址:每个CANopen设备都有一个唯一的节点地址(NodeID),用于标识设备在CAN总线上的位置。
节点地址可以是1到247之间的任意数值。
8.设备类型:CANopen协议定义了多种设备类型(Device Type),包括传感器、执行器、控制器等。
每个设备类型都有一组特定的对象字典(Object Dictionary,OD)用于描述设备的属性和行为。
9.预定义对象:CANopen协议提供了一组预定义的对象(PredefinedObjects),用于实现一些通用的功能,如时间同步、设备参数配置等。
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总线的位定时参数
浅谈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所示:一个位分为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 总线信号传输延时分析CAN 收发器的改良和隔离器件引入,大大提高了通信的可靠性,但同时也引入了额外的延时,导致通信距离变短,或总线错误帧增加,本文以1Mbps 波特率下的应用为例,对CAN 总线信号延时做简要分析。
1.1 CAN 总线传输距离的相关因素1.1.1 ACK 应答CAN 总线采用多主通信模式、非破坏式总线仲裁机制。
以标准数椐帧为例,从结构上看分成7段,分别为起始段、仲裁段、控制段、数椐段、CRC 校验段、ACK 应答段、帧结束段,如图1所示:图1 标准数椐帧结构及应答ACK 段长度为2个位,包含应答间隙(ACK SLOT )和应答界定符(ACK DELIMITER )。
在应答场里,发送站发送两个“隐性”位。
当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT )期间(发送ACK 信号)向发送器发送一“显性”的位以示应答。
发送节点检测到总线呈显式状态时,就认为有节点进行了有效的应答并且自己所发出的帧是正常的。
1.1.2 CAN 总线位时间组成CAN 网络通信位定时参数如图2所示。
同同同图2 位定时示意图CAN 总线通信中每一位的时间由4 部分组成,即同步段、传播段、相位缓冲段1、相位缓冲段2,划分为3段。
同步段:用于总线诸节点之间的同步;时间段1:由传播段与相位段1组成,传播段用于补偿信号的物理传播延时;时间段2:即相位缓冲段2,相位段1 和相位段2 用于补偿沿的相位误差。
在实际控制器设计中,通过调整时间段1、时间段2 的值可以改变对总线传播延时的补偿时间。
1.1.3 CAN总线延时理论分析由图 1可知,发送节点在发完CRC 场之后,会发出一位应答隙,在这一位的时间内,接收节点应该输出显式位作为回应,发送节点如果在应答隙内没有检测到有效的显式位,则会判定总线错误,所以限制CAN 总线系统信号传播延时上限的根本条件就是必须确保发送节点在应答隙内接收到有效的应答信号。
CAN 控制器的位定时参数
3 位定时要求的规定 .................................................................................................. 6
3.1 计算规则 ............................................................................................................................ 7 3.2 用图表显示计算规则 .......................................................................................................... 8
3.2.1 规定和限制 .............................................................................................................. 8 3.2.2 确定最大的位速率.................................................................................................... 8 3.2.3 确定适当的采样点.................................................................................................... 9
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总线最大位时间延迟容差
can总线最大位时间延迟容差(最新版)目录1.CAN 总线的概述2.CAN 总线的最大位时间延迟容差的定义3.CAN 总线的最大位时间延迟容差的影响因素4.CAN 总线的最大位时间延迟容差的应用实例5.CAN 总线的最大位时间延迟容差的优缺点正文一、CAN 总线的概述CAN 总线,全称为控制器局域网(Controller Area Network),是一种用于实时控制的串行通信总线。
它最初由德国的 Robert Bosch GmbH 公司于 1980 年代开发,用于汽车电子设备的通信。
CAN 总线具有高可靠性、高实时性、低成本等优点,因此在工业自动化、医疗设备、智能建筑等领域得到广泛应用。
二、CAN 总线的最大位时间延迟容差的定义CAN 总线的最大位时间延迟容差是指在 CAN 总线通信过程中,一个节点发送的位时间与参考位时间之间的最大时间间隔。
这个时间间隔决定了 CAN 总线的通信速率和通信距离。
通常,最大位时间延迟容差用纳秒(ns)表示。
三、CAN 总线的最大位时间延迟容差的影响因素CAN 总线的最大位时间延迟容差受以下因素影响:1.通信速率:通信速率越高,最大位时间延迟容差越小,通信距离越短。
反之,通信速率越低,最大位时间延迟容差越大,通信距离越长。
2.通信距离:通信距离越长,最大位时间延迟容差越小,通信速率越低。
反之,通信距离越短,最大位时间延迟容差越大,通信速率越高。
3.传输介质:传输介质的特性会影响 CAN 总线的最大位时间延迟容差。
例如,双绞线的通信距离较短,但位时间延迟容差较大;而光纤的通信距离较长,位时间延迟容差较小。
4.节点数量:CAN 总线上的节点数量也会影响最大位时间延迟容差。
节点数量越多,总线负载越大,通信速率越低,最大位时间延迟容差越小。
四、CAN 总线的最大位时间延迟容差的应用实例在汽车电子设备中,CAN 总线常用于发动机控制、底盘控制、车身控制等系统之间的通信。
例如,发动机控制模块通过 CAN 总线向底盘控制模块发送转速、负荷等数据,底盘控制模块根据这些数据调整悬挂系统、刹车系统等。
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 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总线的控制系统参数基于CAN总线的控制系统参数。
CAN(Controller Area Network)总线是一种广泛应用于现代汽车、工业控制和航空航天等领域的串行通信协议。
它的高可靠性和高效率使得它成为许多控制系统中的首选通信方式。
在基于CAN 总线的控制系统中,参数的设定和调整对系统的稳定性和性能至关重要。
本文将探讨基于CAN总线的控制系统中的参数设置和调整。
首先,控制系统中的参数包括但不限于控制器增益、积分时间常数、微分时间常数等。
这些参数直接影响系统的响应速度、稳定性和鲁棒性。
在基于CAN总线的控制系统中,这些参数可以通过CAN总线进行实时调整,这为系统调试和优化提供了便利。
其次,基于CAN总线的控制系统参数的设定需要考虑到通信的实时性和稳定性。
CAN总线的通信速率高,通信延迟低,因此可以实现对参数的实时调整。
此外,CAN总线具有很高的抗干扰能力,能够保证参数调整的稳定性和可靠性。
另外,基于CAN总线的控制系统参数的调整可以通过远程访问
和控制。
这意味着工程师可以通过远程方式对控制系统参数进行实
时调整,而无需直接接触设备,这在一些特殊环境下具有重要意义,比如在高温、高压或者危险环境下的控制系统维护和调试。
总的来说,基于CAN总线的控制系统参数的设定和调整是控制
系统优化的重要环节。
通过CAN总线实现参数的实时调整,能够提
高系统的稳定性和性能,为控制系统的设计和维护带来便利。
随着CAN总线技术的不断发展和完善,基于CAN总线的控制系统参数的
设定和调整将会变得更加高效和便捷。
CAN总线位定时和同步机制的设计与实现
CAN总线位定时和同步机制的设计与实现王瑞晓;贺占庄【摘要】在CAN总线中,位定时和同步机制保证了CAN网络的正常通讯,是CAN 控制器设计的难点和重点之一.鉴于此,在深入研究CAN总线位定时和同步机制工作原理的基础上,提出了一种位定时和同步机制的设计方法,并给出了相应的结构框图,对各模块进行详细介绍.该设计用verilog HDL代码实现,在Quartus Ⅱ 7.0环境中进行功能仿真.经分析,完全符合CAN2.0的协议规范,实现了位定时和同步的功能,从而验证了设计的正确性.【期刊名称】《计算机技术与发展》【年(卷),期】2010(020)004【总页数】4页(P235-238)【关键词】CAN总线;位定时;同步;Quartus Ⅱ 7.0【作者】王瑞晓;贺占庄【作者单位】西安微电子技术研究所,陕西,西安,710065;西安微电子技术研究所,陕西,西安,710065【正文语种】中文【中图分类】TP273+.50 引言CAN(Controller Area Network)总线属于现场总线的范畴,它具有很强的纠错能力,支持差分收发,传输距离远,可靠性高,多主工作方式,是一种支持实时控制和分布式控制的异步串行通讯网络[1]。
CAN总线传输数据长度可变的信息帧,传输每一帧,以帧起始开始,以帧结束标志及随后的间歇场结束,这就要求收/发双方从帧起始开始必须保证帧内信息中的每一位严格同步[2]。
在CAN协议中,CAN总线位定时和同步机制是既重要又难于理解的环节,它影响到波特率,总线长度,及节点数据的成功收发[3]。
文中以CAN技术规范为基础,深入分析了CAN总线位定时和同步机制的工作原理,并在此基础上给出了一种可行的实现位定时和同步机制的设计方法。
1 CAN总线位定时和同步机制的工作原理1.1 位时间根据协议规定,CAN总线的位时间NBT由四部分组成:同步段(SYNC-SEG),传播段(PROP-SEG),相位缓冲段 1(PHASE-SEG1)和相位缓冲段 2(PHASE-SEG2),即tNBT=tsync-seg+tprop-seg+tphase-seg1+tphase-seg2,采样点位于相位缓冲段1的终点[4,5]。
9.附件2:CAN参数设置
附件2:CAN参数设置说明书说明书版本:V2.02更新日期:2016.06.01目录一、概述 (1)二、波特率设置 (2)2.1兼容SJA1000模式 (2)2.2高级模式 (3)三、工作模式 (6)四、滤波设置 (8)4.1滤波寄存器 (8)4.2滤波模式 (10)一、概述为方便不同用户的需求,USB-CAN适配器中对参数设置提供了两种模式:1.简洁模式,该模式下提供了波特率、工作模式、滤波模式等的简单选项,在使用随机附带的USB-CAN Tool 调试工具或用户自定义编程时,仅需进行简单选择设置即可快速配置适配器,适合入门或刚接触CAN通信不久的用户使用;2.专业模式,该模式下用户可以通过修改多种寄存器参数来实现自定义波特率,自定义硬件滤波方式等,适合较熟悉CAN通信或发烧友等用户使用。
当然,这两种模式是根据您的使用情况自由选择的。
通过调用ControlCAN.dll中的“VCI_SetReference2”函数进行参数设置,该函数的使用流程如下图,关于函数的详细介绍请参见《接口函数库(二次开发库)使用说明书.pdf》注意:CAN总线在正常收发数据的时候,尽量不要通过USBCAN适配器修改CAN总线参数或关闭CAN总线,应等数据收发停止或将USBCAN适配器脱离CAN总线再进行相应操作。
二、波特率设置2.1 兼容SJA1000模式为了方便(SJA1000)CAN控制器的用户,USB-CAN适配器中做了相应的兼容性处理,用户只需配置相应的Timing0(BTR0)、Timing1(BTR1)寄存器的值,即可配置得到相应的波特率。
而不必接触相对复杂、专业的多个寄存器参数。
通过该模式设置波特率时,SetReference2函数的RefType参数须传递10,具体应用可参考本小节后的示例代码。
常规波特率索引值对照表如下:CAN波特率Timing0(BTR0) Timing1(BTR1)10 Kbps 0x31 0x1C20 Kbps 0x18 0x1C40 Kbps 0x87 0xFF50 Kbps 0x09 0x1C80 Kbps 0x83 0xFF100 Kbps 0x04 0x1C125 Kbps 0x03 0x1C200 Kbps 0x81 0xFA250 Kbps 0x01 0x1C400 Kbps 0x80 0xFA500 Kbps 0x00 0x1C666 Kbps 0x80 0xB6800 Kbps 0x00 0x161000 Kbps 0x00 0x1433.33 Kbps 0x09 0x6F66.66 Kbps 0x04 0x6F83.33 Kbps 0x03 0x6F注:1.配置波特率时,用户只需要按照SJA1000(16MHz)给的波特率参数进行设置即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN bit period
t SCL
SYNC_SEG
(fixed)
t
t Bit
TSEG1
(user definable)
TSEG2
(user definable)
sample point(s)
JK702201.GWM
注 tSCL 是一个时间份额 TQ 的持续时间 图 2 取得 Philips CAN 控制器使用的位周期的原理
TSEG2
LSB MSB
TSEG1
JK702202.GWMLSB图 3 位定时控制寄存器的结构
第3页共3页
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
2.2 振荡器容差......................................................................................................................... 4 2.3 传播延迟 ............................................................................................................................ 5 2.4 同步 ................................................................................................................................... 6
对 CAN 位定时计算另一个很重要的时间段是同步跳转宽度 SJW 持续时间是 tSJW SJW 段并不是 位周期的一段 只是定义了在重同步事件中被增长或缩短的位周期的最大 TQ 数量
此外 CAN 协议还允许用户指定位采样模式 SAM 分别是单次采样和三次采样模式 在 3 个采样 结果中选出 1 个 在单次采样模式中 采样点是在 TESG1 段的末端 而三次采样模式比单次采样多取两 个采样点 它们在 TSEG1 段的末端的前面 之间相差一个 TQ 见图 1 和图 2
MSB
LSB
BTR0:
SJW.1 SJW.0 BRP.5
BRP.4 BRP.3 BRP.2 BRP.1 BRP.0
MSB
LSB MSB
SJW
LSB
BRP
BTR1:
MSB
LSB
SAM TSEG2.2 TSEG2.1 TSEG2.0 TSEG1.3 TSEG1.2 TSEG1.1 TSEG1.0
MSB
SAM
5 参考文献 ............................................................................................................... 16 附录 ............................................................................................................................ 17
4.2.1 例 1.........................................................................................................................11 4.3 计算位定时参数的步骤..................................................................................................... 13
3.2.1 规定和限制 .............................................................................................................. 8 3.2.2 确定最大的位速率.................................................................................................... 8 3.2.3 确定适当的采样点.................................................................................................... 9
文档中的讨论方法可以让 CAN 用户确定 y 系统是否适合 CAN 的位定时要求 y 优化位定时参数以符合给定的系统要求
2 CAN 位定时关系概述
2.1 定义
2.1.1 位周期的结构
本文档使用的 CAN 位定时参数定义和用于 Philips CAN 控制器 更多信息见[2] [3]和[4] 编程的参
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
确定 SJA1000 CAN 控制器的位定时参数
目录
1 介绍 ........................................................................................................................ 2 2 CAN 位定时关系概述.............................................................................................. 2
4.3.1 例 2........................................................................................................................ 14 4.3.2 例 3........................................................................................................................ 15
t SCL
= BRP ⋅ 2t CLK
=
2BRP fCLK
(3)
第2页共2页
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
t CLK
oscillator
CAN system clock
Baud Rate Prescaler (BRP)
4 计算位定时参数 .................................................................................................... 10
4.1 例子的规定....................................................................................................................... 10 4.2 用图表选择位定时参数......................................................................................................11
第1页共1页
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
1 介绍
控制器局域网 CAN [1]是一个串行 异步 多主机的通讯协议 它可以连接汽车或工业应用中的电 子控制模块 传感器和执行机构 CAN 协议的其中一个要素是位速率 用户可以设计位周期中的位采样点 位置和采样次数 这样 用户就可以自由地优化应用网络的性能 在优化的过程中 用户要注意位定时参 数 基准 参考 振荡器容差和系统中不同的信号传播延迟之间的关系 例如 在位周期末端部分选择采 样点可以使传播延迟有更大的容差 而且总线长度可以更长 如果在位周期的中点附近选择采样点 则系 统的每个节点可以有更大的振荡器容差 这里可以明显地看出振荡器容差和总线长度是互相冲突的 它们 只有通过优化位定时参数才能兼备 本文档的目的是支持使用 Philips CAN 控制器 SJA1000 和 PCx82C200 的用户进行系统优化
本文档中的位定时计算用位定时段的术语表示 规格化 CAN 系统时钟的周期 (SYNC_SEG TSEG1 TSEG2 SJW 和 NBT) 使位定时的计算和指定的位速率之间互相独立 详细信息请看下一节的方程 7
11
2.1.2 CAN 位定时控制寄存器 在前面已经提到 位定时的很多元素是用户可定义的 下面的图 3 就显示了所有 Philips CAN 控制器 使用的设置位定时参数的控制寄存器 很显然 这些参数只能使用整数值
数定义有紧密的关系 这些关系都在图 1 中表示
系统的位速率 fBit 表示每单位时间传输数据位的量 它由下面的方程 1 定义
fBit
=
1 t Bit
(1)
图 1 CAN 位定时段
额定 标称 的位定时由 3 个互不重叠的段 SYNC_SEG TSEG1 和 TSEG2 组成 这 3 个时间段分 别是 tSYNC_SEG tTSEG1 和 tTSEG2 所以 算术上额定位周期 tBit 是 3 个时间段的和
tBit = t SYNC _ SEG + t TSEG1 + t TSEG2