aula3 – introdução a microcontrolador disciplina: aplicações avançadas de microprocessadores...

37
AULA3 – AULA3 – Introdução a Introdução a Microcontrolador Microcontrolador Disciplina: Aplicações Avançadas de Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe Profa. Ana T. Y. Watanabe [email protected]

Upload: internet

Post on 17-Apr-2015

112 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

AULA3 – AULA3 – Introdução a MicrocontroladorIntrodução a Microcontrolador

Disciplina: Aplicações Avançadas de Disciplina: Aplicações Avançadas de Microprocessadores (AAM)Microprocessadores (AAM)

Profa. Ana T. Y. WatanabeProfa. Ana T. Y. [email protected]

Page 2: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

“Bem-aventurado o homem que acha sabedoria, e o homem que adquire conhecimento;” Provérbios 3:13

Page 3: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Tópicos da aula:• Microcontroladores Contínuo• Descrição do HCS08/JM60• MC9S08QG e MC9S08JM60 (Mapa de

memória) • MC9S08JM60 e JM128 (Mapa de Memória)• Tabela Flexis JM60/128 • Perguntas

Page 4: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Família de Microcontroladores32-bit ColdFire ® V1

ColdFire: Microprocessador que deriva da arquitetura da família Motorola 68000.

Page 5: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODELO DE PROGRAMAÇÃO:

Compatível com as famílias anteriores de 8 bits;

O modelo de programação conserva a estrutura das primeiras famílias de microcontroladores de 8 bits.

O núcleo da CPU possui possui 5 registradores especiais:

1. Acumulador (A) de 8 bits;2. Contador de programa (PC) de 16 bits;3. Registrador de Índice(H:X) de 16 bits;4. Apontador de Pilha(SP) de 16 bits;5. Registrador de Condição do processador(CCR) de 8 bits.

Page 6: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

1) Modo Implícito: Não há operandos na instrução (operandos em registradores internos);

Page 7: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

2) Modo Relativo: Range de 8 bits com sinal;

Page 8: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

3) Modo Imediato: Os operandos imediatos devem ser precedidos do caracter #.

Obs.: Em operando de 16 bits, a parte alta do operando é localizado na parte inferior da memória e a parte inferior situa-se na parte superior da memória (método big endian).

LDHX #$1234 ;$00B0 12 STHX $00B0 ;$00B1 34

Page 9: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO: 4) Modo Direto: Operando na faixa de endereço:

0x0000–0x00FF, são mais eficientes e rápidos.

Page 10: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

5) Modo Estendido: Operando na faixa até 0x00100 – 0xFFFF (64 Kbytes).

Page 11: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

6) Modo Indexado a H:X (16 bits) com 5 variações e 2 indexado ao SP como referência de base. A indexação pelo SP facilita o acesso indexado aos valores armazenados na pilha e melhora dramaticamente a eficiência em linguagem C.

Page 12: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

Page 13: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

Page 14: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

Page 15: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

Page 16: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO:

Page 17: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do JM60 Mapa de Memória

A memória On-chip na série MC9S08JM60 consiste de:RAM, flash, os registradores de controle/status e E/S.

Os registradores estão divididos em 3 grupos:

• Direct-page registers (0x0000 through 0x00AF)• High-page registers (0x1800 through 0x185F)• Nonvolatile registers (0xFFB0 through 0xFFBF)

Page 18: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do JM60 Mapas de Memória • Direct-page registers (0x0000 through 0x00AF)

Estes registradores estão localizados nas primeiras 176 posições do mapa de memória, portanto são acessados com instruções de modo direto.

• High-page registers (0x1800 through 0x185F)Os registradores de alta de página são usados com muito menos frequência (estão localizados acima 0x1800 no mapa de memória).Os registradores e variáveis mais usados ficam no espaço da página direta.

• Nonvolatile registers (0xFFB0 through 0xFFBF)A área de registradores não voláteis consiste de um bloco de 16 posições em memória flash para controle de segurança e opções de proteção bloco.

Page 19: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Descrição do JM60

Distribuição de módulos do microcontrolador HCS família JM60

Page 20: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Conceito Flexis A Freescale se tornou a primeira empresa

que desenvolveu máquinas de 8bits que podem migrar para máquinas de 32 bits.

Tem a filosofia de consumir a menor quantidade de tempo, energia e desenvolvimento mais curto.

Tudo emoldurado na estratégia denominada Controller Continuum.

A estratégia Controller Continuum visa a gradual migração da 8 bits para arquiteturas mais poderosas ColdFire ®, assim versões do V2 a V4.

A V1 versão pode ser chamado de "elo perdido", o que não é tão poderoso quanto versões posteriores, mas permite a migração gradual para máquinas mais complexas.

Page 21: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Conceito Flexis As aplicações nesta família podem migrar, com algumas

modificações da família ColdFire V1 ® de 32 bits para HCS08 e vice-versa. 

A coisa interessante da migração, é o poder de expansão que podem ter projetos em 8 bits para arquiteturas de 32 bits num custo muito reduzido. 

