AnsweredAssumed Answered

FlexCAN + MQX on Vybrid TWR-VF65GS10

Question asked by Robson Costa on Sep 19, 2014

Hello everybody,


I'm working with TWR-VF65GS10 (SCH27442-RevG1/700-27442-RevJ) + TWR-SER2 (SCH26185-RevD/700-26185-RevB) and trying to run a FlexCAN application over the MQX 4.1.1 (on A5 core) using IAR + i-Jet.

In order to connect the FlexCAN signals at the tower, was inserted a 0 ohm resistor in R10 and R11 of TWR-VF65GS10.

Also was performed the workaround for e5295 (document VYBRID_2N02G.pdf) that lock the FlexCAN module in Freeze Mode.

The application use the new FlexCAN driver (fsl_flexcan_driver.c) to initialize the controller and try to send a data frame.

After run the application two problems were observed:



#1 - A data frame is sent only if the baud rate used it is 250Kbps or 125Kbps.

          Into this context, a wave analysis was performed and a strange behaviour was observed on the change of bit status.

          In order to exemplify this problem was sent in attached the oscilloscope images for 250Kbps and 500Kbps.

          My question is: Is this a normal behaviour???


#2 - Even when a data frame is successfully sent (using 250Kbps or 125Kbps) the command "flexcan_send" remains blocked.

          The data frame sent is confirmed by a sniffer on CAN bus.

          Performing a more detailed analysis, was observed that execution flow is blocked while it wait an event.

          This code is located into the "fsl_flexcan_driver.c" file in the "flexcan_send" routine (line 437).

          The execution flow is blocked in the following code:


           // Wait for the event

          if (_lwevent_wait_ticks(&event, 1 << mb_idx, FALSE, 0) != MQX_OK) {

                printf("\nEvent Wait for send failed");



     Any suggestion???


I will appreciate any help with this situation.


Original Attachment has been moved to: