compact flash and pcmcia uC interfacing

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I have been reading the compact flash 2.0 spec from but I am a
bit confused as to which would be the best mode for interfacing to the 16 bit
data bus of an atmel arm7 processor (The 40008 in this case).

It looks like memory mode would work, and I read the circuit cellar article in
the feb 2001 issue about interfacing a pic to a cf  via 3 address lines and 8
data lines and a few other lines (busy, reset, etc..)

Since I have a full address and data bus available, should I connect the compact
flash socket in some fuller implementation in order to have options in the
future?  Which mode would offer faster transfer of data to the arm7?

Down the road, if I wanted to add a 10/100 compact flash ethernet card or other
device, which mode (and signals) are going to be needed?  I am not positive I
would want to do this, but the little compact flash ethernet cards are so cheap
that it would be really cool to implement some crude ethernet interface to get
data from say a laptop (with no serial ports) into this device, or to be able to
transfer large amounts of data faster than a serial port would allow.



Re: compact flash and pcmcia uC interfacing
In most CF IO cards (Ethernet,WiFi, etc...)  you will need access to
attribute space (-WE,-OE,-REG) in order to find and program the COR
(Card Operation Register) before you can talk to the actual IO
functons on th card, in addition to IO mode (IOWR,IORD). ATA memory
cards can work with a minimal interface; they behave like an IDE
drive and expect everything already to be decoded, etc...

You'd probably want to buffer the address/data bus from your processor.
Also, you may have to insert waitstates to talk to CF, since the access
times are relatively slow and you don't know how much loading a CF card
will add to your system bus.

Besides CompactFlash, you could also look into USB for fast data
transfers from/to your laptop and uC. You could use the FTDI FT245 (USB
serial to parallel) you should be able to transfer at up to 300Kbytes/sec.
The drivers for the PC Windows/Linux side are already done and there is
no special USB driver on the uC required. It requires a 8bit data port,
two strobes (read/write) and possibly two status signals from the FT245
to tell you the status of the FIFOs (i.e. if there is data to read and/or
room in the TX to send data).

You could also use the FT232 which has an async serial port that goes
to 3Mbps, if you have a fast hardware UART on your uC, it would require
very minimal IO.

Hope that helps.

See ya, -ingo

Quoted text here. Click to load it

/* Ingo Cyliax,, Tel: 812-391-0895 */

Re: compact flash and pcmcia uC interfacing (Ingo Cyliax) wrote in message
Quoted text here. Click to load it

Memory mode and IDE mode are separate.  You have to choose one or the
other with a hardware signal.

Quoted text here. Click to load it

Fine if cost is not an issue.

Quoted text here. Click to load it

Are you sure?  That's 15% of 2MB/s in IDE mode.

Quoted text here. Click to load it

IDE modes are 16 bits, the fastest ways to pull data out of a CF.
Doesn't really matter either way for writing data (slow anyway).

Quoted text here. Click to load it

Still is 0.8MB/s

Quoted text here. Click to load it

IDE mode of course, if the card supports it.

Quoted text here. Click to load it
Quoted text here. Click to load it
Quoted text here. Click to load it

Site Timeline