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.

TMDSCNCD28388D: EtherCAT Slave minimum cycle time

Part Number: TMDSCNCD28388D
Other Parts Discussed in Thread: TMDSCNCD28379D, , C2000WARE

Hello,
I want to operate a MCU as EtherCAT slave by using a realtime capable PC from a third party manufacturer as EtherCAT master. For this application I came across the C2000 controlCARD TMDSCNCD28388D. Alternatively probably the TMDSCNCD28379D with EtherCAT daughter card would be possible.


However, I have not found any information about the minimum possible cycle time of the EtherCAT transmission or the data throughput possible with this. Is an EtherCAT cycle time of 50 µs feasible? Which data throughput results from this?


In addition, the MCU should perform PWM and acquire analog input signals with a cycle time of 50 µs. Is this generally possible?
Furthermore, I have seen that the MCUs can also be programmed via Simulink. Does this also apply to the EtherCAT Slave functionality?


Many thanks in advance!

  • Hi Wolf,

    You can find some performance data in section 8 of the 'EtherCAT_Slave_Controller_User_Guide' located in the C2000WARE install. Directory location below:

    C:\ti\c2000\C2000Ware_3_04_00_00\libraries\communications\Ethercat\f2838x\docs

    Is an EtherCAT cycle time of 50 µs feasible?

    What is the full cycle time you mean? Receiving a frame from the master and transmitting back? Something more?

    In addition, the MCU should perform PWM and acquire analog input signals with a cycle time of 50 µs. Is this generally possible?

    This is along with the EtherCAT comms? i.e RX / TX ECAT frame + update PWM & read ADC

    Furthermore, I have seen that the MCUs can also be programmed via Simulink. Does this also apply to the EtherCAT Slave functionality?

    You may need to check with the Mathworks folks, but it doesn't look like F2838x EtherCAT is supported currently.

    https://www.mathworks.com/help//supportpkg/texasinstrumentsc2000/f2838x-c2838xlib.html

    Best,

    Kevin

  • Hello Kevin,

    first of all thank you very much for your answer!

    In my file EtherCAT_Slave_Controller_User_Guide.pdf was no information about this. However, after your answer I now realized that I had the version v2.00. In the found version v2.01 the chapter "EtherCAT Performance Data" exists.
    However, I can not figure out from this, whether which minimum EtherCAT cycle time is supported. If I understand correctly, a cycle time of 1 ms was used in the examples. Is this correct? What could be the smallest cycle time?

    I wonder how long it takes
    - to receive a frame from the EtherCAT bus (voltage reference value).
    - to execute an arithmetic operation on the MCU (PWM)
    - to output the result via DO
    - to acquire an analog measured value (current)
    - to send the measured value again via EtherCAT
    It would be optimal if this works within a bus cycle as short as possible. Unfortunately I have not yet found an answer to this question.

    The aim is to execute a closed-loop control on the EtherCAT master, which transmits the setpoints to the MCU via EtherCAT and receives measured values from the MCU. For a fast control it is important to minimize the total closed-loop cycle time.

    If I have seen correctly, the F2838x is generally supported by Mathworks. For EtherCAT this does not seem to apply (yet).

    Best
    Wolf

  • Hi Wolf,

    Good that you found the doc in the updated C2000WARE.

    However, I can not figure out from this, whether which minimum EtherCAT cycle time is supported. If I understand correctly, a cycle time of 1 ms was used in the examples. Is this correct? What could be the smallest cycle time?

    The 1ms that is documented is how often the the Distributed Clock task happens in the test (32 16-bit inputs and 32 16-bit outputs). The smallest achievable time would have some other dependencies, such as other EtherCAT tasks that happen in the network.

    The aim is to execute a closed-loop control on the EtherCAT master, which transmits the setpoints to the MCU via EtherCAT and receives measured values from the MCU. For a fast control it is important to minimize the total closed-loop cycle time.

    I don't have this data available to share unfortunately. An estimate could possibly be made if you add up the times of the different parts. Testing would need to be done to get an exact time however.

    I'll mention that the App Report below may be a good reference based on your questions, "EtherCAT-Based Connected Servo Drive Using FastCurrent Loop on PMSM".

    https://www.ti.com/lit/spracm9

    Best,

    Kevin