新闻  |   论坛  |   博客  |   在线研讨会
CAN 时钟,波特率
笨笨的世界 | 2013-12-28 10:15:40    阅读:1959   发布文章

如何根椐CAN波特率计算公式计算相关参数

问:如何根椐CAN波特率计算公式计算相关参数(dsPIC30F系列)

答:

1.时间份额Tq = (2×(BRP+1))/ Fcan

式中:Fcan 为Fcy 或4Fcy取决于CAN控制寄存器C1CTRL中的CANCKS 位的设置。

2.时间份额的频率FTq = 1/Tq。

3.标称位时间 N×Tq,式中N =8~25,该值随通讯速率不同而不同

4.波特率 Fbaud = 1 /(N×Tq)

5.波特率预分频比 BRP =( Tq × Fcan)/2 – 1

假如系统的指令周期时钟FCY = 30 000 000,设CANCKS = 1,令Fcan = FCY,波特率设为 Fbaud = 1 000 000。

那么在最大速率下,波特率预分频比 BRP = 0,则 Tq = (2×(BRP+1))/ Fcan = 2 / 30M,

FTq = 1/Tq = 15M,根椐波特率公式Fbaud = 1 /(N×Tq)可算出 N = 15。知道了N,就可进行相应的寄存器设置了,如:

C1CFG1bits.SJW=00; -->1Tq

C1CFG2 = 0x03F5;   -->SEG1PH=6Tq, SEG2PH=3Tq, PRSEG=5Tq

#pic 单片机

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
记录我的成长。。。
最近文章
芯片的信号输入管脚
2018-07-10 16:07:06
ICD3驱动更新
2018-02-23 14:30:36
串口的数据接收问题
2016-11-14 14:24:54
推荐文章
最近访客