terça-feira, outubro 19, 2021

ADC (Conversor Analógico Digital) - Parte 5 - MSP430F2013

Faz algum tempo que não falo no MSP430, um microcontrolador muito interessante mas que não fez muito sucesso com os makers. O modelo MSP430F2013 foi o primeiro que eu tive contato como parte da ferramenta eZ430-F2013. E este modelo contém um ADC Sigma Delta (SD16).

Diagrama de bloco do SD16 (fonte: MSP430x2xx Family User Guide)


Especificações

Os dados abaixo vem do datasheet, atenção para os detalhes no resto do texto:

  • Tipo: sigma delta
  • Resolução: 16 bits
  • Clock: 30 a 1100 KHz
  • Tempo de conversão:  ver abaixo
  • Referências: interna ou externa
  • Referência interna 1,2V (+/- 0,1V)
  • Entradas multiplexadas: 8 entradas diferenciais, sendo até 5 disponíveis em pinos (dependendo do encapsulamento), uma ligada a sensor interno de temperatura, uma ligada a um divisor resistivo para medir a tensão de alimentação e uma para calibração do ADC.
Disparo e término da conversão

A aplicação pode disparar um conversão de duasformas:
  • Através de um bit no registrador de controle. Isso gera uma conversão única.
  • Através do sinal de fim de conversão. Neste caso uma nova conversão é disparada automaticamente ao final (modo contínuo).
O término da conversão pode ser detectado em um bit de registrador ou (opcionalmente) usando uma interrupção. Uma opção é só gerar a interrupção a "n" conversões, onde n pode variar de 1 a 4. Desta forma se "joga fora" automaticamente 1 a 3 conversões. Isto pode ser útil quando o ADC é ativado de forma intermitente e queremos garantir que ele estará estabilizado na leitura utilizada.

Tempo de Conversão

O datasheet não informa um tempo de conversão, mas ele pode ser calculado a partir do clock e da taxa de oversampling. O clock é gerado por um dos quatro clocks do MSP430, dividido por dois estágios (o primeiro com divisores 1, 3, 16 e 48 e o segundo com divisores 1, 2, 4 e 8); a frequência máxima é 1,1MHz. A taxa de oversampling pode ser programada para 32, 64, 128, 256, 512 e 1024; taxas maiores resultam em maior precisão (para obter os 16 bits deve ser usado 1024). Supondo um clock de 1MHz e oversampling de 1024, o tempo de conversão será 1,024 milisegundos. 


O ADC sigma delta do MSP430 é bastante complexo, recomendo um estudo atento do User Guide para quem pretender usá-lo.

Nem todos os MSP430 utilizam o SD16, uma lista dos modelos com ele pode ser vista aqui,


Nenhum comentário: