MICROCONTROLADORES 1 Curso Técnico Eletrônica Prof
Total Page:16
File Type:pdf, Size:1020Kb
MICROCONTROLADORES 1 Curso Técnico Eletrônica Prof. Fábio Kurt Schneider AVALIAÇÃO Nota 1: APS = 20% (Projeto de Sistemas Microcontrolados) EXERCÍCIOS ASSEMBLY = 10% (ASSEMBLY) AVALIAÇÃO TEÓRICA/PRÁTICA = 70% (ARQUITETURA INTERNA E ASSEMBLY) Nota 2: Função otimizada em ASSEMBLY = 20% (ALTO DESEMPENHO) LABORATÓRIOS = 40% PROJETO FINAL = 40% • PROGRAMAÇÃO E CONTEÚDOS DAS AULAS (PREVISÃO) PROGRAMAÇÃO E CONTEÚDOS DAS AULAS (PREVISÃO) Dia/Mês ou Número de Conteúdo das Aulas Semana Aulas Informações da disciplina e avaliação Definição da APS Introdução a microcontrolador genérico 08-09/08/17 3 - Sistema microprocessado típico; Microprocessador hipotético: barramentos de dados, endereços, e controle, ULA, registros internos, PC, SP, Acc; Microcontrolador vs.microprocessador; Principais famílias de microcontroladores; Microcontrolador específico - Arquitetura interna ATMEGA328. - Descrição dos pinos; Organização de memória; Memória SRAM interna de dados; Memória 15-16/08/17 3 SRAM interna de uso específico; Acesso à memória externa; Interrupção, Temporizadores, ADC Ferramentas de Desenvolvimento de Sistemas Microcontrolados Algoritmos 22-23/08/17 Instruções Lógicas e Aritméticas , Instruções de Controle de Fluxo, Exemplos em assembly com o 3 uControlador específico Instruções Assembly e exemplos: controle de fluxo, laços, escrita e leitura em memória, controle 29-30/08/17 3 periféricos.... Instruções Assembly e exemplos: controle de fluxo, laços, escrita e leitura em memória, controle 05-06/09/17 3 periféricos.... 12-13/09/17 Simulação 3 Entrega E AVALIAÇÃO APS 1 – Esquemático (Power, uC, Periféricos, Conectores) 19-20/09/17 2 – Explicativo dos blocos do sistema 3 3 - Tabela Características 4 – B.O.M. e R$ SEMANA TECNOLÓGICA 26-27/09/17 3 03-04/10/17 Avaliação 1 – Teórico prática 3 10-11/10/17 Definição Projeto Final – Recuperação Prova Teórico Prática 3 PROGRAMAÇÃO E CONTEÚDOS DAS AULAS (PREVISÃO) Dia/Mês ou Número de Conteúdo das Aulas Semana Aulas 03-04/10/17 Avaliação 1 – Teórico prática 3 10-11/10/17 Definição Projeto Final – Recuperação Prova Teórico Prática 3 17-18/10/17 Interrupções e Temporizadores 3 24-25/10/17 Comunicação serial (WIFI, Bluetooth, ...) 3 31/10/17 Dispositivos de entrada e saída (teclado, LCD, monitor - PC) 3 01/11/17 07-08/11/17 Desenvolvimento do Projeto 3 14/11/17 Desenvolvimento do Projeto 3 21-22/11/17 Desenvolvimento do Projeto 3 28-29/11/17 Apresentação e AVALIAÇÃO Projeto Final 3 05-06/12/17 Recuperação Projeto Final 3 12-13/12/17 3 ~17 semanas x 3h Como isto pode impactar sua vida? • Fábio Kurt Schneider: • Apucarana 1967-1984, • CEFET-Curitiba 1985-1989 (Eng. Elétrica – Eletrônica e Telecomunicações), • Engenheiro de Desenvolvimento 1989-1993 (In-circuit emulator and bus analyser, Fontes CC de elevada potência, Medidor de água em leite, medidor de gordura em leite), • CEFET-PR 1993-1995 Mestrado em Eng. Biomédica (Medição de Fluorescência para determinar Concentração de Oxigênio - OPTOELETRÔNICA), • Professor Efetivo CEFET desde 01/09/1995 • University of Washington 2001-2006 – Ph.D. Eng. Elétrica • UTFPR: Desde 2006 orientador de mestrado e doutorado: CPGEI e PPGEB • PROPPG (03/2013 a 08/2016) "Fellipe Arcanjo Trindade" <[email protected]>, "Fernanda Franco Grilo Machado" "Alex Jhonata Santos De Oliveira" <[email protected]>, <[email protected]>, "Gustavo Brizola Da Silva" "Artur Heineck Hahn" <[email protected]>, <[email protected]>, "Ingrid Do Rocio Gasparin" "Jean Carlo Do Carmo" <[email protected]>, <[email protected]>, "Jorge Lucas Vicilli Jabczenski" "Laura De Barros Gunha" <[email protected]>, <[email protected]>, "Lucas Albuquerque Sales" <[email protected]>, "Leonardo Braga De Cristo" <[email protected]>, "Lucas Rafael De Andrade" <[email protected]>, "Lucas Eduardo Bonancio Skora" "Matheus Augusto Burda" <[email protected]>, <[email protected]>, "Miguel Michalouski Santos Lima" "Ludwig Aumann" <[email protected]>, <[email protected]>, "Luiz Fernando De Almeida Mota" "Pedro Henrique Fracaro Kiche" <[email protected]>, <[email protected]>, "Pedro Andre Silveira Paiva" "Sarah Guebur Quoos" <[email protected]>, <[email protected]>, "Thiago Augusto De Souza" "Victor Hugo Dambrat Bergossi" <[email protected]>, <[email protected]>, "Vinicius Rodrigues Gemin" <[email protected]>, Aps: Projete um Sistema Microcontrolado com custo de componentes SMD preferencialmente inferior a USD 5,00 (OU O MAIS PRÓXIMO DE 5USD) capaz de apresentar as seguintes características: Instruções executadas por Maior que 16 milhões segundo Programável com comunicação USB, .... serial Memória de Programa Flash 32 kB Memória RAM 4 kB Registradores Internos Maior ou igual 32 registradores Timers 3 ou + ADC Pelo menos 1, 10 ou mais bits, amostragem ,aior ou igual a 1MHz Pinos I/O Pelo menos 10 disponíveis em conector Pino de controle preparado para Tensão 5-12V externo e corrente (dispositivo ligar/desligar dispositivo ligado) de 600 mA EXTERNO. DAC Opcional de 10 ou mais bits Apresentar um Relatório Impresso Simplificado INDIVIDUAL contendo: •Tabela de Características do sistema projetado •Esquemático completo •Explicativo 5-15 de cada bloco usado para atender as principais características do sistema •Lista de materiais COM PREÇO na origem (mouser, digikey, arrow, ...) Entendendo a Disciplina Microcontroladores 1 no curso técnico Microcontroladores 1 – Técnico em Eletrônica • Competência: • Analisar e Implementar Sistemas Microcontrolados Básicos. • Habilidades Básicas: • Desenvolver Sistemas Microcontrolados Básicos • Programar com linguagem de baixo nível sistemas Microcontrolados básicos • Bases Tecnológicas: • Arquitetura de Microcontroladores • Linguagem Assembly Relembrando Digital 3 • Reconhecer Elementos Básicos da Arquitetura Interna de um MICROPROCESSADOR • Identificar elementos e Interpretar Diagramas de um Sistema Microprocessado Sistema Microprocessado hardware firmware Sistema Microprocessado • Essas transparências foram baseadas em materiais elaborados pelos professores software Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk, Paulo DemantovaElaborado por Gilson Yukio Sato Hardware Reset Bus de Dados ROM RAM E/S P Interrupções Perifé- (CPU) ricos Bus de Endereços e Controle Clock DX SEL Elaborado por Gilson Yukio Sato Hardware • Clock • Reset • Reinicializa o microprocessador • Vetor de Reset • Primeiro endereço da memória de programa a ser executado após o reset do sistema Elaborado por Gilson Yukio Sato Hardware • ROM • Programa + dados não voláteis • RAM • Dados de trabalho • E/S • Interfaces dispositivos externos • DX SEL • Seleção de memória e periférico Elaborado por Gilson Yukio Sato Hardware • Bus de dados • Bidirecional • Bus de endereços • Saída (geralmente) • Bus de controle • Saídas e entradas Elaborado por Gilson Yukio Sato Hardware • Interrupção • Evento externo que desvia o fluxo normal de execução • Após o atendimento da interrupção o fluxo normal de execução é retomado • Vetor de Interrupção • Endereço da memória de programa para onde ocorre o desvio do fluxo de execução para o atendimento de uma interrupção Elaborado por Gilson Yukio Sato Firmware INÍCIO Posicionar escada Acionar o interruptor Subir na escada Sim A lâmpada acendeu? Retirar lâmpada antiga Não Apanhar lâmpada nova Colocar lâmpada nova FIM 0110...1101 1101...0001 C Compilador 0101...1000 0000...0101 ... Mnemônicos Assembler Elaborado por Gilson Yukio Sato Firmware • Algoritmo • Baixo nível • Código de Máquina, Assembly • Alto nível • C, BASIC, Pascal • Necessita ser compilada ou interpretada Elaborado por Gilson Yukio Sato Firmware • Montador (Assembler) • mnemônicos do assembly códigos das instruções • Compilador / Interpretador • linguagem alto nível linguagem assembly • Link-editor (Linker) • interconecta diferentes trechos de programa Elaborado por Gilson Yukio Sato Microprocessador Genérico Bus interno dados bus Buffer dados Unidade de Registradores Controle ULA bus Bus interno endereço Buffer ends Bus interno controle bus ctrl Buffer Elaborado por Gilson Yukio Sato ULA • ULA (ALU) • Unidade Lógico Aritmética • Lógicas: AND, OR, XOR • Aritméticas: Soma, Subtração • Unidade de Controle • Interpreta instruções • Gera sinais para comandar demais blocos Elaborado por Gilson Yukio Sato Registradores • Gerais • Armazenamento temporário de dados • Entradas e saída da ULA • Índices • Índice que pode ser usado como ponteiro para acesso de dado Elaborado por Gilson Yukio Sato Registradores • Flags • Sinalizam eventos • PC (Program Counter) • Indica o endereço da próxima instrução • SP (Stack Pointer) • Indica topo da pilha • Pilha – LIFO (Last In, First Out) • Armazenamento de dados Elaborado por Gilson Yukio Sato História Use sempre boas referencias para aprender!!! • Arquitetura de computadores David A. Patterson & John L. Hennessy. Computer Organization & Design, The Hardware/Software Interface. Morgan Kaufmann • https://pt.coursera.org/learn/comparch • Introdução • Instruções • Microcódigo • Pipelining • Cache • Superescalar x VLIW x • Predição de desvio • Multi https://www.cis.upenn.edu/~milom/cis501- Fall11/lectures/00_intro.pdf https://www.cis.upenn.edu/~milom/cis501- Fall11/lectures/00_intro.pdf https://www.cis.upenn.edu/~milom/cis501- Fall11/lectures/00_intro.pdf https://www.cis.upenn.edu/~milom/cis501- Fall11/lectures/00_intro.pdf What Is An ISA? http://www.cis.upenn.edu/~cis501/ • ISA (instruction