280 likes | 405 Views
This document discusses the external memory interface of the ADuC7026 microprocessor, including bus operation, timing compatibility, and demultiplexing. It covers crucial concepts like the basic read/write cycle sequences at the bus level, the significance of timing parameters like tAA and tAVDV, and ensuring compatibility between the CPU and memory devices. The need for proper configuration of memory regions and understanding of control signals is emphasized, alongside analysis of timing for successful data operations. This material is essential for developing effective microprocessor systems.
E N D
ECE 353Introduction to Microprocessor Systems Michael J. Schulte Week 10
Administrative • Reading for next week 10 • Supplement #3, review chapter 9 in text, • ADuC datasheet pages 79-82 • Homework #4 returned • Average of 85% • Still grading Quiz #2
Topics • ADuC7026 External Memory Interface • Implementation • Demultipexing • Bus Timing • Bus cycle timing modification • Wait states and more • Assessing timing compatibility
Basic System Bus Operation • Address • Unidirectional from CPU • Data • Bidirectional • Control • /RS or /RD – output from CPU • Indicates a read operation in progress • /WS or /WR – output from CPU • Indicates a write operation in progress • /WAIT or /READY – input to CPU • Used by external device to signal that it is not able to complete transfer yet
ADuC7026 Bus Operation • The ADuC7026 external memory interface consists of • 16-bit multiplexed address/data bus (AD15:0) • High address for 8-bit operation (A16) • Read and write strobes (/RS, /WS) • Memory select signals (/MS3:0) • Byte enables (/BHE, /BLE) • Demultiplexing control signal (AE) • There is no WAIT/READY signal • Basic Read Cycle Sequence at Bus Level • Diagram • Basic Write Cycle Sequence at Bus Level • Diagram
ADuC7026 Demultiplexing • Multiplexed Signal Timing • Read Cycle • Dealing with a multiplexed bus • Demultiplexing by the device • Demultiplexing logic to create an address bus • Implementation • Devices – latches or flip-flops • Connections • AE timing
SRAM Timing Compatibility • In order to properly read and write the device, we need to ensure that the processor-to-memory interface is compatible with the memory device. • This is accomplished by analyzing the timing for all relevant parameters, and ensuring that the operation can be completed successfully. • We will work through the read cycle analysis for the ADuC7026...
Assessing Timing Compatibility • Need to know whether CPU could operate with the tAA for given device. (read cycle) • We designate a CPU characteristic tAVDV, which is the delay from • When the address becomes valid at the CPU • Until the data must be driven to CPU • This establishes an upper bound on tAA • tAA < tAVDV • Read cycle parameters (see handout) • Read cycle timing control (see handout) • Simple Example
Address Valid to Data Valid Time (tAvdv) • If the fastest bus cycle is used then tAVDV = 3 CLK - tDATA_SETUP • If the bus cycle is extended then tAVDV = 3 CLK - tDATA_SETUP + (nAW + nAH + nRDTA + nW) CLK address wait states (nAW) – set by XMxPAR[14:12] (0-7) address hold time (nAH) – set by XMxPAR[10] (0-1) read turn-around time (nRDTA) – set by XMxPAR[9] (0-1) wait states (nW) – set by XMxPAR[3:0] (0-15) • There is an upper bound on tAA • tAA < tAVDV
System Timing Compatibility • Need to account for all delays in a system to assess timing compatibility. • Consider this system. • Analyze the read timing with regard to: • tAA – address access time • tACS – chip enable to valid data • tOE – output enable to valid data • tDF – output hold/float time • Read cycle timing control (see handout) • Information also in Supplement 3
Analyzing the address access time (tAA) • Before a valid address is available at the SRAM, it must and go through the latch after ½ clock cycle . This gives tAA < tAVDV - ½ CLK – tLATCH • Expanding tAVDV gives tAA < 2.5 CLK - tDATA_SETUP - tLATCH + (nAW + nAH + nRDTA + nW) CLK
Analyzing the chip enable access time (tCE) • The chip enable depends on /MSx, /BHE, /BHE and the address • The last signal to arrive at the decoder is the byte enables • The byte enables are asserted one cycle before the rising edge of /RS, which gives tCE < CLK - tDATA_SETUP – tDECODER • If the read cycle is lengthened then tCE < CLK – tDATA_SETUP – tDECODE_LOGIC + (nAH + nRDTA + nW) CLK • What happens for an 8-bit bus (no byte enables)?
Analyzing the output enable access time (tOE) • The SRAM /OE input is driven by the /RS signal • For the fastest bus cycle this gives tCE < CLK – tDATA_SETUP • If the read cycle is lengthened then tCE < CLK – tDATA_SETUP + (nW) CLK
Analyzing the data float time (tDF) • How long is the data guaranteed to be valid? Will it meet the hold time? • The data may go invalid if the address becomes invalid, or \CS or \OE go high. • Which occurs first? • Based on the read cycle parameters, we must guarantee tOHZmin > tDATA_HOLD • To ensure the SRAM stops driving before the processor drives the next address, we need tOHZMAX < CLK
ADuC7026 External Memory Interface Configuration • The external memory interface supports four independently configured memory regions, each of which is 128kB in size. • In order to use the external memory interface, we need to • Configure the required pins (GPxCON) • Enable the external interface (XMCFG[0] = 1) • Configure for bus width and enable the region (XMxCON) • Configure for the desired bus timing (XMxPAR)
ADuC7026 GPIO Ports • The ADuC7026 has 40 pins organized as 5 ports that can be used as digital GPIO • All pins have multiple functions in addition being able to be used as GPIO • The configuration selection is set through the GPxCON MMR.
ADuC7026 XMxCON • The XMxCON registers configure the bus width and enable the interface for the respective 128KB memory region. • XM0CON 0x10000000-0x1001FFFF • XM1CON 0x20000000-0x2001FFFF • XM2CON 0x30000000-0x3001FFFF • XM3CON 0x40000000-0x4001FFFF
Write cycle timing control Read cycle timing control ADuC7026 XMxPAR • The XMxPAR MMR configures the bus timing for a region • 0x70FF at reset • [14:12] – AE extend • [9] – implements bus turn-around • [8] – provides additional hold time • [7:4],[3:0] – extend write/read strobes
System Timing Compatibility • Consider again the system. • Analyzing write cycle timing. • SRAM write characteristics • tWC • tAS, tAW, tCW • tWR • tWDS, tWDH • Write cycle controls
Timing Wrap-Up • Device characteristics are just part of the total timing analysis picture • Line/device capacitive loading and driver slew rates • Transmission line effects and parasitic reactance • Impedance mismatch and reflections • Skew and physical/electrical trace length mismatch • Signal integrity • Ensuring that signals are correct in spite of all of the above issues and mutual coupling effects
Wrapping Up • Reading for next week 11 (interrupts and exceptions) • Textbook chapter 8 • ADuC 74-75 • ARM7 2.8-2.10
Read Cycle Controls nAW nAH nRDTA nW