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.

PROCESSOR-SDK-AM64X: understanding Isochronous PROFINET API (4.0.3) IRT - timing, PINs

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: TMDS64EVM, SYSCONFIG

Tool/software:

Hi TI-Team,

we have a customer requiring PROFINET IRT in a product, where we use AM64x, so there is some time pressure.

Currently I am evaluating PROFINET Device Stack 4.0.3 shipped with latest industrial communication SDK 09.02.00.15 on normal TMDS64EVM board.

I can setup a basic IRT network using:

  • S7-1500 + TIA Portal
  • TMDS64EVM with Profinet device example using GSDML-V2.43-TI-SITARA-CCC-20240326.xml

However, I do not fully understand the API interaction for isochronous:

  1. Which additional PINs to configure in sysconfig for PROFINET ?!
    • I am unsure what I need to configure in PROFINET tab of sysconfig
    • I currently added PRU (ICSS) IEP
    • those two signals seem to be the ones triggered from PN_API_IOD_activateIsoGpioObj()?
    • so they are the pulses for TI and TO ?!
    • can you approve that this is correct?
    • Where is the not delayed IRT interrupt visible?
    • Is there any PIN/possibility to get IRT interrupt/ISR without delay?

  1. timing of cyclic data in API
    • there are the callbacks PN_APP_IOD_cbDataRead() and PN_APP_IOD_cbDataWrite() which handle cyclic process data
    • these functions also seem to be called when IRT is enabled
    • however they are called at times I won't expect
    • I would expect the execution at time TI and TO
    • the times defined in PROFINET standard (see diagram below)
    • However, the callbacks are called almost directly after each other
    • see the following screenshot of logic analyzer
      • TI was configured as 125 us
      • TO was configured as 250 us
      • so it would make sense that TI is SYNC_OUT2
      • and TO is SYNC_OUT0
      • shouldn't PN_APP_IOD_cbDataWrite() be called in TI
      • and PN_APP_IOD_cbDataRead() be called in TO
      • or do i misunderstand something?

From Profinet Standard: https://cache.industry.siemens.com/dl/files/401/109755401/att_965576/v1/s71500_isochronous_mode_function_manual_en-US_en-US.pdf

related issues: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1327665/am6442-profinet-iep-signals-use-case-and-hardware-connection

Do you have any guideline/documentation about Profinet IRT device and how to integrate in Application using the full protocol stack of TI?