飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置

发布者:丝语轻风最新更新时间:2021-04-02 来源: eefocus关键字:飞思卡尔  MC9S12XEP100  CAN  波特率配置 手机看文章 扫描二维码
随时随地手机看文章

波特率设置相关参数

在这里插入图片描述

在CAN的底层协议里将CAN数据的每一位时间(TBit)分为许多的时间段(Tscl),这些时间段包括:

A. 位同步时间(Tsync) 占用1个Tscl;


B. 时间段1(Tseg1)占用(Tseg1+1)个Tscl;


C. 时间段2(Tseg2)占用(Tseg2+1)个Tscl,


所以CAN控制器的位时间(TBit)就是:


*TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)Tscl


那么CAN的波特率 (CANbps)就是:


CANbps=1/TBit


但是这样计算出的值是一个理论值。在实际的网络通信中由于存在传输的延时、不同节点的晶体的误差等因素,使得网络CAN的波特率的计算变得复杂起来。CAN在技术上便引入了重同步的概念,以更好的解决这些问题。这样重同步带来的结果就是要么时间段1(Tseg1)增加TSJW(同步跳转宽度SJW+1),要么时间段减少TSJW,因此CAN的波特率实际上有一个范围:1/(Tbit+Tsjw) ≤CANbps≤1/(Tbit-Tsjw)

CAN有波特率的值四以下几个元素决定:

A. 最小时间段Tscl;


B. 时间段1 TSEG1;


C. 时间段2 TSEG2;


D. 同步跳转宽度 SJW。

那么Tscl又是怎么计算的呢?这是总总线时序寄存器中的预分频寄存器BRP派上了用场,

Tscl=(BRP+1)/FVBP

FVBP为微处理器的外设时钟。


举例说明

例子1

总线时钟:fbus=32M,波特率 :CANbps=250K


注:本例中时钟使用总线时钟,若选择外设时钟,则外设时钟=晶振频率/2


比如,总线时钟fbus=32M,准备设定的波特率 CANbps=250K,则


位时间TBit=1/250k=4us.


*TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)Tscl,


一般 (TSEG1+TSEG2+3)的值取16(8~25之间),则


Tscl=4us/16=250ns


Tscl=(BRP+1)/fbus


fbus为微处理器的总线时钟。则


250ns=(BRP+1)/32M


计算之后BRP=7即CAN0BTR0_BRP = 7


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


BTR0×BTR1 = fbus/CANbps


BTR0*BTR1=32M/250K=128


BRP=7,其作为BTR0的组成部分,表示预分频值为8,则BTR1的预分频值为


BTR1 = 128/预分频值=128/8=16

(CAN规范中规定其取值在8~25之间)满足要求。


TSEG1和TESG2的值**(TSEG1+TSEG2+3)=16**,而根据CIA推荐:


75% when 波特率 > 800K

80% when 波特率 > 500K

87.5% when 波特率 <= 500K


CiA计算方式:


sample =(1+(TSEG1+1))/(1+(TSEG1+1)+(TSEG2+1))


sample = ( 1 + CAN_BS1) / (1 + CAN_BS1 + CAN_BS2)


在这里,CAN_BS1=TSEG1+1,CAN_BS2=TSEG2+1;


则CAN_BS1和CAN_BS2的取值要符合要求。


此处令CAN_BS1取13,CAN_BS2取2, 采样率=(1+13)/(1+13+2)=87.5% BTR1=0001 1100B


则CANBTR1的值为0x1c,即CAN0BTR1 = 0x1c;


例子2

总线时钟:fbus=32M,波特率 :CANbps=100K


注:本例中时钟使用总线时钟,若选择外设时钟,则外设时钟=晶振频率/2


比如,总线时钟fbus=32M,准备设定的波特率 CANbps=100k,则


位时间TBit=1/100k=10us.


*TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)Tscl,


一般 (TSEG1+TSEG2+3)的值取20(8~25之间),则


Tscl=10us/20=500ns


Tscl=(BRP+1)/fbus


fbus为微处理器的总线时钟。则


500ns=(BRP+1)/32M


计算之后BRP=15即CAN0BTR0_BRP = 0x0f


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


