TI C2000 Microcontroller Slow IPC-Transmission of an int32 with just 1kHz
5 views (last 30 days)
Show older comments
I tried to send an int32 via IPC transmit from the C28x CPU to the ARM M4-Cortex every 100 microseconds (10kHz clock-frequency) by using an EPWM-block and an EPWM-Hardware-Interrupt. Unfortunately, the IPC transmission only works fine until clock-frequencies of 1kHz (every 1 milliseconds). For higher clock-frequencys, the IPC-tranmission shuts down. Even by using the IPC-Receive on polling instead of using an IPC-Hardware-Interrupt, frequencies higher than 1kHz cannot be reached. In my understanding, the transmission should only be limited by the reading&writing speed of the Message-RAM (which must be at least 1MHz for an int32).
Could somebody assist how to increase the performance of the IPC transmission? Thanks in advance!
Kind regards!
0 Comments
Answers (1)
Shivam Lahoti
on 16 Sep 2024
Hi Marcel,
I understand you are experiencing performance issues with the IPC transmission. When testing the IPC connection in combination with a UDP-Send block on the M4-Cortex at a discrete sample rate you might encounter performance problems as mentioned.
The speed of UDP might be essentially limited by the LWIP implementation on an embedded target. I believe similar limitations can be observed across targets like the STM32, which relies on LWIP in a non-RTOS configuration. You can verify this with TI examples implemented using CCS projects in C2000Ware as well.
You can try to use a buffer to store the data and send it at a slower rate, keeping only the relevant data to optimize memory allocation. I hope this approach would help you observe an increase in performance.
Regards,
Shivam.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!