Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 14 Mar 2005 04:06 PM by  ronchoy
FlexBus R/W#
 5 Replies
Sort:
You are not authorized to post a reply.
Author Messages
ronchoy
New Member
New Member
Posts:


--
11 Mar 2005 03:47 PM
    Has anyone analysed the timing for the FlexBus? The implementation of the R/W# signal looks kind of odd to me. The EVB has the R/W# signal connecting to WE# of the Boot Flash. During a write cycle, the R/W# goes low after the first rising edge of the clock and it is de-asserted at the end of the bus cycle. First, if you do multiple write, you may violate the WE#'s "high width duration" requirement of the boot flash since a new bus cycle will start immediately after the completion of prior bus cycle. Second, for a write operation, the R/W# signal remains low during the whole bus cycle and chip select is toggle in between.
    kurtl@logicpd.com
    New Member
    New Member
    Posts:


    --
    14 Mar 2005 02:04 PM
    Thanks for taking a close look at our bus timings. This may help explain whats happening and why it works:
    1) On multiple writes, the "high width duration" is determined by nCE or nWE assertion as stated by note 1 on page 43 of the Intel C3 datasheet, document Order Number 290645-014 April 2002. On back-to-back writes, the minimum time is determined by the time between nCE assertions. The CPU can control the time between assertions by changing the value of ASET, RDAH, and WRAH for each chip select area. At reset, nCS0 starts with these values maxed out.
    2) As stated above, this is ok per Intel specifications.

    -Kurt
    ronchoy
    New Member
    New Member
    Posts:


    --
    14 Mar 2005 03:13 PM
    Thank you for the input.

    I don't think the CPU can control the time between assertions of R/W#. For now, let's focus on the R/W# signal which is connected to the WE# of the boot flash. If you look at Fig. 17-23 and 17-25 of the MCF5475 ref. manual rev 2, adding AS and/or AH doesn't change the inactive time of R/W# during back-to-back writes. I think the problem here is that R/W# is outside of the active region CS#.
    kurtl@logicpd.com
    New Member
    New Member
    Posts:


    --
    14 Mar 2005 03:23 PM
    Correct. CPU cannot change when R/W# is controlled. The Intel data sheet states, the flash chip uses either the nCE or nWE signal (whichever is asserted the least amount) to determine the transactions. In this case nCE is the dominant signal and when it is deasserted, it ends the write cycle eventhough nWE = R/W# is still active beyond the nCE assertion.

    I have copied the note from the Intel data sheet which explains the operation and why nCE is controlling this bus interface:

    1. Write pulse width (tWP) is defined from CE# or WE# going low (whichever goes low last) to CE# or WE# going high (whichever goes high first). Hence, tWP = tWLWH = tELEH = tWLEH = tELWH.

    Similarly, write pulse width high (tWPH) is defined from CE# or WE# going high (whichever goes high first) to CE# or WE# going low (whichever goes low first). Hence, tWPH = tWHWL = tEHEL = tWHEL = tEHWL.
    ronchoy
    New Member
    New Member
    Posts:


    --
    14 Mar 2005 03:35 PM
    Totally got it now. Thank you.

    Now I have to find out if the AMD flash that I use work the same way. I will email AMD to find out.
    ronchoy
    New Member
    New Member
    Posts:


    --
    14 Mar 2005 04:06 PM
    AMD p/n Am29PDL128G also works similarly. The datasheet has a timing diagram for "Erase and Program Operations" and another timing diagram for "Alternate CE# Controlled Erase and Program Operations" at the end.
    You are not authorized to post a reply.