quarta-feira, dezembro 09, 2009

FreeScale MC9S08LL16 - Parte 2

Demorou um pouco, mas estou retomando os meus posts sobre o microcontrolador Freescale MC9S08LL15 que eu comecei aqui.

Clock

O módulo ICS do MC9S08LL16 é o responsável por gerar os clocks para a CPU e para os dispositivos. A figura abaixo mostra a distribuição de clock nos microcontrolador (clique para ampliar).

O ponto de partida é o ICS. Ele possui um FLL (Frequence Locked Loop) que é capaz de gerar um sinal na faixa de 16 a 20MHz extremamente preciso a partir de uma referência interna ou externa na faixa 31.25 a 38.4KHz.

A referência interna é de 32KHz. A referência externa (XOSCVLP na figura) é um cristal ou ressonador cerâmico na faixa de 31.25-38.4KHz ou 1-16MHz, dividido por uma potência de 2 de 1 a 1024 antes de entrar no FLL.

Opcionalmente pode-se "pular" o FLL, gerando os sinais de clock diretamente a partir da referência (com menos precisão mas consumindo menos energia).

Dos vários clocks gerados pelo ICS, o mais importante é o ICSOUT, que alimenta a CPU e, dividido por dois, a maioria dos periféricos (é o BUSCLK na figura). O ICSOUT é gerado dividindo a saída do FLL ou uma das referências por uma potência de 2 entre 1 e 8.

A figura abaixo mostra o diagrama de blocos do ICS.

Watchdog - COP

O watchdog do MC9S08LL16 (chamado de COP) pode ser alimentado por uma referência interna de 1kHz (o LPO - Low Power Oscilator) ou pelo bus clock. Uma vez ativado, o software deve escrever periodicamente em um registrador dentro de um certo tempo ou o microcontrolador é ressetado. Um detalhe interessante é que uma vez ligado o COP não pode ser desligado.

Relógio de Tempo Real - TOD

O TOD (Time of Day) é um contador de 8 bits alimentado por um sinal de 4Hz que pode ser gerado a partir de várias opções de fonte de clock e divisão de clock. O contador pode ser usado para gerar interrupções periódicas e retirar o microcontrolador de alguns dos modos mais agressivos de economia de energia (particularmente o STOP2).

Economia de Energia

O MC9S08LL16 dispõe de vários recursos para economizar energia. O primeiro deles é a possibilidade de desligar o clock nos periféricos não utilizados.

Existem seis modos de operação:
  • RUN: modo normal, com o processador a velocidade total e o regulador interno de tensão operando.
  • LPRUN: modo econômico, requer que o processador e os periféricos estejam operando com clock de até 125KHz. O regulador interno de tensão é colocado em standby.
  • WAIT: neste modo o processador para até que receba uma interrupção.
  • LPWAIT: combina os dois modos anteriores, colocando o regulador interno em standby e parando a CPU até receber uma interrupção.
  • STOP2: para o clock do processador e o bus clock; quase tudo é desligado. Ficam operantes Ram, o relógio de tempo real (TOD), o oscilador de baixo consumo e o módulo LCD. A saída do modo STOP2 é feita através de um sinal externo de wakeup ou do TOD e equivale a um reset, exceto por manter o conteúdo da Ram.
  • STOP3: desliga praticamente tudo, mantendo apenas os registradores da CPU, a Ram e o estado dos pinos de E/S. A saída é feita por Reset.
No próximo post vamos começar a ver os recursos de entrada e saída.

Nenhum comentário: