Connecting AMD Flash Memory to a System Address Bus



Similar documents
Byte Ordering of Multibyte Data Items

32 Mbit (4M x 8-Bit/2M x 16-Bit), 3 V Simultaneous Read/Write Flash

An overview of FAT12

SP8 Programmers 硕 飞 科 技. User's Guide. TEL: FAX: WEB:

Technical Support Bulletin Nr.18 Modbus Tips

A N. O N Output/Input-output connection

PACKAGE OUTLINE DALLAS DS2434 DS2434 GND. PR 35 PACKAGE See Mech. Drawings Section

Single 2.5V - 3.6V or 2.7V - 3.6V supply Atmel RapidS serial interface: 66MHz maximum clock frequency. SPI compatible modes 0 and 3

PCI IDE Controller. Specification. Revision 1.0

Booting from NAND Flash Memory

W25Q80, W25Q16, W25Q32 8M-BIT, 16M-BIT AND 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

White Paper Using the Intel Flash Memory-Based EPC4, EPC8 & EPC16 Devices

A New Chapter for System Designs Using NAND Flash Memory

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded

8254 PROGRAMMABLE INTERVAL TIMER

Intel X38 Express Chipset Memory Technology and Configuration Guide

Parallel NOR Flash Automotive Memory

AN3155 Application note

MBP_MSTR: Modbus Plus Master 12

USB - FPGA MODULE (PRELIMINARY)

EDI s x32 MCM-L SRAM Family: Integrated Memory Solution for TMS320C3x DSPs

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide

INTEGRATED CIRCUITS I CODE SLI. Smart Label IC SL2 ICS20. Functional Specification. Product Specification Revision 3.1 Public. Philips Semiconductors

Technical Note. SFDP for MT25Q Family. Introduction. TN-25-06: Serial Flash Discovery Parameters for MT25Q Family. Introduction

ENTTEC Pixie Driver API Specification

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6)

M25P05-A. 512-Kbit, serial flash memory, 50 MHz SPI bus interface. Features

Micro Motion Modbus Interface Tool Slots and Slot Address Sequences

Intel Q35/Q33, G35/G33/G31, P35/P31 Express Chipset Memory Technology and Configuration Guide

PC2400 EEPROM PROGRAMMER INSTRUCTION MANUAL

Base Conversion written by Cathy Saxton

QorIQ espi Controller Register Setting Considerations and Programming Examples

The Purpose and Use of the Configuration Register on All Cisco Routers

EN29LV800B 8 Megabit (1024K x 8-bit / 512K x 16-bit) Flash Memory Boot Sector Flash Memory, CMOS 3.0 Volt-only

Record Storage and Primary File Organization

MF1 IC S General description. Functional specification. 1.1 Contactless Energy and Data Transfer. 1.2 Anticollision. Energy

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

EDI s x32 MCM-L SRAM Family: Integrated Memory Solution for TMS320C4x DSPs

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1

Memory Basics. SRAM/DRAM Basics

Data Movement Between Big-Endian and Little-Endian Devices

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface

8-Bit Microcontroller with Flash. Application Note. Using a Personal Computer to Program the AT89C51/C52/LV51/LV52/C1051/C2051

Software User Guide UG-461

How To Add A Usb Secondary Ipo Bootloader To An Lpc23Xx Flash Device To A Flash Device

1.55V DDR2 SDRAM FBDIMM

NAND Flash Memories. Using Linux MTD compatible mode. on ELNEC Universal Device Programmers. (Quick Guide)

USER GUIDE EDBG. Description

Intel 965 Express Chipset Family Memory Technology and Configuration Guide

UM0853 User manual. 1 Introduction. M24LRxx application software user guide

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

AMD-8151 HyperTransport AGP3.0 Graphics Tunnel Revision Guide

DDR3 DIMM Slot Interposer

Outline. Lecture 3. Basics. Logical vs. physical memory physical memory. x86 byte ordering

8 Mbit LPC Flash SST49LF080A

AN1754 APPLICATION NOTE

Using Altera MAX Series as Microcontroller I/O Expanders

HD44780U (LCD-II) (Dot Matrix Liquid Crystal Display Controller/Driver)

MSR605. Programmer s Manual. Magnetic Stripe Card Reader/Writer (High & Low Coercivity) Revision B

512 Mbit (64 Mbyte), 256 Mbit (32 Mbyte), 128 Mbit (16 Mbyte) 1.8V/3.0V HyperFlash Family

73S1215F, 73S1217F Device Firmware Upgrade Host Driver/Application Development User s Guide April 27, 2009 Rev UG_12xxF_029

