Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comunicação Tecnologia em Telemática Disciplina: Microcontroladores Semestre: 2018.2 Professor: Adonias Caetano Conhecer os diversos tipos de barramentos; Definir os princípios da comunicação serial e cada um dos seus principais tipos, quais são suas vantagens e onde esses dispositivos são utilizados. 2 Objetivos Barramentos Comunicação Serial Comunicação UART Comunicação I²C Comunicação RS232 Comunicação SPI Comunicação Onewire Comunicação CAN 3 Conteúdo da Aula Barramentos 4 5 Barramento Conjunto de fios que transportam informações com um propósito comum. Caminho de comunicação entre dois ou mais dispositivos. Três barramentos: endereço, dados e controle. 6 Barramento Barramento de endereço: são utilizados para designar a fonte ou destino dos dados transferidos pelo barramento de dados. Barramento de dados: fornecem um caminho para a transferência de dados entre módulos do sistema. 7 Barramento Barramento de controle: são usados para controlar o acesso e a utilização das linhas de dados e endereço, pois são linhas compartilhadas por todos os componentes. Os sinais de controle são de dois tipos: Sinais de temporização indicam a validade das informações de dados e endereço. Sinais de comando especificam as operações a serem executadas. 8 Barramento 9 Barramento 10 Barramento USB USB é a sigla em inglês de Universal Serial Bus (“Porta Universal”, em português), um tipo de tecnologia que permite a conexão de periféricos sem a necessidade de desligar o computador, além de transmitir e armazenar dados. As atuais conexões USB são do padrão PnP (Plug and Play ou “Plugar e Usar”, em português), que ajudou a diminuir toda a complicação existente na configuração desses dispositivos, com o objetivo de facilitar a vida do usuário. 11 Barramento USB O padrão USB foi desenvolvido por um consórcio de empresas em 1995, entre as quais destacam-se: Microsoft, Apple, Hewlett-Packard, NEC, Intel e Agere. No entanto, as primeiras “portas USB” só começaram a ser usadas nos computadores fabricados a partir de 1997. 12 Barramento USB No USB 1.x, as portas transmitem a apenas 12 megabits, o que é pouco para HDs, pendrives, drives de CD, placas wireless e outros periféricos rápidos. Mas, no USB 2.0, o padrão atual, a velocidade foi ampliada para 480 megabits, suficiente até mesmo para os HDs mais rápidos. Em 2009 foi lançado o USB 3.0, também conhecido por SuperSpeed, que possui capacidade de transferir até 625 MB por segundo. 13 Barramento USB Existem quatro tipos de conectores USB: Tipo Descrição USB tipo A É o mais comum, usado por pendrives e topo tipo de dispositivo conectado ao PC. USB tipo B É o conector "quadrado" usado em impressoras e outros periféricos. USB mini 5P e o USB mini 4P Dois formatos menores, que são utilizados por câmeras, mp3 players, palmtops e outros gadgets. 14 Barramento USB Os quatro tipos utilizam a mesma pinagem, o único diferencial é mesmo o formato físico. Existem ainda alguns formatos de conectores proprietários, geralmente versões levemente modificadas de um destes quatro formatos. Por serem intercompatíveis, é relativamente fácil encontrar adaptadores diversos para permitir encaixar cabos com conectores de formatos diferentes. 15 Barramento USB O USB é um barramento serial, por isso os conectores possuem apenas 4 contatos, sendo dois para a transmissão dos dados (um para enviar, outro para receber) e os outros dois para a transmissão de eletricidade. Os dois pinos para a transmissão de dados são os dois mais centrais, enquanto os para energia são os dois externos. O pino da direita é o positivo, enquanto o da esquerda é o terra. Dentro do cabo, o fio vermelho é o positivo, o preto é o terra, enquanto o verde e o branco são os para transmissão de dados 16 Barramento Firewire O Firewire surgiu em 1995 (pouco antes do USB), como um concorrente do barramento SCSI. Inicialmente ele foi desenvolvido pela Apple e depois submetido ao IEEE, quando passou a se chamar IEEE 1394. Embora seja mais popularmente usado, o nome "Firewire" é uma marca registrada pela Apple, por isso você não vai encontrar referência a ele em nenhuma documentação ou produtos de outros fabricantes. Outro nome comercial para o padrão é o "i.Link", usado pela Sony. 17 Barramento Firewire O Firewire é um barramento serial, muito similar ao USB em vários aspectos. A versão inicial do Firewire já operava a 400 megabits (ou 50 MB/s), enquanto o USB 1.1 operava a apenas 12 megabits. Apesar disso, o USB utilizava transmissores e circuitos mais baratos e era livre de pagamento de royalties, o que acabou fazendo com que ele se popularizasse rapidamente. Na época, a indústria procurava um barramento de baixo custo para substituir as portas seriais e paralelas e, como de praxe, acabou ganhando a solução mais barata. Dois conectores SCSI 18 Barramento Firewire Assim como o USB, o Firewire é um barramento plug-and-play e suporta a conexão de vários periféricos na mesma por porta, utilizando uma topologia acíclica, onde um periférico é diretamente conectado ao outro e todos se enxergam mutuamente, sem necessidade de uso de hubs ou centralizadores. Por exemplo, é possível conectar um HD externo (com duas portas Firewire) ao PC e conectar uma filmadora ao HD e o PC enxergaria ambos. 19 Barramento Firewire O conector Firewire tradicional utiliza 6 pinos, sendo que 2 são usados para alimentação elétrica (como no USB) e existe também uma versão miniaturizada (sem os pinos de alimentação) que possui apenas 4 pinos e é muito comum em notebooks. Uma porta Firewire de 6 pinos é capaz de fornecer até 45 watts de energia, quase 10 vezes mais que no USB 20 USB vs. Firewire Com o surgimento do USB, o Firewire acabou restrito a alguns nichos. O principal deles era a transferência de vídeos a partir de uma filmadora digital. 21 USB vs. Firewire Atualmente no mercado ainda não há uma disputa bastante efetiva entre o Firewire e o USB. Devido ao fato de suas últimas especificações serem relativamente recentes, ainda não houve na prática a sobreposição dos nichos das duas tecnologias. USB Periféricos e outros dispositivos que requerem pouca banda Exemplos: câmeras digitais, cartões de memória e palms. Firewire É usado profissionalmente em aplicações multimídia há um bom tempo, portanto ainda domina completamente esta área, que inclui gravações de áudio e vídeo digitais de qualidade. Discos rígidos externos de alta capacidade. Comunicação Serial 22 23 Motivação Os equipamentos eletrônicos vêm agregando mais e mais funções. Torna-se cada vez mais comum a utilização de diversos circuitos integrados. No entanto, não é mais possível estender longos barramentos de comunicação paralelos. Logo, uma comunicação serial entre esses dispositivos se torna necessária. As placas de circuito impresso ficariam caras e muito grandes 24 Tipos de comunicação 25 Método Assíncrono Este não precisa de um sinal de clock, portanto o número de fios necessários é menor. Contudo, o envio dos dados é mais complicado e susceptível a erros, por isso alguns parâmetros são necessários para garantir o envio sem erros. Um parâmetro muito evidente em comunicações assíncrona é a taxa de transmissão (Baud rate) que especifica a velocidade de recepção e envio, por isso é muito importante que os dois dispositivos utilizem a mesma taxa. 26 Sentidos de Transmissão Full-duplex: Indica que o dispositivo podetransmitir e receber dados ao mesmo tempo. Half-duplex: O dispositivo que comunica dessa forma pode enviar ou receber mas não executa essas funções simultaneamente. Simplex: Se trata de dispositivos que sua comunicação é unidirecional, ou seja, apenas efetua o envio ou recebimento. 27 Sentidos de Transmissão 28 Terminologia Tensão do protocolo: É a tensão que os protocolos identificam os níveis lógicos alto e baixo. RX/TX: RX é o termo usado para representar o pino receptor de uma comunicação serial e TX representa o transmissor. Ao contrário dos pinos de GND ou VCC que são conectados com seus semelhantes, como GND --> GND, o RX/TX tem uma ligação diferente. O TX deve ser ligado no RX, ou seja, transmissor enviando para o receptor, e vice-versa. 29 Terminologia Mestre e escravo: É um método de comando centralizado onde apenas o dispositivo mestre pode iniciar uma comunicação, enviando comandos, controlando a taxa de comunicação, etc. Nível lógico: São os estados que um bit pode assumir, nível alto (1) ou nível baixo (0). Os níveis lógicos são interpretados pelos protocolos baseados nas tensões que recebe. Por exemplo o protocolo TTL considera de 2V a 5V nível lógico alto (bit 1) e de 0V a 0,8V nível lógico baixo (bit 0). 30 Tipos de Comunicação Serial Diversas tecnologias de interligação serial entre dispositivos foram desenvolvidas, podendo ser separadas em duas grandes categorias, a comunicação síncrona e a comunicação assíncrona. Dentre os métodos de comunicações mais conhecidos, destacam-se três: Comunicação UART 31 32 O que é? UART é o acrônimo de Universal Asynchrounous Receiver/Transmiter ou Receptor/Transmissor Universal Assíncrono. Sua finalidade é possibilitar a transmissão e a recepção de dados originalmente disponíveis na forma paralela. 33 Característica Característica Descrição Vantagem simplicidade do protocolo, full-duplex. Funcionamento O pino de transmissão (Tx) do protocolo envia um pacote de bits que será interpretado bit a bit pelo pino receptor. Cada pacote enviado contém 1 start bit que indica o início da mensagem, 1 ou 2 stop bits para indicar o final da mensagem, 5 a 9 bits de informação e 1 bit de paridade para evitar a recepção de erros. Ligação Por ser uma comunicação assíncrona a comunicação é feita por dois pinos Rx/Tx que dependem do baud rate como referência. 34 Característica 35 Aplicação É um protocolo utilizado por muitos microcontroladores, pois é responsável pela conversão da comunicação paralela em serial, que na maioria das vezes é convertida em outro protocolo como por exemplo o controlador da placa Blackboard ou Arduino Uno, que utiliza o protocolo UART mas tem o protocolo convertido para USB. Placa RC FTDI V1.1 BlackBoard Pro Mini - 5V/16MHz 36 Exemplo de Aplicação Comunicação entre Arduinos: UART https://www.robocore.net/modules.php?name=RC_Tutoriais&id=51 Comunicação I²C/TWI 37 38 Comunicação I²C I²C é a sigla de Inter-Integrated Circuit (Circuito inter- integrado), e basicamente é um protocolo de comunicação entre dispositivos que “falam” I²C. É um protocolo de barramento(ou bus), ou seja, com os mesmo fios conectamos todos os dispositivos do nosso setup. 39 Característica Característica Descrição Funcionamento Para que a informação seja enviada, o dispositivo mestre deve informar aos dispositivos escravos o início da comunicação, ou "Start condition". Neste caso o pino SCL deve estar em nível lógico alto e o pino SDA em nível lógico baixo. Quando isso ocorrer, todos os escravos estarão prontos para receber a primeira informação que é o endereço do escravo que comunicará com o mestre, junto com a operação que este escravo desempenhará. Em situações em que houver mais de um mestre na comunicação, terá preferência o mestre que sinalizar mais rápido o inicio de uma transmissão. Depois que o endereço é enviado, o escravo que tiver o endereço correspondente realizará a operação de leitura ou escrita da informação até que o dispositivo mestre envie uma "stop condition" para interromper a comunicação. 40 Característica Característica Descrição Vantagem possibilita comunicar com vários dispositivos utilizando poucos fios, além de possibilitar que mais de um mestre controle os escravos. Ligação Utiliza apenas dois pinos, SDA que é o sinal de dados e SCL o clock. Com isso é possível concluir que este protocolo é half- duplex, pois contém apenas um pino para envio de dados, e síncrono, pois usa um pino de clock. 41 Hardware O barramento I2C é composto de dois fios, SDA e SCL, e alimentação (VDD), tipicamente de 3.3V ou 5V. O número de “nós” em um único barramento é limitado tanto pelo tamanho do endereço, que pode ser de 7 bits, 10 bits e até 16 bits; como por restrição de espaço, já que não se pode ultrapassar poucos metros de fios, pois a capacitância total máxima, algo em torno de 400pf, impede o funcionamento correto do barramento. 42 Software Há dois tipos de dispositivos: Master e Slave. Master (mestre em inglês), é a unidade de controle responsável por coordenar todos os periféricos (Slaves, escravos em inglês). A linha SCL é responsável pelo clock do barramento, e a linha SDA pela transmissão de dados. As linhas SDA como SCL são bidirecionais e devem ser ligadas ao positivo da alimentação através de uma fonte de corrente ou de um resistor pull-up, para garantir que ambas as linhas permaneçam em nível alto, quando o barramento está livre. 43 Aplicação O que usa este protocolo? LCDs 16X2 com protocolo I²C Acelerômetro de 3 Eixos MMA8452Q Sensor de Temperatura Infravermelho - MLX90614 44 Exemplo de Aplicação Arduino e outros dispositivos atuando como Slave de um Raspberry Master. 45 Exemplo de Aplicação Comunicação entre Arduinos: I2C https://www.robocore.net/modules.php?name=RC_Tutoriais&id=59 Comunicação RS232 46 47 O que é? A comunicação rs232 é um método assíncrono de comunicação que utiliza o sistema binário (1 e 0) para transmitir dados em formato ASCII (American Standard Code for Information Interchange) e este código é capaz de traduzir um código legível pelos humanos (letras e números) em códigos legível pelos computadores (1 e 0). 48 Característica Característica Descrição Vantagem A distância que o protocolo alcança é maior que a do protocolo UART, além de ser um protocolo full-duplex. Funcionamento seu funcionamento é similar ao do protocolo UART, ou seja, é enviado 1 start bit + 8 bits de dados + 1 stop bit. A diferença está nas tensões que o protocolo utiliza e a possibilidade de adicionar mais pinos para checar as informações enviadas. Ligação Existem dois padrões de conectores que o protocolo adota, com 25 pinos (DB-25) e 9 pinos (DB-9), que basicamente usam os pinos TD (Transmitted Data) e RD (Received Data) para realizar a troca de informação e mais 7 pinos (padrão DB-9) para melhorar a confiabilidade da comunicação controlando o fluxo da comunicação. 49 Característica 50 Tipos de dispositivos rs232 O primeiro é chamado de dispositivo DTE (Data Terminal Equipment) e um exemplo típico deste dispositivo é o computador. O outro tipo é o DCE (Data Communications Equipment) e um exemplo típico é o antigo modem. O CLP pode tanto ser tratado como DTE, quanto DCE, dependendo do fabricante. 51 Pinos A porta serial opera ligando alguns pinos enquanto desliga outros e cada um destes pinos possuem uma finalidade específica. A porta serial por sua vez possui 2 tipos (9 pinos ou 25 pinos). 52 Aplicação A comunicação rs232 era muito utilizada para comunicação entre computadores eperiféricos e é a forma mais popular de comunicação entre um CLP (controlador lógico programável) e um dispositivo externo. A maioria dos CLP’s de mercado possuem porta serial que são utilizadas para transmitir/receber dados em forma de tensão (+/-15 volts), onde a tensão positiva é chamada de MARK e a tensão negativa é chamada de SPACE. 53 Exemplo de Aplicação Comunicação Serial RS232 com Arduino. https://www.arduino.cc/en/Tutorial/ArduinoSoftwareRS232 Comunicação SPI 54 55 O que é? Serial Peripheral Interface ou SPI é um protocolo que permite a comunicação do microcontrolador com diversos outros componentes, formando uma rede. É uma especificação de interface de comunicação série síncrona usada para comunicação de curta distância, principalmente em sistemas embarcados. 56 Característica Característica Descrição Vantagem Não há limite para o número de escravos, a comunicação é full- duplex e possui boa velocidade de comunicação. Funcionamento primeiramente o mestre gera um clock e seleciona através do pino SS com qual dispositivo será efetuada a comunicação. Em seguida os dados são enviados para o dispositivo de destino pelo pino MOSI e então o dispositivo escravo envia uma resposta (se necessário) ao mestre pelo pino MISO. Ligação Existem dois tipos de ligação para o protocolo SPI: Ligação paralela: É a ligação mais comum deste protocolo que utiliza 1 pino de MOSI, MISO e clock para todos dispositivos e 1 pino SS para cada escravo ligado a comunicação. Ligação em cascata: Este tipo de ligação demanda menos pinos de comunicação, pois é utilizado 1 pino SS para todos os dispositivos ligados na comunicação, porém causa perda de velocidade na comunicação. 57 Característica Ligação paralela 58 Característica Ligação em cascata 59 Aplicação O que usa este protocolo? Matriz de LEDs RGB 60 Exemplo de Aplicação Comunicação entre Arduinos: SPI https://www.robocore.net/modules.php?name=RC_Tutoriais&id=61 Comunicação Onewire (1-wire) 61 62 O que é? 1-Wire é um tipo de comunicação, um sistema de barramento que provê dados de baixa velocidade, sinalização e sinal único de energia. Tem um conceito similar ao do I²C, mas com taxas mais baixas de dados e maior alcance. É basicamente um acessório pequeno e utilizado em funções digitais e também em instrumentos de medição de temperatura (termômetro). Uma rede de dispositivos 1-Wire associados com um Mestre, é chamada de MicroLan. Um diferencial do barramento 1-Wire é o fato de utilizar apenas dois cabos: dados e GND. Para isso, o dispositivo 1-Wire dispõe de um capacitor de 800 pF para armazenar carga e alimentar o dispositivo durante os períodos onde o cabo de dados estiver sendo usado para o tráfego de dados. 63 Característica Característica Descrição Vantagem utiliza apenas 1 pino para a comunicação, cada dispositivo tem um endereço único. Funcionamento este protocolo funciona em 3 fases. A primeira fase é responsável por habilitar a comunicação e identificar os escravos ligados, a segunda fase seleciona qual escravo receberá os comandos e, por fim, na terceira fase ocorre a leitura ou escrita de dados. Ligação Pode ser feita de duas formas, parasita ou com alimentação externa. Ligação Parasita: com esta ligação a alimentação de um dispositivo 1-wire é realizado com o próprio pino de comunicação. Ligação Alimentação Externa: é mais indicado porque garante uma comunicação mais confiável, principalmente quando os dispositivos então afastados a mais de 6 m de distancia do mestre. 64 Característica Ligação Parasita 65 Característica Ligação Alimentação Externa 66 Aplicação O que usa este protocolo: Sensor de Temperatura Digital DS18B20 http://bildr.org/2011/07/ds18b20-arduino/ Leitura de sensor de temperatura Comunicação CAN 67 68 Origem O CAN Bus (ou Barramento Controller Area Network) foi desenvolvido pela empresa alemã Robert BOSCH e disponibilizado em meados dos anos 80. Bosch no Brasil 69 Conceituação O CAN é um protocolo de comunicação serial síncrono. O sincronismo entre os módulos conectados a rede é feito em relação ao início de cada mensagem lançada ao barramento (evento que ocorre em intervalos de tempo conhecidos e regulares). 70 Característica Trabalha baseado no conceito multi-mestre, onde todos os módulos podem se tornar mestre em determinado momento e escravo em outro, além de suas mensagens serem enviadas em regime multicast, caracterizado pelo envio de toda e qualquer mensagem para todos os módulos existentes na rede. 71 Características É fundamentado no conceito CSMA/CD with NDA (Carrier Sense Multiple Access / Collision Detection with Non-Destructive Arbitration). Isto significa que todos os módulos verificam o estado do barramento, analisando se outro módulo está ou não enviando mensagens com maior prioridade. Caso isto seja percebido, o módulo cuja mensagem tiver menor prioridade cessará sua transmissão e o de maior prioridade continuará enviando sua mensagem deste ponto, sem ter que reiniciá-la. 72 Características Outro conceito bastante interessante é o NRZ (Non Return to Zero), onde cada bit (0 ou 1) é transmitido por um valor de tensão específico e constante. A velocidade de transmissão dos dados é inversamente proporcional ao comprimento do barramento. A maior taxa de transmissão especificada é de 1Mbps considerando-se um barramento de 40 metros. 73 Os 4 Pilares Principais da CAN Baseada nesses 4 pilares as CANs trabalham com uma topologia da rede física em estrela e lógica em barramento, enviando suas mensagens em broadcast. 4º Ótimo confinamento de falhas 3º Controle de Erro 2º Simples Transmissão 1º Implementação de Hardware 74 Os 4 Pilares Principais da CAN 1º Implementação de Hardware O meio de transmissão para as redes CAN influencia diretamente no funcionamento e no envio correto das mensagens, uma vez que estas precisam ser confiáveis e em alta velocidade. A topologia física da rede também precisa ser analisada com cuidado. O comprimento de cada ramo do "Chicote Elétrico" deve seguir a norma CAN, do contrário, a propagação das mensagens pode ser prejudicada. 75 Os 4 Pilares Principais da CAN 2º Simples Transmissão: As CANs devem funcionar mesmo caso haja falha no link, assim, uma CAN transmitindo por 2 pares de cabo é capaz de operar normalmente somente com 1 par. 3º Controle de Erro: O controle de erro do protocolo CAN é o mais interessante e principal característica desse tipo de rede. Como as CANs são utilizadas em sistemas sensíveis a falha o controle de erro é feito pelos próprios dispositivos. 76 Os 4 Pilares Principais da CAN 4º Ótimo confinamento de falhas: A danificação de um dispositivo pode resultar no envio de mensagens de erro na rede, assim, prejudicando a largura de banda. Este mecanismo de controle de erros garante que as mensagens sinalizadoras de eventos críticos possam ser enviadas com sucesso garantindo a integridade do sistemas. 77 Benefícios Os principais benefícios fornecidos pelo protocolo CAN podem ser resumidos por: Um padrão de comunicação que facilita e torna econômica a tarefa de interfacear sensores e atuadores de diferentes fabricantes; O esforço computacional é diluído entre uma CPU principal e um periférico com inteligência de processamento, o que deixa a CPU livre para as tarefas de gerenciamento do sistema; Com a integração dos componentes através de um barramento único, reduz-se drasticamente a quantidade de fios e, automaticamente, os custos materiais e de montagem da rede embutida; Por serum padrão com grande aceitação no mercado, o protocolo CAN incentiva a fabricação de circuitos integrados que irão abastecer a indústria, o que cria a perspectiva de redução de preços devido à concorrência iminente.. 78 Aplicação Sua aplicação inicial foi realizada em ônibus e caminhões. Atualmente, é utilizado na indústria, em veículos automotivos, navios e tratores, entre outros. 79 Aplicação Exemplo de aplicação em veículo automotivo 80 Aplicação Exemplo de aplicação em um trator 81 Bibliografia STALLINGS, William. Arquitetura e organização de computadores. 8ª ed. São Paulo: Pearson Pratice Hall, 2010. MORIMOTO, Carlos E. USB, Firewire e DVI. Editado em 12 de fevereiro de 2007. Disponível em: https://www.hardware.com.br/tutoriais/usb-firewire-dvi/ Acesso em: 19/07/2018. GTA, UFRJ. IEEE 1394 – Firewire. Acesso em: 19/07/2018. Disponível em: https://www.gta.ufrj.br/grad/04_2/firewire/firewire_usb.html SILVEIRA, Cristiano Bertulucci. Desvendando a Comunicação RS232. Site CITISYSTEMS. Disponível em: https://www.citisystems.com.br/rs232/ Acesso em: 20/07/2018 ROBOCORE. Comparação Entre Protocolos de Comunicação Serial. Disponível em: https://www.robocore.net/tutoriais/comparacao-entre-protocolos-de-comunicacao- serial.html Acesso em: 20/07/2018 82 Bibliografia BRAGA, Newton C. Como funcionam as UARTs (TEL006). Instituto NCB. Disponível em: http://newtoncbraga.com.br/index.php/telecom-artigos/1709-tel006.html Acesso em: 19/07/2018. SACCO, Francesco. Comunicação SPI – Parte 1. Site Embarcados – 05/05/2014. Disponível em: https://www.embarcados.com.br/spi-parte-1/ Acesso em: 19/07/2018. HENRIQUE, Tiago. Comunicação I2C. Site MICROCONTROLANDOS, 05/12/2012. Disponível em: http://microcontrolandos.blogspot.com/2012/12/comunicacao- i2c.html Acesso em: 19/07/2018. DOS REIS, Valdinei Rodrigues. I2C – Protocolo de Comunicação. Site ArduinoBR . 17/12/2014. Disponível em: http://www.arduinobr.com/arduino/i2c-protocolo-de- comunicacao/ Acesso em: 19/07/2018.
Compartilhar