BTR0×BTR1 = fbus/CANbps


BTR0*BTR1=32M/100K=32


BRP=15,其作为BTR0的组成部分,表示预分频值为16,则BTR1的预分频值为


BTR1 = 320/预分频值=320/16=20

(CAN规范中规定其取值在8~25之间)满足要求。


TSEG1和TESG2的值**(TSEG1+TSEG2+3)=20**,而根据CIA推荐:


75% when 波特率 > 800K

80% when 波特率 > 500K

87.5% when 波特率 <= 500K


CiA计算方式:


sample =(1+(TSEG1+1))/(1+(TSEG1+1)+(TSEG2+1))


sample = ( 1 + CAN_BS1) / (1 + CAN_BS1 + CAN_BS2)


在这里,CAN_BS1=TSEG1+1,CAN_BS2=TSEG2+1;


则CAN_BS1和CAN_BS2的取值要符合要求。


此处令CAN_BS1取15,CAN_BS2取2, 采样率=(1+15)/(1+15+2)=87.5% BTR1=0010 1111B


则CANBTR1的值为0x2f,即CAN0BTR1 = 0x2f;


总之,BRP(BTR0的值)和CAN_BS1,CAN_BS2的值可以自定,但是要符合CIA推荐的标准,一般 (TSEG1+TSEG2+3)的值取20(8~25之间)此处为自己猜想,没有寻找依据。


总体配置保持CAN_BS1>=CAN_BS2 , CAN_BS1>=1个CAN时钟周期 ,CAN_BS2>=2*SJW,


本例中,CAN_BS2=2,则SJW=1;即BRT0的bit7和bit6均为0


SAM的确定:低频时,选SAM=1,即采样3次。高频100K以上时,取SAM=0,即采样1次。


关键字:飞思卡尔  MC9S12XEP100  CAN  波特率配置 引用地址:飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置

上一篇:飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置
下一篇:MC9S08AW60学习笔记

推荐阅读最新更新时间:2024-11-08 14:36

CriticalBlue公司与飞思卡尔合作并简化多核软件开发
作为嵌入式多核软件分析、研究和验证工具的先驱,CriticalBlue公司已与全球领先的嵌入式半导体设计和生产商飞思卡尔携手,让CriticalBlue公司的Prism开发环境支持飞思卡尔的QorIQ多核处理器系列。 软件开发人员将可通过飞思卡尔基于Power Architecture®技术的多核平台对现有软件应用进行移植、优化和验证。 随着通讯设备供应商从单核设计过渡到多核设计,为与多核协同工作,他们会面对复杂和费时的代码重写工作。 Prism开发环境对飞思卡尔的QorIQ多核生态系统的支持让客户在设计新的多核平台的同时保留其遗留代码的价值。 通过配置代码库并建议最好在序列中留下哪些例程以及哪些例程是整个多核系统内
[嵌入式]
PIC16位单片机CAN(4)CAN发送报文详解
一个CAN的发送报文花费了快三天的时间,以前没有接触过CAN也没使用过DMA,因此遇上不少阻力,还好终于整出来了。 CAN的帧格式太多了不再说明。可以自己网上下载看看帧结构。这里只说一点,最长的帧是扩展数据帧。计算如下: 1sof + 29id + 1ide + 1rtr + 1srr + 2r + 4dlc + 8*8data+ 16crc + 2ack + 7eof = 128bit 1:由于选用的单片机有一个增强型CAN也就是ECAN因此我们必须使用DMA了,原因看下图: 数据手册有这么一句话:ECAN 报文缓冲区位于器件 RAM 中。它们不是 ECAN SFR。用户应用程序必须直接写入为 ECAN报文缓冲区配置的
[单片机]
PIC16位单片机<font color='red'>CAN</font>(4)<font color='red'>CAN</font>发送报文详解
飞思卡尔:传感器融合成为ADAS新趋势
 慕尼黑电子展一直是全球各界电子厂商的盛会,汽车、航天、医疗、消费电子等领域的各大厂商都会在此展示最新的技术和产品。飞思卡尔、英飞凌、瑞萨、意法半导体、TE等为业界所熟知的国际知名半导体厂商、元器件供应商悉数参展。在汽车电子方面,飞思卡尔带来了一款全新的车窗玻璃升降控制ECU—S12VR,进一步增加了车窗升降时的安全系数。借此机会,盖世汽车网记者向飞思卡尔半导体(中国)有限公司上海分公司汽车微控制器市场开发经理杨金晶请教了关于这款新产品的特点和优势,并对该公司2015年在车身电子方面的技术研发重点做了相应的了解。 飞思卡尔(中国)上海分公司汽车微控制器市场开发经理 杨金晶   MCU高集成化趋势   据杨金晶介绍,S1
