A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe"— Transcrição da apresentação:

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

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

3 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

4 Família de Microcontroladores 32-bit ColdFire ® V1 ColdFire: Microprocessador que deriva da arquitetura da família Motorola

5 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.

6 Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO: 1)Modo Implícito: Não há operandos na instrução (operandos em registradores internos);

7 Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO: 2) Modo Relativo: Range de 8 bits com sinal;

8 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

9 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.

10 Descrição do HCS08/JM60 MODOS DE ENDEREÇAMENTO: 5) Modo Estendido: Operando na faixa até 0x00100 – 0xFFFF (64 Kbytes).

11 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.

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

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

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

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

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

17 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)

18 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.

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

20 Conceito Flexis A Freescale se tornou a primeira empresa que desenvolveu máquinas de 8 bits 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.

21 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.

22 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.

23 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.

24 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, PTADD Melhor usar: PTADD0 = 1;

25 CUIDADOS na MIGRAÇÃO 2) 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.

26 CUIDADOS na MIGRAÇÃO 3) 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 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;

27 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 = 0x0020 Para 51JM128: TPM1SC = 0xFFFF x0020 =0xFFFF8020

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

29 CUIDADOS na MIGRAÇÃO 4) 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.

30 MC9S08QG e MC9S08JM60 Mapa de memória

31 JM60/JM128 Mapa de Memória

32 Tabela Flexis JM60/128

33

34

35 Família de Microcontroladores 32-bit ColdFire ® V1 Devido à saturação das capacidades e desempenho das máquinas e 8 16 bits, para algumas aplicações, as empresas Atmel, Freescale, Renesas, a STMicroelectronics, a Oki, incluindo outros estão desenvolvendo soluções em 32-bit de baixo custo e baixo consumo.

36 Família de Microcontroladores 32-bit ColdFire ® V1

37 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.


Carregar ppt "AULA3 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe"

Apresentações semelhantes


Anúncios Google