TMS570LC4357-EP: EMIF Turn around delay issue

Part Number: TMS570LC4357-EP

Tool/software:

Good Morning,

When using EMIF for repeated reads, the gap between consecutive reads are taking more than configured cycles for Turn around. What may be the issue here?

  • Hi Deepak,

    Our internal AI tool generated below information which might be useful in this case, i want you to check this information once. If it doesn't solve your issue, then i will further investigate on this issue:

    Based on the provided technical documents, for repeated or consecutive asynchronous read operations, the EMIF does not insert any turnaround cycles. The gap the user is observing may be due to a higher priority task preempting the subsequent read operation.

    The Turn-around (TA) period is configured in the TA field of the asynchronous configuration register (CEnCFG). However, there are exceptions to this rule for consecutive operations.

    Turn-around Period Behavior

    For an asynchronous read operation in both Normal Mode and Select Strobe Mode, the following rules apply to the turn-around period:

    • The number of wait cycles is typically taken from the TA field of the CEnCFG register.
    • Exception 1: If the current read operation was directly preceded by another read operation, no turnaround cycles are inserted.
    • Exception 2: If the current read operation was directly preceded by a write operation and the TA field is 0, one turn-around cycle will be inserted.

    Similarly, if multiple read operations are required to complete a single word access (for a device with a small data bus width), the EMIF immediately re-enters the setup period to begin the next operation without incurring any turnaround cycle delay.

    Possible Cause for Delay

    After the EMIF waits for any required turn-around cycles, it re-checks to ensure the read operation is still the highest priority task. If a different task with higher priority has been requested, the EMIF will terminate the current read operation to service the new task. This preemption and subsequent re-initiation of the read operation could be the source of the delay you are observing between consecutive reads

    --
    Thanks & regards,
    Jagadish.

  • Good Afternoon jagadish,

    Thanks for your response.

    What I have done is here is I have read function in while loop to check the delay between multiple read operation and observed during debugging, more cycles are added and while in release mode comparatively fewer cycles are added. I'm still not getting the proper issue here.

  • Hi Deepak,

    What I have done is here is I have read function in while loop to check the delay between multiple read operation and observed during debugging, more cycles are added and while in release mode comparatively fewer cycles are added.

    Release mode has higher code optimizations compared with debug mode where there are no code optimizations. May be this is the reason you got few cycles between two consecutive read cycles.

    And also, i am suggesting you eliminate function calls, instead of add code directly one after another and see the behavior.

    And also verify your other end external EMIF device timing parameters, sometimes slow external device will also cause the delay in consecutive reads.

    --
    Thanks & regards,
    Jagadish.

  • Hello,

    Thanks for your response, I will check. In the mean time can I get the procedure to configure safety libraries into the project, while building safety library project from ti/safetylib folder to configure for TMS570LC43, it is giving some build issue. After doing this procedure only I could able to import .lib file into my project and use right?

  • Hi Deepak,

    Apologies for the delayed response:

    (+) RM57L843: Questions about using the SafeTI Diagnostic Library - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    can you please refer above thread once.

    --
    Thanks & regards,
    Jagadish.