驱动资源下载: 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。