打印
[国产单片机]

如何从普通CAN升级至CAN-FD?

[复制链接]
3136|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Dick Hou|  楼主 | 2024-10-14 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Dick Hou 于 2024-10-14 10:59 编辑

1 CAN和CAN-FD的区别CAN最高速率为1Mbps,每帧最大传输8字节
CAN-FD采用可变位速率,数据段最大可超过10Mbps,多数设计采用5Mbps或8Mbps
每帧最大传输64字节
CRC计算方式不一样,且增加了位填充计数(stuff count)
增加BRS位(位速率切换)和ESI位(错误状态指示)
增加TDC(传输延迟补偿)

2 CAN升级至CAN-FD

2.1 硬件
MCU主控
用得较多的STM32F042/072/091,以及STM32F103。可以直接使用闪芯微的FCM32F075/FCM32F095代替,主要特点:
引脚兼容,软件二进制兼容(软件开发工具不变,硬件烧写/调试工具不变),电源电压1.8~5.5V,最高频率72MHz,硬件除法及开方
支持双CAN-FD
支持USB与CAN同时使用
闪芯微为目前唯一一家做到STM32F072/091无缝升级至CAN-FD的厂家!

CAN PHY
PHY应该升级到支持CAN-FD的相应器件

2.2 软件
因为CAN-FD增加了一些功能,因此,FCM的exCAN IP在兼容STM32的bxCAN基础上,扩充部分位,用以支持CAN-FD:
  • FDOE,CAN-FD模式允许
  • BRSE,位速率切换允许
  • NISO,ISO/BOSCH模式
  • TDC相关位,传输延迟补偿的相关设定
  • ESIMOD,错误状态指示模式
  • DBTR相关位,数据段的位速率设定
  • FDF/R1/BRS/ESI,数据帧中的相关位
只要在原来的应用上,补充以上位的设定,即可添加CAN-FD的支持,如下所示:

另外,由于CAN-FD支持最大64字节数据帧,因此,访问FIFO的方式在CAN-FD模式,作出了改变:
  • 对于发送,连续写入TDLxR寄存器
  • 对于接收,连续读出RDLxR寄存器
以上相关的底层驱动,FCM已提供适配,只要替换相应h/c及可

FCM提供双CAN-FD的例子,且CAN及CAN-FD的应用都有客户在稳定出货。
有任何需求,请至“闪芯微”网站查看联系方式。
FCM32 series exCAN.pdf (928.91 KB)
Portfolio_F0.pdf (921.81 KB)
FCM32F091xBxC-C_datasheet_CH_0.11.pdf (3.1 MB)
FCM32F095xBxC-C_datasheet_CH_0.11.pdf (3.36 MB)
Sxx32F0至FCM32F0快速替换指南_0.11.pdf (942.6 KB)



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

229

帖子

4

粉丝