Low Power AMD Athlon 64 and AMD Opteron Processors

RS-485 Protocol Manual

The Programming Interface

Modbus RTU Communications RX/WX and MRX/MWX

Embedded Multi-Media Card Specification (e MMC 4.5)

Microprocessor & Assembly Language

LatticeECP2/M S-Series Configuration Encryption Usage Guide

WebBIOS Configuration Utility Guide

3 Mbit / 4 Mbit / 8 Mbit LPC Flash SST49LF030A / SST49LF040A / SST49LF080A

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

3.Basic Gate Combinations

miniflash User Manual

Lecture N -1- PHYS Microcontrollers

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Programming PIC Microcontrollers in PicBasic Pro Lesson 1 Cornerstone Electronics Technology and Robotics II

How To Program A Microcontroller With Memory On A Microchip Microcontroller

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

Information Board User s Guide

Making Basic Measurements. Publication Number August Training Kit for the Agilent Technologies Series Logic Analysis System

Technical Note. Initialization Sequence for DDR SDRAM. Introduction. Initializing DDR SDRAM

Elfring Fonts LaserJet Bar Codes & More

Modicon Modbus Protocol Reference Guide. PI MBUS 300 Rev. J

MCF54418 NAND Flash Controller

JTAG Flash Memory Programmer Tool for Intel IXP4XX Development Platform

DS18B20 Programmable Resolution 1-Wire Digital Thermometer

Using Xilinx CPLDs to Interface to a NAND Flash Memory Device

Computer Systems Structure Main Memory Organization

Features. DDR SODIMM Product Datasheet. Rev. 1.0 Oct. 2011

AN1305. MIFARE Classic as NFC Type MIFARE Classic Tag. Application note COMPANY PUBLIC. Rev October Document information

AN1304. NFC Type MIFARE Classic Tag Operation. Application note PUBLIC. Rev October Document information

Measuring Processor Power

AN 223: PCI-to-DDR SDRAM Reference Design

Mini Amp Gizmo. User s Manual. RJM Music Technology, Inc.

Transcription:

Connecting AMD Memory to a System Address Bus Application Note This document is intended to clarify how memories may be connected to a system address bus and how software should issue device commands to devices. Organization Modes All AMD devices have either a byte-wide internal organization or can be used in byte mode, a mode that presents a byte-wide organization to the system. Some AMD devices can also present a 16-bitwide organization to the system. This is referred to as word mode. Nomenclature Most single-power-supply AMD devices have part numbers that begin with Am29, followed by one or two letters that indicate the technology used in the particular family of devices. An F indicates 5 V devices. The letters LV indicate low voltage, and refer to devices that may operate as low as 2.7 V. The letters DL indicate dual-bank (read-while-write) and low voltage. Following the letters are three digits that indicate the density and organization of the device. In general, memories that only provide a byte wide (x8-only) organization have numbers less than 100. The memories that support both byte and word modes have numbers greater than or equal to 100. See Table 1 for examples. Dual organization (x8/x16) modes allow for use in a wider range of systems, which may be either byte or word addressed. Am29 Table 1. AMD Nomenclature F (5 V) LV (2.7 V) DL (2.7 V dual bank) 00 ( Mbit, x8-only) 002 (2 Mbit, x8-only) 00 ( Mbit, x8/x16) 162 (16 Mbit, x8/x16) 322 (32 Mbit, x8/x16) Address Pin Labels The address pins for byte-wide-only devices are labeled to, where N is the highest order address bit. is the address bit that selects the odd or even byte. The address pins for dual organization memories are labeled in terms of word selection. In word mode, all data lines (DQ0 through DQ15) are used to convey a data word. The address bus of the flash device is used to select data on word boundaries and the pins are labeled as through, where N is the highest order address bit. is the address bit that selects the odd or even word. Each unique address placed on the address bus selects an individual word to be read or programmed. In word mode there is no means to individually select a byte within a word. In byte mode, the upper data lines are not needed for data. Seven of these data lines (DQ8 DQ1) are placed into a tri-state mode, and DQ15, the highest order data bit, functions as the lowest order address bit, and is referred to as A-1 (read A minus 1, to indicate that the bit is one order lower than ). Byte data is placed on DQ0 through DQ7, and is addressed by bits A-1 through, where N is the highest order address bit on the device. In byte mode each unique address placed on the address bus selects an individual byte to be either read or programmed. Word Mode Address Interface A common situation is a byte-addressed processor, which is connected to a flash device used in word mode (Shown in Figure 1). In this configuration, the System (processor) Address word selector bit (labeled ) is connected to the bit. Since the processor byte selector bit S is not connected, the may only be addressed on word boundaries and appears as contiguous word storage locations. SL (1.8 V) 800 (8 Mbit, x8/x16) Publication# 22279 Rev: A Amendment/0 Issue Date: November 1998

