Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Registri Interni

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Registri

  Messa a Punto - SERIALE

CONTROLLO LINEA 2/3 [20 di 46] 

               

***** 03FBH / 02FBH / 03EBH / 02EBH - OUT / IN - Registro di Controllo della Linea [2 di 3]

               

bulletL'azione associata a ciascun bit di questo registro è ora descritta in dettaglio:
bullet Word Length: i bit0 e bit1 stabiliscono il numero di bit previsti per ogni carattere trasmesso o ricevuto, associando loro la codifica binaria: bit1/bit0=00 = 5 bit, bit1/bit0=01 = 6 bit, bit1/bit0=10 = 7 bit, bit1/bit0=11 = 8 bit; la dimensione più diffusa è quella a 8 bit, ma in passato si è praticata anche quella a 7 bit, tipica dei caratteri ASCII standard (con 1 bit in meno su 10 la comunicazione seriale è più veloce del 10%)
bullet Stop bits: il bit2 stabilisce il numero di stop previsti per completare il frame del dato seriale: 0 = 1 bit di stop, 1 = 2 bit di stop (o bit di stop, nel caso rarissimo di caratteri a 5 bit, cioè con i bit0/bit1=00); la presenza di (almeno) un bit di stop è stata pensata per dare all'UART il tempo di processare il dato corrente, prima di servire il successivo; con 2 bit di stop questo tempo raddoppia ma si tratta di un'esigenza sentita solo da dispositivi particolarmente lenti e quindi da evitare (con 1 bit in più su 10 la comunicazione seriale è più lenta del 10%)
bullet Parity Enable: se il bit3 è 1 significa che il frame seriale asincrono prevede la presenza del bit di parità, posizionato subito prima di quello di stop con lo scopo di tentare di scoprire se il dato ricevuto è uguale a quello trasmesso, a causa della possibile rumorosità della linea di comunicazione. Il suo valore è generato dall'UART in modo ad rendere pari o dispari il numero di bit a 1 presenti prima del bit di stop (quindi quelli del dato ospitato e dello stesso bit di parità); ovviamente con bit3=0 (=nessuna parità) la mancanza del bit aggiunto rende più veloce la comunicazione seriale
bullet Parity control: il bit4, significativo solo se il controllo di parità è abilitato (bit3=1), stabilisce il criterio scelto per verificarla:
bulletcon bit4=0 si utilizza parità dispari (odd): se il dato seriale contiene un numero dispari di bit a 1 (esempio: 10010010) il bit di parità è lasciato a 0, e viceversa
bulletcon bit4=1 si utilizza parità pari (even): se il dato seriale contiene un numero pari di bit a 1 (esempio: 10110010) il bit di parità è lasciato a 0, e viceversa
bullet Sticky Parity: il bit5, significativo solo se il controllo di parità è abilitato (bit3=1), introduce una variante sui valori fatti assumere dall'UART al bit di parità:
bulletcon bit5=0 è quello dinamico, legato al numero di bit a 1 presenti prima del bit di stop e qualificato dalla tipologia "pari o dispari" suggerita dal valore del bit4
bulletcon bit5=1 è invece fisso (parità bloccata), cioè sempre uguale a 1 (se bit4=0=parità dispari) o a 0 (se bit4=1=parità pari); è evidente che, in questo caso il controllo di parità non c'entra per nulla; l'idea (particolarmente cervellotica) è quella di trasmettere dati seriali a 7 bit come fossero a 8 bit, aggiungendo l'ottavo con questa tecnica, rigorosamente a 1 o a 0
bullet Transmit break: in condizioni normali il bit6 è 0; quando è posto a 1 il trasmettitore porrà in continuazione sulla linea SOUT (pin11 dell'UART) il livello logico 0 (SPACE, 0V in TTL, tra +25V e +3V in linea), ignorando ogni dato ancora da trasmettere fino a quando non sarà riportato a 0; la presenza di questo segnale di Break può essere utilizzata per obbligare un computer remoto ad interrompere l'esecuzione di un suo programma o per richiedere la sua attenzione.
bullet Baud Rate Divisor Latch: con ogni versione di UART il valore logico assunto dal bit7 influenza il tipo di registro che può essere puntato con gli indirizzi [port_8] e [port_9]:
bulletcon bit7=1 quelli coinvolti sono i 2 Registri divisori di Baud Rate,
bulletin condizioni normali il bit7 è 0; l'indirizzo [port_8] punta il Registro di Ricetrasmissione Dati e l'indirizzo [port_9] punta il Registro di Abilitazione delle Interruzioni

    

Pagina Precedente Registri Pagina Successiva CONTROLLO LINEA 2/3   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
20 di 46
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

    

Registri Interni » Porta Seriale | Porta Parallela | Stampanti
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati