This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388D: IPC Transmission of an int32 in 10kHz clock rate

Part Number: TMS320F28388D

I am using the MATLAB Simulink Code Generation to send an int32 from the C28x CPU1 to the ARM M4-Cortex using IPC-Transmit. The Transmission will be triggered by an ePWM Block with a 10kHz clock rate. On the M4-Cotrex side, the int32 will be received using an IPC hardware interrupt. At the moment, the ARM M4-Cortex cannot receive the int32. By reducing the clock rate to 1kHz, the transmission works fine.

What is the maximum permissible speed for an IPC-transmission between the C28x CPU and the ARM M4-Cortex?

Can somebody provide information how to speed up the IPC transmission?

Thanks in advance!

  • Hi,

    I'm not sure how MATLABs generated code is working, but your speed should only be limited by the time it takes to read and write the message RAM. I haven't specifically tested our maximum speed limit, but I would assume that you could approach at least 1MHz for transmitting 32 bits.

    I could point you in the direction of some example C code, but I am not sure how helpful that would be if you are developing with MATLAB.

    Just curious, do you have similar limitations if you try IPC between the C28x cores?

    Best Regards,

    Ben Collier 

  • Hi Ben,

    thanks for your assistance! I checked the IPC-connection between the C28x CPU1 to CPU2 as well as the C28x CPU1 to ARM M4-Cortex. In addition, the int32 shoult be send as an UDP-packet via the Ethernet-connection from the M4-Cortex. I experienced no issues without the UDP-send-block by MATLAB, meaning the IPC-connection works fine.

    After checking the MATLAB-Documentation, it is said: "CPU Timer 2 of F2838x Arm Cortex-M core (Connectivity Manager) provides time base to lwIP stack. It is configured to trigger an interrupt every 1 ms. This timer should not be re-configured if Ethernet blocks are being used in the model. If the corresponding interrupt is armed through Hardware Interrupt block, it will run the interrupt handler every 1 ms."

    Do you have any ideas how to change the CPU Timer2 of the F2838x?

    Thanks in advance? 

  • Hi Marcel,

    Again, this sounds like a setting that would have to be configured in MATLAB/Simulink, and I am not sure how to do that. I could show you how to change the CPU Timers in C code, but I'm not sure that would help. It also looks like MATLAB thinks that you shouldn't change this timing for whatever reason.

    Best Regards,

    Ben Collier