• Nenhum resultado encontrado

3.11 Tipos de Comunicação

3.11.2 Comunicação serial

Na comunicação serial ocorre a transferência não simultânea dos bits que compõem o byte, ou seja, um bit é transmitido depois do outro. Utiliza-se este modo de comunicação nas ligações entre periféricos que se encontram em longas distâncias um do outro, ou que não necessitem de uma velocidade muito alta de transmissão e recepção dos dados. Na Figura 17 é exibido o esquema da comunicação serial (REIMBOLD; RASIA; WEBER, 2000).

Figura 17 – Comunicação serial.

Fonte: (REIMBOLD; RASIA; WEBER, 2000).

Existem três modos de comunicação serial: oSimplex, oHalf-Duplexe oFull-duplex. O métodosimplexfunciona com apenas um dispositivo transmitindo e outro somente recebendo os dados. No modohalf-duplexousemiduplexocorre a recepção e transmissão de dados, mas não simultaneamente. Já no caso dofull-duplexouduplex, é possível enviar e receber os dados ao mesmo tempo (REIMBOLD; RASIA; WEBER, 2000).

Na serial existem dois ritmos de comunicação, que são os ritmos de transmissão: síncrono e o assíncrono. No síncrono ocorre a necessidade de um sincronismo entre os dois sistemas de comunicação. Esse sincronismo é produzido por um conjunto de bits, denominados de bits de sincronismo, que quando recebidos pelo elemento receptor, regulam seuclockinterno a fim

de receber um conjunto de bits referentes aos dados. Depois do último bit de informação, o transmissor envia um conjunto de bits (bits de parada), que ao serem detectados pelo receptor informam-no que a transmissão foi finalizada. Já no caso assíncrono, não ocorre a necessidade desse sincronismo. Assim, cada caractere é enviado separadamente, e para cada um deles um bit de início de transmissão (startbit) e um bit ou vários bits que sinalizam o término da transmissão (stopbit(s)). Lembrando que tanto no modo síncrono quanto no assíncrono é necessário que o dispositivo emissor e o receptor funcionem na mesma taxa de emissão e recepção dos dados (REIMBOLD; RASIA; WEBER, 2000).

De acordo com Reimbold, Rasia e Weber (2000), a porta serial do computador é com- pletamente programável e possibilita a comunicação no ritmo assíncrono. As informações são transmitidas sequencialmente, do bit menos significativo para o mais significativo, conforme é apresentado na Figura 18.

Figura 18 – Representação da palavra de dados na porta serial.

Fonte: (REIMBOLD; RASIA; WEBER, 2000).

A palavra serial é composta de vários bits, sendo que cada um deles possui uma função própria, como: bit de partida, bits de dados, bits de paridade e bits de parada. A quantidade de bits para cada função varia de acordo com a necessidade da transmissão. Um sistema de interrupções com prioridade regula as interrupções de transmissão, recepção, erro ou estado de linha. Além disso, pode-se programar a taxa de transmissão dos dados (REIMBOLD; RASIA;

WEBER, 2000).

Existem vários tipos de protocolos de comunicação serial, tais como: UART, Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) etc. O protocolo utilizado nesse trabalho foi o UART, pelo fato de ser facilmente implementado na plataforma Arduino Nano.

De acordo com Norhuzaimin e Maimun (2005), ele consiste em um circuito integrado, utilizado para transmitir e receber dados de forma assíncrona por meio da porta serial no computador, e possui umbufferpara armazenar temporariamente os dados das transmissões de alta velocidade.

Por exemplo, um dispositivo conectado ao UART poderia ser um modem. O primeiro precisaria de um bufferinterno maior para armazenar dados provenientes do modem até que a Central

Processing Unit(CPU) tenha tempo para processá-lo. Se obufferde memória não for grande o suficiente, poderá acontecer um estouro. O tamanho dele depende da construção desse protocolo.

Para Norhuzaimin e Maimun (2005), o módulo UART pode ser dividido em duas partes de transmissão e recepção, conforme é exibido na Figura 19, em que o diagrama de blocos do UART é constituído de dois barramentos de dados bidirecionais, dois controladores lógicos (um transmissor e um receptor), multiplexador (MUX) e registradores de deslocamento e retenção para os módulosTransmiteReceive.

Figura 19 – Esquema do funcionamento do módulo UART.

Fonte: Adaptado de (NORHUZAIMIN; MAIMUN, 2005).

Na Figura 20 é apresentada a implementação propriamente dita do módulo UART e dos seus pinos e na Tabela 1 são mostrados os pinos funcionais desse protocolo (NORHUZAIMIN;

MAIMUN, 2005).

Figura 20 – Implementação do UART.

Fonte: Adaptado de (NORHUZAIMIN; MAIMUN, 2005).

Tabela 1 – Pinos funcionais do UART.

Símbolo Tipo Descrição

RESET Entrada Master Reset.

PARITY ERROR Saída Indica se um erro de paridade foi detectado durante a recep- ção do pacote de dados.

FRAME ERROR Saída Indica se o formato de dados enviados da serial para a en- trada rx não corresponde ao formato de dados UART ade- quado.

OVERRUN Saída Indica se um erro de OVER-

RUN foi detectado durante a recepção do pacote de dados.

RXRDY Saída Indica que novos dados foram

recebidos e estão prontos para serem lidos.

TXRDY Saída Indica que novos dados foram

gravados no transmissor.

READ Entrada Sinal estroboscópico alto

ativo, usado para ler dados do receptor.

WRITE Entrada Sinal estroboscópico alto

ativo, usado para gravar dados no transmissor.

DATA (8 bits de dados - 7 até 0) Entrada/Saída Barramento de dados bidireci- onal para enviar/receber dados por meio do UART.

TX Saída Saída serial do transmissor.

RX Entrada Entrada serial do receptor.

Fonte: Adaptado de (NORHUZAIMIN; MAIMUN, 2005).

Na Figura 21 é exibido o formato do pacote de dados UART. Esta implementação do UART transmite dados em pacotes de 11 bits, em que: 1 bit é o inicial baixo ativo (startbit), 8 bits são de dados (databits), 1 é de paridade (paritybit) e 1 é de parada alto (stopbit). A linha de transmissão e recepção do UART é mantida alta enquanto nenhuma transmissão/recepção está ocorrendo. Na transmissão de uma sequência, o bit inicial baixo ativo indica ao receptor UART que uma nova sequência de dados está a caminho. Isso faz com que o receptor UART receba os próximos 8 bits como dados transmitidos e o próximo bit como de paridade. Os primeiros dados transmitidos são osLess Significant Bit(LSB), que constituem os bits menos significativos dos dados. Um bit de parada alto é utilizado para indicar o final de um pacote de dados. A paridade

pode ser definida como par ou ímpar e é utilizada para indicar se houve ou não um erro nos bits de dados recebidos (NORHUZAIMIN; MAIMUN, 2005).

Figura 21 – Formato de dados UART.

Fonte: (NORHUZAIMIN; MAIMUN, 2005).

Documentos relacionados