200 likes | 377 Views
Compact Flash for CoolRunner™-II CPLDs. Agenda. Introduction What is Compact Flash? CoolRunner-II Implementation Block Diagram Applications CoolRunner-II features and Compact Flash Summary. Introduction. Extension of PCMCIA (PC Card) specification
E N D
Compact Flash for CoolRunner™-II CPLDs
Agenda • Introduction • What is Compact Flash? • CoolRunner-II Implementation • Block Diagram • Applications • CoolRunner-II features and Compact Flash • Summary
Introduction • Extension of PCMCIA (PC Card) specification • Compact Flash is intended for a new class of light weight, low power portable devices • Compact Flash concept • Capture,retain and transport data, audio and images • Extended operation beyond memory storage • I/O devices • Magnetic disk data storage • Matchbook sized form factor • Type I (3.3 mm thick) • Type II (5.0 mm thick)
Compact Flash Overview • Host Bus Adapter (HBA) • Interface between host and CF card • Host bus independent • 8/16 bit data access • Can access these card functions: • Memory • Attribute Memory • Common Memory • I/O Space • True IDE Mode
Compact Flash Overview • Two types of Compact Flash cards • Compact Flash • Memory • I/O Space • True IDE Mode (required) • ATA Compliant • CF+ • Memory • I/O Space • True IDE Mode (optional) • ATA Compliant
Compact Flash Overview • Data Bus • 8 bit HBA data bus • 16 bit HBA data bus • I/O Space • 8 bit registers • 16 bit registers • Can have multiple I/O functions • 5V or 3.3V
Attribute Memory • Card Information Structure (CIS) • Base address of 0x000 • Stored in non-volatile memory • Configuration and Status Registers • Base address of 0x200 for Compact Flash cards • Base address is specified in CIS for CF+ cards • Configuration Option Register (Mandatory) • BASE + 0x00 • Enables I/O functions • Address decoding • IRQ type and status • Soft reset
Attribute Memory • Card Configuration and Status Register (Optional) • BASE + 0x02 • Status change indication and reporting • 8/16 bit I/O mode selection • Power level selection (Level 0 or Level 1) • Binary audio enable • Power down control for power conservation • Interrupt pending status • Pin Replacement Register (Optional) • BASE + 0x04 • Reports status change events • I/O Space mode replaces status change pins with other I/O specific signals
Attribute Memory • Socket and Copy Register (Optional) • BASE + 0x06 • Drive number • Socket number (ignored by CF cards) • I/O Base Registers 0,1 (Optional) • BASE + 0x10, BASE + 0x12, etc. • Specify base address of I/O specific function registers • Can place I/O registers anywhere in the host system’s I/O space • Up to 16 bits for each base address • Required for multiple function CF+ cards • Optional for single function CF+ cards
Attribute Memory • I/O Limit Register (Optional) • BASE + 0x18 • Specifies max range of I/O addresses that can be mapped beginning at the base address • Optional
Common Memory • Flash Memory for general storage • Working memory space typically used to map memory arrays • CF cards only have 11 address lines • 2k bytes of addressable common memory
I/O Space • May be one or more functions • Memory only • I/O Cards • Multifunction Cards with combinations of memory and I/O functions • Examples of I/O functions • GPS • Network • Modem • I/O Space re-maps some pins for new functions • Pin Replacement Register has status of memory only pins during I/O configuration • Card powers up as a memory card for HBA to read the CIS data • Card is subsequently configured as I/O function
True IDE Mode • Mandatory for Compact Flash cards • Optional for CF+ cards • Large amounts of memory • Disk Drives • Emulated Disk Drives using Flash memory • Card must include an ATA Host Adapter • No drivers needed on host since ATA is standard • IBM Microdrive • Not included with CoolRunner-II implementation
CoolRunner-II Implementation • CF+ card • Does not support True IDE Mode • Attribute Memory • CIS as ROM within CPLD using product terms • Configuration Option Register (COR) • Card Configuration and Status Register (CSR) • Pin Replacement Register (PRR) • Common Memory • Intel StrataFlash 28F128J3 • 16 bit data bus
CoolRunner-II Implementation • I/O Space interface • Analog Devices DSP Microcomputer ADSP-218xN • 8 bit bus, easily modified to 16 bits • 80 MHz clock to CPLD from DSP CLKOUT • DSP used in Full Memory Mode using I/O Space • 3 wait states for I/O Space bus cycles • I/O Space Registers • Address Register (R/W) • Data Register (R/W) • Status Register (Read Only) • /IOMS for chip select
GPS Network interface Bluetooth Modem MP3 Data Storage Disk drive Flash memory Digital Camera Cell Phone Hand held games Home video game consoles Non-volatile memory Voice Recorders CF+ Applications
Perfect for CoolRunner-II CPLDs • CoolRunner-II CPLDs have 3.3V I/O capability • Compact Flash sockets can be either 5.0V or 3.3V • Cards are checked for voltage capabilities • 5.0V will never reach the I/Os • CoolRunner-II Schmitt Triggers are used as required by the Compact Flash Specification • CoolRunner-II DualEDGE registers • For use with a slow clock and meet CF timing specifications • Ultra low power conserves battery life • Low heat generation ideal for small form factor cards
Summary • Compact Flash is used for: • Portable, low power devices • Memory storage • I/O functions • CoolRunner-II CPLDs fit the role • Low power • Schmitt Triggers • DualEDGE • 3.3V I/O drive