1 / 93

PROGRAMAÇÃO DE PERIFERICOS

PROGRAMAÇÃO DE PERIFERICOS. NOMES: Marcos Goulart Paulo Weiss. Protocolos de comunicação RS-232C, RS-422 RS-485. O QUE É RS-232C.

huyen
Download Presentation

PROGRAMAÇÃO DE PERIFERICOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROGRAMAÇÃO DE PERIFERICOS NOMES: Marcos Goulart Paulo Weiss

  2. Protocolos de comunicaçãoRS-232C, RS-422RS-485

  3. O QUE É RS-232C • O standard RS-232C define interfaces mecânicas, elétricas e lógicas entre o dispositivo terminal, onde estão os dados(DTE/PC), e o dispositivo que transporta os dados (DCE/modem).

  4. SERIAL X PARALELA As portas série são: • mais lentas (a porta série é oito vezes mais lenta do que a porta paralela)‏ • podem comunicar a distâncias muito maiores • mais flexíveis no que respeita a transferência de dados bidirecionais.

  5. Taxa de Transferência (Baud Rate) • Refere-se a velocidade com que os dados são enviados através de um canal e é medido em transições elétricas por segundo. • Na norma EIA232, a taxa de transferência e a taxa de bit (bit rate) são idênticas. Nesse caso, uma taxa de 9600 bauds corresponde a uma transferência de 9600 dados por segundo, ou um período de 104 ms (1/9600 s). • Outro conceito é a eficiência do canal de comunicação que é definido como o número de bits de informação utilizável (dados) enviados através do canal por segundo. Ele não inclui bits de sincronismo, formatação, e detecção de erro,

  6. IDENTIFICAÇÃO DE ERROS • Ruídos e distúrbios elétricos momentâneos podem causar mudanças nos dados quando estão trafegando pelos canais de comunicação. Se o receptor falhar ao detectar isso, a mensagem recebida será incorreta, resultando em conseqüências possivelmente sérias. • Dois metodos usados: • Paridade • Checksun

  7. PARIDADE O bit de paridade é adicionado ao pacote de dados com o propósito de detecção de erro. EX.: ADOTADO PARIDADE PAR • Dado Bit de Paridade • 1 0 1 1 0 0 1 0 0 • 1 0 0 0 1 0 1 0 1 • Na recepção do pacote, a paridade do dado precisa ser recomputada pelo hardware local e comparada com o bit de paridade recebido com os dados. • Se apenas 1 bit mudar de estado, a paridade não irá coincidir, e um erro será detectado. • Se um número par de bits for trocado, a paridade coincidirá e o dado com erro será validado. • Contudo, uma análise estatística dos erros de comunicação de dados tem mostrado que um erro com bit simples é muito mais provável que erros em múltiplos bits na presença de ruído randômico. Portanto, a paridade é um método confiável de detecção de erro.

  8. CHECKSUM Outro método de detecção de erro envolve o cálculo de um “checksum” quando mensagens com mais de um byte são transmitidas pelo canal de comunicação. Um número de checksum é adicionado a seqüência do pacote de dados de tal forma que a soma dos dados mais o checksum é zero. • 1 0 1 1 0 0 0 1 • 1 0 0 0 0 1 1 0 • + 0 1 0 0 1 1 0 0 dados • 1 1 1 1 1 1 1 1 • 1 0 1 0 0 0 0 0 • ________________________ 1 1 0 0 1 0 0 0 1 0 soma aritmética • 0 0 1 0 0 0 1 0 Soma truncada – 8 bits • + 1 1 0 1 1 1 1 0 Checksum (complemento de 2)‏ • ____________________ • 0 0 0 0 0 0 0 0 Soma + Checksum = 0 A correção de erros em uma transmissão, contudo, abaixa a eficiência do canal, e o resultado é uma queda na transmissão.

  9. SISTEMAS SINCRONOS • Em sistemas síncronos, canais separados são usados para transmitir dados e informação de tempo. Como o transmissor é responsável pelos pulsos de dados e de temporização, o receptor irá ler o canal de dados apenas quando comandado pelo transmissor, e portanto a sincronização é garantida.

  10. SISTEMAS ASSINCRONOS • A informação trafega por um canal único. • O transmissor e o receptor devem ser configurados antecipadamente. Um oscilador preciso no receptor irá gerar um sinal de clock interno que é igual (ou muito próximo) ao do transmissor. • O comprimento do pacote de dados é pequeno em sistemas assíncronos para minimizar o risco do oscilador do transmissor e do receptor variar. Quando osciladores a cristal são utilizados, a sincronização pode ser garantida sobre os 11 bits de período.

  11. Exemplo do envio do caracter 'A': • A UART programada para uma palavra de tamanho 8 bits, com 1 stop bit, paridade impar e com uma velocidade de 300 bps. • Como a letra ‘A’ na tabela ASCII possui 2 bits em 1 e os demais em 0, o bit de paridade esta em 1 de forma a gerar um numero impar de bits em 1.

  12. Exemplo do envio do caracter 'A':

  13. TIPOS DE LIGAÇÕES • Simplex pode haver transferência de dados do DTE para o CDE, ou vice-versa. • Half-duplex apenas uma linha de dados está disponível, e é usada alternadamente • Full-duplex atuam simultaneamente como receptores e transmissores. Existem fisicamente duas linhas de dados,

  14. TEMPORIZAÇÃO DOS SINAIS

  15. Características dos Sinais • Todas as linhas, sejam elas de informações de dados, temporização ou controle, podem ser representadas pelo mesmo circuito elétrico equivalente da figura acima • Este circuito equivalente aplica-se aos sinais originados tanto no DTE quanto no DCE. • A capacitância “Co” deve assumida como pequena e consistir apenas de elementos parasitas. “Ro” e “Vo” são escolhidos de forma tal que a corrente de curto-circuito não exceda a 500 mA.

  16. Conversores de nível TTL – RS232 A maioria dos equipamentos digitais utilizam níveis TTL ou CMOS. Portanto, o primeiro passo para conectar um equipamento digital a uma interface RS232 é transformar níveis TTL (0 a 5 volts) em RS232 e vice-versa. Isto é feito por conversores de nível.

  17. MAX232

  18. MAX232

  19. Polling ou Interrupção • A comunicação com uma porta série pode ser feita por polling ou por interrupção. • Em polling, é executado um ciclo que repetidamente verifica a porta para ver se existe algum caracter a ser lido. • Por interrupção, é mais eficaz mas é mais difícil de programar. Cada porta série está ligada a uma linha IRQ. Uma interrupção é sinalizada nessa linha de cada vez que um caracter é recebido pela porta. O programa ao detectar a interrupção, aponta para uma rotina que vai retirar o caracter da porta e colocá-lo na memória.

  20. Pinagem do cabo serial

  21. Pinagem do cabo serial

  22. O QUE É A UART • O UART (Universal Asynchronous Receiver Transmitter), é um chip que faz parte da porta série e cuja principal função é converter os dados do formato paralelo para o formato série e vice-versa. Adiciona-se também o start bit, stop bit e bit de paridade.

  23. FUNCIONAMENTO DA UART MODO DE TRANSMISSÃO • A UART (8250) recebe dados em paralelo do PC, converte para serial e envia para outro dispositivo. • Depois de programada a UART executa este processo automaticamente. O microcomputador passa o Byte para a UART, ela automaticamente transforma para serial, acrescenta os bits de inicio, fim e paridade e transmite o dado.

  24. MODO DE TRANSMISSÃO

  25. MODO DE RECEPÇÃO

  26. DIAGRAMA DE BLOCOS MOSTRANDO OS REGISTRADORES DA UART 8250

  27. REGISTRADOR DE DADOS • REGISTRADOR DE RECEPÇÃO: obtem-se o byte contido nesses registrador proveniente da conversão serial para paralelo dos bits de entrada • REGISTRADOR DE TRANSMISSÃO: uma operação de escrita carrega um byte nesse registrador para ser convertido de paralelo para serial

  28. REGISTRADOR DE STATUS • REG. DE STATUS DE LINHA • REG. DE STATUS DO MODEM • REG. IDENTIF. DE INTERRUPÇÃO

  29. Registrador de Status de Linha: utilizado para indicar condições de operação da linha. • Bit 0: 1 = existe byte pronto para ser lido no registrador de recepção. • Bit 1: 1 = um byte no registrador de recepção foi sobre escrito por um novo byte. 0 primeiro byte foi perdido. • Bit 2: 1 = erro de paridade. • Bit 3: 1 = stop bit invalido • Bit 4: 1 = interface detecta a linha em zero durante um tempo maior que a duração de um byte assincrono. • Bit 5: Buffer de transmissão vazio. 1 = um byte e movido do buffer de transmissão para o registro de deslocamento, onde o byte e transmitido serialmente. • Bit 6: Transmissor vazio. 1 = registro de deslocamento vazio.

  30. Registrador de Status do Modem: utilizado para indicar o status do modem. • Bits 0 – 3: 1 = ocorreu uma mudanca no respectivo pino desde a ultima leitura na porta. • Bit 4 - 7: indica o status dos pinos da porta.

  31. Registrador de Identificação de Interrupção: Apos uma interrupção, o bit 0 recebe 0, e os bits 1 e 2 determinam a fonte da interrupção.

  32. Registradores de controle • REG. CONTROLE DE LINHA • REG.CONTROLE DE INTERRUPÇÃO • REG.CONTROLE MODEM

  33. Registrador de Controle de Linha: utilizado para formatação dos dados. • Bits 0 - 1 : quantidade de bits por caracter. (00 = 5 bits, 01 = 6 bits, 10 = 7 bits, 11 = 8 bits) word • Bit 2 : quantidade de bits por caracter. (0 = 1 stop bit, 1 = 2 stop bits) Obs. Se a quantidade de bits por caracter for igual a 5, o numero de stop bits será automaticamente 1 ½ stop bits. • Bits 3 - 5 : determinam a paridade. (000 = sem paridade, 001 = paridade impar, 011 = paridade par, 101 = marca (mark), 111 = espaco (space) )‏ • Bit 6 : 1 = saida Tx vai para o nível lógico 0. • Bit 7 : 1 = registro de transmissão recebe o byte de menor ordem (LSB) da taxa de transmissão e o registro de controle de interrupção recebe o byte de maior ordem (MSB).

  34. Registrador de Controle de Interrupção: utilizado para habilitar os quatro tipos de interrupção do 8250. • Bit 0: 1 = uma interrupção e gerada quando um byte estiver disponível no registrador de recepção. • Bit 1: 1 = uma interrupção e gerada quando a 8250 puder receber um novo byte para trasnmissão. • Bit 2: 1 = uma interrupção e gerada quando ocorrer um erro de paridade, overrun (sobre escrita) ou stop bit. • Bit 3: 1 = uma interrupção e gerada quando qualquer entrada da porta serial mudar de estado.

  35. Registrador de Controle do Modem • Bit 0: 1 = ativa a saida DTR. • Bit 1: 1 = ativa a saida RTS. • Bit 2: Saida definida pelo usuário. Normalmente em 0. • Bit 3: Saida definida pelo usuário. Normalmente em 0.

  36. Finalmente, para programar a taxa de transferencia (velocidade da comunicacao), e preciso utilizar o bit 7 (DLAB) do Registrador de Controle de Linha, em conjunto com o Registradores de Controle de Interrupcao e com o Registrador de Dados, da seguinte forma: • 1. Colocar o bit DLAB em 1 para indicar que a parte baixa (LSB) da programacao velocidade sera colocada no Registrador de Dados, e a parte alta (MSB) no Registrador de Controle de Interrupcao. • 2. Escrever no Registrador de Controle de Interrupcao o valor desejado de acordo com a tabela a seguir (00H para 9600bps, por exemplo). • 3. Escrever no Registrador de Dados o valor desejado de acordo com a tabela a seguir (0CH para 9600bps, por exemplo).

  37. Dados(escrita/leitura)‏ 03F8H Reg.Contr.Interrupção 03F9H Reg.Identif.Interrupção 03FAH Reg.Contr.Linha 03FBH Reg.Contr.Modem 03FCH Reg.Status Linha 03FDH Reg.Status Modem 03FEH ENDEREÇOS DA UART8250(COM1)‏

  38. CONTROLE DO FLUXO DE DADOS • QUANDO É USADO? Quando a conexão entre um DTE e um DCE for superior à velocidade entre os DCES, haverá perda de dados no DTE. • COMO É FEITO O CONTROLE DO FLUXO DE DADOS? O controle de fluxo pode ser feito por hardware ou por software. • O controle do fluxo de dados por software, também conhecido como XON/XOFF utiliza 2 Caracteres ASCII; VANTAGEM: de não necessitar linhas adicionais, às linhas TxD e RxD. DESVANTAGEM: está no protocolo de comunicação que não poderá utilizar os caracteres ASCII 17 e 19 em suas mensagens. • O controle do fluxo de dados por hardware, também conhecido como RTS/CTS utiliza 2 linhas extras em seu cabo serial além das 2 linhas para transmissão de dados.

  39. Evolução do RS232 • Resumindo o RS232 define os níveis de tensão, a temporização, o protocolo de troca de dados e a disposição mecânica dos conectores.

  40. A interface RS232 tem como principal atrativo a sua implementação simples e barata.

  41. Principais limitações • Operação por níveis de tensão, sendo extremamente suscetível a ruídos; • Utilização ponto a ponto, não permitindo que mais de dois dispositivos; usem a mesma “linha de dados”.

  42. RS422 • Devido as limitações, foi desenvolvido o RS422 que é uma evolução do padrão RS232

  43. A principal novidade é a implementação de linhas de transmissão balanceadas unidirecionais,não reversíveis, o que torna a comunicação extremamente imune a ruídos, permitindo maiores distancias.

  44. Não permite múltiplos drivers somente múltiplos receivers • O principal uso do padrão RS422 é para estender a comunicação RS232 a grandes distâncias.

  45. Características gerais: • Sinais: A RS422 possui sinais de comunicação Tx+, Rx+, Tx- e RX-, 4 fios. O modo de transmissão é por diferencial elétrico. Pode utilizar outros sinais para controle.

More Related