2023-02-14 05:34 AM
Hello all,
we intend to use the STM32U5 in a project that uses CAN FD.
I have learned that the initial CAN FD version 1.0 specification from Bosch [1] in 2012 had a bug that prevented the CRC detecting some error types, which led to changes during the ISO standardization process in 2015. Therefore, the Bosch and ISO standards are not compatible, and it is generally discouraged to use the old Bosch standard.
Now the Datasheet of the STM32U5 states:
"The modules (FDCAN) are compliant with ISO 11898-1: 2015 (CAN protocol specification version 2.0 part A, B) and CAN FD protocol specification version 1.0." (emphasis mine)
Commons sense would dictate that since the STM32U5 is very recent and ISO 11898-1: 2015 specifies both CAN and CAN FD, the CAN FD implemented in this MCU also adheres to ISO standards; however the mention of the v1.0 specification is quite confusing.
Can anyone confirm whether the CAN FD implementation in the STM32U5 adheres to ISO standards?
Thanks,
Andreas
[1] Robert Bosch GmbH. "CAN with Flexible Data-Rate Specification Version 1.0 (released April 17th, 2012)". (cannot post the link because of forum rules)
2023-02-14 06:03 AM
I am going to answer my own question for those who come here later; apparently, both the Bosch and ISO standards are supported:
Document:
RM0456
Reference manual
STM32U575/585 Arm®-based 32-bit MCUs
Relevant section:
62.4.6 FDCAN CC control register (FDCAN_CCCR)
Bit 15 NISO: Non ISO operation If this bit is set, the FDCAN uses the CAN FD frame format as specified by the Bosch CAN FD Specification V1.0.
0: CAN FD frame format according to ISO11898-1
1: CAN FD frame format according to Bosch CAN FD Specification V1.0