Fórum témák

» Több friss téma
Cikkek » IDE csatolás PIC-ekhez
IDE csatolás PIC-ekhez
Szerző: mspike, idő: Aug 7, 2005, Olvasva: 21733, Oldal olvasási idő: kb. 2 perc
Lapozás: OK   5 / 5
Egy rövid áttekintés a legfontosabb ide regiszterekből :

1. Adatregiszter /cs0=0 /cs1=1 A2=0 A1=0 A0=0
Ide kerül a kiolvasott adat/ és ide rakjuk a beírandó adatot. 16Bit széles... vagyis az adatbusz felső részére is szükségünk lesz. Ez az egyetlen 16Bites regiszter az egész IDE szabványban.

2. Error info reg. /cs0=0 /cs1=1 A=001 (remélem érthető így)
Ha hiba történik akkor ide kerül egy szám ami jelzi az okát..., hogy pontosan mit is jelentenek az ide kerülő kódok arról a teljes hivatalos IDE szabványban kaphatunk átfogó képet (ata3.pdf (kell hozzá acrobat)

3. Sector Count Regiszter /cs0=0 /cs1=1 A=010
Nos ez a regiszter CHS (Cylinder/Head/Sector) címzésben azt adja meg hány sectort birizgálunk, miután mi a modernebb LBA címzéssel akarunk foglalkozni így ezt a regisztert használjuk a 28Bit-es LBA cím alsó 8bitjeként.

4. LB of Cylinder number /cs0=0 /cs1=1 A=100
Ide kerül az LBA következő 8 bitje

5. High 2 bits of Cylinder num /cs0=0 /cs1=1 A=101
Itt mi mind a 8 bitet használjuk (CHS-ban csak 2 bit) az LBA következő 8 bitje.

6. Head and Device select Regiszter /cs0=0 /cs1=1 A=110
Az egyik legfontosabb Az alsó 4 bitje az LBA felső 4 bitje. Az 5. bitje (figyelem 0. bitnél kezdjük számolni a regisztereket.) szabja meg melyik eszközhöz szólunk Master = 0 Slave = 1. (ha van kettő eszközünk, ha nincs mindig a masternek szólunk. A felső három bit LBA módban 111. !!!!

7. Command / Status Reg. /cs0=0 /cs1=1 A=111
Ez is egy elég fontos regiszter. Ha olvassuk aktív státuszt ad vissza, ha írjuk parancsot adunk az eszköznek valamire... (erről az IDE parancsok részben) Nos olvasáskor...
0. Bit --> Error bit. Ha hiba történt 1.
1. Bit --> Index pulse... elvileg minden fordulatnál van itt egy 1-es púlse Nem fontos nekünk
2. Bit --> ECC --> erről nem sikerült még semmit megtudni,
állítólag nem fontos Nekünk 3. Bit --> DRQ. (Data Request) Na ez fontos... ha ez a bit aktív adatot vár a DATA REG-be. (ha írunk) vagy adatot rakott nekünk ugyan oda (ha olvasunk).
4. Bit --> SKC --> Seek executed (modern vincsiknél nem játszik)
5. Bit --> WFT. Íráshiba... ha ez van cumi van... Ilyenkor írjunk máshova alighanem badsector van...
6. Bit --> RDY. Ready... felpörgött a vinyó, amíg ez a bit nem aktív soha ne adjunk ki parancsot... TÖNKRE VÁGJA a vinyát...
7. Bit --> BSY. Busy.. ez aktív ha még az előző parancs végrehajtása folyik. (illik vizsgálni)

8. Interrupt / Software reset reg.
Ezt nem használjuk még, mert Interruptozni nem akarok eleinte máspedig a reset lábra teljes rálárásunk van pic felöl így nem kell soft resetelni.

9. Active Status Reg. /cs0=1 /cs1=0 A=111
tudom ilyen már volt de ez mégis más... 0. Bit --> Master Active (azt jelzi, hogy melyik eszköz aktív.)
1. Bit --> Slave Active (lsd. eggyel feljebb)
2-5. Bit --> Active HEAD (aktív fej, LBA-nál nem igazán fontos)
6. Bit --> Write in Progress (írás folyamatban, ilyenkor ne kapcsoljuk ki
7. Bit --> Floppy Present... na igen erre aztán totál nem lesz szükségünk...

Ime egy kis összefoglaló táblázat (ATA3.PDF-ből) arról, miként is kell címezni, hogy jó regisztert kapjunk


Folyt. köv. a parancsokkal !
Következő: »»   5 / 5
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem