












Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunicação aula uninter engenharia eletrônica
Tipologia: Manuais, Projetos, Pesquisas
1 / 20
Esta página não é visível na pré-visualização
Não perca as partes importantes!













Nesta aula iremos estudar sobre os protocolos que os microprocessadores utilizam para se comunicar com os periféricos. Esta comunicação obedece a diversos padrões, os quais possuem características que devem ser obedecidas para ocorrer a troca de dados. A seguir serão apresentados os conceitos básicos, as formas de comunicação e os protocolos de comunicação.
Canal de comunicação É o caminho pelo qual a informação irá trafegar; por exemplo: fio, ar etc. Nestes canais trafegam bits de dados individuais que são encapsulados em byte s. Um conjunto de byte s transmitidos é conhecido como frame. Mensagem Todo dado transmitido em um canal de comunicação é chamado de mensagem, ou seja, todo byte transmitido é considerado uma mensagem. Protocolo É um conjunto de princípios, regras e técnicas usados para viabilizar a comunicação. Este conceito pode ser aplicado às diversas formas de comunicação que temos. Por exemplo: uma pessoa fala português e outra fala japonês: estas duas pessoas não irão se entender, pois suas linguagens são diferentes. Porém, mesmo se falarem a mesma língua, mas não estruturarem as frases de forma correta, não haverá total compreensão entre os falantes. Por isso, para uma comunicação ser estabelecida, deve-se seguir as mesmas regras de linguagem, sintaxe e formato. Os protocolos devem, portanto, possuir as seguintes características: Existência de transmissor e receptor; Handshake (estabelecimento de conexão); Características de uma conexão: taxa, topologia, número de periféricos; Inicialização e finalização de mensagens;
Comunicação assíncrona Segundo Axelson (1998), é uma forma de comunicação que não é organizada pelo clock , ou seja, cada bloco de informação contém a informação de controle ( flag ), para que se saiba exatamente onde começa e termina o bloco de comunicação de dados e qual sua posição na sequência de informação transmitida. Para fazer uma analogia, imagine que a informação é como bolas colocadas em um tubo. No caso da comunicação assíncrona, as bolas seriam numeradas para identificação de ordem, enquanto que na síncrona a ordem de chegada das bolas diria qual é a ordem.
O conceito da comunicação serial é simples: a porta serial envia e recebe dados um bit por vez. Embora esta comunicação seja mais lenta que a paralela, a qual consegue enviar um byte ou até mais bits por vez. É mais utilizada por ser mais simples e consegue alcançar maiores distâncias. A serial normalmente transmite dados ASCII; a comunicação é realizada por pelo menos três fios: terra (GND), transmissão (TX) e recepção (RX). Como a serial é assíncrona, pode transmitir e receber dados simultaneamente. As características mais importantes da serial são: taxa de transmissão ( baud rate ), bits de dados ( data bits ), bits de parada (stop bit ) e paridade. A figura 1 apresenta o formato da serial (NATIONAL INSTRUMENTS, s/d). Figura 1: Formato típico da serial Fonte: .
Bit de dados ( Data bits ) São os bits de dados que são transmitidos em um pacote de serial; os valores padrões para dados são 5, 7 e 8 bits. Dependo da configuração feita e dos dados a serem transmitidos, os dados que são transmitidos podem, por exemplo, estar em formato ASCII, seguindo os dados da tabela da Figura 2. O formato de 7 bits é capaz de transmitir dados de 0 a 127 ou 8 bits valores de 0 a 255, como o extended ASCII. O pacote refere-se a transmissão de um único byte , considerando bits de início e fim, bit de dados e paridade. (NATIONAL INSTRUMENTS) Figura 2: Tabela ASCII Fonte:.
A tabela 1 descreve os pinos mais utilizados pelo protocolo RS-232. Tabela 1 : Descrição dos pinos da serial RS-232 no conector DB Fonte: . A serial tem uns termos normalmente utilizados em documentos técnicos: USRT – Universal Synchronous Receiver/Transmitter ; UART – Universal Asynchronous Receiver/Transmitter ; USART – Universal Synchronous/Asynchronous Receiver/Transmitter. O protocolo RS-232 estabelece regras para comunicação entre uma fonte e um ou dois equipamentos. DTE ( Data Terminal Equipment ) – equipamento que faz o processamento do sinal: transmissão e recepção dos dados. DCE ( Data Communication Equipment ) – É o equipamento que realiza a conexão e faz a conversão do sinal para o circuito de comunicação. As figuras 4 e 5 apresentam a arquitetura da comunicação RS-232, DTE com DCE e DTE com DTE. Figura 4 : Arquitetura RS-232 conexão DTE com DCE Fonte: .
Figura 5: Arquitetura RS-232 conexão DTE com DTE Fonte: . Para fazer um controle de velocidade, no caso de dispositivos mais lentos, foi implementado um controle de fluxo. Este pode ser realizado de duas formas: por software ou por hardware. Por hardware : são utilizados os pinos RTS e CTS para controle de recepção e transmissão dos dados. RTS indica que o dispositivo está pronto para receber um dado, enquanto que CTS indica que está pronto para transmitir um dado. Por software : usa dois caracteres ASCII para representar que o transmissor pode enviar dados para XON e parar a transmissão para XOFF. XON é representado por ASCII 17, e XOFF é representado por ASCII 19. Neste caso, não poderá ser feito o uso destes caracteres na transmissão/recepção. RS- 485 É uma melhoria do protocolo RS-232 que aumenta o número de dispositivos que podem ser conectados de 10 para 32 e define tensões de sinais adequados para carga máxima. Com esta capacidade reforçada é possível criar uma rede de dispositivos conectada a uma única porta RS-485. O hardware para comunicação serial pode chegar a uma distância 1,2 Km de cabos. A tabela 2 apresenta a pinagem da RS-485. (NATIONAL INSTRUMENTS) Tabela 2: Descrição dos pinos da serial RS-485 no conector DB9.
selecionar o periférico que será acessado. A figura a seguir apresenta um diagrama de uma conexão mestre e escravo. Figura 6: Comunicação entre mestre e escravo. A figura 6 demonstra que na comunicação há um buffer que armazena os dados transmitidos e recebidos; pode-se notar que o pino MOSI é usado para transmissão dos dados mestre para o escravo. Da mesma forma, o pino MISO é usado para enviar os dados do escravo para o mestre. Um exemplo de arquitetura SPI é apresentado na Figura a seguir: Figura 7 : Arquitetura de uma comunicação SPI com três periféricos Como mostrado na Figura 7, os pinos SCLK, MOSI e MISO são compartilhados por todos os escravos, e definem a sincronização e o envio e recebimento dos dados. Para a seleção dos escravos, basta o mestre selecionar o pino SS respectivo do periférico que deseja comunicar. O protocolo possui 4 métodos de transmissão e sincronização de dados entre transmissor e receptor usando o clock , o qual pode ter sua fase e
polaridade configuradas de acordo com o modo de transmissão que será usado. A polaridade é usada pelo sinal CPOL e a fase por CPHA. A tabela 4 mostra a definição dos modos de transmissão. (PINHEIRO, s/d) Tabela 4: Modos de transmissão do SPI Modo CPOL CPHA 0 0 0 1 0 1 2 1 0 3 1 1 Figura 8 : Diagrama temporal dos modos de transmissão do SPI A figura 8 ilustra a diferença dos modos de transmissão pelo diagrama temporal. CPOL indica se o padrão do clock para nível baixo é zero (CPOL=0) ou nível lógico alto (CPOL=1). Quando CPHA é igual a zero, os dados são lidos na borda de subida do clock. Logo quando CPHA é 1, a referência é invertida, ou seja, os dados são lidos na borda de descida do clock. Estes modos fazem o protocolo trabalhar com uma diferença de fase de 180°.
Este é um barramento serial criado pela Philips na década de 19 80 para comunicação em baixa velocidade entre dispositivos e o computador ou microcontrolador. Para a interface com este protocolo funcionar, o dispositivo que se deseja que faça interface deve possuir algum hardware ou circuitos adaptados para este tipo de comunicação. Também é possível usar um circuito
Há dois tipos de dispositivos neste barramento: mestre e escravo. O primeiro é aquele que organiza e coordena todos os periféricos, enquanto que o escravo são todos os periféricos que estão ligados ao barramento. O pino SCL é responsável pelo clock do barramento e o pino SDA pela transmissão de dados. Por padrão e pelos resistores de pull-up nos dois pinos, o nível do barramento é alto; para iniciar uma comunicação, o SDA é colocado em nível lógico baixo pelo mestre. A escrita no barramento se faz para cada pulso produzido em SCL, ou seja, para cada pulso de clock é feita a leitura de um bit no pino SDA. O dado lido em SDA começa pelo bit mais significativo – MSB ( most significant bit ). A figura a seguir demonstra o início e final do envio de dados. Figura 10 : Sequências de início e fim de envio de dados Após a sequência de inicialização, o mestre deve enviar o endereço do periférico que vai comunicar, por exemplo: 0x20; caso o dispositivo exista, haverá uma resposta em formato de ACK ( acknowledge ), que será um pulso na linha SCL. A seguir começará a transferência de dados. O mestre escreve o endereço do registrador no escravo que ele deseja ler ou escrever e o executa em sequência, podendo ler/escrever um ou mais registradores. A figura 1 1 apresenta um exemplo de como a escrita/leitura funcionam no barramento. Figura 1 1 : Funcionamento do barramento I2C
Em casos que o periférico não consiga tratar o dado que o mestre enviou, o escravo pode forçar o nível de SCL para baixo, informando assim o mestre que deve entrar em modo de espera. Assim, quando a linha estiver livre o envio de dados recomeça. Após qualquer escrita ou leitura de um byte no barramento, o dispositivo receptor envia um bit de reconhecimento ACK. Este reconhecimento é obrigatório para uma boa fluência da comunicação. A sequência de envios e recebimentos da linha SDA é mostrada na figura a seguir: Figura 1 2 : Sequência de comandos no barramento I2C Fonte: . Conforme Fonseca (2016), o formato padrão do endereço é constituído por 7 bits de endereço; dentre estes bits, os primeiros 4 especificam o tipo do dispositivo escravo a ser acessado. Os outros 3 bits especificam de um até oito dispositivos daquele tipo, a ser acessado. O bit R/W indica que quando estiver em 1, é uma leitura e em 0 , uma escrita.
Os protocolos mais utilizados para comunicação entre dispositivos são serial (RS-232), I2C e SPI. No entanto, não são os únicos: para diversos casos o uso de algum destes protocolos não é indicado. Por exemplo: em comunicações mais lentas, é possível usar apenas um fio e o terra ( One Wire ), ou em aplicações automotivas; é importante existir uma comunicação entre os dispositivos que não faça uso do microcontrolador (CAN); neste tema, iremos abordar estes protocolos.
Figura 1 5 : Inicialização da comunicação no protocolo One Wire Fonte: . Na comunicação, o tempo de duração do pulso determina se o bit transmitido é 1 ou 0. Um pulso curto de no máximo 15 μs equivale ao bit 1, enquanto que o bit 0 é um pulso longo que no mínimo é 60 μs, e no máximo 120 μs. A figura 1 6 ilustra os bits no barramento. Figura 1 6 : Bit 0 e bit 1 no barramento One Wire****. Fonte:. Protocolo CAN ( Controller Area Network ) O protocolo CAN foi desenvolvido pela Bosch em 1986 com o intuito de diminuir a quantidade e o tamanho dos cabos na indústria automobilística. O objetivo era usar a rede CAN para interconexão de componentes de controle em veículos. A rede CAN é padronizada mundialmente pela resolução ISO 11898, gerada pela International Society of Organization (Miranda, 2010). Devido às
suas excelentes características, as redes CAN vêm sendo utilizadas em aplicações industriais, com alto índice de sucesso. O protocolo CAN possui as seguintes características: Protocolo digital e comunicação serial síncrona; Detecção de colisões; Priorização de mensagens; Grande flexibilidade de configuração; Recepção multicast ; Garantia de consistência dos dados; Detecção/sinalização de erros; Retransmissão automática de mensagens corrompidas. (CAMPOS; SIMONE; AFFONSO, 2005) Segundo Guimarães (2003), o protocolo CAN é dividido em duas camadas, segundo o modelo ISO/OSI: data link layer (camada de enlace) e physical layer (camada física). A camada física é responsável pela codificação e decodificação dos bits , temporização de bit e sincronização. Possui duas velocidades definidas por norma: ISO11898: Alta velocidade de transmissão de 125kbps a 1Mpbs. ISO11519-2: Baixa velocidade de transmissão – 10kbps a 125kbps. A velocidade de transmissão também pode variar com a distância, segundo a tabela a seguir: Tabela 5 : Taxa de transmissão pela distância Taxa K bit /s Distância máxima (m) 1000 40 500 130 250 270 125 530 100 620 50 1300 20 3300 10 6700 5 10000
Cada dispositivo no barramento pode ser um mestre, ou seja, é possível ter diversos dispositivos mestres no mesmo barramento. Os CAN nodes podem ser quaisquer dispositivos: sensor, atuador, central de controle etc. Cada node precisa dos seguintes itens: Unidade central de processamento: É o microprocessador que interpreta os dados recebidos e decide o que irá transmitir. Também faz controle dos sensores, atuadores e periféricos. Controlador CAN: Periférico que faz a comunicação com o barramento, tem a responsabilidade de verificar a disponibilidade do barramento e enviar os dados serialmente. Transceptor: Converte os dados a serem enviados em níveis de tensão adequados ao barramento, fazendo o processo inverso na recepção (Rennó, 2015).
Nesta aula aprendemos sobre os protocolos de comunicação mais utilizados pelos sistemas microcontrolados. A comunicação com os mais diversos periféricos existentes é essencial para a elaboração de projetos eletrônicos, mas para isto devemos conhecer os diversos conceitos que devem ser levados em conta para um interfaceamento adequado. Conhecimento do protocolo, taxa de transferência, forma de comunicação (digital ou analógica) etc. São critérios que devemos ter em mente para elaborar uma solução.
AXELSON, J. Serial port complete. Chicago: Lakeview Research, 1998. CAMPOS C. F.; SIMONE, D.; AFFONSO, L. Protocolo CAN : Controller Area Network. Disponível em: . Acesso em: 9 maio 2017. CANZIAN, E. Comunicação Serial – RS232 (Minicurso). 2015. Disponível em . Acesso em: 9 maio 2017. CONCEITOS gerais de comunicação serial. National Instruments. Disponível em: . Acesso em: 9 maio 2017.
DANTAS, M. Tecnologia de redes de comunicação e computadores. Rio de Janeiro: Axcel Books, 2002. FARIA, R. A. Interfaces seriais. Disponível em: . Acesso em: 9 maio 2017. FLOYD, T. L. Sistemas digitais : fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 2007. FONSECA, U. Protocolo I2C. Sistema Embutido , 28 set. 2016. Disponível em: . Acesso em: 9 maio 2017. GUIMARÃES, A. de A. Análise da norma ISO 11783 e sua utilização na implementação do barramento do implemento de um monitor de semeadora. Dissertação (Mestrado em Engenharia de Computação) – Universidade de São Paulo. São Paulo, 2003. Disponível em: . Acesso em: 9 maio 2017. MIRANDA, M. A. P.; LACERDA, V. R. L. Redes CAN ( Controller Area Network ). 2005. Disponível em: . Acesso em: 9 maio 2017. PINHEIRO, A. P. Comunicação SPI. Univ. Federal de Uberlândia. Disponível em: . Acesso: 9 maio 2017. PROTOCOLO I2C. I2C Bus. Disponível em: . Acesso em: 9 maio
RENNÓ, D. O protocolo 1 - Wire e CAN. Disponível em: . Acesso em: 9 maio 2017. TANENBAUM, A. Organização estruturada de computadores. São Paulo: LTC, 2001 TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais : princípios e aplicações. 11. ed. São Paulo: Pearson, 2011.