Anar al contingut

Controlador de disquet

De L'Enciclopèdia, la wikipedia en valencià
Controlador de disquetera NEC D765AC.
Zilog Z765A
Controlador de disquete U8272 (VEB Mikroelektronik "Karl Marx" Erfurt)

El controlador de disquet (Floppy Disk Controller, FDC) és un chip especial i els circuits de controlador de disc associats, que dirigix i controla la llectura i escritura d'una disquetera (FDD).

Encara que el sistema majoritàriament usat prové del WD1771 i sobretot dels seus successors, el NEC µPD765 utilisat en l'IBM PC i l'Intel 82072A en l'IBM AT, són dignes de menció els chips usats en l'Apple Macintosh i sobretot per la seua versatilitat els d'els Commodore Amiga.

Per a conectar-se en les disqueteras majoritàriament usen un conector mascle de cable pla en 34 pines, en una muesca guia, encara que en primitives targetes o equips com l'Amstrad CPC 6128 es recorria al conector de vora de targeta en recalat guia, idèntic al present en les unitats de 5¼".

Este artícul conté conceptes comuns als FDC basats en el NEC µPD765, Intel 8072A, 82072A i els seus descendents, com varen ser usats en l'IBM PC i compatibles des dels anys 1980 i 1990. Els conceptes poden o no ser aplicables o ilustratius d'atres controladors o arquitectura.

Introducció

Una simple targeta controladora de disc flexible pot soportar fins a quatre disqueteras. El controlador està conectat en el bus de sistema de la computadora i apareix al CPU com un conjunt de ports d'I/S. A sovint també està conectat a un canal del controlador DMA. En el PC x86 la controladora de disquets utilisa l'IRQ 6, en atres sistemes poden ser usats atres esquemes d'interrupció. El controlador de disc flexible usualment realisa la transmissió de senyes en el modo d'accés directe a memòria (DMA).

El diagrama següent mostra un controlador de disc flexible que es comunica en el CPU per mig d'un bus d'arquitectura estàndar de l'indústria (ISA). Un apany alternatiu que és més habitual en els últims dissenys té al FDC inclós dins d'un chip super I/O que es comunica a través d'un bus Low Pin Count (LPC).

Diagrama de bloque mostrando la comunicació del FDC con la CPU i la FDD.
Diagrama de bloque mostrando la comunicació del FDC con la CPU i la FDD.
Adaptador de controlador de disquetes de 5¼" (FDC) de l'IBM PC original.
Disquetera de 5¼" (FDD) con un disquete parcialmente insertado.

La majoria de les funcions del controlador de disc flexible (FDC) es realisa pel circuit integrat principal, pero algunes són fetes per circuits externs d'hardware. La llista de funcions realisades per cada u és donada a continuació.

Funcions del controlador de disquet

  • Traduïx bits de senyes en el format MFM (Modulació de Freqüència Modificada) o GCR (Gravació codificada en grup) per a poder gravar-els.
  • Interpreta i eixecutar comandos tals com buscar, llegir, escriure, formatear, etcétera (seek, read, write, format, etcétera).
  • Detecció d'error en la generació de sumixques de comprovació i verificació, com el CRC.
  • Sincronisa senyes en phase-locked loop (PLL).

Funcions de l'hardware extern

  • Selecció de l'unitat de disquet
  • Encés el motor de la disquetera
  • Senyal de reset per al IC del controlador de disquet
  • Habilitar / deshabilitar les senyals d'interrupció i DMA en el controlador de disc flexible
  • Llògica de separació de senyes
  • Llògica de precompensación d'escritura
  • Conductors de llínea per a senyals al controlador
  • Receptors de llínea per a senyals des del controlador

Ports d'entrada/eixida per a controladors comuns en els PC x86

La FDC té tres ports de l'I/S. Estos són:

  • Port de senyes
  • Registre de l'estat principal (MSR)
  • Port de control

Els dos primers dos residixen dins de la IC del FDC mentres el port de control està en l'hardware extern. Les direccions d'estos tres ports són les següents:

Direcció del port
[hex]
Nom del port Ubicació Tipo de port
3F5 Registre de senyes IC del FDC I/S bidireccional
3F4 Registre de l'estat principal IC del FDC Entrada
3F2 Port de control digital Hardware extern Eixida

Ports del FDC

Port de senyes 3F5

El port 3F5 és utilisat pel software per a tres propòsits diferents:

  • Mentres s'emet un comando al IC del FDC, bytes del comando i els seus paràmetros són emesos al IC del FDC a través d'este port. El IC FDC almagasena el comando i els diferents paràmetros en els seus registres interns.
  • En acabant de que un comando és eixecutat, el IC de FDC almagasena en els registres interns un conjunt de paràmetros d'estat. Estos són llegits pel CPU a través d'este port. Els diferents bytes d'estatus són presentats pel IC de FDC en una seqüència específica.
  • En modo de transferència de senyes programat i d'interrupció, el port de senyes és usat per a transferir senyes entre el IC del FDC i les instruccions IN o OUT del CPU.

Registre d'estat principal (MSR) 3F4

El port 3F4 és utilisat pel software per a llegir l'informació general sobre el IC del FDC i els FDD. Abans d'iniciar una operació de disquet el software llig este port per a confirmar l'estat de preparació del FDC i les unitats de disc per a comprovar l'estat del comando prèviament iniciat. Els diferents bits d'este registre representen lo següent:

+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
  |   |   |   |   |   |   |   |
  |   |   |   |   |   |   |   +---- 1 = el FDD 0 està ocupat en modo seek
  |   |   |   |   |   |   +-------- 1 = el FDD 1 està ocupat en modo seek
  |   |   |   |   |   +------------ 1 = el FDD 2 està ocupat en modo seek
  |   |   |   |   +---------------- 1 = el FDD 3 està ocupat en modo seek
  |   |   |   |
  |   |   |   +-------------------- FDC ocupat; Hi ha un comando de Llectura/Escritura en progrés
  |   |   |                              1 = ocupat
  |   |   |                              0 = no ocupat
  |   |   +------------------------ Modo no DMA
  |   |                                  1 = el controlador no està en modo DMA
  |   |                                  0 = el controlador està en modo DMA
  |   +---------------------------- VA DONAR; Indica la direcció de la transferència entre el IC del FDC i el CPU
  |                                      1 = controlador té senyes per al CPU
  |                                      0 = el controlador està esperant senyes des del CPU
  +-------------------------------- MQR; Indica que el registre de senyes està llest per a la transferència de senyes
                                         1 = llest
                                         0 = no llest

Port auxiliar

Port de control digital 3F2

El port 3F2 és utilisat pel software per a controlar certes funcions dels FDD i del IC del FDC. Les assignació de bit d'este port són:

+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
  |   |   |   |   |   |   |   |
  |   |   |   |   |   |   +---+---- Dispositiu a ser seleccionat
  |   |   |   |   |   |                  00 = FDD 0
  |   |   |   |   |   |                  01 = FDD 1
  |   |   |   |   |   |                  10 = FDD 2
  |   |   |   |   |   |                  11 = FDD 3
  |   |   |   |   |   |
  |   |   |   |   |   +------------ RESET IC del FDC (baix)
  |   |   |   |   +---------------- Habilita les senyals de l'interrupció del FDC i la solicitut DMA
  |   |   |   |
  |   |   |   |                     Encén o apaga l'unitat de disquet (1 = encén, 0 = apaga)
  |   |   |   +------------------------- FDD  0
  |   |   +----------------------------- FDD  1
  |   +--------------------------------- FDD  2
  +------------------------------------- FDD  3

Referències

Vore també