Sistemas Embarcados:

Documentos relacionados
Jadsonlee da Silva Sá

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

ARDUINO. Profº. Engº. Robson Dias Ramalho

Aula 10 Microcontrolador Intel 8051 Parte 1

Sistemas Embarcados:

Arquitetura do Microcontrolador Atmega 328

Família de Microcontroladores AVR

Sistemas Digitais: Introdução

Disciplina : Microcontroladores AVR

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

Introdução à robótica

AULA2 Introdução a Microcontrolador. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

Anatomia do Arduino Bootloader

Introdução à Plataforma ARDUINO

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

Projeto de Sistemas Embarcados

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

FACULDADE LEÃO SAMPAIO

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Laboratório de Hardware

Arquitetura e Organização de Computadores. Conjunto de Instruções da Arquitetura CompSim

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Estudo da placa de prototipagem Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

Estrutura Básica de um Computador

INTRODUÇÃO: MICROCONTROLADORES

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Microcontroladores PIC16 - XM 116 -

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Sistemas Microcontrolados

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Palestra de Tecnologia. Assunto: Microcontroladores.

Conjunto de Instruções e Modelos de Arquiteturas

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Apêndice B Sistema Sem Fios Adotado 171 B.1 SISTEMA ADOTADO

Sistemas Embarcados:

MSP430 - Arquitertura

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

Microcontroladores: Programação em C

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Kit de desenvolvimento ACEPIC PRO V3.0

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Programação C para Arduino

Introdução do Arduino para aquisição de dados e controle de instrumentos

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

14/3/2016. Prof. Evandro L. L. Rodrigues

Microcontrolador 8051:

Microcontroladores e Microprocessadores

Microcontrolador PIC: Conceitos Básicos

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Projeto de Sistemas Eletrônicos

Microcontroladores. Rafael Silva de Lima

Período Saulo O. D. Luiz

SISTEMAS MICROCONTROLADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Microcontroladores PIC18 - XM 118 -

Família 8051 (introdução) 2011/1

KIT DIDÁTICO PIC-2377

Sistemas Embarcados:

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Microcontroladores PIC

Sistemas Microprocessados

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

TRABALHO DE CONCLUSÃO DE CURSO TÉCNICO EM ELETRÔNICA. Reutilização de água

A Exsto Tecnologia atua no mercado educacional, desenvolvendo kits didáticos para o ensino tecnológico.

Cerne Tecnologia e Treinamento

Introdução à Organização de Computadores. Aula 8

AULA1 Introdução a Microprocessadores gerais. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

Componentes de um computador Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial MICROCONTROLADORES PROFESSOR FLÁVIO MURILO

Sistemas Microcontrolados

Periféricos do PIC - Comparadores e UART

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Curso Arduino ESP8266. Aula #1 - Introdução

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Guia da Placa de desenvolvimento PD Mega16 N1

Conjunto de Instruções e Modelos de Arquiteturas

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Profª Danielle Casillo

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

Conhecendo o PIC24 e o mikropascal

KIT DIDÁTICO PARA MICROCONTROLADORES ARM7 - FAMÍLIA LPC 214X

Hardware Reconfigurável

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Organização de Computadores I

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

Módulo de Desenvolvimento PIC16F877A PCI208

Transcrição:

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Microcontroladores DCA0119 Sistemas Digitais Heitor Medeiros Florencio

Sistemas Embarcados Um sistema embarcado é um software dedicado embarcado em um hardware/computador. Sistemas embarcados são sistemas eletrônicos que tem um microcontrolador ou um microprocessador embarcados em um sistema. 2

Sistemas Embarcados Alternativas de projetos de sistemas embarcados: Sistemas baseados em microprocessadores (MPU): Microprocessadores contêm apenas a unidade de processamento (CPU). Unidades de memória e interfaces de entrada/saída precisam ser conectados à unidade (MPU). Permite maior expansão e seleção de interfaces. Sistemas baseados em microcontroladores (MCU): Microcontroladores contêm CPU, memórias e interfaces de entrada/saída. 3

Sistemas Embarcados: Elementos 4

Sistemas Embarcados: Elementos 5

