Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Embarcados Material Teórico Responsável pelo Conteúdo: Prof. Me. Tales Gouveia Fernandes Revisão Textual: Prof.ª Me. Sandra Regina Fonseca Moreira Hardware para Sistemas Embarcados • Periféricos Internos de um Microcontrolador; • Alimentação Elétrica do Microcontrolador; • Periféricos Externos de um Microcontrolador; • Interfaces de Comunicação. • Reconhecer as interfaces de comunicação disponíveis em um sistema microcontrolado; • Aprender sobre periféricos internos e externos ao microcontrolador; • Adquirir embasamento técnico sobre dispositivos de entrada e saída de um sistema embarcado; • Conhecer os fundamentos da alimentação e regulação de tensão de um microcontrolador. OBJETIVOS DE APRENDIZADO Hardware para Sistemas Embarcados Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional, siga algumas recomendações básicas: Assim: Organize seus estudos de maneira que passem a fazer parte da sua rotina. Por exemplo, você poderá determinar um dia e horário fixos como seu “momento do estudo”; Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo; No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam- bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados; Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus- são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de aprendizagem. Organize seus estudos de maneira que passem a fazer parte Mantenha o foco! Evite se distrair com as redes sociais. Mantenha o foco! Evite se distrair com as redes sociais. Determine um horário fixo para estudar. Aproveite as indicações de Material Complementar. Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma Não se esqueça de se alimentar e de se manter hidratado. Aproveite as Conserve seu material e local de estudos sempre organizados. Procure manter contato com seus colegas e tutores para trocar ideias! Isso amplia a aprendizagem. Seja original! Nunca plagie trabalhos. UNIDADE Hardware para Sistemas Embarcados Periféricos Internos de um Microcontrolador É possível generalizar e pontuar alguns dos principais periféricos internos de um microcontrolador. Certamente existirão fabricantes que não incluirão um ou outro periférico em sua linha de microcontroladores, o que será estudado nesta unidade. Porém, devido às várias linhas de microcontroladores fornecidas pelos fabricantes, há possibilidade de utilizar conjuntos de microcontroladores, com a intenção de utilizar os melhores recursos que cada um tem. Assim, criar soluções que incluem a utilização desses periféricos poderá contribuir com a otimização do sistema embarcado final, seja em termos de velocidade ou, até mesmo, em consumo de energia elétrica. Para melhor exemplificar e identificar a forma como se utiliza os periféricos internos de um microcontrolador, será levado em consideração a arquitetura do microcontrolador de 8 bits da família PIC16F84A, fabricado pela Microchip, o qual possui clock de 20 MHz, 35 instruções, 68 bytes de memória RAM e 64 de memória EEPROM. Além de possuir 13 terminais de entrada e saída de dados, chamados de terminais I/O (do inglês Input/Output), os quais há controle individual de direção do fluxo de dados e finalmente 4 fontes de interrupção. Um dos primeiros periféricos estudados de um microcontrolador é o compara- dor, o qual consiste em um circuito de comparação analógica, podendo ter suas entradas e saídas acessadas diretamente pelos terminais. Para o microcontrolador em questão, existem 8 modos de operação, sendo que o registrador CMCON é responsável por ligar ou desligar a conexão dos pinos do comparador com os terminais do microcontrolador, indo do RA0 ao RA2. Já o registrador VRCON é responsável por ajustar o nível de tensão de referência aplicada na entrada inver- sora do comparador. Saídas Saídas + – VIN+ VIN+ VIN– VIN– Figura 1 – Comparador 8 9 A Figura 1 ilustra o esquema funcional do comparador, juntamente com a re- lação entre os níveis analógicos de tensão de entrada e a saída digital. Quando a entrada analógica VIN+ é menor do que a entrada analógica VIN-, a saída digital do comparador é 0. Por outro lado, se a entrada analógica VIN+ for maior do que a entrada analógica VIN-, então a saída digital do comparador será 1. As áreas em negrito do gráfico da saída digital representam os momentos de incerteza da res- posta do comparador, devido ao offset dos sinais de entrada e tempo de resposta do periférico. Offset: O conceito está relacionado com o deslocamento, seja positivo ou negativo, de um sinal diante do referencial do mesmo. Por exemplo, se a uma tensão alternada for adicio- nada uma tensão contínua, ela passa a ter um offset, ou seja, deslocamento, podendo ser positivo ou negativo . Ex pl or O segundo periférico é chamado de PWM (do inglês Pulse Width Modulation) ou Modulação por Largura de Pulso. O módulo PWM consiste em um oscilador de onda retangular cuja frequência é fixada e o ciclo ativo (do inglês duty cycle) é alternado. Para o PWM do PIC16F84A, pois pode haver variação dependendo do modelo, é possível ajustar a largura do pulso em 10 bits, ou seja, a escala do sinal está entre os níveis 1023, o qual representa o valor máximo do sinal e nível 0, representando o valor mínimo. A partir destes níveis digitais, é possível gerar um sinal analógico através de filtros ou mesmo da operação de integração. Uma aplicação prática do PWM está na sua utilização para o controle de velocidade de motores de corrente contínua. Para se obter o valor médio de tensão de saída, VS, utiliza-se a tensão máxima de saída VP, o tempo de duração do ciclo ativo ou nível alto TON, cujo valor é variável e, por fim, o período do sinal, T. O cálculo segue a Equação 1. V V TON Ts P = (1) A Figura 2 ilustra o gráfico do sinal de saída do PWM com os respectivos perí- odos e ciclo ativo. Ciclo Ativo Período Fig ura 2 – Modulação por largura de Pulso, PWM 9 UNIDADE Hardware para Sistemas Embarcados O terceiro periférico, o módulo conversor analógico-digital, A/D, pode ser de 8 bits ou de 10 bits, ou seja, é possível converter um sinal analógico para sua respectiva representação digital utilizando 8 bits ou 10 bits. O conversor de 8 bits possui 8 entradas analógicas que são multiplexadas para um circuito de amos- tragem e retenção. A saída deste circuito é conectada à entrada do conversor, o qual gera o resultado binário através de sucessivas aproximações. É possível se- lecionar via software a tensão analógica de referência, podendo ser a tensão po- sitiva do dispositivo VDD ou a tensão aplicada ao terminal VREF. Além disso, uma característica única do conversor A/D é a de estar disponível para uso mesmo quando o microcontrolador estiver no modo SLEEP. Este conversor possui três registradores, sendo dois de controle, ADCON0 e ADCON1, e um para saída do resultado, ADRES. A Figura 3 representa o diagrama funcional do conversor de aproximação sucessiva, o qual indica a entrada analógica, o clock de referência e as 8 saídas digitais. Relógio Entrada Analógica Registrador de aproximação sucessiva D/A d7 Ve Vd + – d6 d0 saída digital Figura 3 – Diagrama do conversor analógico-digital A/D, de aproximação sucessiva Por fim, o quinto periférico interno é o transmissor/receptor universal síncrono e assíncrono, ou USART (do inglês, e UniversalSynchronous Asynchronous Receiver Transmitter). Este módulo é um dos dois módulos seriais I/O do microcontrolador, ou seja, por este módulo trafegam informações do sistema embarcado para o microcontrolador e vice-versa. O módulo USART pode ser configurado como um sistema assíncrono full duplex, o qual se comunica com os equipamentos externos e até mesmo com o computador pessoal. Também é possível configurá-lo como um sistema síncrono half duplex que possibilita a comunicação com conversores A/D, comparadores e outros periféricos internos. Para melhor compreender e estudar mais a fundo sobre comunicação USART, sistema full duplex e half duplex, recomenda-se assistir à palestra sobre comunicação serial com micro- controladores – https://youtu.be/dt3GWQsxQb8 Ex pl or 10 11 Para utilização de um dos modos de transmissão ou recepção, síncrona ou assín- crona, de informação, é preciso saber a taxa de transmissão de dados (do inglês baud rate), que corresponde ao número de eventos, ou mudanças de sinal que ocorrem em um segundo. Com isso, o modo USART possui um gerador de baud rate (do inglês Baud Rate Generator - BRG), dedicado para taxas de 8 bits. O registrador SPBRG controla o período livre, sem execução, do temporizador de 8 bits. No modo assín- crono, o bit BRGH também é responsável por controlar o baud rate. Já no modo síncrono, este bit é ignorado. A fórmula de cálculo do baud rate é demonstrada pela Equação 2, a partir da qual, dado um valor desejado de baud rate e a frequência de clock, FOSC, consegue se estimar um valor inteiro aproximado que o registrador SPBRG deve assumir, o qual varia entre 0 e 255. Com as seguintes condições, X é o valor do registrador SPBRG. F MHz Baud rate desejada BRGH e SYNC Baud ra OSC � � � �16 9600 0 0; ; tte desejada F X X XOSC � � � � � ( ( )) ; ( ( )) ; . 64 1 9600 16000000 64 1 25 0442 25 16000000 64 25 1 9615 � � � � � CalculandoBaudrate Erro Baud ( ( )) ( rate calculado Baud rate desejado Baud rate desejado � � ) (96115 9600 9600 0 16� �) . É vantajoso usar a maior taxa de baud rate, ou seja, BRGH valendo 1, até mesmo quando o clock é baixo, pois a equação do cálculo, em alguns casos, pode reduzir a taxa de erro de transmissão e recepção. Reescrever o valor do registrador SPBRG provoca a reinicialização do temporizador BRG. Isto garante que o BRG não irá esperar o estouro do ciclo de tempo anterior para que seja gerado uma nova baud rate. Com isso, o módulo USART implementa todo o protocolo lógico de comunicação da porta serial do microcomputador. No entanto, para o protocolo físico, utiliza-se um conversor de níveis, uma vez que o PIC16F84A fornecerá níveis de tensão de 0 V a 5 V e a porta serial trabalha com níveis de +15 V a -15 V. Alimentação Elétrica do Microcontrolador O conceito fundamental que rege o funcionamento dos periféricos de alimen- tação do circuito, sendo eles a fonte de alimentação e o regulador de tensão, é chamado de diferença de potencial (DDP) entre dois pontos. Dados dois pontos A e B, com potenciais VA e VB respectivamente, define-se tensão entre os pontos A e B ou diferença de potencial entre os pontos A e B como a diferença, ou seja, a subtração dos valores de VA e VB. 11 UNIDADE Hardware para Sistemas Embarcados O primeiro periférico que segue o conceito da DDP é a fonte de alimentação elétrica, que tem por objetivo alimentar o microcontrolador com tensões semelhantes às dos sinais de entrada e saída, os quais estão entre 0V e 5V para o PIC16F84A. Usar transformadores pode ser uma alternativa quando se quer ligar em uma tomada. Também é possível utilizar pilhas e baterias, quando o equipamento precisa de mobilidade e facilidade para ser transportado. No caso do sistema que precisa de uma alimentação de 5V, ao escolher pilhas AA descartáveis, que fornecem 1,5V e geralmente 300 mAh de corrente, seria necessária uma associação de quatro pilhas ligadas em série, para, assim, as tensões serem somadas e a corrente ser mantida. Outra forma de associação seria a paralela, sendo que se soma as correntes, e a tensão é mantida. Esta configuração é geralmente usada nos casos em que se tenha um consumo maior de corrente, como no acionamento de um motor elétrico. A Figura 4 ilustra os dois tipos de associação, em série e em paralelo, de baterias e seus resultados em termos de tensão e corrente. 1,5V 1,5V 1,5V 1,5V Veq = 6V. Veq =1,5 V. + AA – 1,5V – + AA – 1,5V – AA 1,5V AA 1,5V AA 1,5V AA 1,5V – AA – 1,5V + – AA – 1,5V + 1,5 V 1,5 V1,5 V1,5 V1,5 V + + + + Figura 4 – Associação série (esquerda) e paralelo (direita) de pilhas AA Ao utilizar pilhas para alimentar um sistema embarcado, é importante ter em mente o tempo de autonomia dele, ou seja, por quanto tempo o arranjo de baterias conseguirá mantê-lo ligado. Para facilitar a estimativa, e abstraindo uma série de fatores que podem influenciar o resultado, considera-se uma bateria AA de 300 mAh, a qual garante fornecer 0,3 amperes em uma hora. Em um arranjo de três pilhas em paralelo, é possível contar com a disponibilidade de 900 mAh para uso. Considerando um circuito que consuma 100 mA, é possível estimar a autonomia do sistema embarcado em 9 horas. Para se ter uma ideia da grandeza de corrente elétrica que um circuito consome, podemos associar este consumo com os efeitos da corrente elétrica no corpo humano. Considerando o tempo de duração da corrente elétrica sendo maior do que um ciclo cardíaco, qual será o efeito percebido pelo corpo humano? Para o caso de 100 mA, os efeitos podem ser desde marcas visíveis até mesmo fibrilação ventricular, inconsciência e paralisia respiratória. Ex pl or 12 13 Pela Figura 4, é possível verificar que a associação de 4 pilhas em série promove uma tensão de 6V, no entanto, o microcontrolador necessita de no máximo 5V. Assim, é necessário reduzir essa tensão antes de alimentar o circuito do microcon- trolador. Para isso, utiliza-se um regulador de tensão. Já o segundo periférico, regulador de tensão, é um componente que tem por objetivo manter a tensão de saída constante, independentemente de eventuais varia- ções na tensão de entrada e do consumo de saída, isso considerando certos limites de operação. Existem algumas famílias de reguladores de tensão, que são definidas pela nomenclatura e sua capacidade de tensão de saída. A família LM78xx corres- ponde aos reguladores de tensão fixa positiva com corrente máxima de 1500 mA. O código xx representa os possíveis valores de tensão de saída que o regulador dis- ponibiliza, podendo assumir os seguintes valores 5V, 6V, 8V, 10V, 12V, 15V, 18V ou 24V. Já a família LM79xx corresponde aos reguladores de tensão fixa negativa, diferente da família LM78xx, disponibilizando tensão de saída entre os valores -5V, -6V, -8V, -10V, -12V, -15V, -18V ou -24V, a corrente máxima também é de 1500 mA. Por fim, existe uma família de reguladores de tensão, denominada LM117, com saída ajustável na faixa de valores entre 1.2V e 57V. Considerando o micro- controlador PIC16F84A, que necessita de uma tensão de 5V, o regulador de tensão do sistema embarcado para controlar essa tensão deve ser o LM7805. A Figura 5 ilustra o funcionamento esquemático do regulador de tensão citado anteriormente, sendo que a tensão de entrada está na faixa de 9V e a de saída é fixada em 5V. Os capacitores utilizados foram dimensionados para manter a saída estável em 5V. +9V C C LM7805 VoutVI VO GN D GND U1 0.33 Fµ 0.1 Fµ Figura 5 – Esquema funcional do regulador de tensão LM7805 Para manter a saída deste regulador de tensão em 5V, será necessário associar 5 pilhas em série, cujo fornecimento estará na faixa de 7.5V, pois os limites de tensão de entrada do regime de trabalho do LM7805 estão entre 7V e 20V. 13 UNIDADE Hardware para Sistemas Embarcados Periféricos Externos de um Microcontrolador Além dos componentes de fornecimento de energia elétrica, para o correto fun- cionamentodo microcontrolador, é necessário que o sistema embarcado forneça uma infraestrutura mínima, responsável por conectar periféricos como oscilador e um circuito de reset. O primeiro periférico externo a um microcontrolador considerado será o oscilador externo. Este módulo é necessário quando a unidade de controle não possui um oscilador interno ou quando o oscilador interno não possui a frequência necessária para a aplicação. Existem alguns circuitos simples. Um deles é o resistor capacitor (RC), o qual é dimensionado para oscilar na frequência requerida pelo processamento. A variação de temperatura e tensão pode influenciar na estabilidade de oscilação do circuito, podendo ter alteração em sua ressonância. A Figura 6 ilustra o esquema do circuito RC, sendo que o nó OSC1 corresponde ao ponto oscilador 1 do circuito, o qual pode ser conectado no terminal de mesmo nome do microcontrolador. Para a configuração deste exemplo, o tempo de carga do capacitor é de 1 segundo, calculado a partir da multiplicação do valor do resistor pelo valor do capacitor, assim, a frequência de oscilação deste circuito é inversamente proporcional a este tempo de carga do capacitor. C2 XTAL 1 10 MHzR1 100 Fµ 5V OSC1 OSC1 OSC210 kΩ Figura 6 – Circuito RC oscilante (esquerda) e cristal oscilante (direita) Também há possibilidade de se utilizar o circuito ressonante com cristal por vários motivos. Um deles é que o cristal é sensivelmente mais estável e preciso quando com- parado com o circuito RC. Além do mais, há disponibilidade, no mercado, de cristais com várias frequências, sendo que cada um já vem com sua frequência ajustável. Encontram-se cristais com valores não comerciais quando solicitado diretamente com o fabricante, ou ainda cristais extremamente precisos. Porém, o custo é bem maior quando comparado com os comerciais convencionais. A Figura 6 ilustra um cristal de 10 MHz, sendo que os pontos OSC1 e OSC2 podem ser conectados nos terminais do microcontrolador de mesmo nome. 14 15 Além do oscilador externo, há também o circuito de reset, que nada mais é do que um botão conectado ao sistema que reseta a unidade de controle. Muitas vezes o terminal do microcontrolador é denominado de MCLR (do inglês, Master Clear). O objetivo do reset é funcionar de modo equivalente a retirar a alimentação do circuito e recolocar em um pequeno intervalo de tempo. Por trás do circuito de reset, existe um conceito importante e fundamental para o funcionamento deste, correspondendo ao padrão de níveis de tensão para comu- nicação digital. Este padrão define as faixas de tensão que serão consideradas como nível alto, ou 1 binário, e nível baixo, ou 0 binário. Alguns dos padrões são CMOS, LVTTL, LVCMOS, PECL, LVECL, LVPECL e HSTL. Porém, um dos mais utilizados é o nível TTL (do inglês Transistor-Transistor Logic) de 5V, o qual define que tensões acima de 2V até 5V são consideradas nível alto, ou 1 binário, e nível baixo, ou 0 biná- rio, está na faixa de tensões de 0.8V até 0V. Com isso, o intervalo de tensões da faixa de 0.8V até 2V é considerado uma região em que o nível lógico é indeterminado, ou seja, uma região de transição em que nada se pode afirmar sobre o estado do sinal. A ideia do botão de reset é fornecer um pulso baixo, ou seja, uma rápida transição do nível alto, 1 lógico, ao nível baixo, 0 lógico, e o retornar ao nível alto novamente. Para o funcionamento correto do microcontrolador, geralmente o terminal de reset deve estar em nível alto, 1 binário ou 5V, seguindo o padrão TTL. A Figura 7 ilustra um destes circuitos de reset com o padrão TTL. MCLR R1 SW1 10kΩ 5V Figura 7 – Circuito do botão reset de um sistema embarcado Quando o botão estiver no seu estado padrão, não pressionado, o dispositivo recebe uma tensão de nível lógico alto, 1 lógico. Contudo, devido à presença do re- sistor, a tensão não é 5V , mas sim uma tensão próxima ao limite da região de nível alto. Já no momento em que o botão for pressionado, a transição para nível baixo, ou 0 binário, acontece enquanto o mesmo se mantiver pressionado, podendo até ser o mais próximo do instantâneo. Quando o terminal MCLR do microcontrola- dor for ligado diretamente ao nível alto de tensão de forma permanente, o micro- controlador funcionará normalmente, sendo que esta medida é chamada de POR (do inglês Power-on Reset). Porém, se houver algum travamento no firmware do microcontrolador, não será possível reiniciá-lo. Desta forma, por ser de baixo custo o circuito de reset, a maioria dos sistemas embarcados disponibiliza este recurso. 15 UNIDADE Hardware para Sistemas Embarcados Interfaces de Comunicação As interfaces de comunicação estão relacionadas com a comunicação entre computadores pessoais e o sistema embarcado, ou até mesmo entre sistemas em- barcados distintos. Estabelecer uma comunicação entre dispositivos é vantajoso quando se precisa compartilhar memória de armazenamento, processamento, ou uma interface homem máquina (IHM) já implementada, a qual, nos computadores, corresponde aos dispositivos de entrada e saída como mouse, teclado, monitor e impressora. No entanto, o método de integração entre os dispositivos eletrônicos nada mais é do que um caminho de dados que transmite ou recebe bits. A primeira interface de comunicação a ser considerada será a paralela, sendo que a forma de transferência de dados se dá de forma simultânea através de 8 bits independentes via 8 terminais. A porta paralela já foi muito utilizada para conexão de impressoras em computadores pessoais. Contudo, atualmente, essa porta possui três modos de operação, os quais são configurados pelo sistema básico de entrada/saída (do inglês Basic Input/Output System - BIOS). Os três modos de operação são: Método unidirecional, ou seja, em apenas um sentido e de baixa velocidade, é denominado SPP (do inglês Standard Parallel Port). Método avançado bidirecional, ou seja, em dois sentidos, sendo de maior velo- cidade. Utiliza o processador para transferência de dados. É denominado EPP (do inglês Enhanced Parallel Port). Método avançado bidirecional de maior velocidade, sendo que não há necessi- dade de utilizar o processador para transferência de dados. É denominado ECP (do inglês Enhanced Capabilities Port). A Figura 8 ilustra um conector utilizado na comunicação paralela. Este, por sua vez, possui 25 pinos e é denominado DB25. STROBE D1 D0 D2 D3 D4 D5 D6 D7 ACK 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 BUSY Paper Out Select Error GND GND GND GND GND GND GND GND RESET Line Feed Select Printer Figura 8– Conector paralelo DB25 16 17 O conector da Figura 8 possui um barramento de dados de 8 bits, tendo quatro pinos para o controle de saída de dados, que são Strobe, Linefeed, Initialize e Select In, além de 5 pinos para o controle de entrada de dados, sendo eles ACK, Busy, Select, Error e Paper Out. Por fim, 8 pinos são terra, definidos como GND e a taxa de transferência de dados por segundo chega a 150 kbit/s. Já a segunda interface de comunicação considerada será a serial. Já vimos que o dispositivo interno USART, utiliza a forma serial de transferência de da- dos pelo barramento. No entanto, a porta serial de comunicação é muito utili- zada para conectar computadores pessoais ao sistema embarcado e realizar gra- vações de firmwares ou informações de BIOS. Diferentemente da interface de comunicação paralela, o envio de bits ocorre de forma serial, como uma fila, um atrás do outro, por uma única via. Ele possui dois canais de transferência de dados, um para envio (Tx) e o de recebimento (Rx). Em cada dado enviado é necessário incluir alguns campos, para assim ser efetuado o controle deles. A codificação mais comum é a que usa um bit de início, seguido por sete ou oito bits de dados, possivelmente um bit de paridade, e um ou dois bits de parada, sendo necessários dez bits para enviar um único caractere. Desta forma, quando se configurauma comunicação serial, é necessário alinhar o transmissor e receptor para quais padrões serão considerados, sendo os seguintes padrões disponíveis: A velocidade com a qual os bits são transmitidos serialmente é chamada de bits por segundo (do inglês Baud Rate) . O número de bits de um caractere, sendo este campo comumente selecionado para 8 bits, é chamado de bits de dados (do inglês Character Length). Há um bit configurado em 0 ou 1, para assegurar que o número total de bits 1 no campo de dados é par ou ímpar, como necessário. É chamado de Paridade (do inglês Parity). E xiste um bit que determina início e fim de bloco, podendo ser zero ou um, estes são chamados de bits de parada (do inglês Start and Stop Bit). Por fim, há uma configuração que pode ser feita tanto por hardware quanto por software, a qual é chamada de Controle de fluxo (do inglês Flow Contr ol). Configurar por hardware usa linhas de controle para transmitir o sinal e receber as condições. O DSR (do inglês Data Set Ready), DTR (do inglês Data Terminal Ready), CTS (do inglês Clear to Send) e RTS (do inglês Request to Send) são padrões de negociação da comunicação serial por hardware. Há também o software para controle de fluxo dos sinais XON e XOFF, que habilita ou desabilita a transmissão. 17 UNIDADE Hardware para Sistemas Embarcados XON (do inglês X-on) e XOFF (do inglês X-off) são protocolos para controle de fluxo de dados entre computadores pessoais e outros dispositivos que estão em uma conexão serial assíncrona. Por exemplo, normalmente um computador envia dados a uma impressora mais rápido do que a impressora consegue imprimir. Desta forma, a impressora possui um buffer, no qual os dados são armazenados antes de serem capturados para impressão. Se este buffer ficar cheio antes que a impressora os capture, um microcontrolador interno é responsável por enviar um sinal XOFF ao computador para que o ele pare de enviar dados. Após algumas impressões, consequentemente o buffer se esvaziará e o microcontrolador enviará um sinal XON ao computador para que este retome o envio de novos dados para impressão. Ex pl or A comunicação serial é realizada normalmente com um conector DB9 de nove pinos, ilustrado na Figura 9. É possível simplificar, utilizando apenas três pinos, sendo Rx, Tx e GND. A conexão R1IN e R2IN são os terminais de conexão do circuito integrado de buffer, podendo ser o MAX232 ou o ST232C, os quais geram as saídas Rx e Tx para o microcontrolador. 5 9 4 8 3 7 2 6 1 SERIAL R1IN R2IN Figura 9 – Conector serial DB9 Com a evolução dos dispositivos, e da forma com que eles se comunicam, surgiu a porta USB (do inglês Universal Serial Bus), que veio para suprir a necessidade de ligar em um mesmo sistema vários periféricos com as características de conectar e acioná-los imediatamente, sem configurações adicionais. Esta ausência de configura- ções prévias em uma conexão de periféricos é o chamado de plug and play. Desde a invenção das portas USB, houve o desenvolvimento e evolução de algu- mas versões. A versão mais atual é a 3.0, no entanto, a mais utilizada continua sendo a 2.0, também chamada de High-Speed. Possui uma velocidade de transferência su- perior às versões anteriores, porém, continua compatível, de forma que a velocidade fica limitada à menor versão. A versão 1.1, conhecida como Low-Speed, possui uma taxa de transferência máxima de 10Mbps, enquanto a versão 2.0 atinge os 480Mbps, já a versão 3.0 chega aos 5Gbps. Esta opção de interface de comunicação tornou-se bem interessante por ser de baixo custo, com boa taxa de transferência e por suportar dados em tempo real de áudio, voz e vídeo. 18 19 Para a comunicação USB acontecer, são necessários dois dispositivos, sendo eles o Host e a Aplicação. O primeiro é responsável por detectar a inserção ou remoção de algum dispositivo. Ele gerencia o fluxo de dados e a interface elétrica entre ele e a Aplicação. Na versão 2.0, cada Host suporta até 127 dispositivos. Já na parte física, os dispositivos USB são ligados por meio de um cabo, que em cada extremidade possui conectores chamados de tipo A e tipo B. Pelo padrão USB, o tipo A é conectado na Aplicação e o tipo B no Host. Além desses, outro conector que é utilizado geralmente em equipamentos menores, como celulares e câmeras digitais, é o mini-B, o micro-B, e em aparelhos atuais já se usa o tipo C. A Figura 10 mostra alguns conectores USB. Figura 10 – Conectores USB Fonte: Getty Images A interface USB da versão 2.0 possui quatro fios condutores, sendo dois para alimentação e dois para transmissão de dados. Já os fios de alimentação, Vbus e Gnd, são utilizados para alimentar a aplicação em +5V, quando for necessário. Para cada porta USB, o Vbus possui uma corrente de até 5 mA. Os fios de dados denominados D+ e D- são responsáveis pela comunicação entre os dispositivos propriamente ditos, sendo a diferença de tensão entre eles a forma de envio das informações. Existem cabos para altas e baixas velocidades. Para o primeiro caso, o cabo possui uma blindagem e o par D+ e D- é entrelaçado. 19 UNIDADE Hardware para Sistemas Embarcados Após ter compreendido o funcionamento da interface de comunicação USB, por que não a utilizar, ao invés da Ethernet, para comunicação de computadores pessoais, ou até mesmo entre sistemas embarcados? Este assunto será aprofundado, porém, em resumo, a interface Ethernet possui melhor infraestrutura de transmissão e recepção de informação do que a USB. Tanto na parte elétrica, suportando maiores potencias e, consequentemente, maiores distâncias de transmissão, quanto na camada de software com definição de protocolos. Ex pl or Um ponto importante que se deve considerar é que a tecnologia USB não é de domínio público. Assim, cada fabricante de equipamentos eletrônicos que a utiliza compra uma licença. Através do link abaixo é possível obter todas as informações sobre a especificação USB e o contrato. Após adquirida uma licença, cada empresa possui um código chamado Vendor ID e para cada tipo de produto desenvolvido é atribuído um Product ID, ou seja, números que identificam tanto o vendedor como o produto na lista USB. É com essas informações que o computador pessoal ou sistema embarcado reconhecerá o dispositivo conectado. Por serem pagos direitos à licença de uso USB e também os IDs, há uma alternativa para pequenos desen- volvedores que não pretendem comprá-los, devido ao seu custo, que é utilizar chips de grandes fabricantes que emprestam seu Vendor ID. Um exemplo é a Microchip que disponibiliza uma faixa de Product ID para seus clientes que utilizam seus pro- dutos para desenvolver aplicações com USB. Assim, é possível utilizar a tecnologia USB sem ser ilegal. Uma alternativa bastante utilizada de implementação dessa co- municação é o conversor Serial-USB, correspondendo ao desenvolvimento de uma aplicação serial, a qual será ligada a um conector USB. Neste caso, não é necessá- rio adquirir os IDs, pois podem ser utilizados os dos conversores. Em contrapartida, a velocidade de comunicação fica limitada à utilizada na comunicação serial, não sendo vantajoso para casos de aplicações estritamente 3.0, como HDs externos. USB Enabling Connections – http://bit.ly/2Q3uu3U Ex pl or Outra interface de comunicação utilizada em sistemas embarcados e em compu- tadores pessoais é a tecnologia Ethernet, que funciona transmitindo pacotes de da- dos em uma interconexão de redes locais, as LANs (do inglês Local Area Networks). A transmissão de pacotes funciona decompondo um arquivo grande em pequenos pe- daços, adiciona os devidos campos para identificação e controles, e finalmente o envia. A Ethernet muitas vezes está associada diretamente com a Internet. O que é algo natural, pois a Ethernet faz parte de uma das camadas da Internet. Sem expandir muito os conceitos de redes de computadores, existe uma divisão por ca- madas que deu origem ao difundido modelo OSI e ao modelo TCP/IP. A Figura11 ilustra este último modelo e os respectivos usos. 20 21 Camada de Aplicação FTP TCP UDP IPv4 IPv6 ICMP IGMP HTTP Telnet DNS RIP Camada de Transporte Camada de Internet Camada de Rede Ethernet FrameRelay IS-IS OSPF EIGRPICMPv6 Figura 11 – Modelo TCP/IP da interface de comunicação de rede que inclui a Ethernet Para dois sistemas se comunicarem, é necessário passar por todas as suas cama- das até chegar à camada de rede, Ethernet, a ser transmitida, e, ao chegar ao seu destino, escalar novamente todas as camadas até chegar ao sistema. Implementar a interface Ethernet é desenvolver as subcamadas internas a esta, ou seja, a parte de Enlace e a parte Física. A subcamada de Enlace é composta pelo controle do link lógico (do inglês Logical Link Control - LLC) e pelo controle de acesso ao meio (do inglês Media Access Control - MAC). Já a subcamada Física é composta pelo driver da placa de rede e pela própria placa de rede. É possível perceber que a Ethernet define a camada inferior do protocolo TCP/IP. Por isso ela define a parte Física, o cabeamento e os sinais elétricos, e na camada de Enlace indica o formato de pacotes e os protocolos. Uma das vantagens da Ethernet é que todos dispositivos possuem uma identificação física única, sendo o endereço MAC. Este é um código interno à placa de rede, não podendo ser trocado. Assim, de certa forma, há uma segurança para controle e transferência de dados. Há uma série de conceitos envolvidos na interface Ethernet que devem ser levados em consideração para o correto funcionamento. Desse modo, um sistema embarca- do normalmente utiliza um circuito integrado de controle Ethernet. Os fabricantes de circuitos integrados para Ethernet são Realtek e Micrel, por exemplo, oferecendo soluções rápidas de integração para essa finalidade. Por fim, uma interface de comunicação alternativa aos métodos convencionais de transmissão por cabo, e que se encaixa na transmissão sem fio, é a comunicação por radiofrequência (RF). Há módulos comerciais de transmissão RF de tamanho e custo bem reduzido, sendo de fácil manuseio e atualização, os quais podem integrar um sistema embarcado. Ao adquirir um módulo de transmissão RF, é necessário verificar algumas características, como tensão e temperatura de operação e, princi- palmente, a frequência de transmissão e recepção, pois suas frequências são fixas. 21 UNIDADE Hardware para Sistemas Embarcados Os módulos funcionam enviando e recebendo um bit, como uma comunicação serial, porém, vários bits em uma mesma frequência podem se misturar. É muito comum o uso de encoder’s e decoder’s com esses módulos. Os mais utilizados e até recomendados pelo fabricante dos módulos em seu Datasheet são o MC145026 e o MC145027 do fabricante Telecontrolli. Para uma correta comunicação, o encoder e o transmissor possuem um código de sincronia, o qual indica os sinais que devem ser transmitidos. O código é definido por cinco bits. É possível fazer um transmissor se comunicar com diversos receptores, apenas tornando o código de envio do trans- missor variável, ou seja, cada vez que o transmissor desejar se comunicar com um determinado receptor, ele deve adequar-se ao código do receptor. A Figura 12 ilustra um módulo de transmissão, que utiliza o modelo RT4 com frequência de operação de 433.92 MHz. A comunicação entre esses módulos permite uma distância máxima mé- dia de 100 metros em locais abertos, ou seja, sem barreiras. Figura 12 – Módulo RF do fabricante Telecontrolli Fonte: Wikimedia Commons O sistema de comunicação por radiofrequência exemplificado necessita de uma antena tanto para transmissão como para a recepção. A antena recomendada pelo fabricante é apenas um pedaço de fio de cobre e seu comprimento é determinado pela seguinte equação. 7500 ( ) Comprimento da Antena Frequencia de Operação MHz = Sendo assim, o comprimento da antena é inversamente proporcional à frequência de operação do módulo pela constante do fabricante. 22 23 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Sites Detalhes dos Certificados USB de comunicação http://bit.ly/2Q81TdB Vídeos Comunicação Serial com Microcontroladores: USART, I2C, SPI e outros https://youtu.be/dt3GWQsxQb8 Capacitores - Circuito RC - Constante de Tempo https://youtu.be/lps1hDCJH0s Comunicação Serial com Microcontroladores: USART, I2C, SPI e outros https://youtu.be/dt3GWQsxQb8 23 UNIDADE Hardware para Sistemas Embarcados Referências BINDAL, A. Electronics for Embedded Systems. Cham: Springer International Publishing, 2017. HOLT, A.; HUANG, C. Y. Embedded Operating Systems a Practical Approach. 2. ed. Ed. Cham: Springer International Publishing AG, 2018. QIAN, K.; HARING, D. D.; CAO, L. Embedded Software Development with C. New York: Springer Science + Business Media, 2009. OLIVEIRA, A. S.; SOUZA. A. F. Sistemas Embarcados Hardware e Firmware na Prática. 2. ed. São Paulo: Érica, 2010. 24
Compartilhar