嵌入式 | 飞思卡尔MC9S12XEP100芯片CAN波特率配置
目录
1. 波特率相关的寄存器
1.1. CANBTR0(MSCAN总线计时寄存器0)
1.2. CANBTR1(MSCAN总线计时寄存器1)
2. 位时间计算公式
3. 示例计算
3.1. 配置250K的波特率
3.2. 配置500K的波特率
1. 波特率相关的寄存器
通过查看数据手册或网上搜索,可以了解到在飞思卡尔MC9S12XEP100这款芯片中,与CAN波特率相关的寄存器有两个,通过配置这两个寄存器即可设置CAN总线的波特率。
1.1. CANBTR0(MSCAN总线计时寄存器0)
SJW:同步跳转宽度,决定要实现CAN总线上的数据传输重新同步,参数值如下图所示:
BRP:波特率预分频器,用来构建位计时的时间冲量时钟。这里,我们只需要配置BRP的参数,参数值如下图所示:
1.2. CANBTR1(MSCAN总线计时寄存器1)
SAMP:采样数量,用于确定每位时间所采集的CAN总线样本数量。0表示每位1个样本,1表示每位3个样本。
TSEG2:时间段2,固定每个位时间的时钟周期数和采样点的位置。参数如下图所示:
TSEG1:时间段1,参数如下图所示:
2. 位时间计算公式
位时间是由振荡频率、波特率预分频器、时间段1和时间段2确定。具体公式如下图所示:
3. 示例计算
3.1. 配置250K的波特率
波特率250Kbit/s,总线频率为32Mhz,那么Bit Time=1/250K=4us。
假设预分频器取值8,则4us=8/32Mhz*(1+TSEG1+TSEG2),推算出1+TSEG1+TSEG2=16。
此处还需要引入一个采样率公式:采样率=(1+TSEG1)/(1+TSEG1+TSEG2),表示的是采样点在整个位中的相对位置,因此采样率不能太低。根据CIA推荐:
- 波特率>800K时,推荐的采样率为75%;
- 波特率在500K~800K之间时,推荐的采样率为80%;
- 波特率<=500K时,推荐的采样率为87.5%。
此处假设TSEG1取值13,TSEG2取值2,采样率=(1+13)/(1+13+2)=87.5%,符合要求。
综上,CANBTR0_BRP=7,CANBTR0=0x1C。
3.2. 配置500K的波特率
波特率500Kbit/s,总线频率为32Mhz,那么Bit Time=1/500K=2us。
假设预分频器取值8,则2us=8/32Mhz*(1+TSEG1+TSEG2),推算出1+TSEG1+TSEG2=8。
此处假设TSEG1取值5,TSEG2取值2,采样率=(1+5)/(1+5+2)=75%,符合要求。
综上,CANBTR0_BRP=7,CANBTR0=0x14。
注意:上述预分频器、时间段1、时间段2的取值和采样率要求仅供参考。
嵌入式 | 飞思卡尔MC9S12XEP100芯片CAN波特率配置相关推荐
- 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置
飞思卡尔MC9S12XEP100 CAN学习总结(一) 概述 飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置 本 ...
- 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...
- 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...
- 飞思卡尔MC9S12X:CAN初始化配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN初始化流 ...
- 芯片解密MC9S08DZ16 飞思卡尔系列芯片解密
飞思卡尔系列芯片解密型号如下: MC9S08EL系列芯片解密:MC9S08EL16, MC9S08EL32: MC9S08FL系列芯片解密:MC9S08FL8, MC9S08FL16: MC9S08G ...
- 关于飞思卡尔的芯片固件库问题,为什么5.3没有8位芯片固件选择MC9S08DZ60芯片
描述:关于飞思卡尔的芯片固件库问题:是用(code warrior 5.3)IDE5.3没有找到8位的芯片. 我以前是用(Keil uVision5)MDK5,可以在软件内安装不同的固件F1到F4.所 ...
- 飞思卡尔MC9S12X:CAN接收配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN接收流程 ...
- 飞思卡尔MC9S12X:CAN发送配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN发送流程 ...
- 飞思卡尔 MC9S12XEP100 bootloader CAN
带有bootloader的程序分为两个工程: 1. bootloader: 2.user_app; 上述两部分,官方资料已经提供.现在需要能够读懂这两份代码,明确自己需要做什么. 飞思卡尔的MC9S1 ...
最新文章
- 中国电梯行业动态调研与未来发展趋势展望报告2022-2028年版
- 曹大,欧神开新公众号了
- Advanced Installer 9.8打包实录
- STM32 USB虚拟串口原理(上)
- 软件开发人员进修必备的20本书
- NeHe OpenGL第四十六课:全屏反走样
- 从程序员到项目经理(五):程序员加油站 -- 不是人人都懂的学习要点
- Java程序设计语言基础02:Java中的基本数据类型和运算符
- rabbitmq 用户管理
- 强大的离线字典《Colordict》+多种词库下载地址
- MG513P30 12V直流减速电机编码器电线与杜邦线焊接教程
- if函数多个条件怎么用,excel求和函数
- Python第五天的学习分享
- 《地平线:零之曙光》——游戏体验和主观评价
- docker之制作镜像
- Java--敲重点!JDK1.8 HashMap特性及底层数组+单链表+红黑树知识(建议收藏)
- 防止关闭windows
- 收购艾瑞咨询,亚信科技如何释放1+1>2的发展效应?
- TextView 中文本内容换行
- 第一行代码 (第三版) 第八,九,十章