Automatizando com Sistemas Embarcados Sistema Embarcado Memória Programa Interfaces para Usuário Sensores ADC CPU DAC Atuadores Ambiente 6

Microcontroladores 7

Microcontroladores Microcontroladores têm agregados vários componentes de um sistema microprocessado: Microprocessador; Memórias: SRAM, EEPROM e FLASH; Temporizadores; Circuitos de clock embutidos. Agregação de outras funcionalidades: Conversores A/D e D/A (mundo analógico!!); Sinais modulados PWM (mundo analógico!!); Temporizadores/contadores; Comparadores; Interfaces de comunicação; 8

MCU: Características Gerais 8, 16 e 32 bits. Tecnologia de fabricação CMOS com baixa consumo de potência. Consegue executar várias instruções em um único ciclo de clock. Velocidade é caracterizada pela quantidade de ciclos de máquina necessários para se executar uma instrução: MIPS (milhões de instruções por segundo). 9

Calculando Tempo de Execução 1. Dado que um microcontrolador funciona com um oscilador de 4MHz e cada ciclo de instrução gasta um pulso de clock. Qual a duração de cada ciclo de instrução (t)? 2. Dado que um microcontrolador funciona com um oscilador de 4MHz e cada ciclo de instrução gasta quatro pulsos de clock. Qual a duração de cada ciclo de instrução (t)? 10

Calculando Tempo de Execução Dado que um microcontrolador funciona com um oscilador de 4MHz e cada ciclo de instrução gasta um pulso de clock. Qual a duração de cada ciclo de instrução (t)? t = 1 f osc f osc = 4 MHz 1 t = 4MHz = 250ns Conclusões: Cada ciclo tem duração de 250 ns. O microcontrolador executa 4 milhões de instruções em um segundo (4 MIPS). 11

Calculando Tempo de Execução Dado que um microcontrolador funciona com um oscilador de 4MHz e cada ciclo de instrução gasta quatro pulsos de clock. Qual a duração de cada ciclo de instrução (t)? t = 1 f osc /4 t = f osc = 4 MHz; 1 4 MHz 4 = 1 us Conclusões: Cada ciclo tem duração de 1 us. O microcontrolador executa 1 milhão de instruções em um segundo (1 MIP). 12

Sistema de Clock do Microcontrolador O clock dos microcontroladores podem ser gerados por: Circuito de clock interno. Circuito de clock externo. 13

Alguns fabricantes Lista de microcontroladores da Microchip: http://www.atmel.com/products/microcontrollers/avr/megaavr. aspx Lista de microcontroladores da Texas Instruments: http://www.ti.com/lsds/ti/microcontrollers_16-bit_32- bit/products.page Lista de microcontroladores da Atmel: http://www.atmel.com/products/microcontrollers/avr/megaavr. aspx?tab=parameters 14

Microcontrolador: PIC16F628 15

Microcontroladores PIC PIC: Programmable Interface Controllers Controlador Integrado de Periféricos. Principais características dos microcontroladores da família PIC: CPU RISC. Arquitetura Harvard. Estrutura pipeline. Famílias de MCU PIC: Low Range: microcontroladores PIC com palavra de instrução de 12 bits. Mid Range: microcontroladores PIC com palavra de instrução de 14 bits. High Range: microcontroladores PIC com palavra de instrução de 16 bits. 16

Microcontroladores PIC 8-bits 17

MCU PIC16F628 Frequência máxima: 20 MHz. Memória de programa (Flash): 2048 palavras. Memória RAM: 224 bytes. Memória EEPROM: 128 bytes. Temporizadores: 3 (TMR0, TMR1, TMR2). Comparadores: 2. Módulo PWM: 1. Módulo I/O: 16 pinos (2 portas). Comunicação serial: USART. Tensões: 2.0V ~ 5.5V. 18

PIC16F628: Pinagem 19

MCU PIC16F628 Diagrama de blocos: 20

PIC16F628: Diagrama Endereçamento da próxima instrução: 21

PIC16F628: Diagrama Unidade de processamento lógico e aritmético: 22

PIC16F628: Diagrama Temporizadores, comparadores, módulo de comunicação serial: 23

