• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • ATA - technologia



    Podstrony: [1] 2 [3] [4]
    Przeczytaj także...
    W informatyce określenie kontroler odnosi się do wielu znaczeń. Wspólnym ich mianownikiem jest funkcja sterowania (kontrolowania) elementem lub zespołem elementów systemu komputerowego, najczęściej na potrzeby układu głównego jakim jest procesor. Kontroler jest więc łącznikiem (interfejsem) pomiędzy centralną częścią komputera, a jego peryferiami. Najczęściej spotykane określenia "kontroler" odnoszą się do następujących elementów:Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.
    Opis Rejestrów napędów ATA[ | edytuj kod]

    Ogólnie można wyróżnić dwa rodzaje napędów ze złączem ATA:

    1. dyski twarde – czyli urządzenia, które nie obsługują komend pakietowych
    2. napędy optyczne CD/DVD – czyli urządzenia, które obsługują komendy pakietowe

    Rejestry dla urządzeń 1)

    Rejestry dla urządzeń 2)

    Karta rozszerzeń (ang. expansion card lub adapter card) – element składowy jednostki systemowej komputera. Występuje w postaci płytki drukowanej (karty) montowanej w złączu płyty głównej. Karta rozszerzeń to jeden z podtypów kontrolera.Serial ATA (ang. Serial Advanced Technology Attachment, SATA) – szeregowa magistrala komputerowa, opracowana i certyfikowana przez SATA-IO, służąca do komunikacji pomiędzy adapterami magistrali hosta (HBA) a urządzeniami pamięci masowej, takimi jak dyski twarde, SSD, napędy optyczne i taśmowe. SATA jest bezpośrednim następcą równoległej magistrali ATA.

    A = sygnał ustawiony (logiczna 1)

    N = sygnał zanegowany (logiczne 0)

    x = stan dowolny (0 lub 1)

    Rejestrów o nazwach Zwolniony, Przestarzały, Nieużywany nie należy używać.

    CS0, !CS1 – oznacza negację pinów – to oznacza, że w rzeczywistości (na interfejs ATA) należy podawać wartości zanegowane z tabeli (tam gdzie A podawać N, tam gdzie N podawać A)

    „*” rejestr używany przez dyski twarde (urządzenia nie obsługujące komend pakietowych) Rejestr nie używany przez napędy CD/DVD (urządzenia obsługujące komendy pakietowe)

    Western Digital Corporation (WD, NYSE: WDC) – jeden z największych producentów dysków twardych. Firma posiada długą historię w zakresie przemysłu elektronicznego jako producent układów scalonych.Amiga (hiszp. la amiga – przyjaciółka) – popularna marka komputerów produkowanych między innymi przez firmę Commodore. Po bankructwie Commodore marka została przejęta przez firmę Escom, a następnie przez Gateway. W końcu wyłoniła się samodzielna firma Amiga INC, która po bankructwie sprzedała wszelkie prawa firmie KMOS. Z kolei KMOS zmieniło nazwę na Amiga Inc.

    Rejestry kontrolne[ | edytuj kod]

    Alternate Status

  • ZASTOSOWANIE: odczyt podstawowych informacji o stanie urządzenia bez kasowania obsługi przerwania
  • rejestr jest tylko do odczytu, a w czasie zapisu dane trafiają do Device Control
  • kiedy bit BSY=1 wtedy inne bity z tego rejestru nie powinny być interpretowane, zawartość tego rejestru nie jest prawdziwa gdy urządzenie jest w trybie uśpienia
  • odczyt tego rejestru nie spowoduje skasowania obsługi przerwania
  • zawartość tego rejestru jest identyczna z zawartością rejestru Status
  • Device Control

    Compaq Computer Corporation – amerykańskie przedsiębiorstwo komputerowe, założone w lutym 1982 przez Roda Caniona, Jima Harrisa i Billa Murto, produkujące głównie komputery osobiste i laptopy.Molex – typ złącza rozpowszechnionego w wielu typach urządzeń. Znajduje zastosowanie m.in. w komputerach oraz samochodowych instalacjach elektrycznych.
  • ZASTOSOWANIE: rejestr ten umożliwia wykonanie programowego resetu oraz włączenie obsługi przerwania
  • rejestr jest tylko do zapisu, w czasie odczytu jest to Alternate Status
  • rejestr powinien być zapisywany tylko gdy DMACK=0
  • zawartość tego rejestru będzie zinterpretowana przez napęd od razu po jego zapisaniu
  • HOB (HighOrderByte)znaczenie tylko w przypadku dysków twardych – adres LBA 48-bitowy – gdy HOB=0 to napęd interpretuje młodszą część (0–23) adresu LBA 48-bitowego, gdy HOB=1 część starszą (24–47)
  • r(6:3) (reserved) zarezerwowane
  • SRST (SoftwareReSeT) reset programowy napędu
  • nIEN (notInterruptENable) bit włącza przerwanie(gdy nIEN=0 i urządzenie jest wybrane) lub wyłącza przerwanie(gdy nIEN=1 lub urządzenie nie jest wybrane)
  • Bit 0 zawsze powinien mieć wartość 0
  • Rejestry komend[ | edytuj kod]

    Data

    Industry Standard Architecture (ISA, standardowa architektura przemysłowa) – standard magistrali oraz złącza kart rozszerzeń dla komputerów osobistych, wprowadzona w wersji ośmiobitowej, w 1981 roku wraz z wprowadzeniem komputerów IBM PC obsługiwanych przez procesory z ośmiobitową zewnętrzną szyną danych Intel 8088. Magistrala została rozszerzona do standardu 16 bitowego w komputerach IBM PC/AT wyposażonych w procesor Intel 80286. Magistrala w wersji 16 bitowej była zgodna z 8 bitową, ale większa szybkość taktowania mogła powodować niepoprawność działania kart rozszerzeń.ATAPI (ang. Advanced Technology Attachment Packet Interface) – interfejs systemowy w komputerach klasy PC przeznaczony do komunikacji z urządzeniami pamięci masowych. ATAPI to de facto rozszerzona wersja standardu ATA, wprowadzająca wiele usprawnień pod kątem obsługi wymiennych mediów. Głównie dotyczyło to napędów CD-ROM/DVD, napędów taśmowych, czy też dyskietek o dużych rozmiarach – ZIP, SuperDisk. W wyniku wprowadzonych zmian w standardzie ATA, od tamtej pory przyjął on nazwę ATA/ATAPI – jednak większość osób posługuje się jego starą, krótszą nazwą.
  • ZASTOSOWANIE: transfer danych(tylko w trybie PIO), dostęp do rejestrów
  • rejestr ten służy do zapisu lub odczytu
  • dostęp do rejestru powinien odbywać się w czasie przesyłania danych w trybie PIO, gdy DRQ=1 oraz BSY=0 oraz DMACK=0
  • rejestr 16-bitowy
  • dostęp (odczyt/zapis) do rejestrów jest realizowany właśnie poprzez ten rejestr tylko w trybie PIO; ponieważ rejestry są 8-bitowe to dane jakie chcemy zapisać (odczytać) do tych rejestrów ustawiamy na części młodszej rejestru (Bity DD7‒DD0), część starsza nie jest interpretowana; natomiast gdy transferujemy dane z napędu to musimy korzystać z całej szerokości rejestru (Bity DD15‒DD0) – nie ma możliwości pracy w trybie 8-bitowym.
  • Error

    Kontrola autorytatywna – w terminologii bibliotekoznawczej określenie procedur zapewniających utrzymanie w sposób konsekwentny haseł (nazw, ujednoliconych tytułów, tytułów serii i haseł przedmiotowych) w katalogach bibliotecznych przez zastosowanie wykazu autorytatywnego zwanego kartoteką wzorcową.Gemeinsame Normdatei (GND) – kartoteka wzorcowa, stanowiąca element centralnego katalogu Niemieckiej Biblioteki Narodowej (DNB), utrzymywanego wspólnie przez niemieckie i austriackie sieci biblioteczne.
  • ZASTOSOWANIE: określenie przyczyny błędu
  • rejestr tylko do odczytu; gdy jest zapisywany – dane trafiają do rejestru Features
  • zawartość rejestru jest poprawna gdy BSY=0 oraz DRQ=0 oraz ERR=1 lub SE=1, po włączeniu zasilania, wykonaniu sprzętowego lub programowego resetu, po wykonaniu komend EXECUTE DEVICE DIAGNOSTICS lub DEVICE RESET zawartość rejestru jest niewłaściwa w trybie uśpienia
  • -# zawartość tych bitów zależy od wykonanej operacji(komendy)

    Dysk twardy, napęd dysku twardego (ang. hard disk drive) – rodzaj pamięci masowej, wykorzystujący nośnik magnetyczny do przechowywania danych. Nazwa "dysk twardy" wynika z zastosowania twardego materiału jako podłoża dla właściwego nośnika, w odróżnieniu od dyskietek (ang. floppy disk, czyli miękki dysk), w których nośnik magnetyczny naniesiono na podłoże elastyczne.Interfejs (spolszczenie angielskiego słowa interface, które na polski bywa tłumaczone jako styk, żartobliwie międzymordzie) — w informatyce i elektronice urządzenie pozwalające na połączenie ze sobą dwóch innych urządzeń, które bez niego nie mogą ze sobą współpracować. Czasami jako interfejs określa się elementy wystające z urządzenia na zewnątrz, w które można włączyć inne urządzenia lub wtyczki. Aby dwa urządzenia mogły działać razem muszą mieć zgodne (kompatybilne) interfejsy. Interfejsem może być kabel łączący dwa urządzenia, ale zarówno wtyczki na tym kablu jak i pasujące do nich gniazda są również interfejsami. Gniazdo na płycie głównej komputera jest interfejsem, w który wkłada się np. kartę graficzną, ale i sama karta jest interfejsem umożliwiającym współpracę monitora z resztą systemu komputerowego. Sam monitor jako całe urządzenie, to także interfejs, a posiada on swój własny interfejs w postaci ekranu. Pokrętła sterujące monitorem, a obecnie coraz częściej panel sterujący z przyciskami to drugi, obok ekranu, interfejs monitora.

    -ABRT (ABoRT) ABRT=1 gdy nastąpiło anulowanie wykonania komendy(na skutek nie właściwej komendy, niewłaściwego parametru w komendzie, błędu odczytu itd.)

    Features

  • ZASTOSOWANIE: zależnie od komendy
  • rejestr jest tylko do zapisu, w czasie odczytu jest to Error
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0
  • zawartość tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • -# zawartość tych bitów zależy od komendy

    Sector Count / Interrupt Reason

  • ZASTOSOWANIE: zależnie od komendy
  • rejestr jest do zapisu lub odczytu
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0, zawartość rejestru jest niepoprawna gdy urządzenie jest w trybie uśpienia
  • zawartość tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • w przypadku dysku twardego jest to rejestr Sector Count, w przypadku napędu CD/DVD jest to Interrupt Reason w czasie odczytu i Sector Count w czasie zapisu (patrz tabela)
  • -# zawartość tych bitów zależy od komendy

    LBA Low

  • ZASTOSOWANIE: zależnie od komendy
  • rejestr jest do zapisu lub odczytu
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0, zawartość rejestru jest niepoprawna gdy urządzenie jest w trybie uśpienia
  • zawartość tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • w przypadku napędu CD/DVD rejestr ten nie jest używany
  • -# zawartość tych bitów zależy od komendy

    LBA Mid / Byte Count Low

  • ZASTOSOWANIE: zależnie od komendy
  • rejestr jest do zapisu lub odczytu
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0, zawartość rejestru jest niepoprawna gdy urządzenie jest w trybie uśpienia
  • zawartość tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • w przypadku dysku twardego jest to rejestr LBA Mid, w przypadku napędu CD/DVD jest to Byte Count Low
  • -# zawartość tych bitów zależy od komendy

    LBA High / Byte Count High

  • ZASTOSOWANIE: zależnie od komendy
  • rejestr jest do zapisu lub odczytu
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0, zawartość rejestru jest niepoprawna gdy urządzenie jest w trybie uśpienia
  • zawartość tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • w przypadku dysku twardego jest to rejestr LBA High, w przypadku napędu CD/DVD jest to Byte Count High
  • -# zawartość tych bitów zależy od komendy

    Device Select

  • ZASTOSOWANIE: wybór urządzenia master lub slave
  • rejestr jest do zapisu lub odczytu
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0, zawartość rejestru jest niepoprawna dla dysku twardego jest w trybie uśpienia, dla napędu CD/DVD jest poprawna w trybie uśpienia
  • bit DEV jest interpretowany natychmiast po zapisaniu, reszta bitów tego rejestru staje się parametrem komendy po zapisaniu rejestru Command
  • -zapis do bitów przestarzałych będzie ignorowany przez napęd

    -DEV (DEVice) DEV=0 wybór urządzenia Master, DEV=1 wybór urządzenia Slave

    -# zawartość tych bitów zależy od komendy

    Status

  • ZASTOSOWANIE: odczyt podstawowych informacji o stanie urządzenia oraz kasowanie obsługi przerwania
  • rejestr jest do odczytu, gdy jest zapisywany dane trafiają do rejestru Command
  • kiedy bit BSY=1 wtedy inne bity z tego rejestru nie powinny być interpretowane, zawartość tego rejestru nie jest prawdziwa gdy urządzenie jest w trybie uśpienia
  • -BSY (BuSY) informuje, że urządzenie jest zajęte(gdy BSY=1)

    -DRDY (DeviceReaDY) informuje o gotowości(gdy DRDY=1) urządzenia

    -DF/SE (DeviceFault/StreamError) informuje o błędzie(gdy DF/SE=1); nie wszystkie komendy obsługują(ustawiają) ten bit

    -# zawartość zależna od komendy

    -DRQ (DataReQuest) informuje o żądaniu (DRQ=1) przesyłania danych z/do napędu

    -ERR/CHK (ERRor/CHecK) informuje o wystąpieniu(ERR/CHK=1) błędu

    Command

  • ZASTOSOWANIE: rejestr zawiera kod komendy,rejestr ten zapisuje się na końcu(po zapisaniu wszystkich innych rejestrów), po zapisaniu tego rejestru urządzenie przystępuje do wykonania komendy a pozostałe rejestry przeznaczone do zapisu mogą stać się parametrami komendy (zależnie od rodzaju komendy)
  • rejestr jest do zapisu, gdy jest odczytywany dane reprezentują zawartość rejestru Status
  • rejestr powinien być zapisywany tylko gdy BSY=0 oraz DRQ=0 oraz DMACK=0
  • -# zawartość tych bitów reprezentuje kod komendy – np. kod 0xA0 jest komendą identyfikacji urządzenia

    Przykłady obsługi urządzenia[ | edytuj kod]

    Sprzętowy reset

    Sprzętowy reset powinien być wykonany co najmniej raz po włączeniu zasilania

    Przykład w języku asembler dla mikrokontrolerów AVR:

        Resetdrive:                      
           cbi porte,RESET_              ;ustaw reset(czyli !RESET=0)
             sbi portd,c0                  ;!C0=1→C0=0
             sbi portd,c1                  ;!C1=1→C1=0
             cbi portd,a0                  ;A0=0
             cbi portd,a1                  ;A1=0
             cbi portd,a2                  ;A2=0
             sbi portd,dmack               ;!DMACK=1→DMACK=0
             sbi Porte,dior                 ;!DIOR=1→DIOR=0
             sbi Porte,diow                 ;!DIOW=1→DIOW=0
               Ddra = 0                     ;porta podłączony do pinow DD8-DD15
               Ddrc = 0                     ;portc podłączony do pinów DD0-DD7
                 rcall czekaj25us              ;minimum 25us
          sbi porte,RESET_               ;wyzeruj reset(czyli !RESET=1)
                 rcall czekaj2ms               ;minimum 2ms
                    rcall Read_status_register_bsy0       ;czekaj na BSY=0
        Ret
    

    Po wykonaniu tej procedury można założyć, że urządzenie jest prawidłowo „zresetowane”

    Odczyt rejestru Status i oczekiwanie na BSY=0

    Po zresetowaniu urządzenie ustawia domyślnie tryb pracy na PIO0. Tryb pracy można zmienić (na PIO0-4,MWDMA0-2 lub UDMA 0–6) za pomocą komendy SET FEATURES

    Niezbędne opóźnienia są generowane za pomocą instrukcji nop i są poprawne dla trybu PIO0

        Read_status_register_bsy0:
          push GPR
            ldi GPR,0
             Out ddrc , Gpr       ;1 cykl
             Out ddra , Gpr       ;1 cykl;ustawia port danych DD15-DD0 jako wejście
            ldi GPR,0b10111100
             Out portd , Gpr ;bity⇒|7-!CS1|6-!CS0|5-DA2|4-DA0|3-DA1|2-!DMACK|1-IORDY|0-DMARQ|
               Petla_stat:
                 nop;---czekaj--------------------------70ns min—nop=ok.62,5ns dla zegara 16 MHz 
                 nop
                    cbi porte,DIOR
                 nop;---czekaj---------------------------230ns min
                 nop
                 nop
                 nop
                       in GPR,pinc       ;minęło co najmniej 230ns dane gotowe do odczytu
                       sts Status,GPR
                 nop;---czekaj--------------------------- dane muszą być "ustawione" min 60ns 
                    sbi porte,DIOR
                 nop;---czekaj---------------------------dane muszą być "przytrzymane" min 30ns 
                     sbrc GPR,7                 ;BSY=? w tej chwili GPR jako STATUS
                       rjmp petla_stat          ;BSY=1
                                                ;BSY=0
          pop GPR
        Ret
    


    Podstrony: [1] 2 [3] [4]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Reklama

    Czas generowania strony: 0.016 sek.