引言
LPC11Cx系列是NXP公司的高性价比Cortex—M0构架ARM微控制器产品,内嵌CAN总线控制器。CAN总线位定时参数决定CAN总线能否按给定速率正常通信及其稳定性,但在实践中发现,原版用户手册及国内译本在CAN总线位定时参数配置寄存器的表述上有误,导致用户CAN总线无法正常通信。下面将校正错误,并给出CAN总线位定时参数具体计算实例。
1 位定时时序及参数
依据CAN总线规范,LPC11Cx系列的位时间被分成4个段:同步段、时间传播段、相位缓冲区段1和相位缓冲区段2,位时序如图1所示。
图1中,每一个段包含有一个指定的、可编程的时间量子数,如表1所列。
表1中,时间量子tq是位时间长度的基本时间单元,tq与CAN总线控制器的系统时钟fsys可确定参数BRP,即tq=BRP/fsys。同步段SYNC_SEG是位时间的第一部分,CAN总线的边沿电平会在这里发生。传播时间段PROP_SEG用于对CAN总线网络内的物理延迟时间进行补偿。
相位缓冲区段TSEG1和TSEG2包围着采样点。(重新)同步跳转宽度SJW实现对边沿相位误差作出补偿。
2 位定时寄存器描述校正
LPC11Cx系列CAN总线的位时间参数通过其内部的32位控制寄存器CANBT来定义及编程。CANBT寄存器的详细描述如表2所列。
请注意,表2中上标注*表示硬件把写入这些位的值理解为位值+1。NXP公司原版用户手册及国内译本还同时标注了SJW、TSEG2,说明这两项也需进行位值+1处理,但这么做得出的位定时参数无法使CAN总线正常通信。
3 位定时参数计算
根据表1各定时位段定义,设目标系统晶振频率为12 MHz,经过LPC11Cx内部PLL锁相环电路倍频后,系统时钟频率fsys为48 MHz。现要求CAN总线速率fc为500 kHz,则CAN总线时钟周期tc=1/fc=1/500 kHz=2μs,位定时参数计算如下。
首先,将系统时钟频率fsys进行6分频,即fsys/(BRP+1)=fsys/6=48 MHz/6=8 MHz,由此确定参数BRP=0x000101,而时间量子tq=1/8 MHz=0.125μs,CAN总线时钟周期tc包含的时间量子tq的个数为:tc/tq=2 μs/0.125 μs=16。
然后,根据CAN总线传输介质及应用场合的电磁干扰状况,适当确定CAN总线位定时寄存器CANBT的SJW、TSEG1、TSEG2的值,使这3项位值之和等于16。这里对3项位值取值为:SJW=0x11,TSEG1=0x0110,TSEG2=0x111,并满足:SJW+(TSEG1+1)+TSEG2=16。
最后,将上述位值组合,确定位定时参数值为0x76C5,这个值将被配置写入到位定时寄存器CANBT中。在Cortex—M0的CMSIS软件开发标准框架下,可很方便地调用LPC11Cx片上CAN API函数集来编程,如下语句即可实现寄存器CANBT的位定时参数配置:
/*CAN总线波特率与时钟初始化*/
INT32U CanApiClkInitTable[2]={
0x00000000UL,
/*CAN时钟分频寄存器CANCLKDIV分频值为1*/
0x000076C5UL/*配置定时寄存器CANBTR值为0x76C5*/
};
结语
实践表明,在改变系统时钟频率、CAN总线通信速率及CANBT寄存器的各项位值的情况下,校正之后的位定时参数计算方法所获得的参数值均能满足CAN总线正常通信的要求,消除了用户手册误导。如何提高CAN总线通信的可靠性,在位定时方面还需要根据CAN总线的具体工作状况不断进行实验,并对CANBT寄存器的各项位值仔细调整而得到最佳值。
关键字:CAN总线 位定时 参数计算
引用地址:
LPC11Cx系列CAN总线位定时参数计算方法校正
推荐阅读最新更新时间:2024-10-26 10:14
LPC11Cx系列CAN总线位定时参数计算方法校正
引言 LPC11Cx系列是NXP公司的高性价比Cortex—M0构架ARM微控制器产品,内嵌CAN总线控制器。CAN总线位定时参数决定CAN总线能否按给定速率正常通信及其稳定性,但在实践中发现,原版用户手册及国内译本在CAN总线位定时参数配置寄存器的表述上有误,导致用户CAN总线无法正常通信。下面将校正错误,并给出CAN总线位定时参数具体计算实例。 1 位定时时序及参数 依据CAN总线规范,LPC11Cx系列的位时间被分成4个段:同步段、时间传播段、相位缓冲区段1和相位缓冲区段2,位时序如图1所示。 图1中,每一个段包含有一个指定的、可编程的时间量子数,如表1所列。 表1中,时间量子tq是位时间长度的基本时间单元,
[单片机]
CAN总线位定时参数的确定
引言 CAN总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。由于CAN总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips和Intel等半导体公司都有支持CAN通信协议的集成器件。CAN总线已经在各个领域中得到了广泛应用。
在CAN通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自行设定。这样的设计理念,为用户在自己的应用中,优化网络通讯性能提供了空间。为了通过设定位定时参数来优化网络通信性能,必须清楚位定时参数与参考时钟误差和系统内信号延迟的关系。如果位周期内的取样位置偏后,将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位置
[嵌入式]
浅谈CAN总线的位定时参数
1.概述 CAN总线通信中,波特率、位周期内采样次数和采样位置都可以通过编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。优化位定时参数,能够保证信息同步、通信性能、传输延迟和晶振误差在极端条件下进行恰当的错误检测。
然而系统的有些性能是相互冲突的,例如,在位周期末端部分选择采样点可以使传播延迟有更大的容差,这时总线长度可以更长;如果在位周期的中点附近选择采样点,则系统的每个节点可以有更大的振荡器容差。可以明显地看出振荡器容差和总线长度是互相冲突的,它们只有通过优化位定时参数才能兼备。
本文将通过一个CAN总线控制网络介绍CAN总线位定时参数的基本概念和计算设置方法。该网络采用AT89S52单片
[嵌入式]
CAN总线位定时参数的确定
摘要:CAN通信中,波特率、位周期内取样点数和位置可以编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。优化位定时参数,能够保证信息同步,保证传输延迟和时钟误差在极端条件下进行恰当的错误检测。本文说明位定时参数的确定方法。
关键词:CAN总线 位定时 同步 延迟
引言
CAN总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。由于CAN总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips和Intel等半导体公司都有支持CAN通信协议的集成器件。CAN总线已经在各个领域中得到了广泛应用。
在CAN通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自
[应用]
详解CAN总线信号传输位定时与位同步
CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。 在面向字符的协议中的位同步实现起来很简单,在接受每个字符的起始位时进行同步。但在同步传输协议中,只有一帧的开始才有一个起始位。这通常不足以使接收器的位采样和发送器保持同步。为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断进行重新同步。重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期进行检测。在信号边沿间的最大时间周期内,发送和接受振荡器之间最大可能的时间差必须在一个位间隔内的标称采样点之前和之后通过足够的空闲时间(“相位缓冲段”)来
[嵌入式]
CAN总线信号传输的位定时与位同步理论
CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。
在面向字符的协议中的位同步实现起来很简单,在接受每个字符的起始位时进行同步。但在同步传输协议中,只有一帧的开始才有一个起始位。这通常不足以使接收器的位采样和发送器保持同步。为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断进行重新同步。重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期进行检测。在信号边沿间的最大时间周期内,发送和接受振荡器之间最大可能的时间差必须在一个位间隔内的标称采样点之前和之后通过足够的空闲时间(“相位缓冲段”
[嵌入式]
CAN总线位定时和同步的研究与设计
控制器局域网CAN是一种用于连接汽车和工业场合中电子控制模块、传感器和执行器的串行、多主通信规范。由于CAN总线具有很强的纠错能力、支持差分收发、传输距离远等特点,因此CAN总线用途非常广泛,现已成为工业数据通信领域的主流技术、基础技术,目前比较流行的TTCan,DeviceNet,CANopen,SAE J1939等规范均是以CAN为基础的,因此对CAN总线的深入研究是十分必要的。在CAN规范中,位定时和同步机制是既重要又难于理解的环节之一,它不仅关系到对波特率、总线长度等相关内容的理解,甚至对节点开发的成功与否产生直接的影响。然而,目前相关文献均缺乏针对CAN总线位定时和同步机制的详细分析和探讨。在此以CAN技术规范为基础,深入
[嵌入式]
一种基于CAN总线的监控系统设计及位定时分析
引言
can(controller area network)即控制器局域网,是国际上应用最广泛的现场总线之一。与一般的总线通信相比,can的数据通信具有突出的可靠性、实时性和灵活性。本课题设计了一种基于can总线的监控系统,并对位定时这一关键问题进行了详细的阐述。借助该系统,使用者可以实现对can网络的实时监控,并可对系统参数进行优化。
监控系统整体结构
整个监控系统(如图1)是一个分布式控制系统,由三部分组成:上位机、转换模块、can节点。上位机负责监控整个系统的运行状况;转换模块作为各个节点与上位机的通信中介,实现上位机与节点间的双向通信;各个can节点均可以在任意时刻,遵循通信协议完成上传信息和执行控制
[嵌入式]