Prévia do material em texto
UFMS-FACOM-MicAp-Prof.Fábio Iaione 1 Disciplina: Microcontroladores e Aplicações Professor: Fábio Iaione E-mail: fabio.iaione@ufms.br Carga horária: 102 h Moodle: ava.ufms.br Universidade Federal de Mato Grosso do Sul Faculdade de Computação UFMS-FACOM-MicAp-Prof.Fábio Iaione 2 EMENTA DA DISCIPLINA - Microcontroladores: arquitetura, programação, dispositivos internos e conexão com dispositivos externos; - Comunicação serial por cabos e por rádio frequência; - Conversores A/D e D/A; - Sensores e transdutores analógicos e digitais; UFMS-FACOM-MicAp-Prof.Fábio Iaione 3 EMENTA DA DISCIPLINA - Leitura e acionamento de dispositivos analógicos e digitais; - Plataformas para desenvolvimento rápido com microcontroladores. - Laboratórios: controle de matriz de LEDs, displays de 7 segmentos, display de cristal líquido alfanumérico e gráfico; UFMS-FACOM-MicAp-Prof.Fábio Iaione 4 EMENTA DA DISCIPLINA - Laboratórios: leitura de teclas; contagem de objetos e medição de velocidade angular; leitura de sensores digitais; conversor A/D e leitura de transdutores/sensores analógicos; conversor D/A e geração de sinais; comunicação serial entre circuitos integrados; comunicação serial entre equipamentos; UFMS-FACOM-MicAp-Prof.Fábio Iaione 5 EMENTA DA DISCIPLINA - Laboratórios: comunicação por rádio frequência; acionamento de cargas de alta potência, servo motores e motores CC; utilização de uma plataforma para desenvolvimento rápido com microcontroladores. UFMS-FACOM-MicAp-Prof.Fábio Iaione 6 OBJETIVO DA DISCIPLINA GERAL Capacitar o aluno para o projeto e o desenvolvimento de sistemas embarcados baseados em microcontroladores, envolvendo o hardware e o software. UFMS-FACOM-MicAp-Prof.Fábio Iaione 7 OBJETIVOS ESPECÍFICOS DA DISCIPLINA Capacitar o aluno para: - Compreender os conceitos básicos sobre sistemas embarcados e microcontroladores; - Conhecer a arquitetura interna e os registradores de funções especiais de um microcontrolador; - Dominar a programação em linguagem C desse microcontrolador; - Programar o microcontrolador para usar os recursos de hardware disponíveis internamente; UFMS-FACOM-MicAp-Prof.Fábio Iaione 8 OBJETIVOS ESPECÍFICOS DA DISCIPLINA - Saber como conectar diversos dispositivos de E/S, sensores e atuadores ao microcontrolador; - Programar o microcontrolador para controlar diversos dispositivos de E/S, sensores e atuadores conectados ao microcontrolador; - Conhecer as principais famílias de microcontroladores e as principais plataformas para desenvolvimento rápido com microcontroladores. UFMS-FACOM-MicAp-Prof.Fábio Iaione 9 PROCEDIMENTOS - Aulas expositivas; - Resolução de exercícios; - Elaboração de firmwares; - Aulas de laboratório utilizando compilador, módulos didáticos e matriz de contatos para teste dos firmwares desenvolvidos; - Aulas por EAD para reposição (feriados); - Relatórios, provas e trabalhos. UFMS-FACOM-MicAp-Prof.Fábio Iaione 10 AULAS NO LAB DE REDES E ELETRÔNICA UFMS-FACOM-MicAp-Prof.Fábio Iaione 11 BIBLIOGRAFIA BÁSICA: MCROBERTS, Michael. Arduino básico. São Paulo: Novatec, 2011. *NICOLOSI, Denys Emílio Campion; BRONZERI, Rodrigo Barbosa. Microcontrolador 8051 com linguagem C: prático e didático - família AT89S8252 Atmel. 2. ed. São Paulo: Érica, 2008. PEREIRA, Fábio. Microcontroladores Pic: Programação em C. 7.Ed. São Paulo: Érica, 2012. UFMS-FACOM-MicAp-Prof.Fábio Iaione 12 BIBLIOGRAFIA COMPLEMENTAR: SILVA JR, Vidal Pereira da. Aplicações práticas do microcontrolador 8051. 12. ed. São Paulo: Érica, 2004. SOUZA, David José de. Desbravando o PIC. 9. ed. São Paulo: Ed. Érica, 2005. GIMENEZ, Salvador P. Microcontroladores 8051: Teoria e Prática. São Paulo: Érica, 2010-2013. SOUSA, Daniel Rodrigues de. Microcontroladores ARM7: Philips - família LPC213x - o poder dos 32 bits - teoria e prática. São Paulo: Érica, 2006. PEREIRA, Fábio. Tecnologia Arm: Microcontroladores de 32 Bits. São Paulo: Érica, 2012. UFMS-FACOM-MicAp-Prof.Fábio Iaione 13 AVALIAÇÃO - Frequência; - Quatro avaliações: (P1): prova 1; (P2): prova 2; (A3): experimentos e atividades de EaD; (A4): trabalho final. MA= 0,4.P1 + 0,4.P2 + 0,1.A3 + 0,1.A4 (PO): prova optativa de toda matéria. Substitui a menor nota de P1, P2, A3 ou A4 UFMS-FACOM-MicAp-Prof.Fábio Iaione 14 Introdução Quantos computadores você possui na sua casa? UFMS-FACOM-MicAp-Prof.Fábio Iaione 15 Introdução Quantos computadores você possui na sua casa? Dois ou três computadores: desktop, notebook; UFMS-FACOM-MicAp-Prof.Fábio Iaione 16 Introdução - Televisor; UFMS-FACOM-MicAp-Prof.Fábio Iaione 17 Introdução - Decodificador da TV a cabo ou TV via satélite; UFMS-FACOM-MicAp-Prof.Fábio Iaione 18 Introdução - Modem ADSL ou cable modem; UFMS-FACOM-MicAp-Prof.Fábio Iaione 19 Introdução - Roteador wireless; UFMS-FACOM-MicAp-Prof.Fábio Iaione 20 Introdução - Microondas; UFMS-FACOM-MicAp-Prof.Fábio Iaione 21 Introdução - Geladeira; UFMS-FACOM-MicAp-Prof.Fábio Iaione 22 Introdução - Lavadoura de roupas eletrônica; UFMS-FACOM-MicAp-Prof.Fábio Iaione 23 Introdução - Esteira ergométrica; UFMS-FACOM-MicAp-Prof.Fábio Iaione 24 Introdução - Central de alarme; UFMS-FACOM-MicAp-Prof.Fábio Iaione 25 Introdução - Smartphone; UFMS-FACOM-MicAp-Prof.Fábio Iaione 26 Introdução - Automóvel; UFMS-FACOM-MicAp-Prof.Fábio Iaione 27 Introdução Quantos computadores você possui na sua casa? Dois ou três computadores de mesa: desktop e notebook; Aproximadamente 14 computadores embarcados (embedded computer) ou sistemas embarcados (embedded system). UFMS-FACOM-MicAp-Prof.Fábio Iaione 28 Introdução Contando os computadores embarcados: 2- televisores; 1- receptor TV a cabo ou TV via satélite; 1- modem ADSL ou cable modem; 1- roteador wireless; 1- micro-ondas; 1- geladeira; 1- lavadoura de roupas eletrônica; 1- esteira ergométrica; 1- central de alarme; 3- smartphones; 1- automóvel (dezenas em rede). TOTAL = 14 UFMS-FACOM-MicAp-Prof.Fábio Iaione 29 - Estudos indicam que uma residência média (país desenvolvido) tem: - 1 ou 2 computadores desktop; - dezenas de computadores embutidos. - O mercado de sistemas embarcados envolve anualmente centenas de bilhões de dólares; - Algumas referências bibliográficas citam que 98 % dos processadores estão hoje em sistemas embarcados. Introdução UFMS-FACOM-MicAp-Prof.Fábio Iaione 30 Retirado de PATTERSON & HENNESSY, 2005) Introdução UFMS-FACOM-MicAp-Prof.Fábio Iaione 31 - Normalmente executam uma aplicação específica; - Apresentam desempenho mínimo, objetivando menores custo e consumo de energia; - Dispõem de pouca memória; - Normalmente o usuário não percebe que está usando um computador; - Usam núcleos de 8, 16 e 32 bits. Sistemas embarcados: características UFMS-FACOM-MicAp-Prof.Fábio Iaione 32 Os principais setores da indústria que utilizam sistemas embarcados são: - Eletrônica de consumo: eletro- eletrônicos, brinquedos e outros; - Indústria automotiva: controle do motor, ABS, airbag, temperatura e outros (15 % do custo); - Sistemas médicos: desfibrilador, marca passo, sistemas de imagem por ultra-som, raio-x, laser e outros; Sistemas embarcados: aplicações UFMS-FACOM-MicAp-Prof.Fábio Iaione 33 - Telecomunicações: telefones VOIP, centrais telefônicas PBX; - Indústria em geral: controladores lógicos programáveis (CLPs), robótica e outros; - Indústria aeroespacial: sistemas aviônicos e computadores de bordo (fly- by-wire); - Indústria de automação comercial: impressoras, copiadoras, faxes, POS e outros. Sistemas embarcados: aplicações UFMS-FACOM-MicAp-Prof.Fábio Iaione 34 Exemplos de aplicações específicas: - Sistemas de alarme: roubo, incêndio, etc; - Aparelhos de medição: medidores de diversas grandezas físicas, estações meteorológicas, etc; - Automação residencial: jardim, piscina, etc; - Aparelhos de controle: equipamentos para ginástica, elevadores. Sistemas embarcados: aplicações UFMS-FACOM-MicAp-Prof.FábioIaione 35 Dispositivos utilizados nos sistemas embarcados: - CPUs embarcadas (Atom,ARM,Quark); - DSPs (TMS320); - ASICs; - FPGAs / CPLDs (Cyclone, Spartan); - Módulos de uso geral (Arduino, MBEB); - Microcontroladores. Sistemas embarcados: dispositivos UFMS-FACOM-MicAp-Prof.Fábio Iaione 36 Microcontrolador-MCU (Micro Controller Unit) - Tipo de microprocessador com características que objetivam auto- suficiência e melhor custo-benefício; - Normalmente possuem internamente: -CPU: registradores, UAL e UC; -Interfaces de I/O (porta paralela, porta serial, etc); -Temporizadores, CADs, CDAs; -RAM para dados; -FLASH para programa; -Circuito de clock. Sistemas embarcados: dispositivos UFMS-FACOM-MicAp-Prof.Fábio Iaione 37 - Normalmente realizam tarefas de controle interagindo com o mundo real através de sensores e atuadores; Microprocessador+Controlador=Microcontrolador Sensores Microcontrolador Atuadores Sistemas embarcados: MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 38 Os sistemas embarcados construídos com microcontroladores apresentam: - Baixo custo (alguns custam em torno de US$ 1,00); - Pequena quantidade de circuitos integrados; - Pequenas dimensões e peso; - Baixo consumo de energia; - Robustez elevada. Sistemas embarcados: MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 39 - 8 pinos de E/S, 25 MIPS; - CAD (10 bits, 8 canais, 500 kSPS); - Sensor de temperatura; - Memória de programa (8 kB); - Memória de dados (256 B); - Clock interno; - SMBus,UART. Sistemas embarcados: MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 40 - Existem algumas dezenas de fabricantes de microcontroladores; - Os principais são: Microcontroladores: fabricantes UFMS-FACOM-MicAp-Prof.Fábio Iaione 41 - Cada fabricante oferece diferentes famílias de microcontroladores; - Cada família possui o mesmo núcleo (core) e os dispositivos diferem na capacidade de memória e nos recursos disponíveis internamente; - Alguns exemplos de famílias: - MCS-51 (Intel); - PIC (Microchip); - eZ80 (Zilog); - MSP430 (Texas Instruments); - ARM (ARM). Microcontroladores: famílias UFMS-FACOM-MicAp-Prof.Fábio Iaione 42 Os microcontroladores de 8 bits ainda são muito usados: -Muitos sistemas não necessitam de microcontroladores de 16 ou 32 bits(+complexo, +caro e +energia); -Microcontroladores de 8 bits distribuídos ao invés de um microcontrolador de 32 bits; -Microcontroladores de 8 bits são usados como subsistemas de sistemas complexos de 32 bits; -Adequados para aplicações de IoT (internet das coisas). Microcontroladores: famílias de 8 bits UFMS-FACOM-MicAp-Prof.Fábio Iaione 43 Os microcontroladores de 8 bits ainda são muito usados: -Representam uma fatia de 40 % do mercado de microcontroladores; -Especialistas afirmam que os microcontroladores de 8 bits nunca desaparecerão e sempre coexistirão com os de 32 bits. Microcontroladores: famílias de 8 bits UFMS-FACOM-MicAp-Prof.Fábio Iaione 44 Microcontroladores: famílias de 8 bits UFMS-FACOM-MicAp-Prof.Fábio Iaione 45 Microcontroladores: famílias de 8 bits UFMS-FACOM-MicAp-Prof.Fábio Iaione 46 Microcontroladores: famílias de 8 bits UFMS-FACOM-MicAp-Prof.Fábio Iaione 47 - Núcleo MCS-51: - 8 bits; -CISC com arquitetura Harvard; -Utilizado por vários fabricantes; -Estima-se que aproximadamente 1000 dispositivos utilizam esse núcleo. Microcontroladores: núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 48 - MCS-48 (1976): 8048 (17.000 transistores) 8 bits, 1 kbyte de programa, 64 bytes de RAM, 27 pinos de I/O, 1 temporizador de 8 bits. Microcontroladores: evolução do núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 49 -Ex. de aplicação do 8048: Vídeo-game Odyssey; Jogo/programa em c artucho:ROM de 2kbytes!!! Microcontroladores: evolução do núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 50 -MCS-51 (1980): 8051 (60.000 transistores) 8 bits, 4 kbyte de programa, 128 bytes de RAM, 32 pinos de I/O, 2 temporizadores de 16 bits, 1 porta serial. Microcontroladores: evolução do núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 51 Núcleo MCS-51: microarquitetura Retirado de MikroElektronika UFMS-FACOM-MicAp-Prof.Fábio Iaione 52 8031 -> memória externa; 8051 -> memória interna (4 kB M-ROM) - Programa inalterável (gravado na fabricação); Memória de programa: evolução do núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 53 - Memória de programa interna 8751 → 4 kbytes de PROM (gravável 1 vez) ou EPROM (apagável com UV); MCUs atuais → memória flash (1000 ciclos de gravação). Memória de programa: evolução do núcleo MCS-51 UFMS-FACOM-MicAp-Prof.Fábio Iaione 54 Métodos de gravação do programa -Capacidade ISP (In System Programable-programação no sistema); -Com adaptador ou diretamente. EIA232 ou USB LPT, EIA232 ou USB ADAPTADOR Microcontroladores: programação UFMS-FACOM-MicAp-Prof.Fábio Iaione 55 SILICON LABS: Família C8051F04x (C8051F040) Microcontroladores: famílias Retirado de www.silabs.com UFMS-FACOM-MicAp-Prof.Fábio Iaione 56 SILICON LABS: C8051F040 Microcontroladores: famílias Retirado de www.silabs.com UFMS-FACOM-MicAp-Prof.Fábio Iaione 57Retirado de www.silabs.com UFMS-FACOM-MicAp-Prof.Fábio Iaione 58 ÁREA MÉDICA - Sistema para aquisição de sinais de EEG; Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 59 Sistema para aquisição de sinais de EEG Código em C: 155 linhas (5 funções) Sem comentários e linhas em branco; Código de máquina: 469 bytes Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 60 - Testador de incubadoras infantis Microcontrolador: 87C552 Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 61 Testador de incubadoras infantis Código em C: 1449 linhas(28 funções) Sem comentários e linhas em branco; Código de máquina: 16314 bytes Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 62 ESTAÇÃO METEOROLÓGICA Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 63 Estação meteorológica Código em C: 1519 linhas(45 funções) Sem comentários e linhas em branco; Código de máquina: 9039 bytes Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 64 Dispositivo supervisor de isolação Monitora o sistema IT-médico, que diminui os riscos de choques e curtos-circuitos em CCs e UTIs; Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 65 Dispositivo supervisor de isolação Sistemas embarcados com MCU UFMS-FACOM-MicAp-Prof.Fábio Iaione 66 Dispositivo supervisor de isolação Código em C: 968 linhas (28 funções) Sem comentários e linhas em branco; Código de máquina: 6187 bytes Dispositivo anunciador Código em C: 1108 linhas (32 funções) Sem comentários e linhas em branco; Código de máquina: 6579 bytes Sistemas embarcados com MCU