PIC16F628: Memória de Dados A memória de dados (RAM) é subdividida em banco de registradores: 24

PIC16F628: Memória de Dados A memória de dados (RAM) é subdividida em banco de registradores: É obrigatório conhecer os registradores do MCU para conseguir programá-lo. 25

PIC16F628: Ciclo de instrução 26

MCU PIC16F628: Formato das Instruções As instruções do PIC16F628 são formadas por 14 bits e divididas em quatro grupos: 27

Fontes de Clock do PIC16F628 Existem 4 grupos de circuitos fonte de clock: Circuito RC. Circuito com osciladores de cristal. Circuito com ressonadores. Circuitos híbridos. PIC16F628 permite 6 formas de conexão: 28

Fontes externas de clock: Circuito com cristal (ou ressonador) Circuitos com osciladores de cristal são mais precisos e mais caros que circuitos com ressonadores e circuitos RC. Circuito formador por 1 oscilador de cristal e dois capacitores. 29

Fontes externas de clock: Circuito com cristal (ou ressonador) Ressonador 30

Fontes externas de clock: Circuito RC Os osciladores RC são mais simples e mais baratos, porém menos precisos. 31

Fontes externas de clock: Outros 32

Microcontrolador: ATMega328 33

Microcontroladores AVR Principais características dos microcontroladores da família AVR: CPU RISC. Arquitetura Harvard. Estrutura pipeline de 1 nível. Conjunto de 133 instruções, a maioria sendo executada em um ciclo de clock. Famílias de MCU AVR: 32-bits AVR: MCU de 32 bits projetados para maiores processamentos. AVR XMega. megaavr. tinyavr: até 8Kbytes de Flash. BatteryManagement: características especiais de consumo baixo. 34

ATMega328: Características Frequência máxima: 20 MHz. Memória de programa (Flash): 32 KB. Memória SRAM: 2048 B. Memória EEPROM: 1024 B. Registradores de 8 bits de uso geral. Temporizadores: 3. Comparador: 1. Módulo PWM com 6 canais. Módulo ADC: 6 conversores de 10bits. Interfaces de Comunicação: USART, SPI. Tensões: 1.8V ~ 5.5V. 35

ATMega328: Pinagem 36

ATMega328: Diagrama de Blocos 37

ATMega328: Memória de Dados A memória de dados (SRAM) é subdividida em blocos de registradores: 38

ATMega328: Memória de Dados A memória de dados (SRAM) é subdividida em blocos de registradores: É obrigatório conhecer os registradores do MCU para conseguir programá-lo. 39

ATMega328: Diagrama AVR CPU 40

Fontes de Clock do ATMega328 41

Fontes de Clock do ATMega328 Sinais de clock derivados da fonte primária. 42

Fontes de Clock do ATMega328 Existem 5 possibilidades de fontes de clock: Oscilador de cristal/ressonador de baixa potência. Oscilador de cristal de baixa frequência. Clock externo. Fonte externa Oscilador RC interno de 128 KHz. Oscilador RC interno calibrado (7.6 a 8.4 MHz). Fonte interna 43

Fontes externas de clock Oscilador de cristal ou ressonador: Um oscilador de cristal e dois capacitores. Ou um ressonador. Clock externo: EXTCLK: XTAL1. 44

Gravação/Programação de Microcontroladores 45

Gravação de Microcontroladores A programação de microcontroladores, normalmente, é realizada na linguagem C. Um compilador da linguagem C para microcontroladores deve ser utilizado para gerar o arquivo hexadecimal (extensão.hex) que será gravado na memória Flash do MCU. Programa em C Compilador C Arquivo.hex Programas (firmwares) podem ser gravados nos microcontroladores por duas formas: Circuito de gravação especifico do microcontrolador. Transferência via comunicação serial. 46

Gravação de Microcontroladores Formas de gravação do firmware no MCU: Programa em C Compilador C Arquivo.hex Gravador A forma de gravação do gravador vai depende do MCU. Microcontroladores PIC: Gravador PIC + ICSP. Microcontroladores AVR: Gravador AVR + ICSP (SPI). 47

