All Forums
 Hardware
 Ethernet, IR, Serial, CAN and high speed data
 CompactFlash Data Bus (topic index)
 Forum Locked  Topic Locked
 Send Topic to a Friend
 Printer Friendly
Author Topic  

akidder

1519 Posts

Posted - 14 Mar 2003 :  15:31:11  Show Profile  Email Poster
Using the CompactFlash Interface as a Data Bus

The VGX, AGX, Bitsy family and other ADS products expose the CompactFlash bus for use in customer applications. The CompactFlash bus is a subset of the PCMCIA/PC Card standard, with 16 bits of data and 11 bits address. Data rates are adjustable through the processor configuration registers(StrongARM MECR register) up to a maximum rate of 17MHz (about 275 Mbps). Note that actual speed depends on operating system efficiency, as there's no DMA for this bus.

The following are reference documents for beginning your design.


Note: The PCMCIA/CF bus engine is different on XScale than on StrongARM. Make sure to use the correct drivers for the product you are using.

Issues concerning the CF bus designs will be posted to this topic. Subscribe to this topic to be kept informed of developments that may affect your product.

Hardware Design
Using the CompactFlash(CF) Interface as an External Data Bus(PDF)
Further Details with High-Level Ethernet/UART Design (PDF)
Making your own CF/PCMCIA card (forum topic 720)
Simulating card insertion/removal (forum topic 1075)
Mating headers for AGX, VGX CF interface (forum topic 1495)


Software Design
Windows CE CF Bus drivers...
...for VGX, AGX, GCX (CPLD PCMCIA/CF controller): topic 1638
...for BitsyX, Bitsy Plus (SA-1111 PCMCIA/CF controller): topic 845
Spreadsheet to calculate bus timings: StrongARM (ZIPped XLS), XScale (ZIPped XLS)
(spreadsheets are provided "as-is"; see processor manuals for full register descriptions)

Further Reading
PXA255 Developer's Manual: PCMCIA excerpt, section 6.8, pp. 6-58 to 6-68
SA-1110 Developer's Manual: PCMCIA excerpt, pp. 177-185 (PDF)
SA-1111 Developer's Manual: PCMCIA excerpt, Chapter 12, 14pp. (PDF)
CF Bus Standard: http://www.compactflash.org/

Troubleshooting
Can't read/write same address quickly (forum topic 1001)



For a list of all Topic Indices, see the Forum Topic Index

Edited by akidder 19-Mar-2003: Add link to PCMCIA/CF hardware topic.
Edited by akidder 8-Apr-2003: Updated hardware overview document.
Edited by akidder 7-Jul-2003: Add note about XScale drivers and excerpt from PXA255 manual.
Edited by akidder 8-Jul-2003: Add troubleshooting section.
Edited by akidder 27-Aug-2003: Add timings spreadsheet for XScale.
Edited by akidder 11-Sep-2003: Add link to insertion/removal topic.
Edited by akidder 17-Jul-2004: Add link to AGX/VGX header topic.
Edited by akidder 16-Dec-2004: Add link to CE drivers for products without SA-1111.
Edited by akidder 18-jan-2007: Clarify and give examples of the products that use each type of PCMCIA controller

akidder

1519 Posts

Posted - 26 Jun 2003 :  10:17:33  Show Profile  Email Poster
Design Note: Use 16-bit Access

Design your CF bus circuits for 16-bit access, even if your data bus is only 8 bits wide. To do this, connect A1 as the LSB, as illustrated in the hardware overview document. In software, valid addresses are then always even (0,2,4...).
Go to Top of Page

akidder

1519 Posts

Posted - 27 Aug 2003 :  16:01:01  Show Profile  Email Poster
XScale Drivers are Different

The expansion bus timings and registers on the XScale are considerably different from the StrongARM. We've posted an updated spreadsheet above, and have update the CE drivers post to work with the XScale.
Go to Top of Page

akidder

1519 Posts

Posted - 18 Nov 2003 :  16:31:52  Show Profile  Email Poster
#dual_use

Q. Is it possible to have both a CF card and another custom circuit on the CF bus at the same time?

Generally speaking, no. Such a design may work acceptably when the CF card is inserted in the CF slot, but the entire bus turns off when the card is removed. There is also the potential issue of conflicting or overlapping memory spaces.


Background

With the SA-1111 bus controller, Card Detect signals (\CD1 and \CD2) serve two functions : First, they generate an interrupt when both are pulled low, which tells the operating system to initiate plug-and-play initialization of the card. Second, they turn on the bus signals from the SA-1111.

The dual functionality of the CD signals means that you can only access the devices on the CF bus when the CD signals are pulled down (i.e. card is inserted). If you force the card detects low, the operating system will not know when a card has been inserted, and may get confused when one is not.

A second issue is that you must ensure that the circuits you place on the CF bus will never use the same memory space as any cards that will be inserted in the CompactFlash slot.

Because of this complexity, ADS does not currently support designs that attempt to use the CF bus both as a CompactFlash slot and as a bus.
Go to Top of Page

akidder

1519 Posts

Posted - 22 Dec 2004 :  15:22:01  Show Profile  Email Poster
The Wait Signal

The Wait signal can be useful for devices that have variable wait states. This allows the system to keep the CF bus timing tight for most devices, while allowing devices with variable response times to hold the bus longer.

Important! The CF bus Wait signal will not only put the CF bus on hold, but the entire system bus on hold as well. This means that display refreshes and memory refreshes will stop, as well as most computing, effectively halting all system functions till the signal is deasserted. Use the wait signal carefully.

Troubleshooting the Wait Signal
  • If the wait signal is not responding, first make sure the bus is enabled by pulling down the card detect signals.
  • One customer found that they had to increase the memory read/write assert time to get the wait signal to respond correctly. This behavior didn't match the PXA255 specs, but seemed to get the bus to respond to the Wait signal. Thanks to Jon and Mike at Critical Link for pointing this out.

  • Go to Top of Page
      Topic  
     Forum Locked  Topic Locked
     Send Topic to a Friend
     Printer Friendly
    Jump To:
    Eurotech Support Forums © Eurotech Inc. Go To Top Of Page
    This page was generated in 0.03 seconds. Snitz Forums 2000