PIC18F26单片机,CAN波特率配置

只需要配置以下三个寄存器:

BRGCON1 BRGCON2 BRGCON3
BRGCON1=0x07;    => 0000 0111
BRGCON2=0x90;    => 1001 0000
BRGCON3=0x42;    => 0101 0010
BRGCON1: Sync_Sog (bit7~bit6)=1TQ,BRP(bit5~bit0)=1 ,则TQ=((2*(BRP+1))/Fosc=16/32M(16M)=0.5us(1us)
1、 结果:Sync_Sog=1TQ , TQ=0.5us;

BRGCON1寄存器:

77cd90691aa042cf9fd8a86e07d6bc88.png

 


BRGCON2:bit7=1 配置为自由编程,bit6=0:配置为总线在采样点采样1次,phase_Seg1 (bit5-3)=3TQ:
2、 结果:phase_Seg1=3TQ

BRGCON2寄存器:

03718c9e84ff421a8e6f9bdaab0232fe.png

 

BRGCON3:  Prog_Seg(bit2~bit0)=1TQ,设置 Phase_Seg2(bit2~bit0)=3TQ
3、 结果:Prog_Seg=1TQ,Phase_Seg2=3TQ;

57eeca6ac3b74072b480c04b7521386e.png
4、 位时间T: =TQ*(Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2)=(1+1+3+3)TQ=8
5、结论: 波特率=1/(T*TQ)=1/(8*0.5us)=250Kbps

 波特率修改建议:

1、调整TQ大小,即为BRGCON1的bit5~bit0,或者修改位时间T(自定义的T哈~)T是通过Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2的累加,可根据BRGCON1、BRGCON2、BRGCON3的数据数据手册进行修改

PIC18F26数据手册:

https://pf01.ickimg.com/datasheet/81/61/4afd/81/12c68af1beb5bb6f9eec1fb63e4beaa4.pdf

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值