Sida 1 av 1

Problem med IDE-hårddisk (löst)

Postat: 22 maj 2005, 13:38:38
av cyr
Jag försöker snacka med en hårddisk (Toshiba MK2004GAL). Det verkar funka fint att läsa/skriva register, utföra kommandon och läsa ut data, men hur jag än gör så vägrar disken sätta INTRQ.

Är det nån här som har lite erfarenhet av IDE-interface och har någon aning om vad jag kan ha missat?

Tidigare har jag använt compactflash-kort (i IDE-mode) och då var det inga problem med interrupt.

Postat: 22 maj 2005, 13:48:53
av Adis
Detta kanske kan vara något;
http://www.t13.org/technical/e01119r0.pdf :roll:

Postat: 22 maj 2005, 14:36:07
av Seven11
Använder du en mikrokontroller när du kommunicerar med IDE enheten? eller en vanlig PC?

Om du kör under en PC, vilket OS kör du under?
Om du inte kör med en vanlig PC och har eget OS så måste du programmera PIC8259 (båda 2 i ditt fall), och se till så att du ändrar i Interrupt Vector Table på rätt offset så att den hoppar till din avbrottshanterare (förutsatt att du kör processorn i Oskyddat läge), är du i skyddat läge så måste din IDT vara rätt skriven.

I övrigt tycker jag att du ska kolla upp flaggen "nIEN" finns i ATA Control Register, denna flagga maskerar avbrott.

Berätta lite mer om den miljö du använder IDE hårddisken i, gränsnittet spelar väldigt stor roll här.

Postat: 22 maj 2005, 15:12:58
av cyr
Det är egen hårdvara det är frågan om, en ADI blackfin DSP närmare bestämt.

Jag har satt nIEN-biten till 0. (åtminstone tror jag det, registret är write-only så det går väl inte att kontrollera, men skrivningar till andra register funkar ju uppenbarligen).

Postat: 22 maj 2005, 16:21:38
av Seven11
vilka kommandon använder du dig av? det finns vissa ATA/ATAPI kommandon som inte använder sig av IRQ har jag för mig...

Postat: 22 maj 2005, 16:55:46
av cyr
Hittills har jag inte kommit längre än "identify device" (0xec) med hårddisken.

Det ska generera IRQ enligt standarden, och de tre olika CF-kort jag kört med tidigare gjorde också det...

INTRQ-pinnen går hög en hel del när hårddisken är inkopplad till en USB-IDE brygga (i samma bygge), så själva pinnen funkar.

Fattar ingenting nu (så jag antar det är något riktigt riktigt simpelt jag missat. Undrar bara vad... :humm: )

Postat: 22 maj 2005, 19:46:18
av cyr
OK, det har fixat sig. Jag vet fortfarande inte hur, jag har bara testat lite saker i koden på måfå mer eller mindre och sedan ändrat tillbaks allting så som (jag tror) det var från början - och nu funkar det... :roll: