microcontroladores 1 curso técnico eletrônica

Post on 10-Jun-2022

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MICROCONTROLADORES 1Curso 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

SemanaConteúdo das Aulas

Número de

Aulas

08-09/08/17

Informações da disciplina e avaliação

Definição da APS

Introdução a microcontrolador genérico

- 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;

3

15-16/08/17

Microcontrolador específico - Arquitetura interna ATMEGA328.

- Descrição dos pinos; Organização de memória; Memória SRAM interna de dados; Memória

SRAM interna de uso específico; Acesso à memória externa; Interrupção, Temporizadores, ADC

Ferramentas de Desenvolvimento de Sistemas Microcontrolados

3

22-23/08/17

Algoritmos

Instruções Lógicas e Aritméticas , Instruções de Controle de Fluxo, Exemplos em assembly com o

uControlador específico

3

29-30/08/17Instruções Assembly e exemplos: controle de fluxo, laços, escrita e leitura em memória, controle

periféricos.... 3

05-06/09/17Instruções Assembly e exemplos: controle de fluxo, laços, escrita e leitura em memória, controle

periféricos....3

12-13/09/17 Simulação 3

19-20/09/17

Entrega E AVALIAÇÃO APS

1 – Esquemático (Power, uC, Periféricos, Conectores)

2 – Explicativo dos blocos do sistema

3 - Tabela Características

4 – B.O.M. e R$

3

26-27/09/17SEMANA TECNOLÓGICA

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

SemanaConteúdo das Aulas

Número de

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

01/11/17Dispositivos de entrada e saída (teclado, LCD, monitor - PC) 3

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, medidorde gordura em leite),

• CEFET-PR 1993-1995 Mestrado em Eng. Biomédica (Medição de Fluorescênciapara 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)

"Alex Jhonata Santos De Oliveira" <alexoliveira.1998@alunos.utfpr.edu.br>,

"Artur Heineck Hahn" <arturhhahn@gmail.com>,

"Ingrid Do Rocio Gasparin" <ingridgasparin@hotmail.com>,

"Jorge Lucas Vicilli Jabczenski" <jabczenski@alunos.utfpr.edu.br>,

"Leonardo Braga De Cristo" <cristo@alunos.utfpr.edu.br>,

"Lucas Eduardo Bonancio Skora" <lucasskora@alunos.utfpr.edu.br>,

"Ludwig Aumann" <ludwig@alunos.utfpr.edu.br>,

"Luiz Fernando De Almeida Mota" <luizmota@alunos.utfpr.edu.br>,

"Pedro Andre Silveira Paiva" <pedroaspaiva@gmail.com>,

"Victor Hugo Dambrat Bergossi" <victor.hugo.d.bergossi@gmail.com>,

"Fellipe Arcanjo Trindade" <fellipe_05@hotmail.com>,

"Fernanda Franco Grilo Machado" <fermac@alunos.utfpr.edu.br>,

"Gustavo Brizola Da Silva" <gustavo.brizola@hotmail.com>,

"Jean Carlo Do Carmo" <jeancarlodocarmo@hotmail.com>,

"Laura De Barros Gunha" <lauragunha@hotmail.com>,

"Lucas Albuquerque Sales" <lucassales-01@hotmail.com>,

"Lucas Rafael De Andrade" <atrefellis@hotmail.com>,

"Matheus Augusto Burda" <flavio@personativa.com.br>,

"Miguel Michalouski Santos Lima" <miguellima@alunos.utfpr.edu.br>,

"Pedro Henrique Fracaro Kiche" <pedrohenriquekiche@gmail.com>,

"Sarah Guebur Quoos" <sarahgq99@hotmail.com>,

"Thiago Augusto De Souza" <augustodesouza41@gmail.com>,

"Vinicius Rodrigues Gemin" <viniciusgemin@alunos.utfpr.edu.br>,

Instruções executadas por segundo

Maior que 16 milhões

Programável com comunicação serial

USB, ....

Memória de Programa Flash 32 kB

Memória RAM 4 kBRegistradores Internos Maior ou igual 32 registradoresTimers 3 ou +ADC Pelo menos 1, 10 ou mais bits, amostragem ,aior

ou igual a 1MHzPinos I/O Pelo menos 10 disponíveis em conector

Pino de controle preparado para ligar/desligar dispositivo EXTERNO.

Tensão 5-12V externo e corrente (dispositivo ligado) de 600 mA

DAC Opcional de 10 ou mais bits

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:

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 Microcontroladores1 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

Elaborado por Gilson Yukio Sato

Sistema Microprocessado

Sistema Microprocessado

hardware firmware

software

• Essas transparências foram baseadas em materiais elaborados pelos professores Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk, Paulo Demantova

