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.

RTOS/AM5746: About the GPMC Asynchronous Read Access

Part Number: AM5746


Tool/software: TI-RTOS

Hi,
I have 2 questions.
①I'm looking at TRM 15.4.4.8.3.1.1 Wait Monitoring During Asynchronous Read Access.
I knew that I had to detect "wait" by 2 cycles ago.
Is there a two cycle delay for RDACCESS TIME count to advance after "wait" is denied?

②I'm looking at TRM 15.4.6.1.2.2 GPMC Configuration for Asynchronous Read Access.
Does CSRDOFFTIME have to be set to RDACCESSTIME+1 cycle ?
--------------------------------------------------------------------------------------------
"There must also be a data hold time for correctly reading the data (checking that there is no nOE/nCS deassertion while reading the data). This data hold time is one clock cycle (that is, RdAccessTime + 1)."
--------------------------------------------------------------------------------------------

Regards,

Rei

  • Hi Rei,

    rei said:
    Is there a two cycle delay for RDACCESS TIME count to advance after "wait" is denied?

    I'm not sure I understand the question clearly. 

    The WAIT pin needs to be at a valid level (that is asserted or de-asserted) a minimum of two GPMC clock cycles before RdAccessTime completion to insure a proper dynamic access time control through WAIT pin monitoring. The two GPMC clock cycles advance pipelining are due to the internal synchronization requirements for the WAIT signal. RdAccessTime should be used as a WAIT invalid timing window and should be set to such a value so the WAIT pin is at a valid state two GPMC clock cycles before RdAccessTime completion.

    If wait is not asserted two cycles before RDACCESSTIME, then the read will occur at RDACCESSTIME - there is no additional delay.
    If wait is asserted two cycles before RDACCESSTIME, then "The wait signal should be de-asserted WaitMonitoringTime+2 FCLK clock cycles before data is sampled"

    WAIT monitored as asserted freezes the CycleTime counter.
    WAIT monitored as de-asserted unfreezes the CycleTime counter

    See related posts:
    https://e2e.ti.com/support/processors/f/791/t/187772 
    https://e2e.ti.com/support/processors/f/791/t/307113?AM335x-GPMC-WAIT-Pin-Monitoring-Control

    rei said:
    Does CSRDOFFTIME have to be set to RDACCESSTIME+1 cycle ? 

    CSRDOFFTIME and OEOFFTIME and RDCYCLETIME must be AT LEAST RDACCESSTIME + 1 so the data does not get forced off of the bus before the data hold time has been satisfied. The TRM says one cycle after RDACCESSTIME is enough hold time, but confirm with the datasheet for your specific mode.

    Hope this helps,
    Mark

  • Hi, Mark.
    It was really easy to understand.
    Thank you!

    Rei