S S A2 Figure 1. Byte Address Connected to Word Mode Figure 3. Byte Address Connected to x8-only Another common situation is a byte-addressed processor connected to either a x8 device (Figure 2), or a x8/x16 device operated in byte mode (Figure 3). In this case each consecutive byte access from the processor needs to select a specific byte in the memory array. The System Address byte selector (S) is connected to the LSB address (which is labeled in x8-only devices, and DQ15/A-1 in x8/x16 devices). S A-1 Note: The DQ15/A-1 bit only appears in x8/x16 devices. When operating in x8 mode, the A-1 bit is the LSB bit of the. In x16 (or word) mode, becomes the LSB. In x8- only devices, the bit is the LSB for the. AMD devices can also be used in parallel, such as might be the case when using two x8-only devices in parallel on a 16-bit data bus (Figure ). This situation is extensible to 32-bit processor buses when combined with four byte-wide devices in parallel (Figure 5), or two word-wide devices in parallel (Figure 6). In these cases the memories are being treated as portions of a wider memory and the system address lines connected to the memories must reflect this by having higher order system address lines connected to lower order address inputs. S Figure 2. Byte Address Connected to Byte Mode x8/x16 Two Byte-Wide Figure. Byte Address Connected to Two x8-only on a 16-Bit-Wide Data Bus 2 Connecting AMD Memory to a System Address Bus

S S Four Byte-Wide Two Word-Wide Figure 5. Byte Address Connected to Four x8-only on a 32-Bit-Wide Data Bus Figure 6. Byte Address Connected to Two x16 on a 32-Bit-Wide Data Bus Constructing Address Tables What is important from the above system examples is to note that the mapping between processor address lines and address lines changes depending on the device mode in use and number of devices used in parallel. When commands are written to, the device expects certain address value patterns. System designers must therefore supply the expected address patterns and values from the viewpoint of the device. To help visualize the pin mapping and processor address value adjustments, a table similar to Table 1 might be constructed. Table 2. Address Line Relationships Description Address Lines & Values (Note 1) System Address 1 0 SA9 SA8 SA7 SA6 SA5 SA SA3 S x8-only (Note 2) 1 0 A9 A8 A7 A6 A5 A A3 A2 x8/x16 Byte Mode (Note 2) 0 A9 A8 A7 A6 A5 A A3 A2 A-1 x8/x16 Word Mode (Note 3) 0 A9 A8 A7 A6 A5 A A3 A2 System Binary Address 1 0 1 0 1 0 1 0 1 0 1 0 Hex Address (x8/x16 device in word mode) 5 5 5 Hex Address (x8-only device or x8/x16 device in byte mode) A A A Notes: 1. Table assumes processor provides a byte-selecting system address. 2. Assumes single memories are used to provide a byte-wide data bus. 3. Assumes single memories are used to provide a word-wide data bus. A repeating pattern of hex A characters on the system address bus would appear as a pattern of hex A characters to a byte-wide-only flash connected to the processor because the system and address lines are connected with matching address line significance the of the is tied to the S of the processor (refer to Table 2, bottom row). However, the same pattern of hex A characters presented to a x8/ x16 used in the word mode would appear to that device as if it were a repeating pattern of hex 5 char- Connecting AMD Memory to a System Address Bus 3

