Compact Flash - przełączanie w tryb PC I/O Mode

Witam!

Mam problem z przełączeniem karty CF w tryb I/O mode. W trybie PC Memory wszystko działa poprawnie.

Nie wiem czy dobrze rozumiem specyfikację ale próbę przełączenia karty w tryb I/O wykonuję w następujący sposób:

  1. Wykonuję reset karty
  2. Ustawiam bity LevlREQ oraz conf1 w rejestrze konfiguracyjnym Configuration Option Register (Base + 00h in Attribute Memory) dokonuję tego poprzez następujące ustawienie linii: A0-A3 =0 , A9=1, -REG=0, -WE=0, -OE=0 , -CE1=0, -CE2=1
  3. W taki sam sposób jak poprzednio ustawiam bit -XE w rejestrze konfiguracyjnym Card Configuration and Status Register (Base + 02h in Attribute Memory)
  4. Od tej pory miałem nadzieję, że będę mógł wpisywać/odczytywać z rejestrów CF-ATA Drive Register poprzez wystawianie odpowiedniego adresu A0-A3 oraz -REG=0, -OE=1,-WE=1, IORD=0 ,IOWR=1 , CE1=0, CE2=1 - odczyt A0-A3 oraz -REG=0, -OE=1,-WE=1, IORD=0 ,IOWR=1 , CE1=0, CE2=1 - zapis

Niestety, kiedy próbuję coś z tych rejestrów odczytać, otrzymuję 0xFF, nawet jeśli wcześniej do nich coś wpiszę.

Zauważyłem też, że gdy wpisuję do rejestru konfiguracyjnego Configuration Option Register cokolwiek, to po jego odczytaniu otrzymuję 0x84, jeśli nic nie wpiszę - 0x00. Gdy wpiszę coś do drugiego z rejestrów konfiguracyjnych - Card Configuration and Status Register - odczytuję to co tam zapisałem.

Nie mam pojęcia gdzie leży błąd, może coś przeoczyłem w dokumentacji??

Jeśli ktoś mółby mi podać poprawną sekwencję to byłbym wdzięczny...

Pozdrawiam

Reply to
kert
Loading thread data ...

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.