Elaborado por Gilson Yukio Sato

Hardware

Clock

Reset

Interrupções

Bus de Dados

ROM RAM E/SP

(CPU)

DXSEL

Bus de Endereços e Controle

Perifé-ricos

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

FirmwareINÍCIO

FIM

Acionar o interruptor

A lâmpada acendeu?Sim

Apanhar lâmpada nova

Não

Posicionar escada

Subir na escada

Retirar lâmpada antiga

Colocar lâmpada nova

C Compilador

Assembler

0110...11011101...00010101...10000000...0101

...

Mnemônicos

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

ULA

Unidade de Controle

Registradores

Bus interno dados

Bus interno controle

Bus interno endereço

Bu

ffer

Bu

ffer

Bu

ffer

bus ends

bus ctrl

bus dados

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

História

Use sempre boas referencias para aprender!!!

• Arquitetura de computadoresDavid 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

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

35

What Is An ISA?http://www.cis.upenn.edu/~cis501/• ISA (instruction set architecture)

• A well-defined hardware/software interface• The “contract” between software and hardware

• Functional definition of storage locations & operations• Storage locations: registers, memory• Operations: add, multiply, branch, load, store, etc

• Precise description of how to invoke & access them

• Not in the contract: non-functional aspects• How operations are implemented• Which operations are fast and which are slow• Which operations take more power and which take less

• Instructions (Insns)• Bit-patterns hardware interprets as commands

ARM ADD Documentationhttp://www.cis.upenn.edu/~cis501/

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

36

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

37

The Sequential Modelhttp://www.cis.upenn.edu/~cis501/

• Basic structure of all modern ISAs• Often called Von Neumann, but in ENIAC before

• Program order: total order on dynamic insns• Order and named storage define computation

• Convenient feature: program counter (PC)• Insn itself stored in memory at location pointed to

by PC• Next PC is next insn unless insn says otherwise

• Processor logically executes loop at left

• Atomic: insn finishes before next insn starts• Implementations can break this constraint physically• But must maintain illusion to preserve correctness

Fetch

Decode

Read Inputs

Execute

Write Output

Next Insn

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

38

Programmabilityhttp://www.cis.upenn.edu/~cis501/• Easy to express programs efficiently?

• For whom?

• Before 1980s: human• Compilers were terrible, most code was hand-assembled• Want high-level coarse-grain instructions

• As similar to high-level language as possible

• After 1980s: compiler• Optimizing compilers generate much better code than you or I• Want low-level fine-grain instructions

• Compiler can’t tell if two high-level idioms match exactly or not

• This shift changed what is considered a “good” ISA…

Maximizing Performancehttp://www.cis.upenn.edu/~cis501/

• Instructions per program:• Determined by program, compiler, instruction set architecture (ISA)

• Cycles per instruction: “CPI”• Typical range today: 2 to 0.5• Determined by program, compiler, ISA, micro-architecture

• Seconds per cycle: “clock period”• Typical range today: 2ns to 0.25ns• Reciprocal is frequency: 0.5 Ghz to 4 Ghz (1 Hz = 1 cycle per sec)• Determined by micro-architecture, technology parameters

• For minimum execution time, minimize each term• Difficult: often pull against one another

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

39

(1 billion instructions) * (1ns per cycle) * (1 cycle per insn) = 1 second

Execution time = (instructions/program) * (seconds/cycle) * (cycles/instruction)

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

40

Example: Instruction Granularityhttp://www.cis.upenn.edu/~cis501/

• CISC (Complex Instruction Set Computing) ISAs• Big heavyweight instructions (lots of work per instruction)+ Low “insns/program”– Higher “cycles/insn” and “seconds/cycle”

• We have the technology to get around this problem

• RISC (Reduced Instruction Set Computer) ISAs• Minimalist approach to an ISA: simple insns only+ Low “cycles/insn” and “seconds/cycle” – Higher “insn/program”, but hopefully not as much

• Rely on compiler optimizations

Execution time = (instructions/program) * (seconds/cycle) * (cycles/instruction)

CIS 501: Comp. Arch. | Prof. Joe Devietti | Instruction Sets

41

Compiler Optimizationshttp://www.cis.upenn.edu/~cis501/

• Primarily goal: reduce instruction count• Eliminate redundant computation, keep more things in registers

+ Registers are faster, fewer loads/stores– An ISA can make this difficult by having too few registers

• But also…• Reduce branches and jumps (later)• Reduce cache misses (later)• Reduce dependences between nearby insns (later)

– An ISA can make this difficult by having implicit dependences

• How effective are these?+ Can give 4X performance over unoptimized code– Collective wisdom of 40 years (“Proebsting’s Law”): 4% per year• Funny but … shouldn’t leave 4X performance on the table

