sábado, dezembro 12, 2009

FreeScale MC9S08LL16 - Parte 3

Continuando a nossa descrição rápida do microcontrolador FreeScale MC9S08LL16, vamos ver alguns recursos de entrada e saída.

Entrada e Saída Digital

O MC9S08LL16 possui 40 pinos associados a cinco portas de E/S digital, denominadas PTA a PTE. Destes 40 pinos, 2 podem ser usados somente para saída (PTB2 e PTC6).

Praticamente todos estes pinos são compartilhados com outros periféricos e a direção de cada pino é controlada isoladamente. A associação entre os bits das portas e os pinos correspondentes depende dos periféricos estarem ou não habilitados, do tipo de periférico (analógico ou digital) e da direção configurada:

Se um periférico analógico estiver habilitado, os bits ficam desassociados dos pinos, tanto para leitura como para escrita.

Se um periférico digital estiver habilitado, um pino de saída estará desassociado do bit correspondente, mas o sinal em um pino de entrada poderá ser lido no bit correspondente.

Se nenhum periférico estiver habilitado:
  • um pino configurado para saída será controlado pelo bit correspondente. A leitura do bit retorna o valor que foi escrito.
  • um pino configurado para entrada será lido no bit correspondente. Escritas neste bit serão ignoradas.
Para cada pino de E/S digital pode ser ativado um resistor interno de pull-up e pode ser selecionado um modo que limita a taxa de alteração mas reduz a emissão de interferência eletro-magnética (controle do slew-rate). É possível selecionar também um modo que aumenta a capacidade de gerar e absorver corrente de 2 para 10 mA; entretanto existe um limite total de corrente (100 mA) que precisa ser observado.

Os pinos compartilhados com a função LCD são do tipo open-drain.

Os pinos da porta A podem ser configurados para gerar interrupção por nível ou mudança de sinal. A polaridade do nível ou o sentido da mudança são configuráveis. Todas estas configurações são independentes para cada um dos oito pinos. Esta função é chamada Keyboard Interrupt (KBI) mas pode ser usada para outros fins além da detecção de teclas.

Conversão Analógica Digital - ADC

O módulo de conversão analógica digital é composto de um conversor de 12 bits por aproximação sucessiva (SAR) e um multiplexador analógico. Ele pode converter sinais presentes em até oito pinos do microcontrolador (um por vez). Dois destes pinos são compartilhados com o LCD, cuidado deve ser tomado para não ativar as duas funções (LCD e ADC) simultaneamente neste pinos, pois o módulo LCD gera tensões incompatíveis com o ADC.

Além dos sinais nos pinos, podem ser selecionadas para entrada do ADC um sensor de temperatura interno e várias tensões de referência.

Uma conversão pode ser disparada por software ou pelo relógio de tempo real (TOD). É possível configurar também conversões sucessivas. O fim de uma conversão pode ser determinado consultando um bit no registrador de controle do ADC ou através da geração de uma interrupção.

O resultado da conversão pode ser lido como 8, 10 ou 12 bits.

Comparador Analógico - ACMP

O ACMP permite comparar dois sinais analógicos; um destes sinais pode ser uma referência interna de 1.17V. O resultado da comparação pode ser lido em bit de um registrador de controle do ACMP e, opcionalmente, colocado em um pino de saída. É possível também gerar um interrupção na subida, descida ou qualquer mudança do resultado da comparação.

A figura abaixo mostra o diagrama de blocos do comparador analógico:

Nenhum comentário: