aulas 2 - laboratório de microprocessadores

Upload: demectrius343

Post on 09-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    1/40

    Powered by Enderson Neves Cruz

    Curso Tcnico de EletrnicaLaboratrio de Microprocessadores

    Enderson Neves [email protected]

    [email protected]

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    2/40

    2Powered by Enderson Neves Cruz

    Agenda

    Apresentao Avaliao Kit de desenvolvimento e Emuladores Modos de endereamento Aula prtica 01 Aula prtica 02 Dvidas

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    3/40

    3Powered by Enderson Neves Cruz

    Avaliao

    Trabalho = 50% (Grupo) Tema deve ser previamente discutido com o professor Deve ser apresentado na aula anterior a prova

    Prova = 50% Um trabalho extra individual pode ser entregue no dia da prova.

    Se estiver funcionando corretamente substituir 50% do valor daprova. O tema do trabalho dever ser discutido com o professor at a

    aula anterior a prova

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    4/404Powered by Enderson Neves Cruz 4

    Avaliao

    Trabalho = 50% (Grupo) Descrio do funcionamento Diagrama em blocos

    Recursos a serem utilizados Fluxograma Programa Simulao Circuitos Custo do projeto Previso de possveis problemas.

    Montagem Testes Concluso

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    5/405Powered by Enderson Neves Cruz

    Kits de desenvolvimento e Emuladores

    Programador (Gravador) - Programmer Kit de Desenvolvimento - Experimenter Boards Emuladores

    Programador (gravador)Microprocessadores PIC

    Programador (gravador)Microprocessadores MSP430

    http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=1203&familyId=342&toolTypeId=1#FETkits

    Kit de Desenvolvimento

    Microprocessadores MSP430

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    6/406Powered by Enderson Neves Cruz

    Kits de desenvolvimento e EmuladoresEmulao via JTAG

    JTAG ( Joint Test Access Group ) uma interface de programao e teste de circuitos digitais, padronizada comoIEEE 1.149,1.

    Originalmente desenvolvido para a programadores lgicos, tambm freqentemente utilizado paramicrocontroladores.

    O dispositivo acessado atravs de quatro linhas seriais (TMS, TCK, TDI, TDO) atravs dos quais as portas,memria, registradores, etc., podem ser lidos e escritos em alta velocidade:

    1. TDI (Test Data In) Entrada de dados

    2. TDO (Test Data Out) Sada de dados

    3. TCK (Test Clock) - Clock4. TMS (Test Mode Select) Seletor de modo

    5. TRST (Test Reset) optional.

    JTAG padroniza os dispositivo programao. Alguns programadores de dispositivos, podem programardispositivos JTAG compatveis, mesmo quando ainda no entraram na lista do dispositivo.

    Alm da programao, a interface JTAG tambm permite testar e depurar seus microcontroladores e as portasI/O. Com um depurador JTAG pode desenvolver software diretamente na placa eletrnica original. O depuradordesencadeia interrupo de hardware e software, interrompe o programa e execut-lo em nico passo, semnecessidade de emulador e sem hardware adicional.

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    7/407Powered by Enderson Neves Cruz

    Kits de desenvolvimento e EmuladoresEmulao via JTAG

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    8/408Powered by Enderson Neves Cruz

    Desenvolvimento de programas

    Edio consiste na digitao, de todos os mnemnicos pertencentes ao programa, utilizando um editor de texto tipo ASCII. Nesteestgio o programa est em linguagem assembly e conhecido como cdigo fonte.

    Montagem a traduo do texto digitado (mnemnicos) para o respectivo cdigo de mquina (binrio) da CPU. Caso seja obtidosucesso nesta etapa ser gerado o cdigo objeto.

    Compilao - significa traduzir o cdigo de fonte de uma linguagem de programao de alto nvel para uma linguagem de programao debaixo nvel (por exemplo, linguagem de montagem assembly ou cdigo de mquina). Interpretadores - programas de computador que leem um cdigo fonte de uma linguagem de programao interpretada e o converte em

    cdigo executvel.

    Linkedio (Linker)- insere informaes relativas ao sistema operacional, que est sendo utilizado, ao cdigo fonte. Entretanto o papelmais relevante da linkedio a ligao de vrios cdigos objetos.

    Depurao (em ingls: debugging, debug) o processo de encontrar e reduzir defeitos num aplicativo de software ou mesmo emhardware. Erros de software incluem aqueles que previnem o programa de ser executado e aqueles que produzem um resultadoinesperado.

    Kits de desenvolvimento e Emuladores

    EdioEdit

    Interpretao

    ConstruoBuild

    DepuraoDebug

    CompilaoCompile

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    9/409Powered by Enderson Neves Cruz

    Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench

    IAR empresa Sueca que desenvolveu o software (IAR Systems).

    IAR Systems foi fundada em 1983 e desenvolve principalmente emuladores, compiladores para auxiliar nodesenvolvimento de sistemas microprocessados e microcontroladores.

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    10/4010Powered by Enderson Neves Cruz

    Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench

    Workspacerea de trabalho

    LogMessagens de erro e

    acompanhamento

    rea de edio Situao dosregistradores

    Situao da memria

    Botes de controlede execuo

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    11/40

    11Powered by Enderson Neves Cruz

    Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    12/40

    12Powered by Enderson Neves Cruz

    Agenda

    Modos de endereamento Contador de programa PC Ponteiro (Apontador de pilha) - SP Aula prtica 02 Aula prtica 03 Aula prtica 04 Dvidas

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    13/40

    13Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosEstrutura bsica de um sistema microcontrolado

    Memria

    Dispositivos I/OBarramento de Endereos

    Barramento de Dados

    Barramento de Controle

    CPU

    Clock

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    14/40

    14Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura tpica de um microcomputador tpico e suas Interfaces

    Barramento de Endereos

    Barramento de Dados

    Interface com os dispositivosde interao com o usurio

    Interface com os dispositivosde armazenamento em massa

    Interface com os dispositivosde controle e sensoramento

    Barramento de Controle

    MemriaMicroprocessador

    Barramento de Endereos

    Barramento de Dados

    Interface com os dispositivosde interao com o usurio

    Interface com os dispositivosde interao com o usurio

    Interface com os dispositivosde armazenamento em massaInterface com os dispositivosde armazenamento em massa

    Interface com os dispositivosde controle e sensoramento

    Interface com os dispositivosde controle e sensoramento

    Barramento de Controle

    MemriaMemriaMicroprocessadorMicroprocessador

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    15/40

    15Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosAcessando os dados

    Escrita de um dado no endereo de memria ou I/O

    Barramento de Endereos

    Barramento de Controle

    CPU

    Memria I/O

    Barramento de Dados

    Endereo Contedo

    0000 20

    0001 37

    1000 CC

    1001 15

    1002 AC

    XXXX F2

    Endereo Contedo0000 20

    0001 37

    03F8 AC

    YYYY F2

    Barramento de Endereos

    Barramento de Controle

    CPU

    Memria I/O

    Barramento de Dados

    Endereo Contedo

    0000 20

    0001 37

    1000 CC

    1001 15

    1002 AC

    XXXX F2

    Endereo Contedo0000 20

    0001 37

    03F8 AC

    YYYY F2

    Colocar o endereo desejado(por exemplo, 0000H) no barramento de endereo, colocar o dado desejado no

    barramento de dados e em seguida habilitar para escrita o bloco de memria ou I/O, indicando onde dever serrealizada a operao.

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    16/40

    16Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosAcessando os dados

    Leitura de um dado no endereo de memria ou I/O

    Barramento de Endereos

    Barramento de Controle

    CPU

    Memria I/O

    Barramento de Dados

    Endereo Contedo

    0000 20

    0001 37

    1000 CC

    1001 15

    1002 AC

    XXXX F2

    Endereo Contedo0000 20

    0001 37

    03F8 AC

    YYYY F2

    Barramento de Endereos

    Barramento de Controle

    CPU

    Memria I/O

    Barramento de Dados

    Endereo Contedo

    0000 20

    0001 37

    1000 CC

    1001 15

    1002 AC

    XXXX F2

    Endereo Contedo0000 20

    0001 37

    03F8 AC

    YYYY F2

    Colocar o endereo desejado(por exemplo, 1002H) no barramento de endereo, e em seguida habilitar para

    leitura o bloco de memria ou I/O, indicando onde dever ser realizada a operao. o dado desejado serdisponibilizado no barramento de dados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    17/40

    17Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosComponentes essenciais de um Microcontrolador

    Barramento de Endereos (Address Bus)

    Barramento de Dados (Data Bus)

    Memria dePrograma

    (ROM)

    Memria deDados(RAM)

    Portas deEntrada e Sada

    (I/O)

    Barramento de Controle (Control Bus)

    CPU

    Mundo Exterior

    Clock

    Barramento de Endereos (Address Bus)

    Barramento de Dados (Data Bus)

    Memria dePrograma

    (ROM)

    Memria deDados(RAM)

    Portas deEntrada e Sada

    (I/O)

    Barramento de Controle (Control Bus)

    CPU

    Mundo Exterior

    Clock

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    18/40

    18Powered by Enderson Neves Cruz

    Barramento de Endereos (Address Bus)

    Barramento de Dados (Data Bus)

    Memria dePrograma

    (ROM)

    Memria deDados(RAM)

    Portas deEntrada e Sada

    (I/O)

    Barramento de Controle (Control Bus)

    CPU

    Mundo Exterior

    Clock

    Barramento de Endereos (Address Bus)

    Barramento de Dados (Data Bus)

    Memria dePrograma

    (ROM)

    Memria deDados(RAM)

    Portas deEntrada e Sada

    (I/O)

    Barramento de Controle (Control Bus)

    CPU

    Mundo Exterior

    Clock

    Sistemas MicrocontroladosComponentes essenciais de um Microcontrolador

    CPU (Unidade central de processamento) : A unidade lgica aritmtica (ALU), que executa os

    clculos. Registradores necessrios para o funcionamento bsico

    da CPU, como o contador de programa (PC), ponteirode pilha (SP) e registrador de status (SR).

    Outros registradores para armazenar resultadostemporariamente.

    Decodificador de Instrues e outros circuitos lgicospara controlar a CPU, circuitos de reset e interrupes, eassim por diante.

    Memria de programa: memria (no-voltil somente deleitura, ROM), que mantm o seu contedo quando aalimentao removida.Memria de dados : conhecida como memria de acessoaleatrio (RAM) e, geralmente volteis.

    Portas de entrada e sada : Para fazer comunicao digitalcom o mundo exterior.

    Barramentos : fazer a ligao desses subsistemas para atransferncia de dados, endereos, controle e instrues.

    Clock: Para manter todo o sistema sincronizado. Pode sergerados internamente ou obtidos a partir de um cristal oufonte externa; MCUs modernos oferecem uma escolhaconsidervel de clocks.

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    19/40

    19Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura tpica da CPU de um Microcontrolador

    X

    Apontadorde pilha

    (SP)Contador de

    Programa(PC)

    R1

    Rn

    AcumuladorCdigo deinstruo Complementos

    Decodificador

    Unidade decontrole

    Buffer deEndereo

    Buffer deDados

    C

    Z

    CY

    AC

    P

    Unidade Lgica eAritmtica

    (ALU)

    FlagsRegistrador

    de status (SR)

    Registradorde instrues

    Registradores

    Barramento de Endereos

    Barramento de Dados

    Sinais de controle

    X

    Apontadorde pilha

    (SP)Contador de

    Programa(PC)

    R1

    Rn

    AcumuladorCdigo deinstruo Complementos

    Decodificador

    Unidade decontrole

    Buffer deEndereo

    Buffer deDados

    C

    Z

    CY

    AC

    P

    Unidade Lgica eAritmtica

    (ALU)

    FlagsRegistrador

    de status (SR)

    Registradorde instrues

    Registradores

    Barramento de Endereos

    Barramento de Dados

    Sinais de controle

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    20/40

    20Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquiteturas Von Newmann x Harvard

    A arquitetura Harvard um conceito mais recente que a de von Neumann. Ela adveio da necessidade de se obteruma arquitetura que pudesse trabalhar mais rapidamente. Em um computador baseado na arquitetura Von Neumann, a CPU pode tanto ler uma instruo ou ler/escrever

    um dado da/para a memria. Ambos no podem ocorrer ao mesmo tempo, pois a instruo e o dado utilizam omesmo sistema de barramento. O mapa de memria, que mostra os endereos em que cada tipo de memriaest localizado, torna-se particularmente importante.

    Num computador usando arquitetura Harvard, a CPU pode ler uma instruo e executar um acesso de dado namemria ao mesmo tempo, mesmo sem um cach. Como seu pipeline, esse tipo de arquitetura consegueprocessar um nmero maior de instrues por ciclo de clock. Alm disso, pode ser mais rpido para um circuitocomplexo porque as buscas de instrues e acesso a dados no so sustentados por uma nica via de memria.Possibilidade de tamanhos diferenciados entre barramento de dados e de programa

    Um problema com a arquitetura Harvard que as constantes (tabelas, muitas vezes de pesquisa) devem serarmazenados na memria do programa porque ela no-voltil. Isto significa que as constantes no pode ser lido

    da mesma forma como os valores volteis da memria de dados. Instrues especiais para ler essas tabelasdevem ser fornecidos ou parte da memria de programa deve ser mapeada em memria de dados.

    Memria dePrograma

    (ROM)

    Memria deDados

    (RAM)

    CPUAddress Bus

    Data Bus

    Address Bus

    Data Bus

    Memria dePrograma

    (ROM)

    Memria deDados

    (RAM)

    CPUAddress Bus

    Data Bus

    Address Bus

    Data Bus

    Memria dePrograma

    (ROM)

    Memria deDados

    (RAM)

    CPUAddress Bus

    Data Bus

    Espao dememria livre

    Memria dePrograma

    (ROM)

    Memria deDados

    (RAM)

    CPUAddress Bus

    Data Bus

    Espao dememria livre

    Arquitetura Von NewmannArquitetura Harvard

    l d

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    21/40

    21Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquiteturas Von Newmann x Harvard

    Pipeline Pipeline uma tcnica de hardware que permite que a CPU realize a busca de uma ou mais instrues alm da

    prxima a ser executada. Estas instrues so colocadas em uma fila de memria (dentro da CPU) ondeaguardam o momento de serem executadas.

    A tcnica de pipeline utilizada para acelerar a velocidade de operao da CPU, uma vez que a prximainstruo a ser executada est normalmente armazenada dentro da CPU e no precisa ser buscada da memria,normalmente muito mais lenta que a CPU.

    Busca Instruo 1Executa Instruo 1

    Busca Instruo 2

    Executa Instruo 2

    Busca Instruo 3

    Executa Instruo 3

    Busca Instruo 4 Despreza

    MOVLW 55H Busca SUB1 Executa SUB1

    MOVWF PORTO

    CALL SUB1

    BSF PORTA,3

    INSTRUO SUB1

    Fluxo de Instruo/ Pipeline

    Si Mi l d

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    22/40

    22Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosRISC x CISC

    CISC - Complex Instruction Set Computer

    Computador com um Conjunto Complexo de Instrues

    conjunto elevado e complexo de instrues

    formatos complexos e diferentes de instrues modos simples de endereamento memria vrios ciclo mquina por operao os chips so mais complexos e muito mais caros. facilita a programao

    Os processadores baseados nesta arquitetura contm umamicroprogramao, ou seja, um conjunto de cdigos de

    instrues que so gravados no processador, permitindo-lhereceber as instrues dos programas e execut-las, utilizandoas instrues contidas na sua microprogramao. Seria comoquebrar estas instrues, j em baixo nvel, em diversasinstrues mais prximas do hardware (as instrues contidasno microcdigo do processador).Como caracterstica marcante esta arquitetura contm umconjunto grande de instrues, a maioria deles em um elevadograu de complexidade. Os processadores CISC tm avantagem de reduzir o tamanho do cdigo executvel por jpossuirem muito do cdigo comum em vrios programas, emforma de uma nica instruo.

    Processadores CISC: x86 Intel, famlia Motorola M680x0Microcontroladores CISC: 8051,

    RISC - Reduced Instruction Set Computer

    Computador com um Conjunto Reduzido de Instrues

    conjunto reduzido e simples de instrues

    formatos simples e regulares de instrues modos simples de endereamento memria uma operao elementar por ciclo mquina uso de pipeline os chips so mais simples e muito mais baratos.

    A idia principal, que apesar de um processador CISC sercapaz de executar centenas de instrues diferentes, apenas

    algumas so usadas freqentemente. Poderamos ento criarum processador otimizado para executar apenas estasinstrues simples que so usadas mais freqentemente. Emconjunto com um software adequado, este processador seriacapaz de desempenhar quase todas as funes de umprocessador CISC, acabando por compensar suas limitaescom uma maior velocidade de processamento.

    Processadores RISC: DEC Alpha, SPARC, MIPS, e PowerPCMicrocontroladores RISC: PIC, MSP430, ARM

    Si Mi l d

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    23/40

    23Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosRISC x CISC

    Atualmente existem processadores, como o Pentium e o Athlon que utilizam uma arquitetura hbridaInternamente, o processador processa apenas instrues simples. Estas instrues internas, variam deprocessador para processador, so como uma luva, que se adapta ao projeto do chip. Sobre estas instruesinternas, temos um circuito decodificador, que converte as instrues complexas utilizadas pelos programasem vrias instrues simples que podem ser entendidas pelo processador. Estas instrues complexas sim,so iguais em todos os processadores. isso que permite que os processadores Athlon e um Pentium sejamcompatveis entre s.

    Maiores informaes: http://0fx66.com/blog/hardware/cisc-risc/

    Instrues de mquina

    Execuo daInstruo

    Instrues de mquina

    Converso paraMicrocdigo

    Microinstrues

    Execuo daMicronstruo

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    24/40

    Si t Mi t l d

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    25/40

    25Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosVantagens da utilizao de Microcontroladores

    Microcomputador-de-um-s-chip Pode reunir em um s chip:

    Microprocessador, Memrias (ROM,RAM, flash)

    Temporizadores (timers) Contadores WDT (Watch Dog Timer) POR (Power On Reset) Portas de comunicao (Serial, USB, I2C, etc.) Portas de I/O Conversores AD/DA etc.

    Menor tamanho Menor rea de placa Menor custo Facilidade no desenvolvimento Menor tempo de desenvolvimento Programa gravado na memria interna o que impede cpias ilegais Grande quantidade de fabricantes e famlias e tipos.

    Si t Mi t l d

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    26/40

    26Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosAplicaes

    Atualmente microcontroladores esto presentes em quase todos equipamentos eletrnicos.

    Eletrnicos de consumo Eletrnica automotiva Eletrnica de Segurana Automao Residencial Automao Industrial Robtica Telemetria/telecomando Instrumentao Lazer/Entretenimento etc.

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    27/40

    27Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Diagrama em blocos

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    28/40

    28Powered by Enderson Neves Cruz

    MAB, 16-Bit

    MDB, 16-Bit MDB, 8-Bit

    Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Diagrama em blocos

    CPU

    Interface JTAG

    Clock

    Portas de entrada e sada

    USARTsTimers

    WatchdogTimer

    Memria deDadosMemria de

    ProgramaConversor

    ADC

    Comparador

    Power OnReset

    Multiplicador por Hardware

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    29/40

    29Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Caractersticas

    Flexvel e poderosa capacidade de processamento. Arquitetura von-Neumann 16 bits RISC Arquitetura Ortogonal Sete modos de endereamento fonte (operando fonte) Quatro modos de endereamento destino (operando destino) Somente 27 instrues (core) e 24 emuladas Interrupes aninhadas em funo do nvel de prioridade Grande quantidade de registros Capacidade de execuo de programa em RAM

    Eficiente processamento de tabelas Rpida converso hex para decimal Grande nmero de perifricos, todos mapeados em memria Conversor A/D de 12 bits (2 s a 6MHz) Comparador analgico de preciso Mltiplos temporizadores e capacidade de PWM

    Conversor A/D tipo slope (rampa) USARTs Watchdog timer Mltiplos I/O com capacidade de interrupo Oscilador programvel Oscilador a cristal de 32 KHz Oscilador a cristal de 450KHz a 8MHz

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    30/40

    30Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Caractersticas

    Ultrabaixo consumo

    Consumo de corrente nominal de 0.1 a 400 A a 1MHz Faixa de tenso de alimentao de 1.8 a 3.6V Sada do modo de stand-by em 6 s.

    Grande capacidade de interrupo tornando o polling desnecessrio.Ferramentas de desenvolvimento completas e de fcil uso

    Simulador (incluindo perifricos e simulao de interrupo) Compilador C Assembler Linker Emulador via JTAG

    Vrias verses de dispositivos:

    ROM OTP FLASH EPROM

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    31/40

    31Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura Famlia MSP430x14x -Caractersticas

    Perifricos da famlia MSP430x14X: Sistema bsico de clock contendo:

    Um oscilador controlado digitalmente DCO Um oscilador a cristal de baixa freqncia LFXT1 Um oscilador a cristal de alta freqncia LFXT2

    Watchdog timer / temporizador de propsitos gerais Timer A3 (contador/temporizador de 16 bits com 3 registros de captura/compara e sadas PWM) Timer B7 (contador/temporizador de 16 bits com 7 registros de captura/compara e sadas de PWM) Portas de I/O 1 e 2 (8 bits de I/O cada, todas com capacidade de interrupo). Portas de I/O 3, 4, 5 e 6 (8 bits de I/O cada) Comparador A (comparador analgico de preciso ideal para converso A/D tipo slope) ADC/12 (conversor analgico/digital - 8 canais multiplexados de12 bits) USART0 e USART1(universal sncrono/assncrono recebe/transmite serial) Multiplicador de hardware

    Dispositivos 14X disponveis:

    MSP430F147 - 32KB + 256B Flash, 1KB RAM MSP430F148 - 48KB + 256B Flash, 2KB RAM MSP430F149 - 60KB + 256B Flash, 2KB RAM

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    32/40

    32Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura do microcontrolador PIC16F84A

    Sistemas Microcontrolados

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    33/40

    33Powered by Enderson Neves Cruz

    Sistemas MicrocontroladosArquitetura do microcontrolador PIC16F84A

    Caractersticas principais

    1k (1024) palavras de 14 bits para programa; 68 bytes de RAM para uso geral; 64 bytes de EEPROM para dados; Stack com 8 nveis; Arquitetura Harvard; Apenas 35 instrues RISC;

    15 registros especficos em RAM para controle do chip e seus perifricos; Timer de 8 bits com opo de prescaler de 8 bits; 13 pinos que podem ser configurados individualmente como entrada e sada; Alta capacidade de corrente nos pinos; Capacidade de gerenciar interrupes (at 5 entradas), do timer e EEPROM;

    Watch Dog para recuperao e reset em caso de travas no software; Memria de programa protegida contra cpias; Modo Sleep para economia de energia; Vrias opes de osciladores.

    DatasheetPIC16F84A

    Modos de Endereamento MSP430

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    34/40

    34Powered by Enderson Neves Cruz

    Modos de Endereamento MSP430

    Modos de endereamento Sintaxe Descrio Endereo Operando

    Modo registrador Rn O contedo do registrador o operando Registrador Contedo do Registrador

    Modo indexado X(Rn) Rn + X aponta para o operando.X armazenado na prxima word. Contedo do Registrador + X Memria

    Modo simblico ADDR PC + X aponta para o operando.X armazenado na prxima word. Contador de programa (PC) + X Memria

    Modo absoluto &ADDR A palavra aps a instruo contm o endereoabsoluto Fornecido diretamente na instruo Memria

    Modo registro indireto @Rn Rn usado para apontar para o operando. Contedo do Registrador Memria

    Modo indireto comautoincremento @Rn+

    Rn usado para apontar para o operando.Rn incrementado aps o uso da instruo. Contedo do Registrador Memria

    Modo imediato #N A palavra aps a instruo contm a constanteimediata N. Fornecido diretamente na instruo

    Contador de Programa - PC

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    35/40

    35Powered by Enderson Neves Cruz

    Contador de Programa PCContador de Programa ( Program Counter PC )

    O Contador de programa (PC/R0) aponta para a prxima instruo a ser executada. Cada instruo usa um nmero par de bytes ( 2, 4 ou 6), desta forma o contador de programa ser incrementado

    de acordo com o nmero de bytes da instruo O acesso das instrues no espao de endereamento de 64KB, realizado em Words, o PC alinhado para os

    endereos pares, para tanto o bit 0 sempre mantido em nvel lgico 0.

    Contador de programa - PC

    O PC pode ser lido ou escrito diretamente pelo software em execuo, permitindo o uso de tcnicas, como porexemplo: Desvio Calculado.Exemplos :

    MOV #USJT ,PC ;Desvio para o endereo USJTMOV R7 ,PC ;Desvio para o endereo contido em R7MOV @R14 ,PC ;Desvio indireto para o endereo apontado por R14

    Apontador de Pilha - SP

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    36/40

    36Powered by Enderson Neves Cruz

    Apontador de Pilha SPApontador de Pilha ( Stack Pointer SP )

    O apontador da pilha (SP/R1) utilizado pela CPU para armazenar os endereos de retorno de sub-rotinas einterrupes.

    Utiliza modo de prdecremento (decrementa e depois desempilha) e ps-incremento (incrementa e depoisempilha) .

    A cada operao de empilhamento (armazenar dado na pilha) o SP decrementado de 2, e a cada operao dedesempilhamento (leitura de dado na pilha) o SP incrementado de 2.

    O SP pode se utilizado por software em todos os modos de endereamento e com todas as instrues. O SP inicializado em memria RAM pelo usurio, sendo alinhado por endereos pares, para tanto o bit 0 sempre mantido em nvel lgico 0.

    Aps o reset o SP fica em valor indeterminado, devendo ser inicializado pelo usurio antes de utilizar a pilha.

    Apontador de Pilha - SP

    Exemplo :

    MOV 2(SP) ,R6 ;Carrega I2 em R6MOV R7 ,0 (SP) ;Escreve R7 em TOS

    PUSH #0123h ;Coloca 0123h em TOSPOP R8 ;R8 = 0123h

    Temos um caso especial da utilizao do SP como argumento para asinstrues PUSH e POPPUSH Armazenamento na pilhaPOP Leitura de um valor da pilha

    Registrador de Status SR

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    37/40

    37Powered by Enderson Neves Cruz

    Registrador de Status SRRegistrador de Status ( Status Register SR )

    Status Register (SR/R2): Registrador especial de 16 bits que contem os FLAGS de condies lgicas e aritmticasalem dos bits de controle de Low Power Mode (LPM) e bit de habilitao global das Interrupes Mascarveis.

    Registrador de Status ( Status Register SR )Descrio

    8 V Flag de estouto (Overflow). Ser setado se o resultado de uma operao aritmticatransbordar (overflow). O bit vlido para operao de byte ou de word.

    7 SCG1 Gerador de clock do sistema . Controla o sinal SMCLK.

    6 SCG0 Gerador DC do DCO (Oscilador Controlado Digi ta lmente) do sistema. Controla o sinal DCOCLK.

    5 OSCOFFFlag de desligamento do cristal oscilador do sistema de clock . Se este bit estiver setado, o oscilador a cristal entra em estado desligado. Todas asatividades dependentes deste sinal de clock cessam, contudo o contedo de RAM, portos e registros so mantidos. Caso a CPU dependa deste clocksomente voltar a funcionar se ocorrer uma interrupo externa, quando o bit GIE estiver habilitado ou um sinal NMI ou reset.

    4 CPUOFF Flag de desligamento do clock da CPU . Se este bit estiver setado a CPU entra em modo desligado. A execuo de programaspra, contudo, RAM, registros e portas so preservados. Somente sair deste estado atravs de interrupo ou reset.

    3 GIEFlag habilitador geral de interrupo (General Interrupt Enable) . Se setado habilita todas as interrupes mascarveis. Se resetado desabilita todas asinterrupes mascarveis. O bit GIE resetado automaticamente pela interrupo e setado automaticamente pela instruo RETI ou por outra instruoapropriada.

    2 N Flag Negativo. Ser setado se o resultado de uma operao for negativo. Em operaes de word o bit N = bit 15 do resultado.Em operaes de byte o bit N = bit 7 do resultado.

    1 Z Flag Zero.Ser setado se o resultado de uma operao de byte ou word for zero. Caso contrrio ser resetado.

    0 C Flag de transporte (carry) . Ser setado se uma operao produzir um carry (vai um) e zerado se no houver carry.Em algumas instrues o bit de carry indica resultado diferente de zero (bit de zero invertido).

    Bit

    Os bits de status V, N, Z e C so modificados somente com instrues especficas, consulte o conjunto de instrues.

    Conjunto de instrues

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    38/40

    38Powered by Enderson Neves Cruz

    j

    Descrio

    1 MOV Copia dados da fonte para o destino

    2 CLR Apaga o contedo do destino

    3 SWP Troca os bytes do destino

    4 PUSH Amazena um dado na pilha5 POP Restaura um dado da pilha

    6 BIC Apaga um ou mais bits do destino

    7 BIS Seta um ou mais bits do destino

    Instrues de movimentao e manipulao de dados

    Instruo Descrio

    8 ADD Adio

    9 ADDC Adio com transporte

    10 ADC Adio do transporte

    11 DADD Adio decimal

    12 DADC Adio decimal com transporte

    13 SUB Subtrao

    14 SUBC Subtrao com emprstimo

    15 SBC Subtrao o bit de emprstimo

    16 INC Incremento

    17 INCD Incremento em dois

    18 DEC Decremento

    19 DECD Decremento de dois

    20 RLA Rotao aritmtica esquerda (multiplicao por 2)

    21 RRA Rotao aritmtica direita (diviso por 2)

    22 SXT Extenso do sinal23 AND Operao lgica E

    24 XOR Operao lgica Ou Exclusivo

    25 INV Inverte os bits (Operao lgica NOT)

    26 RLC Rotao esquerda por meiodo transporte

    27 RRC Rotao direita por meiodo transporte

    Instrues Aritmticas e Lgicas

    Instruo

    Conjunto de instrues

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    39/40

    39Powered by Enderson Neves Cruz

    j

    Descrio

    28 BIT Teste de bits

    29 CMP Comparao

    30 TST Testa se igual a zero

    31 BR Desvio absoluto incondicional32 JMP Slato absoluto incondicional

    33 JEQ/JZ Desvia se igual a zero

    34 JNE/JNZ Desvia se diferente de zero

    35 JC/JHS Desvia se C = 1 ou se maior ou igual

    36 JNC/JLO Desvia se C = 0 ou se menor

    37 JGE Desvia se maior/igual38 JL Desvia se menor

    39 JN Desvia se negativo

    40 CALL Chamada de sub-rotina

    41 RET Retorno de sub-rotina

    42 RETI Retorno de interrupo

    Instrues de teste e desvio

    Instruo Descrio

    43 CLRC Apaga bit C

    44 CLRN Apaga bit N

    45 CLRZ Apaga bit Z

    46 SETC Seta bit C47 SETN Seta bit N

    48 SETZ Seta bit Z

    49 DINT Desabilita interrupes

    50 EINT Habilita interrupes

    51 NOP Nenhuma operao

    Instruo

    Instrues de controle da CPU

    Conjunto de instrues

  • 8/8/2019 Aulas 2 - Laboratrio de Microprocessadores

    40/40

    40Powered by Enderson Neves Cruz

    j Leis de De Morgan