acters (refer to Table 2, second row from bottom). When used in word mode, the device s least significant address is connected to the address line. This is why a device command table shows a different address pattern for x8/x16 devices depending on whether byte or word mode is in use. These command tables are always defined from the viewpoint of the device s address bus. Table 3 lists the Command Definitions table for the Am29LV800B Device. Table 3. Am29LV800B Command Definitions Bus Cycles Command Sequence First Second Third Fourth Fifth Sixth Addr Data Addr Data Addr Data Addr Data Addr Data Addr Data Read 1 RA RD Reset 1 XXX F0 Autoselect Manufacturer ID Device ID, Top Boot Block Device ID, Bottom Boot Block Program Sector Protect Verify Word 2 Byte A A X00 01 Word 2 X01 22DA Byte A A X02 DA Word 2 X01 225B Byte A A X02 5B Word 2 Byte A A Word 2 Byte A A Unlock Bypass Word 2 3 Byte A A Unlock Bypass Program 2 XXX PA PD Unlock Bypass Reset 2 XXX XXX 00 Chip Erase Cycles (SA) X02 (SA) X0 XX00 XX01 00 01 PA PD Word 2 2 6 80 Byte A A A A Sector Erase Word 2 2 6 80 Byte A A A Erase Suspend 1 XXX B0 Erase Resume 1 XXX 30 20 10 SA 30 For each command listed in Table 3, there is an associated set of address/data patterns that must be written in a particular sequence in order to instruct the device to perform specific functions. It can also be seen that the address requirements for each command appear different depending on the operating mode. The command definition tables provided in all AMD data sheets are structured in a way to represent what the is required to see on its address pins for a particular operation to execute. Since the may be connected in different ways (as illustrated earlier), the values in the address tables may need to be shifted when writing software driver code, to reflect the processor and address bus relationship, in order for the device to recognize the proper bit patterns. Notice that in Table 3 the first command address pattern for a x8/x16, operating in byte mode, should be a set of repeating hex A characters. From the viewpoint of the, its address lines are connected to the processor address lines of the same significance. The address lines are labeled A-1 through. Alternatively, if a x8/x16 is used in word mode, there is no A-1 address pin and its lowest significance address line is connected to the processor address line. From the word mode viewpoint the pattern is a set of repeating hex 5 characters, as shown in Table 3. However, from the processor s viewpoint it is the same pattern shown in Table 2. It is still a byte address of A hex as far as the processor (and the software developer writing the driver code) is concerned. This is often a point of confusion for authors of driver code. Developers therefore should Connecting AMD Memory to a System Address Bus

be aware that the tables in AMD data sheets are from the viewpoint, but that the code has to be constructed from the processor viewpoint. The most common system implementations use a x8/ x16 in either byte mode as a single byte-wide memory, or in word mode as a single word-wide memory. When writing software drivers for either of these cases, use the patterns shown for the byte mode. Since the address connections between the processor and the are already offset properly, the device will accept those addresses. For these common system configurations, software drivers have already been written for AMD memories. These are available as C source code via the AMD web-site (www.amd.com) or the local AMD sales office. When devices are used in parallel to serve a wider data bus the relative positions of processor and address lines will shift more as shown in Figures, 5, and 6. So, the expected patterns shown in the command table must be shifted up in the processor code viewpoint so that the patterns remain on the desired pins of the address bus (an exercise left for the reader). Some Address Lines Don t Care Not all address lines are checked for the hex address patterns by the memory. These upper address lines are don t care from the viewpoint of any particular device. However, exactly which lines are ignored varies with different devices. Always check the notes below the bus command table in the datasheet to know which address lines do not require the hex pattern. However, placing the pattern on all the address pins has no effect on address bits that are don t care. Handling Bank, Sector, and Programming Offsets In certain commands, a bank, sector, or programming offset address must be given in order for the command to correctly begin. address bits above 0 are used for these purposes. Bank addresses (listed as BA in AMD data sheets) are used in the AMD DL (Simultaneous Read-Write) devices to uniquely identify one of two specific banks. For example, the Am29DL800B data sheet specifies that address bits 6 through 8 uniquely select a specific bank. For larger density devices, address bits 6 through the MSB of the device uniquely identify a bank. Sector Addresses (SA in AMD data sheets) are used for sector specific operations (such as Sector Erase and Sector Protect Verify). Address bits from 2 to the MSB are used to uniquely specify a sector. The Program Address Offset (PA in AMD data sheets) is simply an offset from the beginning of the device into the Array. Since this offset is not bank or sector specific, it is simply the desired byte offset into the array in which data will be programmed. Since this offset address can span more that 10 bits (past address bit 0), those address bits higher than 0 are no longer considered don t cares. sector and bank sizes are always quoted in terms of bytes in the datasheets. In the most common system implementation using a single byte or word mode, the system byte address of the processor matches with the quoted sector address boundaries since both are in terms of bytes. There is no special adjustment needed for the system address in these common system implementations. However, where parallel devices are used on a wider data bus, the bank, sector, and programming offset addresses will have to be shifted up to match the device viewpoint. Conclusion The memory command definition tables found in all AMD datasheets always show addresses from the viewpoint of the address pins in use for the particular mode (byte or word). These tables also assume a system where the memory is in an organization mode that matches the width of the data bus. Those who write software drivers for devices must consider the system implementation of single versus parallel devices when determining the degree to which addresses shown in the command tables may need to be shifted up in order for devices to properly recognize the commands. For the most common system configurations, software drivers have already been written for AMD memories. These are available as C source code via the AMD web-site (www.amd.com) or the local AMD sales office. Trademarks Copyright 1998 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD logo, and combinations thereof are registered trademarks of Advanced Micro Devices, Inc. Product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Connecting AMD Memory to a System Address Bus 5