MBD Toolbox for MPC57xx Version 3.0 FCAN_Receive Blocking Mode
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
1.) Is anyone using the Toolbox for MPC57xx Version 3.0? If so,
2.) Have you used FCAN_Receive with Blocking Mode? If so,
3.) Can you share your model with JUST FCAN_Receive blocks with Blocking Mode? I only want to see if there is someone who actually can use it.
Thanks,
Li
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Finally new version 3.2 fixed the error for CAN receive blocking mode. But it only did half of the job. The help description doesn't match the actual block set. And there is no example. I don't even know how to make it working. Come on, NXP engineers! you guys can do better job than this!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ‌,
You can find examples for FCAN Send/Receive Blocking mode in the <MBDT_ROOT>/MPC_Examples/mpc574x/fcan folder:
- flexcan_echo_blocking_mpc574x, for MPC5744P.
- flexcan_echo_blocking_mpc574xg.mdl, for MPC5748G.
- flexcan_echo_blocking_mpc574xr.mdl, for MPC5746R.
and in <MBDT_ROOT>/MPC_Examples/mpc577x/fcan folder:
- flexcan_echo_mpc5777c.mdl, for MPC5777C.
The <MBDT_ROOT> is the folder where the toolbox is installed. To find it, you can run mbd_find_mpc_root() command in Matlab console or navigate to it from the Add-On Manager window.
The outputs of the blocking FCAN_Receive block are:
- Status (enum)
- ID (uint8)
- Data (uint8(8))
- Length (uint8)
- Timestamp (uint16)
The Status and ID output labels from the FCAN_Receive block are hidden under the NXP logo. Resize the block and make it bigger to see all output labels.
The output of the blocking FCAN_Send is:
- Status (enum)
Status enum output is a Simulink enumeration mapped to the status_t C enum from SDK. Supported values for FCAN are:
- status_t.STATUS_SUCCESS if successful
- status_t.STATUS_TIMEOUT if the timeout is reached
- status_t.STATUS_BUSY if another receive/send using the same message buffer is in progress
To see the values of the status_t enumeration, type in Matlab console status_t. and press the TAB key.
Check the example models to see how to use the status output.
Thank you for reporting this issue. I will update the help page in a future release or cumulative patch.
Regards,
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Paul,
Thanks for your reply to my post. I have checked the examples and there are some example for CAN Send blocking mode. But there is no example for CAN receiving with blocking mode. Can you send me a simple example of CAN receiving with blocking mode?
Best regards,
Li
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello there!
Would you please share the MPC57xx example for the sending fcan blocking mode ? I am working on the s32k14 but I need references of how to use it and I can't find examples for this issue.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So I am the only one who has this problem? NXP doesn't care about this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Without Blocking mode, all CAN received messages have to be processed in ISR (Interrupt). It's unrealistic for automotive application. Does anyone has alternative solution?
Thanks,
Li
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content