História INTEL

• 100%+ transistors pelomesmo preço a cada 18 meses

Moore – 50 Anos

36 anos

Sistema MICROPROCESSADO x MICROCONTROLADOR x

SISTEMA MICROCONTROLADO• Componentes de um MICROPROCESSADOR:

• Componentes de um SISTEMA MICROPROCESSADO:

• MICROCONTROLADOR:

Elaborado por Gilson Yukio Sato

Microprocessador X Microcontrolador

• Microcontrolador• μP + períféricos• Períféricos:

• temporizador/contador, • interface serial, • barramentos de comunicação• ADC• DAC• ...

• Sistemas embarcados

Elaborado por Gilson Yukio Sato

Arq

uit

etu

ra In

tern

a

RST

Unidade Lógico-

Aritmética

Latchs e Drivers

Latchs e Drivers

Latchs e Drivers

Latchs e Drivers

Circuito de Clock

Registros p/ Endereçar Memória

OTPROM/ EPROM/

Flash

Temporização e Controle

Canal Serial

Timers / Counters

Registros 16 bits PC, SP,

DPTR

RAM Interna

Xtal1 Xtal2 T0 T1P0P2

P1 P3

8 8

8 8

TxDRxD PSENALE

EA

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

2008: microcontroller architectures and vendors EXAMPLES (WIKIPEDIA):

• ARM core processors (many vendors)

• ARM Cortex-M cores are specifically targeted towards microcontroller applications

• Atmel AVR (8-bit), AVR32 (32-bit), and AT91SAM (32-bit)

• Cypress Semiconductor's M8C Core used in their PSoC (Programmable System-on-Chip)

• Freescale ColdFire (32-bit) and S08 (8-bit)

• Freescale 68HC11 (8-bit), and others based on the Motorola 6800 family

• Intel 8051, also manufactured by NXP Semiconductors, Infineon and many others

• Infineon: 8-bit XC800, 16-bit XE166, 32-bit XMC4000 (ARM based Cortex M4F), 32-bit TriCore and, 32-bit Aurix Tricore Bit microcontrollers[19]

• MIPS

• Microchip Technology PIC, (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32)

• NXP Semiconductors LPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit)

• Renesas Electronics: RL78 16-bit MCU; RX 32-bit MCU; SuperH; V850 32-bit MCU; H8; R8C 16-bit MCU

• Silicon Laboratories Pipelined 8-bit 8051 Microcontrollers and mixed-signal ARM-based 32-bit microcontrollers

• STMicroelectronics STM8 (8-bit), ST10 (16-bit) and STM32 (32-bit)

• Texas Instruments TI MSP430 (16-bit), MSP432 (32-bit), C2000 (32-bit)

• Toshiba TLCS-870 (8-bit/16-bit)

MCU Arch Flash (KB) RAM (KB) Clock (MHz) Current (mA) mA/MHz Price (USD)

at 1kLPC1765FBD100,551 ARM Cortex-M3

(32)256 64 100 50 0.5 5.06

ATxmega128A1 AVR (8) 128 8 32 20 0.63 6.05

MSP430F5436AIPZR MSP430 (16) 192 16 25 10 0.4 4.797

PIC32MX340F128L-80I/PT

PIC32 (32) 128 32 80 55 0.69 4.82

STM32F103VBT6 ARM Cortex-M3 (32)

128 20 72 33 0.46 4.29

8 vs 16 vs 32 Bit Microcontrollers--A Case Study Embedded Design

Traditional microcontroller projects have been based on 8-bit architectures. However, 16-bit and 32-bit architectures

(such as the ARM Cortex-M3) are becoming very attractive alternatives with competitive pricing and power

consumption requirements.

http://stratifylabs.co/embedded%20design%20tips/2013/10/01/Tips-8-vs-16-vs-32-Bit-Microcontrollers/

Instruções executadas por segundo

Maior que 16 milhões

Programável com comunicação serial

USB, ....

Memória de Programa Flash 32 kB

Memória RAM 4 kBRegistradores Internos Maior ou igual 32 registradoresTimers 3 ou +ADC Pelo menos 1, 10 ou mais bits, amostragem ,aior

ou igual a 1MHzPinos I/O Pelo menos 10 disponíveis em conector

Pino de controle preparado para ligar/desligar dispositivo EXTERNO.

Tensão 5-12V externo e corrente (dispositivo ligado) de 600 mA

DAC Opcional de 10 ou mais bits

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:

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, ...)

Elaborado por Gilson Yukio Sato

Microcontrolador - Famílias

• MCS51 - Intel e outras empresas

• M68HC11 - Motorola

• Z8 - Zilog

• COP8 - National

• PIC - Microchip

• AVR - Atmel

ATMEGA328

top related