EmbeddedRelated.com
Forums

IDE interface board

Started by Alex Wisnieski May 9, 2004
Daniel Watman <pywo@optushome.com.au> says...

>...a way to interface a microcontroller to those USB flash drives...
I keep wondering if there isn't some clever way to tell an EZ-USB 8051 chip to be a host. -- Guy Macon, Electronics Engineer & Project Manager. http://www.guymacon.com/
Alex Wisnieski wrote:
> > Howdy all. > > Just a little curious - Does anyone know of any small interface > boards, that would allow a microcontroller to access an IDE hard disk > drive, or ATAPI device (cdrom drive)? Not any kind of combo-board (SBC, > MP3 player capable, etc), just a single, small board that connects an > ATA device to an MCU. > > If not...Would there be any interest in such a board? I know the > applications might be a little limited, but it seems like such an > interesting project that I can't help but wonder... > > If there is interest, what kind of specifications would be usefull? > > -Alex
---------- Yes, Google GIDE and Z80 IDE and etc. -Steve -- -Steve Walz rstevew@armory.com ftp://ftp.armory.com/pub/user/rstevew Electronics Site!! 1000's of Files and Dirs!! With Schematics Galore!! http://www.armory.com/~rstevew or http://www.armory.com/~rstevew/Public
It's not really as hard as it seems, in fact you can drive it directly 
from your I/O ports using 16-bits for data and 8-bits for control. You 
would run it in programmed I/O mode as opposed to DMA. This is usually 
the method that the PC BIOS boots up in before the O/S kicks in.

The ATA interface looks like a stack of 8-bit registers with 16-bits for 
the data register. Write an 8-bit READ SECTOR instruction to the command 
register and there it is, the sector data is ready and waiting for you 
to pick out a word at a time, in your own time. So really, the hardware 
interface is simple because the IDE (Integrated Drive Electronics) does 
all the real work. It's just if you want it to be FAT32/NTFS PC 
compatible that you will need a <<<<little>>>>> more software to 
interpret and interface to properly.

I just had a look at the GIDE/Z80 interface that someone mentioned. Yes, 
if you want to design with a CPU that might be older than you are then 
you will need all those extra chips. This is just the way someone did it 
10 years ago with archaic technology even at that time. It's funny how 
people make it hard for themselves just because they think it is more 
complicated than it is.

Peter Jakacki

Alex Wisnieski wrote:
> Just a little curious - Does anyone know of any small interface > boards, that would allow a microcontroller to access an IDE hard disk > drive, or ATAPI device (cdrom drive)? Not any kind of combo-board (SBC, > MP3 player capable, etc), just a single, small board that connects an > ATA device to an MCU. > > If not...Would there be any interest in such a board? I know the > applications might be a little limited, but it seems like such an > interesting project that I can't help but wonder... > > If there is interest, what kind of specifications would be usefull?

Peter Jakacki wrote:
> It's not really as hard as it seems, in fact you can drive it directly > from your I/O ports using 16-bits for data and 8-bits for control. You > would run it in programmed I/O mode as opposed to DMA. This is usually > the method that the PC BIOS boots up in before the O/S kicks in. >
I have built two of these: <http://www.pjrc.com/tech/8051/ide/> Lots more where this came from: <http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=8051+ide&btnG=Google+Search>
> The ATA interface looks like a stack of 8-bit registers with 16-bits for > the data register. Write an 8-bit READ SECTOR instruction to the command > register and there it is, the sector data is ready and waiting for you > to pick out a word at a time, in your own time. So really, the hardware > interface is simple because the IDE (Integrated Drive Electronics) does > all the real work. It's just if you want it to be FAT32/NTFS PC > compatible that you will need a <<<<little>>>>> more software to > interpret and interface to properly. > > I just had a look at the GIDE/Z80 interface that someone mentioned. Yes, > if you want to design with a CPU that might be older than you are then > you will need all those extra chips. This is just the way someone did it > 10 years ago with archaic technology even at that time. It's funny how > people make it hard for themselves just because they think it is more > complicated than it is. > > Peter Jakacki > > Alex Wisnieski wrote: > >> Just a little curious - Does anyone know of any small interface >> boards, that would allow a microcontroller to access an IDE hard disk >> drive, or ATAPI device (cdrom drive)? Not any kind of combo-board >> (SBC, MP3 player capable, etc), just a single, small board that >> connects an ATA device to an MCU. >> >> If not...Would there be any interest in such a board? I know the >> applications might be a little limited, but it seems like such an >> interesting project that I can't help but wonder... >> >> If there is interest, what kind of specifications would be usefull? > >
this is even better:
<http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=8051+ata+interface&btnG=Search>

hamilton wrote:

> > > Peter Jakacki wrote: > >> It's not really as hard as it seems, in fact you can drive it directly >> from your I/O ports using 16-bits for data and 8-bits for control. You >> would run it in programmed I/O mode as opposed to DMA. This is usually >> the method that the PC BIOS boots up in before the O/S kicks in. >> > I have built two of these: > <http://www.pjrc.com/tech/8051/ide/> > > > Lots more where this came from: > <http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=8051+ide&btnG=Google+Search> > > >> The ATA interface looks like a stack of 8-bit registers with 16-bits >> for the data register. Write an 8-bit READ SECTOR instruction to the >> command register and there it is, the sector data is ready and waiting >> for you to pick out a word at a time, in your own time. So really, the >> hardware interface is simple because the IDE (Integrated Drive >> Electronics) does all the real work. It's just if you want it to be >> FAT32/NTFS PC compatible that you will need a <<<<little>>>>> more >> software to interpret and interface to properly. >> >> I just had a look at the GIDE/Z80 interface that someone mentioned. >> Yes, if you want to design with a CPU that might be older than you are >> then you will need all those extra chips. This is just the way someone >> did it 10 years ago with archaic technology even at that time. It's >> funny how people make it hard for themselves just because they think >> it is more complicated than it is. >> >> Peter Jakacki >> >> Alex Wisnieski wrote: >> >>> Just a little curious - Does anyone know of any small interface >>> boards, that would allow a microcontroller to access an IDE hard disk >>> drive, or ATAPI device (cdrom drive)? Not any kind of combo-board >>> (SBC, MP3 player capable, etc), just a single, small board that >>> connects an ATA device to an MCU. >>> >>> If not...Would there be any interest in such a board? I know the >>> applications might be a little limited, but it seems like such an >>> interesting project that I can't help but wonder... >>> >>> If there is interest, what kind of specifications would be usefull? >> >> >> >
Hmmmm, sometimes these extra I/O chips cost more than the micro they 
hang off. I try to choose a micro that has all the I/O lines on-board as 
these usually cost only a little more. An MSP430F149 or better still the 
LPC2106 with it's 32-bit I/O will knock over the IDE interface 
lickety-split. At around $8 even here in oz the 'baby' LPC2104 has 128K 
flash, 16K ram, peripherals galore and 60Mhz 32-bit operation. Why would 
I bother with less?

Peter Jakacki


hamilton wrote:
> I have built two of these: > <http://www.pjrc.com/tech/8051/ide/> > Lots more where this came from: > <http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=8051+ide&btnG=Google+Search>