compact flash and pcmcia uC interfacing

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.



Reply to
Loading thread data ...

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

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

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

Fine if cost is not an issue.

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

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).

Still is 0.8MB/s



IDE mode of course, if the card supports it.



Reply to
Tech Support for IDE-CF

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.