Baixe o app para aproveitar ainda mais
Leia os materiais offline, sem usar a internet. Além de vários outros recursos!
Prévia do material em texto
Thiago Mayrink Automação Industrial Sistemas Embarcados thiago.mayrink@aiscer com.br Belo Horizonte, Minas Gerais 21 de setembro de 2021 Sistemas Embarcados - SE Experiência Acadêmica Técnico em Eletrônica Engenheiro de Telecomunicações Gerenciamento de Projetos Contato thiago.mayrink@aiscer.com.br (31) 98474-9537 https://www.linkedin.com/in/thiagomayrink/ Professor: Thiago Mayrink Experiência Profissional Sistemas Embarcados - SE Apresentação dos Alunos • Meu nome • Minha experiência • Expectativa Sistemas Embarcados - SE 1. Introdução Sistemas Embarcados 2. Arquitetura do microcontrolador 3. Unidade de controle, memória, entrada e saída 4. Programação em C 5. Dispositivos periféricos, interrupção, acesso direto à memória 6. Barramentos padrões 7. Ferramentas para análise, desenvolvimento e depuração 8. Microcontroladores comerciais Ementa Sistemas Embarcados - SE 9. Tipos de Microcontroladores 10.Comunicação de dados 11.Linguagens e metodologias de programação 12.Aplicações em processos Industriais 13.Desenvolvimento de firmware Ementa Sistemas Embarcados - SE 1. Sistemas Embarcados 2. Arquitetura do microcontrolador 3. Unidade de controle, memória, entrada e saída 4. Programação em C 5. Dispositivos periféricos, interrupção, acesso direto à memória 6. Barramentos padrões 7. Ferramentas para análise, desenvolvimento e depuração 8. Microcontroladores comerciais Aula 01 Sistemas Embarcados - SE Sistemas Embarcados Sistemas Embarcados Sistemas Embarcados - SE O que são sistemas embarcados Computador para fins especiais, feito sob medida para servir a um propósito específico Sistemas Embarcados - SE Computador para fins especiais Computador de uso geral? Sistemas Embarcados - SE Computador de uso geral Computador que usamos todo dia Tem mais de um propósito específico... Como jogos, música, fotos, fimes, etc Sistemas Embarcados - SE Computador para fins especiais Eles são feitos sob medida para servir a uma função específica Propósito: Fazer cálculos Sistemas Embarcados - SE Geral vs Especial vs Computadores de uso geral * às vezes são exagerados * são mais caros * não podem fazer tudo Sistemas Embarcados - SE Classificação de Sistemas Embarcados Sistemas Embarcados Sistemas Embarcados SubsistemasSubsistemas AutônomosAutônomos Em redeEm rede Sistemas Embarcados - SE Subsistemas Embarcados Embarcados significa estar dentro de algo maior Parte de um sistema amplo * Inúteis quando usados de forma independente Sistemas Embarcados - SE Sistemas Autônomo Podem exercer suas funções independentemente * componentes e técnicas usados para construí-los pertencem à mesma classe que a "classe de subsistemas de sistemas embarcados e, portanto, também são vistos como sistemas embarcados" Sistemas Embarcados - SE Sistemas em rede grupo de dispositivos eletrônicos fisicamente separados que desempenham uma função coletiva * Existe uma subclasse dessa classe Internet of Things (IoT) Sistemas Embarcados - SE Aplicações Sistemas Embarcados Equipamentos Manufatura Aplicações Domésticas Equipamentos Audio-Visual Carros e Veículos Video Games Medicina Telecom Sistemas Embarcados - SE Microcontrolador Sistemas Embarcados - SE Definição Um microcontrolador é um sistema computacional completo, integrados e encapsulados em um mesmo componente (chip) Sistemas Embarcados - SE Vantagens Baixo consumo de energia Facilidade de programação Sistema compacto (“all in one”) Praticidade para reposição Custos baixos de projeto e construção Sistemas Embarcados - SE Arquitetura Básica de um Microcontrolador CPU Entrada e SaídaConversores AD PWM Clock Memória Programa Memória De Dados Reset Interfaces de Comunicação Microcontrolador Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD PWM Clock Memória Programa Memória De Dados Reset Interface de Comunicação Microcontrolador Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Unidade Central de Processamento Sistemas Embarcados - SE Arquitetura Harvard A arquitetura Harvard tem esse nome pois tem suas raízes no computador Harvard Mark I. Principal característica: possui memórias separadas para armazenamento de dados e instruções. É possível acessar a memória de programa e a memória de dados simultaneamente. Geralmente a memória de programa (instruções) é somente leitura e a memória de dados é leitura/escrita. Não é possível que o conteúdo de um programa seja modificado pelo programa em si. Sistemas Embarcados - SE Arquitetura Harvard Memória de Programa CPU Memória de Dados Endereços Endereços Dados e Instrução Sistemas Embarcados - SE Arquitetura Von Neumann A arquitetura von Neumann batizada a partir do matemático e cientista da computação John von Neumann. As máquinas com arquitetura von Neumann possuem um único sistema de armazenamento compartilhado para armazenar dados e as instruções a serem executadas. O intuito dessa arquitetura, foi permitir com que os programas pudessem ser facilmente modificados por si próprios, pois ficam armazenados na memória que é leitura/escrita. Sistemas Embarcados - SE Arquitetura Von Neumann CPU Memória de Dados + Programa Instruções e Dados Endereços Sistemas Embarcados - SE Comparativo: Harvard vs Von Neuman Arquitetura von Neumann Arquitetura Harvard É utilizada em processadores convencionais encontrados em computadores pessoais e servidores, e em alguns sistemas embarcados. É utilizada em microcontroladores e DSPs encontrados em sistemas embarcados e sistemas de comunicação móveis Os Dados e programas são armazenados na mesma memória Os dados e programas são armazenados em memórias separadas O código é executado de forma serial e demora mais ciclos de clock O código é executado de forma paralela Os programas, geralmente, podem ser otimizados para diminuir de tamanho Os programas tendem a ser maiores de acordo com com a complexidade Sistemas Embarcados - SE Microcontroladores e Microprocessadores Microcontrolador é um único circuito integrado que reúne um núcleo de processador, memórias não voláteis e voláteis, diversos periféricos de entrada e de saída de dados além de contadores e clock. Ou seja, ele nada mais é do que um computador muito pequeno capaz de realizar determinadas tarefas de maneira eficaz e sob um tamanho altamente compacto. Microprocessador, contém apenas um processador de tamanho bastante pequeno no circuito integrado. Dessa forma, ele não dispõe de contadores, conversores e memórias variadas, conhecidos como periféricos. Sendo assim, ele é capaz de executar apenas funções lógicas e aritméticas definidas pelo programa. Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD PWM Temporizador Memória Programa Memória De Dados Reset Comunicação Serial Microcontrolador Sistemas Embarcados - SE Memórias Podemos pensar na memoria como sendo uma lista de endereços com códigos postais, onde o conteudo de cada um desses códigos postais (endereço) é um valor fixo de 8 bits (para CPU de 8 bits) Se um sistema computacional tem n linhas (bits) de endereços, ele pode endereçar 2n posições de memoria (p.ex.: um sistema com 14 linhas pode acessar 214 = 16.384 endereços). Nos próximos slides veremos os diversos tipos de memória Sistemas Embarcados - SE Memória de Acesso Aleatório Memória de acesso aleatório,RAM (Random Access Memory). Pode ser lida ou escrita pela execução de instruções da CPU e, normalmente são utilizada para manipulação de dados pela CPU. O conteúdo é perdido na ausência de energia (memória volátil). Sistemas Embarcados - SE Memória Apenas de Leitura Uma memória apenas de leitura, da sigla ROM (Read Only Memory) – Memoria apenas de leitura, é uma memória que pode ser lida, porém não é alterável. O conteúdo deve ser determinado antes que o circuito integrado seja fabricado. Como a memória não é volátil, o conteúdo e mantido na ausência de energia. Utilizada para firmwares de sistemas que não necessitam de alterações. Como por exemplo a calculadora Sistemas Embarcados - SE Memória ROM Programável Uma memória ROM programável, da sigla PROM (Programable Read Only Memory) – Memória de leitura programável, é uma memória que pode ser lida, pode ser gravada uma única vez, porém, seus dados não podem ser alterados. A diferença aqui, é que o usuário pode gravar seu programa na PROM. Como a memória não é volátil, o conteúdo também é mantido na ausência de energia. Normalmente a gravação é feita através da queima de elos fusíveis que determinam se a posição de memória conterá “um” ou “zero”. Utilizada para firmwares de sistemas que ainda estão em desenvolvimento antes de produções em larga escala Sistemas Embarcados - SE Memória ROM Programável e Apagável Temos diversos tipos de memória que são programáveis e apagáveis conforme abaixo: • EPROM (Erasable and Programmable Read-Only Memory) – Memória ROM programável e apagável • EEPROM (Electrically Erasable and Programmable Read-Only Memory) – Memória ROM programável e apagável eletricamente. • FLASH – Memória funcionalmente semelhante a EEPROM, porém com ciclos de escrita bem mais rápidos. Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD PWM Temporizador e Contadores Memória Programa Memória De Dados Reset Comunicação Serial Microcontrolador Sistemas Embarcados - SE PWM Modulação por largura de Pulso - PWM (Pulse Width Modulation) Técnica de modulação responsável por fazer pulsar rapidamente um sinal digital em um condutor. Comumente aplicada no controle de potência em motores elétricos, aquecedores, fontes chaveadas, LEDs ou luzes em diferentes intensidades ou frequências. Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD Clock Temporizador e Contadores Memória Programa Memória De Dados Reset Comunicação Serial Microcontrolador Sistemas Embarcados - SE Reset Função específica do microcontrolador para fazer com que o processador retorne a primeira instrução do programa Essa função não apaga os dados do seu microcontrolador e ele é ativado no nível 0 Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD Clock Temporizador e Contadores Memória Programa Memória De Dados Reset Conversores AD Microcontrolador Sistemas Embarcados - SE Entradas Os dispositivos de entrada fornecem informação do mundo externo para a CPU processar A maioria das entradas que os microcontroladores processam são sinais de entrada digitais, e utilizam níveis de tensão compatíveis com a fonte escolhida pelo responsável pelo projeto. O sinal de 0V (GND ou VSS) indica o nível lógico 0 e o sinal de fonte positiva, que tipicamente são de +5VDC (VDD) indica o nível lógico 1. Alguns microcontroladores (atualmente os microcontroladores começaram a reduzir a tensão de VDD para valores na faixa dos 3,3V). Também são utilizado como entradas, sinais analógicos. Os sinais analógicos variam sua tensão, dependendo de cada aplicação deverá ser utilizado um conversor analógico digital, para converter os sinais em 0 e 1. Sistemas Embarcados - SE Saídas Dispositivos de saída são usados para atuar ou informar o mundo exterior através do processamento de informações realizados pela CPU. Utilização de saídas em nível lógico 0 e 1, geralmente necessitam de circuitos específicos para levar informação ao mundo exterior Sistemas Embarcados - SE Arquitetura de um Microcontrolador CPU Entrada e SaídaConversores AD Clock Temporizador e Contadores Memória Programa Memória De Dados Reset Interface Serial Microcontrolador Sistemas Embarcados - SE 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: • UART: Universal Asynchronous Receiver Transmitter; • SPI: Serial Peripheral Interface; • I2C: Inter Integrated Circuit. Sistemas Embarcados - SE Comunicação Serial Tecnologia Barramento de comunicação Taxa máxima Fluxo de dados UART (RS232) 2 (sem controle de fluxo) 115.200 bps Half ou Full Duplex SPI 3 + nº de Slaves 2 Mbps Full Duplex I2C 2 (até 127 dispositivos) 400 Kbps Half Duplex Sistemas Embarcados - SE Diagrama em Blocos Sistemas Embarcados - SE Pinagem de um MCU Sistemas Embarcados - SE 1. Slide Introdução Sistemas Embarcados 2. Arquitetura do microcontrolador 3. Unidade de controle, memória, entrada e saída 4. Programação em C 5. Dispositivos periféricos, interrupção, acesso direto à memória 6. Barramentos padrões 7. Ferramentas para análise, desenvolvimento e depuração 8. Microcontroladores comerciais Ementa Sistemas Embarcados - SE Próximo Encontro 1. Os microcontroladores não possuem um sistema operacional 2. Os programas rodam diretamente no chip (bare metal). 3. O software que roda no microcontrolador é chamado de Firmware. 4. Na maioria dos desenvolvimentos, o software é programado em linguagens C ou Assembly existem outras linguagens para programar os MCUs. 5. A programação é feita como o uso de ferramentas instaladas em um PC (IDE)
Compartilhar