CAN总线位定时配置详解-MCP2515寄存器设置
需积分: 50 58 浏览量
更新于2024-08-10
收藏 1.37MB PDF 举报
"MCP2515是一款独立的CAN协议控制器,支持CAN V2.0B规范,工作速率可达1Mb/s,具有接收和发送功能,内置接收缓冲器、验收屏蔽寄存器和验收滤波寄存器。该器件通过高速SPI接口与主MCU通信,并具备时钟输出、中断输出、低功耗特性,适用于工业和扩展温度范围。"
在CAN总线通信中,位定时配置是非常关键的一环,它决定了数据在总线上的准确传输。在标题提到的"位定时配置寄存器-tensorflow1.4官方文档整理版"中,虽然主要讨论的是MCP2515这个硬件设备,但其位定时配置的概念在任何CAN通信系统中都同样适用。
首先,对时间段编程有三个基本要求:传播段加相位缓冲段PS1必须大于等于相位缓冲段PS2;传播段加相位缓冲段PS1大于等于TDELAY;相位缓冲段PS2要大于同步跳转宽度SJW。这些条件确保了在不同节点之间保持同步,并能应对可能的时钟偏移。
以125kHz的CAN波特率为例,假设系统时钟FOSC为20MHz,每个时钟周期TOSC为50ns,那么每个位时间TQ为500ns。位时间被设定为16个TQ,这样可以得到所需的波特率。位的采样时刻通常发生在位时间的60-70%处,这样可以保证数据的稳定接收。
同步段设置为1TQ,传播段设置为2TQ,然后选择相位缓冲段PS1为7TQ,采样会发生在10TQ之后。相位缓冲段PS2设定为6TQ,根据规则,SJW的最大值为4TQ,但通常为了稳定性,SJW取1TQ即可。
关于振荡器容差,对于高达125千位/秒的传输速率,可以使用陶瓷谐振器,但如果需要覆盖CAN协议的全速范围,推荐使用石英振荡器,因为它们的频率偏差更小。不同节点之间的振荡器频率偏差不应超过1.7%,以保证总线上的同步。
位定时配置寄存器CNF1、CNF2和CNF3在MCP2515中控制着CAN总线的位定时。BRP设置波特率预分频比,PRSEG和PHSEG1分别设定传播段和相位缓冲段PS1的长度,SAM控制接收引脚的采样次数。CNF3中的PHSEG2仅在BTLMODE为1时设定相位缓冲段PS2的长度。
位定时配置是CAN通信中的核心部分,它涉及到波特率、采样点、同步和容错等多个方面。MCP2515通过配置寄存器精细地调整这些参数,确保了CAN总线的有效和可靠通信。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-09-23 上传
2020-09-28 上传
2021-05-09 上传
363 浏览量
点击了解资源详情
点击了解资源详情
陆鲁
- 粉丝: 26
- 资源: 3883
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