Hi Team,
Intention: A standard CAN 2.0B port is extended using the TCAN4550. It is planned to communicate with CAN 2.0B devices. To avoid introducing additional problems, the customer expect to debug the send/receive of demo’s standard frame before debugging other functions.
For the filter, the mask registers are initialized to 0, which means all messages are accepted.
Issue: The data frame in demo of the TCAN4550 cannot be transmitted to the CAN bus.
Step:
1) Port the MSP430-based TCAN4550 demo to customer own M3 processor. The M3 and TCAN4550 read and write data are good(device ID will return the device ID normally), indicating that debug based on migration needs can function.
2) The application layer is basically unchanged. However, when initializing the standard ID filter configuration, it is always inconsistent with the written value, causing configuration errors as shown in the following figure:
Because the value written by SIDFC does not match the return value, it exits directly, resulting in incorrect data in TCAN4x5x_MCAN_CACHEITCAN. Data exceptions in the cache are checked for subsequent writes and cannot be written directly. The application layer basically follows the application layer logic of demo and is unchanged.
The customer would like to know what's the possible cause of the write and read inconsistency issue.
3) If the can FD initialization in demo is used as can 2.0B, is it possible to properly communicate with can 2.0B devices?
Could you help check this case? Thanks.
Best Regards,
Cherry