[嵌入式]
借助汽车领域 飞思卡尔传感器业务细分市场大步前进
    集微网(微信号:jiweinet)文/刘洋 IHS Technology数据显示,2013年MEMS传感器制造商排名中,飞思卡尔仅以2.83亿美元的收入排名第七,年复合增长上升了8%。对于飞思卡尔在模拟和传感器的业务,不为大多数人所熟知,这是因为其主要应用在汽车领域,飞思卡尔高级副总裁兼模拟和传感器事业部总经理James Bates介绍道。 目前在商用汽车领域中,飞思卡尔商用汽车MEMS排名第二,惯性和压力MEMS排名第三,商用汽车模拟排名第四。这主要是基于以下三个方面: 首先,飞思卡尔可以提供完全的嵌入式系统解决方案。在产品设计中,提供最佳系统性能,最易于设计的Turnkey解决
[手机便携]
CAN总线在汽车电子业的应用
一、CAN总线 CAN是Control Area Network 的缩写, 该项技术最早由德国BOSCH 公司推出, 用于汽车内部测量与执行部件之间的数据通信。其总线规范现已被ISO 国际标准组织制订为国际标准。由于得到了Motorola , Intel , Philip , Siemence , NEC 等公司的支持, 它广泛应用在离散控制领域。CAN通信介质可以是双绞线、光导纤维、同轴电缆,作为一种串行多主站控制器局域网总线,他的通讯可靠性、网络安全性、实时性都非常高,成本也低廉,很适用一些中小规模的交通运载工具电气系统、工业过程监控设备的互连、电磁辐射强、环境温度恶劣、振动大的工业环境及汽车计算机控制系统。就目前的趋势看,CA
[嵌入式]
CAN总线在汽车电子的应用与实现
    控制器局域网(CAN)是一种有效支持分布式控制或实时控制的现场总线,具有高性能和高可靠性的特点;随着现代汽车技术的发展,CAN技术在汽车电子领域应用日益广泛。     1 汽车电子与CAN总线     随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增加,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题。为此以研发和生产汽车电子产品著称的德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。1989年,Intel公司率先开发出CAN总线协议控制器芯片,到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器
[嵌入式]
基于CAN总线的配电网户外柱上型重合控制器的设计与实现
    摘要: 介绍了一种基于CAN总线的中压配电网户外柱上型智能重合控制器,以16位工业级微控制器Intel 87C196KC为核心,应用现场总线和智能化技术将保护、测量、检测、计量、远动和故障诊断等综合自动化功能就地分散到户外开关设备本体上,采用CAN总线作为系统的通信网络,实现了配电设备的户外全分布式方案。     关键词: 配电网 现场总线 智能重合器 Intel 87C196KC 我国供电部分近几年来在城乡电网建设与改造中进行了大量的技术改造和更新,选用了新形的配电设备、综合自动化和调度自动化设备、自动控制测量装置等,但这些设备目前大多数仅限于在变电站和调度室中采用。而大量的统计资料表明,配电
[应用]
MSP430串口波特率寄存器的配置
在写串口通信时,经常因为时钟频率或波特率更改,需要重新配置波特率寄存器,以MSP430F5438A为例,记录一下寄存器配置方法: //============================= void Hal_Uart_Init(void) { P3SEL|=RXD+TXD; // P3.4,5 = USCI_A0 TXD/RXD UCA0CTL1 |= UCSWRST; // **Put state machine in reset** UCA0CTL1 |= UCSSEL__SMCLK; // CLK = UCSSEL__SMCLK ,8192000Hz UCA0B
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved