MCP2515 SPI转换Can芯片 can波特率配置

本文详细解释了在项目开发中,如何使用MCP2515SPI端口扩展多路Can通道,以实现DSP28377D变流器的并网控制。重点介绍了CAN接口的波特率配置,包括同步段、传播段、相位缓冲段以及SJW和TQ的设定,以确保有效通信和60%以上的利用率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目开发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%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值