STM32F091单片机的配置与波特率计算方式
发布时间
阅读量:
阅读量
此前未曾涉及CAN通信相关内容,近期才开始学习相关知识,通过网络查阅了一些资料,对CAN通信的硬件部分有所了解。个人认为,对于CAN硬件知识只需掌握大致内容即可,最关键的部分在于软件代码的实现。因为硬件提供了基础支持,只要掌握如何配置波特率和过滤器等关键参数就足够了。
以STM32F091为例,系统时钟SYSCLK设置为48MHz,CAN模块运行在APB1总线上,同样配置为48MHz。
计算CAN波特率的公式为:波特率 = 48 / (Tbit × PRV)
其中Tbit表示位时间,其值等于TSEG1 + TSEG2 + TSYNC;PRV是分频系数。
TSYNC是位同步时间,其长度等于一个TSCL周期;
而TSEG1与TSEG2分别包含若干个TSCL周期的具体数值,则需要根据所需的波特率以及采样点位置进行计算。目前网络上已有多种计算工具可供下载使用。
关于采样点的设定标准如下:
当目标波特率大于800Kbps时,采样点应设置为75%;
当目标波特率大于500Kbps但不超过800Kbps时,采样点应设置为80%;
当目标波特率小于或等于500Kbps时,则采样点应设置为87.5%;
在实际操作中,输入系统时钟频率(如48MHz)、期望的采样点比例以及目标波特率后,即可得到对应的TSEG1、TSEG2以及PRV参数值。根据这些计算结果选择最符合需求的一组参数进行
全部评论 (0)
还没有任何评论哟~
