·

Engenharia da Computação ·

Outros

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

MICROCONTROLADORES E SISTEMAS EMBARCADOS Prof Yvo Sistema Computacional Embarcado Sistema computacional Processador Memória Periféricos Embarcado Faz parte de outro sistema Exemplos aeronave automóvel eletrodoméstico equipamento agrícola equipamento médico equipamento de telecomunicações etc Reage a eventos externos e internos Interfaces Um sistema embarcado pode ser microprocessado ou microcontrolado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que o mesmo controla É desenvolvido para uma tarefa específica Por questões como segurança e usabilidade pode possuir restrições para computação em tempo real O software escrito para sistemas embarcados é muitas vezes chamado firmware e armazenado em uma memória ROM ou memória flash ao invés de um disco rígido Por vezes o sistema também é executado com recursos computacionais limitados sem teclado sem tela e com pouca memória Em geral os sistemas embarcados possuem uma capacidade de processamento reduzida em comparação com computadores pessoais notebooks e desktops Processamento de sinais aplicações que envolvem um grande volume de informação a ser processado em curto espaço de tempo Os sinais a serem tratados são digitalizados através de ADs processados e novamente convertidos em sinais analógicos por DAs Exemplos compressores de vídeo radares e sonares etc Comunicações e redes chaveamento e distribuição de informações Sistemas de telefonia e telecomunicações equipamentos de redes e internet Sistemas de controle controles em malha fechada com realimentação em tempo real Geralmente são as aplicações mais robustas com placas dedicadas e múltiplos sensores de entrada e saída Muitas vezes fornecem pouca interação com o usuário Usados nos motores de automóveis processos químicos controle de vôo usinas nucleares etc Aplicações Propósito geral são as aplicações mais parecidas com os computadores de mesa mas em embalagens embarcadas Nelas costumam haver grande interação entre os usuários e o sistema geralmente através de terminais de vídeo ou monitores Como exemplo temse os vídeo games caixas de bancos centrais multimídia automotivas e etc Sistemas Automotivos DrivebyWire Eletrô nica Automotiva Embarcada Sistemas Aviônicos FlybyWire Sistema de Controle Digital MICROCONTROLADORES Um microcontrolador pode ser visto como um computador em um único chip Esse chip contém um processador Unidade Lógica e Aritmética ULA memória periféricos de entrada e de saída temporizadores dispositivos de comunicação serial dentre outros Microcontrolador Cada componente tem uma função específica a CPU Unidade de Processamento Central tem a finalidade de interpretar as instruções de programa b Na memória somente de leitura na qual são gravadas as instruções do programa c A memória RAM Memória de Acesso Aleatório é utilizada para memorizar as variáveis utilizadas pelo programa d O conjunto de LINHAS de IO é utilizado para controlar dispositivos externos ou receber impulsos de sensores interruptores etc Flash 32KByte SRAM 2KByte EEPROM 1Kbyte AVRTX CPU Data Bus Timer2 8 bit Timer1 16 bit Timer0 8 bit USART0 Analog Comparator SPI PORT B PORT D PORT C e O conjunto de dispositivos auxiliares dão suporte ao funcionamento do componente ou seja gerador de clock contadores UASART para comunicação etc Arquiteturas Harvard e Von Neuman Quando um sistema de processamento de dados processadores e microcontroladores possui uma única área de memória na qual ficam armazenados os dados variáveis e o programa a ser executado software dizemos que esse sistema segue a arquitetura de Von Neuman No caso em que os dados variáveis ficam armazenados em uma área de memória e o programa a ser executado software fica armazenado em outra área de memória dizemos que esse sistema segue a arquitetura Harvard Memory Data Code Address Data CPU IO Devices Von Neumann Machine Program Memory Data Memory CPU IO Devices Harvard Machine Hardware do microcontrolador ATMEGA 328p PCINT14RESET PC6 PCINT16RXD PD0 PCINT17TXD PD1 PCINT18INT0 PD2 PCINT19OC2BINT1 PD3 PCINT20XCKT0 PD4 VCC GND PCINT6XTAL1TOSC1 PB6 PCINT7XTAL2TOSC2 PB7 PCINT21OC0BT1 PD5 PCINT22OC0AAIN0 PD6 PCINT23AIN1 PD7 PCINT0CLK0ICP1 PB0 PC5ADC5SCLPCINT13 PC5 PC4ADC4SDAPCINT12 PC4 PC3ADC3PCINT11 PC3 PC2ADC2PCINT10 PC2 PC1ADC1PCINT9 PC1 PC0ADC0PCINT8 PC0 GND AREF AVCC PB5SCKPCINT5 PB5 PB4MISOPCINT4 PB4 PB3MOSIOC2APCINT3 PB3 PB2SSOC1BPCINT2 PB2 PB1OC1APCINT1 PB1 ATMEGA 328p Microcontrolador de 8 bits baseado em um processador AVR RISC Arquitetura Harvard memórias de programa e dados independentes 32kB de memória flash para armazenamento de programas 2kB de memória RAM estática para armazenamento de dados 1kB EEPROM para armazenamento nãovolátil 23 linhas de entradasaída de propósito geral GPIO 32 registradores de propósito geral 3 temporizadorescontadores USART Universal SynchronousAsynchronous Receiver Transmitter Porta serial I2C InterIntegrated Circuit também chamada de TWI Two Wire Interface Porta serial SPI Serial Peripheral Interface 6 canais de 10 bits para conversão AD ATmega328P Arquitetura PERIFÉRICOS Cada periférico é controlado e configurado através de um conjunto de registradores específicos Cada registrador é mapeado em uma posição da memória de dados ou seja sua manipulação se dá através de operações de escrita e leitura em memória Cada linha das portas B C e D GPIOS pode ser configurados como entrada ou saída de maneira independente A memória flash de programa pode ser programada através da conexão serial SPI ou por meio de um boot loader Arduino CPU AVR THE DEFINITIVE ARDUINO UNO PINOUT DIAGRAM GPIO As portas de entrada e saída de propósito geral GeneralPurpose InputOutput GPIO são provavelmente os componentes dos microcontroladores mais empregados em sistemas embarcados GPIOs são linhas digitais conectadas aos pinos externos do microcontrolador usadas no controle e acionamento de dispositivos LEDs botões motores etc Cada GPIO pode ser configurada independentemente como um pino de entrada ou de saída Via software podese escrever um nível 0 ou um nível 1 em uma GPIO de saída ou podese ler valores digitais em uma GPIO de entrada Exercício Identifique os pinos correspondentes à GPIO Temporizador circuito capaz de medir intervalos de tempo Pode gerar eventos temporais por exemplo para manter o sinal verde em um semáforo por 10 s Pode medir o tempo decorrido entre a ocorrência de eventos por exemplo para computar a velocidade de um carro Como medir o tempo Contando os pulsos que aparecem em um sinal de relógio de entrada que possui um períodofrequência conhecido Exemplo Se a frequência do relógio é igual a 1 MHz período 1 μs e são contabilizados 2000 pulsos o tempo decorrido é igual a 2 ms Exemplo Faixa máximo intervalo de tempo que o temporizador consegue medir Exemplo 65535 1x106 65535 ms Resolução mínimo intervalo de tempo que o temporizador consegue medir período do relógio Exemplo 1 µs O sinal top indica que a contagem máxima foi alcançada Modulação por largura de pulso PWM Modular inserir informações em um sinal mediante a modificação de suas características Exemplos AM e FM Modulação por largura de pulso ou Pulse Width Modulation PWM ajusta o tempo que um sinal periódico com dois níveis digital alto e baixo permanece em nível alto de acordo com a informação a ser inserida Tempo de nível alto largura do pulso Duty cycle razão entre a largura do pulso tempo em nível alto e período da onda duty cycle LT Tensão média Vm 1T Vtdt 1T LV V duty cycle Aplicações Controle de velocidade de motores CC como por exemplo ventoinhas de computadores Controle de luminosidade de lâmpadas em dimmers Posicionamento de servomotores em robótica e em dispositivos radiocontrolados Conversor AD O conversor analógicodigital AD efetua a conversão de um sinal analógico para a sua representação digital de 10 bits A primeira etapa no processo de conversão é a amostragem e retenção A saída do circuito de amostragem e retenção é ligado à entrada do conversor AD de n bits Onde n é a resolução do conversor Entradas Analógicas Saída Digital UART UART Universal Asyncronous ReceiverTransmitter receptortransmissor universal assíncrono Recebe dados seriais e os armazena como dados paralelos usualmente um byte também recebe dados paralelos e os transmite de forma serial Útil para comunicação entre dispositivos bastante afastados ou quando há poucos pinos de entradasaída disponíveis Baud rate determina a velocidade com que dados são trocados entre duas UARTs mede o número de mudanças de sinal por segundo que ocorrem na linha serial 0 1 0 0 0 0 1 0 1 1 bit inicial 7 Bits de dados Região morta bit de paridade 2 Bits de parada bit 0 bit 1 1 DCD Data Carrier Detect 2 RX Receive Data 3 TX Transmit Data 4 DTR Data Terminal Ready 5 GND Ground 6 DSR Data Set Ready 7 RTS Request To Send 8 CTS Clear To Send 9 RI Ring Indicator Sistema embarcado