Nas migrações são considerados três aspectos: o esquema de utilização dos módulos, o mecanismo de interrupção, a  distribuição de E/S, o mecanismo do relógio, entre outros.

Page 22: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Conceito Flexis Pela figura abaixo pode-se  concluir  como periféricos Freescale 

são comuns num único pino para depuração e, tanto quanto possível as atribuições do mesmo pino para Máquinas de 8 e 32 bits. A diferença reside no acoplamento de núcleos diferentes.

Page 23: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Conceito Flexis O consumo é outro aspecto crucial para a tecnologia ao  migrar  8-32 bits. Neste aspecto a Freescale foi bastante

cuidadosa e tem surpreendido com o mínimo diferencial  de consumo entre  máquinas FLEXIS .

 Embora a arquitetura de 8 bits, em média, consome 22mA, arquiteturas de 32 bits consumirá em média 60,9 mA. Estes dados foram retirados na máxima performance um funcionamento do relógio de 48MHz.

Page 24: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO O usuário deve tomar certas precauções ao migrar projetos com

tecnologia FLEXIS . Como já visto, a arquitetura do núcleo das máquinas são muito diferentes, embora tenham mantido muitas das características de periféricos do microcontrolador.

Algumas destas precauções estão listadas abaixo:1) Incompatibilidade de instruções de baixo nível: Devido à grande

diferença entre seus núcleos, não é aconselhável inserir como instruções de linhas de código de programa assembly.Se um programa exige a inclusão de instruções de baixo nível, o usuário deve fazer a conversão para a nova montadora. Mas na medida do possível,recomendamos eliminar código de baixo nível e substituí-lo com as instruções em C / C + +. Por exemplo:Ao invés de usar a instrução do HCS08:

Asm: BSET 0 , PTADDMelhor usar:PTADD0 = 1;

Page 25: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO2) Processos de exceções e vetorização de interrupções de periféricos: Os vetores de interrupções de ambas as máquinas não são  diretamente compatíveis, porque o número de interrupções não são iguais.Outra alternativa é consultar o arquivo que está redefinindo o nome, e o número do microcontrolador a ser utilizado (PEJ: MCF51JM128.h), o qual está localizado na pasta Include do projeto. Por exemplo, o vetor da  interrupção do módulo RTC  na máquina MC9S08JM60  é 29, cujo equivalente em MCF51JM128  é de 91.

Page 26: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO3) Mapas de memória compatíveis: Observar que ao compartilhar os endereços da memória, as declarações absolutas não funcionam. Os locais e tamanhos diferentes tipos de memória são controlados pelo LINKER.Um exemplo de uma declaração inadequada para uma variável na memória é:

int var @ 0x400 = 1;

Neste caso, ambas as arquiteturas iriam interpretá-los diferentes por ser do tipo absoluto.Uma solução seria usar uma declaração como: int var = 1;

Page 27: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO Mas há uma relação entre  a localização dos registros de

configuração de memória de periféricos controlada pela seguinte relação:Registo periférica endereço de 8 bits = Endereço do registrador de 32 bits periféricos + 0xFFFF8000

Por exemplo:Para S08JM60: TPM1SC = 0x0020Para 51JM128: TPM1SC = 0xFFFF8000 + 0x0020 =0xFFFF8020

Page 28: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO O compilador CodeWarrior  permite diretiva:

# pragma : seleciona uma opção do compilador. 

Por exemplo:# Pragma warn_absolute on / / gerar um relatório de todos os / / declarações absolutos

/ / encontrados;

# Pragma relatório check_asm  / / gerar um relatório de todas

/ / as instruções em formato de

/ / assembly;

Page 29: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

CUIDADOS na MIGRAÇÃO4) Tempo de Execução  diferente: 

Por motivos óbvios, a máquina de 32 bits é mais veloz que a máquina de 8 bits. 

Portanto, é necessário ter em conta as definições de velocidade, devido a atrasos e temporizações no interior dos programas.

Page 30: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

MC9S08QG e MC9S08JM60 Mapa de memória

Page 31: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

JM60/JM128 Mapa de Memória

Page 32: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Tabela Flexis JM60/128

Page 33: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Tabela Flexis JM60/128

Page 34: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Tabela Flexis JM60/128

Page 35: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Família de Microcontroladores32-bit ColdFire ® V1

Devido à saturação das capacidades e desempenho das máquinas e 816 bits, para algumas aplicações, as empresas Atmel, Freescale, Renesas, a STMicroelectronics, a Oki, incluindooutros estão desenvolvendo soluções em 32-bit de baixo custo e baixo consumo.

Page 36: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Família de Microcontroladores32-bit ColdFire ® V1

Page 37: AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Perguntas:

1)O que são modos de endereçamento? Cite algumas.2) O que é Controller Continuum?3) Por que não é possível escrever em Assembly para o JM60 e usar também no JM128? O que se deve fazer?4) Por que os fabricantes estão desenvolvendo soluções em 32-bit de baixo custo e baixo consumo?5) Quais os cuidados que devem ser tomados ao migrar de 8 para 32 bits na familia JM?6) O JM128 é mais veloz que o JM60? Teste isto através de um programa.