CAN总线波特率设置原理与PIC18F66K80位时序解析
需积分: 45 43 浏览量
更新于2024-08-10
收藏 9.91MB PDF 举报
"波特率设置相关的Windows Internals Part 2(6th)无水印PDF,主要涉及PIC18F66K80系列微控制器的CAN总线通信和位时序配置"
在微控制器,尤其是PIC18F66K80系列中,波特率设置是CAN(Controller Area Network)总线通信的关键。CAN协议遵循非归零(NRZ)编码,不包含时钟信号,这意味着接收节点必须自行恢复时钟并同步到发送节点。为了实现这一点,接收器通常配备有锁相环(PLL),如数字锁相环(DPLL),用于与数据边缘同步,确保即使在节点间时钟频率存在差异的情况下,也能保持通信同步。
DPLL在位时序中起着核心作用,它将位时间划分为多个称为时间份额(TQ)的小时间周期。位时间由同步段(Sync_Seg)、传播时间段(Prop_Seg)、相位缓冲段1(Phase_Seg1)和相位缓冲段2(Phase_Seg2)组成。位时间的最小值为8个TQ,最大值为25个TQ,对应1微秒至约4微秒,这取决于标称比特率(Nominal Bit Rate, NBR)。NBR的最大值定义为1 Mbps,而最小的标称位时间是1微秒,对应于最高比特率。
比特率的调整通过波特率预分频比(BRP)和时间段内的TQ数量实现。BRP是一个可编程的整数,范围在1到64之间,它与振荡器频率(FOSC)和振荡器周期(TOSC)相结合,决定了TQ的大小。公式27-3展示了这个关系,其中FOSC是微控制器实际使用的时钟频率,BRP是二进制表示的BRGCON1寄存器的值,TOSC是振荡器周期。
例如,如果使用10 MHz的晶体振荡器在HS模式,FOSC将是10 MHz,TOSC将是100 ns。而在HS-PLL模式下,实际频率可能提高到40 MHz,TOSC相应减小到25 ns。
采样点位于位时间内的特定位置,这对于正确解码NRZ编码的数据至关重要。同步段用于检测数据的开始,传播时间段允许节点适应物理延迟,而两个相位缓冲段则提供了位时间内的灵活性,以应对时钟同步误差。
波特率设置在CAN通信中至关重要,因为它确保了不同节点间的时钟同步,从而使数据能够在总线上正确传输。理解并精确配置DPLL、BRP和TQ参数是实现高效CAN通信的基础。
2017-09-30 上传
2017-09-29 上传
2017-10-30 上传
2012-12-25 上传
2012-10-10 上传
2018-04-27 上传
2018-04-27 上传
2021-09-29 上传
2021-10-18 上传
吴雄辉
- 粉丝: 46
- 资源: 3762
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