Академический Документы
Профессиональный Документы
Культура Документы
Porta Paralela do PC
Foi concebida originalmente para transferir dados para uma impressora, sendo portanto uma porta
unidirecional, ou seja, os dados somente poderiam trafegar no sentido computador => impressora. Porém
com a evolução da tecnologia de dispositivos periféricos, houve a necessidade de colocar dispositivos para
leitura conectado à porta paralela, como o scanner, o zip drive, etc... Assim a porta paralela passou a ser
uma porta bidirecional. Mas a porta paralela continua a ser conhecida como LPT - Line PrinTer.
Padrões de Porta Paralela no PC :
- SPP (Standard Parallel Port): Porta paralela no IBM PC original, ou qualquer porta que emule a
porta original, também é chamada SPP, porta paralela padrão, tipo AT ou ISA-compatível.
A porta paralela no PC original era baseada na interface para impressora Centronics existente.
Pode transferir dados de oito bits para um periférico, usando um protocolo semelhante ao
usado pela interface Centronics original, que permite apenas transferência unidirecional (PC-
para-periféricos), não permitindo entrada de dados.
Porém existe um modo que possibilita a leitura de 4 bits de cada vez. Este modo é lento, mas
ficou popular como um modo de usar a porta paralela para entrada
Possui 3 endereços de registradores para acesso da CPU (ex: 378H, 379H e 37AH).
- Tipo PS/2 (Porta Paralela do IBM PS/2): A melhoria inicial desta porta paralela utilizada no
modelo PS/2 da IBM, foi a porta de dados bidirecionais. Esta porta bidirecional habilita a
transferência de oito bits entre um PC e um periférico. O termo “Tipo PS/2” se refere a
qualquer porta paralela bidirecional que não suporte os modos EPP ou ECP.
- EPP (Enhanced Parallel Port): Porta desenvolvida originalmente pela Intel (fabricante de chips),
Zenith (fabricante de PCs), e Xircom (fabricante de produtos para portas paralelas de redes)
que possui as linhas de dados bidirecionais, como na porta Tipo PS/2, porém uma EPP pode
ler ou escrever um byte em um ciclo do barramento ISA (aproximadamente 1µs, incluindo
handshake). A porta SPP e a porta Tipo PS/2 necessitam de quatro ciclos para realizar acesso.
Uma EPP pode inverter a direção do fluxo de dados rapidamente, sendo muito eficiente
quando usada com drives de disco ou fita ou outros dispositivos que transferem dados em
ambas as direções.
Uma EPP também pode emular portas SPPs, e algumas EPPs podem emular portas Tipo PS/2.
Possui 8 endereços de registradores para acesso da CPU (ex: de 378H a 37FH).
- ECP (Extended Capabilities Port): Porta inicialmente proposta pela HP (Hewlett Packard) e pela
Microsoft que possui as linhas de dados bidirecionais e pode transferir dados na velocidade do
barramento ISA, como na porta EPP. Mas a ECP têm buffers que permitem transferências por
DMA (acesso direto à memória) e compressão de dados. Transferências de ECP são úteis para
impressoras, scanners, e outros periféricos que transferem grandes blocos de dados.
Uma ECP também pode emular portas SPP ou Tipo PS/2, e muitas ECPs podem emular EPP.
Possui 6 endereços de registradores para acesso da CPU.
Conectores
DB25 fêmea - utilizado para conexão ao computador Centronics - utilizado para conexão à impressora
Sinal Direção
Pino Pino Descrição
DB-257 Centronics-36
STROBE Saída 1 1 Indica que os dados estão prontos para serem transmitidos;
D0 a D7 Saída 2a9 2a9 Dados para a impressora;
ACK Entrada 10 10 Indica que a impressora está preparada para receber dados;
BUSY Entrada 11 11 Indica que a impressora não está preparada para receber
dados porque seu buffer interno está cheio;
PE Entrada 12 12 Indica que a impressora está sem papel;
SLCT Entrada 13 13 Indica que a impressora está em estado “on line”, pronta
para receber dados;
AUTO Saída 14 14 Avanço de linha;
FEED
ERROR Entrada 15 32 Indica erro (fim de papel, impressora desativada, etc...);
INIT Saída 16 31 Reinicializa a impressora e limpa o buffer de impressão;
SLCT IN Saída 17 36 Somente transfere dados para a impressora quando estiver
ativo, selecionando estado “on line” ou “off line”;
GND Saída 18 a 25 19 a 30 Terra
3
Comunicação Serial
Porta utilizada originalmente para comunicação de dados (Portas COM), e apesar de sua função
continuar praticamente a mesma, foi adicionada outras funções como a utilização do mouse.
A comunicação serial do PC é uma comunicação half duplex, porque usa o mesmo meio físico
tanto para transmissão, como para recepção, só podendo trafegar uma informação de cada vez.
A comunicação serial pode ser feita de dois modos:
Modo Assíncrono
Pode ser considerado o modo mais simples de se fazer uma transmissão de dados. Cada vez que
for acessado o meio físico, são transmitidos de 8bits a 12bits de cada vez. O PC usa este modo.
Modo Síncrono
É um método de comunicação mais rápido e eficiente que o modo assíncrono, mas exige maior
qualidade do hardware, pois necessita que o clock de recepção seja exatamente igual ao clock de
transmissão, ou seja, o mesmo sincronismo. Cada vez que for acessado o meio físico, são transmitidos
vários bytes (300bytes, 500bytes, etc...). Este modo necessita de uma linha física e circuitos de acesso ao
transmissor e receptor especiais.
Os caracteres de sincronismo devem ser idênticos, e servem para sinalizar o inicio da transmissão.
Porta Serial do PC
No PC a porta serial foi implementada com uma UART (Universal Assincronous Receiver
Transmitter), originalmente o 8250, e atualmente substituto pelo 16550, que tem como principal vantagem
a existência de uma fila interna de 16 bytes.
Sinais utilizados:
Tx - Linha pela qual os dados saem do computador (DTE);
Rx - Linha pela qual os dados entram no computador (DTE);
DTR - Data Terminal Ready - Sinal de saída do DTE que indica “DTE on line”;
DSR - Data Set Ready - Sinal de entrada do DTE que indica “DCE on line”;
RTS - Request To Send - Requisição para enviar dados do DTE ao DCE;
CTS - Clear to Send - Autorização para o DTE enviar dados para o DCE;
DCD ou CD - Data Carrier Detect - Indica que um sinal de portadora foi detectado na linha telefônica;
RI - Ring Indicator - Indica sinal de chamada.
4
Inicialmente é necessário que ocorra o hanshake DTR-DSR, para indicar que tanto computador
como modem estão operacionais. E também que a conexão telefônica esteja estabelecida.
Quando o DTE1 deseja enviar um caracter ao DTE2, ativa o sinal RTS. O DCE então coloca
portadora na linha e ativa CTS. Ao receber CTS a porta serial do DTE envia o dado serial pelo pino Tx.
No modem, os bits seriais são modulados e transmitidos via linha telefônica.
Quando o DCE2 detecta a presença de portadora na linha telefônica, avisa ao DTE2 através do
DCD. Quando os dados chegarem, o DCE2 demodula os bits seriais e os conduz ao DTE pelo pino Rx.
Obs: Não ocorre nenhuma indicação ao DTE1 que o DTE2 recebeu o dado corretamente, e o único meio
de saber disso é se o DTE2 transmitir ao DTE1 um sinal de resposta.
parâmetros
BAUD BAUD BAUD Even Parity Parity Stop Bits tamanho do tamanho do
Rate Rate Rate Select Enable caracter caracter
0 0 0 = 110 0 0 = nenhuma 0 = 1 bit 0 0 = 5 bits
0 0 1 = 150 0 1 = ímpar 1 = 2 bits 0 1 = 6 bits
0 1 0 = 300 1 0 = nenhuma 1 0 = 7 bits
0 1 1 = 600 1 1 = par 1 1 = 8 bits
1 0 0 = 1200
1 0 1 = 2400
1 1 0 = 4800
1 1 1 = 9600
16550
5
Estrutura interna:
6
End base + 3: Acesso ao registrador de controle de linha (escrita ou leitura no Line Control Register);
Divisor Latch Break Stick Even Parity Stop tamanho tamanho
Access Bit Control Bit Parity Parity Enable Bits do caracter do caracter
bit 0 e bit 1: Definem o tamanho do caracter: (00 = 5 bits, 01 = 6 bits, 10 = 7 bits e 11 = 8 bits);
bit 2: Define a quantidade de stop bits (0 = 1 Stop Bit e 1 = 2 Stop Bits);
bit 3: Define a existência do bit de paridade na comunicação (1 = com paridade);
bit 4: Define paridade par (1 = paridade par);
bit 5: Mantém o bit de paridade com um valor fixo (0 quando bit 4 for 0 e 1 quando bit 4 for 1);
bit 6: Break Control Bit - com 1 coloca a saída serial em nível baixo (transmissão bloqueada);
bit 7: DLAB - Bit que permite acesso ao Registrador do Latch do Divisor do Gerador de Baud Rate.
End base + 5: Acesso ao registrador de Status de Linha (leitura do Line Status Register);
Error TEMP THRE Break Framing Parity Overrun RDR
Indicator Interrupt Error Error Error
bit 0: Receiver Data Ready - Indica a existência de um dado na entrada serial (no RBR ou na FIFO);
bit 1: Indica erro por Sobreposição. Este erro ocorre quando um novo caracter chega ao RBR (ou à
FIFO) sem que o caracter anterior tenha sido lido pela CPU, ocasionando perda do dado.
bit 2: Indica erro de Paridade. Este erro ocorre quando a paridade do dado recebido é diferente da
paridade definida no LCR;
bit 3: Indica erro de falta de Stop bit;
bit 4: Indica a ocorrência de break na entrada serial (recepção bloqueada pelo transmissor);
bit 5: Transmitter Holding Register Empty - Indica registrador de espera vazio;
bit 6: Transmitter Empty - Indica saída serial vazia;
bit 7: Indica a ocorrência de algum tipo de erro na recepção.
End base + 0 e DLAB = 1: Acesso ao Latch do Divisor do Baud Generator (8 bits menos significativos);
End base + 1 e DLAB = 1: Acesso ao Latch do Divisor do Baud Generator (8 bits mais significativos);
RS232C
Conectores: Existem dois tipos de conectores que podem DB9 macho DB25 macho
ser usados na comunicação serial, o DB25 macho e o
DB9 macho no computador. O cabo de conexão requer
DB9 e DB25 fêmea.
Níveis de Tensão: O padrão RS232C utiliza um padrão de tensões diferentes dos níveis TTL utilizados
internamente.
TTL RS 232C
Hi (alto) 2V a 5V -3V a -15V
Lo (baixo) 0V a 0,8V 3V a 15V
Cabos de Conexão
Conexão micro-modem Conexão micro-micro - null modem (1)
Conexão micro-micro - null modem (2) Conexão micro-micro - null modem simples
13
Erros na Transmissão:
Com o objetivo de detectar erros, foi adicionado um nono bit ao byte, que traz uma informação
sobre a paridade do byte, ou seja, a informação (com 9 bits) deve ter sempre a mesma paridade (que pode
ser par ou ímpar). Caso ocorra um valor com a paridade invertida, significa que existe pelo menos um bit
invertido na informação, o que, dependendo do caso, pode significar que toda a informação (que pode
variar de um byte a um arquivo) está perdida.
A geração do bit de paridade, se dá da seguinte forma (considerar paridade ímpar):
- caso o byte tenha a paridade par, o nono bit deve valer 1 para tornar a paridade ímpar;
- caso o byte tenha a paridade ímpar, o nono bit deve valer 0 para manter a paridade ímpar.
A primeira limitação do bit de paridade é que se ocorrer erros em dois bits, a paridade vai ser
mantida, e o byte terá erro que não será detectado.
A segunda limitação do bit de paridade é a possibilidade de apenas detectar erros, sem corrigi-los.
Para tornar possível a correção de erros foram implementadas muitas técnicas, e uma das mais
simples é o uso do CRC (Caracter de Redundância Cíclica), que consiste em transmitir a cada oito bytes,
um byte com uma informação de paridade, conforme o exemplo abaixo (considerar paridade ímpar):
Dado bit de bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
paridade
35H 1 0 0 1 1 0 1 0 1
6AH 1 0 1 1 0 1 0 1 0
E8H 1 1 1 1 0 1 0 0 0
01H 0 0 0 0 0 0 0 0 1
F9H 1 1 1 1 1 1 0 0 1
46H 0 0 1 0 0 0 1 1 0
DFH 0 1 1 0 1 1 1 1 1
44H 1 0 1 0 0 0 1 0 0
CRC 0 0 1 1 0 1 1 1 1
Ex: Caso ocorra um erro no bit 2 do 3° byte (de 0 passa para 1), o bit de paridade vai informar que
existe erro no 3°, e o CRC vai informar que existe erro no bit 2, assim é só inverter o bit 2 do 3° byte que
o byte ficará correto.
Com este método, podemos corrigir um bit a cada oito byte, que significa ter um erro a cada 81
bits transmitidos (corrige erros, se a taxa de erros não ultrapassar 1,23%). Se houver mais de um erro neste
bloco, poderemos apenas detectar que ocorreu erro, sem corrigi-lo.
Porém existem métodos mais avançados de correção de erros que permite correção de erros de
taxas mais altas. Porém isto implica em enviar cada vez mais informação redundante para ser possível a
correção de erros.