CAN总线波特率设置原理与PIC18F66K80位时序解析
需积分: 45 184 浏览量
更新于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-29 上传
2017-09-30 上传
2017-10-30 上传
2012-12-25 上传
2012-10-10 上传
2018-04-27 上传
吴雄辉
- 粉丝: 46
- 资源: 3745
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率