Hi,
I am wondering where we can find CAN_PAL program throughput test data (in bps) with 1Mbps CAN bus?
Test program shall use CAN_PAL api on S32K14x device.
- Loopback throughput: one S32K14x in loopback mode.
- Two S32K14x devices (1 sender and 1 receiver) on a CAN bus.
Regards,
Yanfeng
This application note provides software examples and
describes necessary startup steps needed to help users get
started with S32K1xx series MCUs.
Hi Yanfeng,
I am sorry to tell you that we did not offer throughput test data.
Maybe you can have a test by using CAN analyzer.
Best Regards,
Robin
Robin,
Thanks for the information.
Here we did a simple test on S32K146EVB, using loop back mode with FreeRTOS.
The initializer sets up CAN_PAL device in loopback mode, and sets speed as 1Mbps, installs our ISR callback. Then it starts two test tasks, which contain the following loops:
- Sender loop: 1) call CAN_Send() API, 2) wait for txSemaphore;
- Receiver loop: 1) call CAN_Receive() API, 2) wait for rxSemaphore;
In our CAN_PAL callback, we notify the txSemaphore or the rxSemaphore accordingly.
However, the throughput we got is about 1000mps for both sender and receiver tasks. Given we are using 8 byte standard CAN message, this is about 110kbps, far from the 1Mbps value.
Can you please share what was missed here?
Regards,
Yanfeng
What Bitrate did you set for the Arbitration Phase and Data Phase?(The CAN_PAL demo set 500 kbit/s by default)
Robin,
The bitrate we are using is 1000kbps as mentioned in the subject .
Regards,
Yanfeng
Thanks a lot, @Robin_Shen and @Brunner35 for your comments.
We've achieved about 600Kbps in loopback mode now after tweaking task synchronisations. If there is a way to achieve higher throughput, please teach.