ICSP (In-circuit Serial Programming) Gravação PIC Gravação AVR 48

Gravação do PIC via ICSP + PICKIT3 Exemplo: Gravação do PIC16F628 utilizando o gravador PICKIT3. USB ICSP 49

Gravação do PIC via ICSP + PICKIT3 Exemplo: Gravação do PIC16F628 utilizando o gravador PICKIT3. USB ICSP 50

Gravação AVR via ICSP + Arduino Gravador AVR 51

Gravação de Microcontroladores Outra alternativa de gravação é utilizando o bootloader. Programa em C Compilador C Arquivo.hex Gravador Permite uma gravação sem o uso de gravadores específicos. Realiza uma comunicação serial direto com o MCU. 52

Bootloader Bootloader é um programa simples e robusto que será armazenado na memória Flash do MCU com o intuito de receber um novo programa principal e regravar na memória flash. 53

Bootloader Bootloader permite a transferência do programa principal (.hex) pela porta serial, utilizando a interface RS232 do MCU, sem a necessidade de remover o MCU do sistema (on-chip). Bootloader deve ser programado previamente na memória do MCU. Programa em C Compilador C Arquivo.hex RS-232 54

Bootloader Programa em C Compilador C Arquivo.hex RS-232 55

Bootloader O bootloader deve perguntar ao computador (via serial) se existir algum programa principal para ser regravar na memória (condição). Se sim, o bootloader deve reprogramar a memória para alocar o novo programa principal e depois deve executar o novo programa. Se não, o bootloader deve executar o programa contido na memória. 56

Arduino + Bootloader A placa Arduino utiliza a estratégia de gravação do programa principal utilizando bootloader. 1º solução: Transferência do programa através de um conversor USB-TTL (FTDI232). USB TTL TX FTDI232: Conversor USB-TTL Arduino RX ATMega328 57

Arduino + Bootloader 2º solução: O conversor FTDI foi substituído pelo MCU ATMega8u2 ou ATMega16u2 (capaz de realizar conversão USB-TTL) para transferência do programa. USB TTL TX ATMega8u2 ou ATMega16u2 Arduino RX ATMega328 58

Arduino + Bootloader 2º solução: 59

Alternativas para programação (PIC; AVR) 60

Exemplo de Programação do PIC16F628 IDE de programação/gravação: MPLAB X. Compiladores: XC8, XC16, XC32. Gravador: PICKIT3. 61

Exemplo de Programação do ATMega328 IDE de programação/compilação/gravação: Atmel Studio. Gravador/Bootloader: Placa Arduino UNO. Atmel Studio avrdude ATMega328 62

AVRDUDE AVRDUDE é um programa aberto que serve para gravar programas na(s) memória(s) (flash, EEPROM) de microcontroladores AVR. Utilizado pela IDE do Arduino para gravar os sketches. Comunica-se com os gravadores externos através da porta serial do PC. Precisa da definição de argumentos e de um arquivo de configuração para gravar o arquivo principal. 63

AVRDUDE: Argumentos Alguns comandos do argumento do avrdude: -p: modelo do microcontrolador. Ex.: atmega328p,atmega168 e attiny2313. -c: modelo de programador. Ex.: bsd, stk200, avrisp. -P: porta do PC (com1, lpt1, usb, etc) onde o programador está conectado. -e: apagar a memória do dispositivo.. -U :w: efetua a gravação da área (flash, eeprom,) com conteúdo de um arquivo. Após a gravação é feita uma verificação. Exemplo: -C C:\arduino-1.0\hardware\tools\avr\etc\avrdude.conf -p m328p -c arduino -P \\.\com3 -U flash:w:"$(projectdir)debug\$(itemfilename).hex":i 64

Integrar AtmelStudio7 com AVRDUDE 1 2 3 Arguments: -C C:\arduino-1.0\hardware\tools\avr\etc\avrdude.conf -p m328p -c arduino -P \\.\com3 - U flash:w:"$(projectdir)debug\$(itemfilename).hex":i 65

Referências Principais referências: Datasheet PIC16F628. Datasheet ATMega328. 66

Dúvidas? Dúvidas por email: heitorm@dca.ufrn.br 67