目录

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波特率配置相关推荐

  1. 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置

    飞思卡尔MC9S12XEP100 CAN学习总结(一) 概述 飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置 本 ...

  2. 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...

  3. 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...

  4. 飞思卡尔MC9S12X:CAN初始化配置

    飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN初始化流 ...

  5. 芯片解密MC9S08DZ16 飞思卡尔系列芯片解密

    飞思卡尔系列芯片解密型号如下: MC9S08EL系列芯片解密:MC9S08EL16, MC9S08EL32: MC9S08FL系列芯片解密:MC9S08FL8, MC9S08FL16: MC9S08G ...

  6. 关于飞思卡尔的芯片固件库问题,为什么5.3没有8位芯片固件选择MC9S08DZ60芯片

    描述:关于飞思卡尔的芯片固件库问题:是用(code warrior 5.3)IDE5.3没有找到8位的芯片. 我以前是用(Keil uVision5)MDK5,可以在软件内安装不同的固件F1到F4.所 ...

  7. 飞思卡尔MC9S12X:CAN接收配置

    飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN接收流程 ...

  8. 飞思卡尔MC9S12X:CAN发送配置

    飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN发送流程 ...

  9. 飞思卡尔 MC9S12XEP100 bootloader CAN

    带有bootloader的程序分为两个工程: 1. bootloader: 2.user_app; 上述两部分,官方资料已经提供.现在需要能够读懂这两份代码,明确自己需要做什么. 飞思卡尔的MC9S1 ...

最新文章

  1. 中国电梯行业动态调研与未来发展趋势展望报告2022-2028年版
  2. 曹大,欧神开新公众号了
  3. Advanced Installer 9.8打包实录
  4. STM32 USB虚拟串口原理(上)
  5. 软件开发人员进修必备的20本书
  6. NeHe OpenGL第四十六课:全屏反走样
  7. 从程序员到项目经理(五):程序员加油站 -- 不是人人都懂的学习要点
  8. Java程序设计语言基础02:Java中的基本数据类型和运算符
  9. rabbitmq 用户管理
  10. 强大的离线字典《Colordict》+多种词库下载地址
  11. MG513P30 12V直流减速电机编码器电线与杜邦线焊接教程
  12. if函数多个条件怎么用,excel求和函数
  13. Python第五天的学习分享
  14. 《地平线:零之曙光》——游戏体验和主观评价
  15. docker之制作镜像
  16. Java--敲重点!JDK1.8 HashMap特性及底层数组+单链表+红黑树知识(建议收藏)
  17. 防止关闭windows
  18. 收购艾瑞咨询,亚信科技如何释放1+1>2的发展效应?
  19. TextView 中文本内容换行
  20. 第一行代码 (第三版) 第八,九,十章

热门文章

  1. 诺基亚S40机型新手美化攻略
  2. 话费API 洗车API接口源码分享
  3. windows环境下kafka-console-consumer.bat接受中文乱码问题
  4. 0042-批处理自动化实践-批量改名
  5. 计算机与网络杂志投稿,计算机与网络杂志
  6. 7、em/px/rem/vh/vw区别?
  7. 大话设计模式学习 C++
  8. 企业直播该如何做?硬件设备、网络环境、设备连接和观看权限等整个直播流程教程
  9. 计算机64位变32位,怎么将64位的系统变成32位的系统
  10. C51学习笔记 7.LED点阵屏