本帖最后由 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)
|