EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Compact Flash to IDE

Started by Abe Cd January 6, 2005
Seeing as Compact Flash uses a standard IDE interface, would it be
possible to attach an ordinary hard drive to a camera via a compact
flash slot?
There are many adaptors on the market that go the other way (allowing
you to use compact flash cards as hard drives in a PC), but I haven't
seen anyone attempt this yet, except with microdrives.
Is this possible?

TIA
> Seeing as Compact Flash uses a standard IDE interface, > would it be possible to attach an ordinary hard drive to a > camera via a compact flash slot?
It depends on how the camera implements the CF slot, but the answer is almost certainly not, for two reasons: 1. The CF storage cards can be operated in any of three modes; memory-mapped, IO or True-IDE (which is the IDE emulation mode used by those adapters). Cameras tend to use memory-mapped mode because True-IDE mode does not support hotplugging. 2. Even if the camera does use True-IDE mode, it probably uses the 8-bit subset of this mode. CF cards are required per spec to support 8-bit data transfers. Only a VERY VERY FEW old IDE hard disks (designed for compatibility with PC/XT computers) support this mode. Any modern drive will only support 16-bit transfers. Also, there is no way the camera will be able to power a hard drive.
Thanks for your reply.

Is this something that is implemented (read: can be changed) at the 
firmware level?
Would buffering be required, or would a straightforward "mechanical" 
adaptor suffice?

Cheers.

 >
 > 1. The CF storage cards can be operated in any of three modes;
 > memory-mapped, IO or True-IDE (which is the IDE emulation mode used by
 > those adapters). Cameras tend to use memory-mapped mode because
 > True-IDE mode does not support hotplugging.
> > 2. Even if the camera does use True-IDE mode, it probably uses the > 8-bit subset of this mode. CF cards are required per spec to support > 8-bit data transfers. Only a VERY VERY FEW old IDE hard disks (designed > for compatibility with PC/XT computers) support this mode. Any modern > drive will only support 16-bit transfers. > Also, there is no way the camera will be able to power a hard drive. >
Abe Cd <p@q.es.t> wrote:
: Seeing as Compact Flash uses a standard IDE interface, would it be
: possible to attach an ordinary hard drive to a camera via a compact
: flash slot?
: There are many adaptors on the market that go the other way (allowing
: you to use compact flash cards as hard drives in a PC), but I haven't
: seen anyone attempt this yet, except with microdrives.
: Is this possible?

http://www.advantech.com/epc/newsletter/v28-07-15_00/4IDEsup.htm


>Would buffering be required, or would a straightforward >"mechanical" adaptor suffice?
It is _probably_ impossible, period. But this depends on how much work you're willing to do and how much information you already have. It is _certainly_ not worth the effort :) The camera will most likely not implement the extra 8 data lines to the slot. So you would need to find some way of "creating" 8 extra GPIOs and wiring them to the slot connector. That's a given, since in order to talk to a hard drive you MUST have the full 16-bit bus. If the camera uses IO mode, it may have run the signals driving the CF slot to hardware that generates the correct timings and select signals. It might not be possible to change that even by changing the firmware. You'd have to evaluate this on a case-by-case basis. You'll also need mains power or a separate battery to power the hard drive, since the tracks to the CF slot will not be rated for the couple of amps a hard drive might require. And of course, all this assumes that you have full access to the datasheets and firmware source for the camera. If you also have to reverse-engineer the chip and its software, then ....... This is not a feasible project.
> This is not a feasible project. >
I'm tempted to agree. It was worth a shot though :)
larwe@larwe.com wrote:
> The camera will most likely not implement the extra 8 data lines
Is there an easy way of telling whether all 16 lines are implemented? Would the extra 8 data lines be tied low? If that was the case maybe a simple continuity test to earth would work.
> Would the extra 8 data lines be tied low?
They would probably be open circuit, or might have pullup resistors.

The 2024 Embedded Online Conference