项目开发DSP28377D变流器并网控制架构,需要多路Can通道进行数据交互,故采用SPI端口进行Can通道扩展。针对MCP2515对应转换的Can接口波特率配置说明如下:(8M时钟,500k配置)
Syn同步段(SyncSeg)为NBT中的首段,用于同步CAN总线上的各个节点。输入信号的跳变沿就发生在同步段,该段持续时间为1TQ。
PS传播段(PropSeg)用于补偿各节点之间的物理传输延迟时间。传输延迟时间为信号在总线上传播时间的两倍,包括总线驱动器延迟时间。传播段的长度可编程设定为1–8TQ。
两个相位缓冲段PS1和PS2用于补偿总线上的边沿相位误差。通过再同步,可以延长PS1(或缩短PS2)。PS1可编程设定为1–8TQ,而PS2可编程设定为2–8TQ。
OSC | 8M | ||||
BRP | 0 | TQ | 0.25us | SJW | 1TQ |
SyncSeg | PS | PS1 | PS2 | Baud | BitTime |
1 | 2 | 3 | 2 | 500k | 0.75 |
MCP2515_WriteByte(MCP2515_CNF1, 0x00);
以8M晶振为例;
SJW最大值为4TQ。通常状况下,只有当不同节点的时钟发生不够精确或不稳定(如采用陶瓷谐振器)时,才需要较大的SJW。一般情况下,SJW取值1TQ即可满足要求。
SJW:1TQ
TQ=2*(0+1)/8M=0.25us
MCP2515_WriteByte(MCP2515_CNF2, 0x9A);
PS0 = (010+1)*TQ=3TQ
PS1=(011+1)*TQ=4TQ
MCP2515_WriteByte(MCP2515_CNF3, 0x42);
PS2=(010+1)*TQ=3TQ
SJW=1TQ TQ=0.25us PS=3TQ PS1=4TQ PS2=3TQ
对时间段的编程设定必须满足以下要求:
• 传播段PS + 相位缓冲段 PS1 >= 相位缓冲段 PS2
• 传播段PS + 相位缓冲段 PS1 >= TDELAY(典型值1~2TQ)
• 相位缓冲段 PS2 > 同步跳转宽度 SJW
利用率=(Syn+PS+PS1)/(Syn+PS+PS1+PS2)维持在60%以上
PS+PS1 >= PS2 3+4>=3
PS+PS1 >= TDELAY 3+4>=1~2
PS2 > SJW 3 > 1
(Syn+PS+PS1)/(Syn+PS+PS1+PS2)(1+3+4)/(1+3+4+3)=72.73%