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.

AM2432: the reason for calling regularly PN_API_PDEV_run()

Part Number: AM2432


Hello Expert,

In Profinet example of AM243x SDK, I can find PN_API_PDEV_run() should be called regularly and the main task calls it with 1ms sleep. Could you explain the reason why it should be called with 1ms? The main task must have the highest task priority and 1ms sleep is an essential requirement for Profine stack operation?

I am considering the Profinet application implementation as below,

1) IO-device using AM2432 read data from 8 ADC channels (they will be current and voltage value)
2) and right after 1) it sends the measurement data to IO-controller using Profinet RT.
1), 2) are continuously repeated for IO-Controller to monitor the current and voltage of IO-Device, and must be done with real-time basis and without missing data.

For this application implementation, I think of three options in terms of application design as below,

Option 1) Two tasks run on one core. One task is for 8 ADC measurements. Another task is for running PN_API_PDEV_run() and sending the data to IO-Controller.

Option 2) Only one task runs on one core and the task executes 8 ADC measurements, PN_API_PDEV_run(), and sends the data to IO-Controller.

Option 3) One task runs on R5F0 and another task runs on R5F1. 8 ADC data measured on R5F0 is delivered to R5F1 through IPC, and R5F1 sends the data to IO-Controller.

Can you share your knowledge and recommendations about which one is a better choice for our application?

Regards,

Moonil