MCP2515 CAN芯片调试说明

驱动资源下载: https://download.csdn.net/download/weixin_55163060/85220127

PS:半双工模式,高波特率下无法通信可能终端电阻不匹配,H和L之间需要120欧电阻

周期:同步段PS + 传播段PS0+相位缓冲段PS1 +相位缓冲段PS2

MCP2515_WriteByte(MCP2515_CNF1, 0x03);
SJW=1TQ (bit7-6)
TQ=2*(011+1)/8M=1us (bit5-0) 以8M晶振为例;
PS=1TQ

MCP2515_WriteByte(MCP2515_CNF2, 0x90);
bit7 取1
PS1=(010+1)*TQ=3TQ (bit5-3)
PS0 = (000+1)*TQ=1TQ (bit2-0)

MCP2515_WriteByte(MCP2515_CNF3, 0x02);
PS2=(010+1)*TQ=3TQ (bit2-0)

取值范围:
SJW:1-4(当不同节点时间不稳或者不准时,SJW要加大,通常为1)
PS0 :1-8
PS1:1-8
PS2:2-8

规则:
PS+PS1>=PS2
PS+PS1>Tdelay
PS2>SJW

利用率=(1+PS0+PS1)/(1+PS0+PS1+PS2)维持在60%以上

Tbit=1*(PS+PS0+PS1+PS2)=8TQ=8*1us=8us 波特率=125KHz

假设晶振为X,如果CNF1为0(此时TQ最小,波特率最大)CNF2和CNF3同上,TQ=2*(0+1)/X=2/X, Tbit=8TQ=16/X,波特率为X/16Hz,当波特率最大为1000KHz,则X必须为16M晶振。

实际实例:
PS0、PS1、PS2可修改,24M晶振。配置MCP2515_WriteByte(MCP2515_CNF1, 0x00);MCP2515_WriteByte(MCP2515_CNF2, 0x99);MCP2515_WriteByte(MCP2515_CNF3, 0x04);
TQ=2/24M Tbit=PS+PS0+PS1+PS2=1TQ+2TQ+4TQ+5TQ=12TQ=1/1M=1us,则波特率为1000KHZ。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉无忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值