Upload
internet
View
107
Download
3
Embed Size (px)
Citation preview
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Conversor A/D – Conversor A/D – PIC16F877APIC16F877A
Jadsonlee da Silva Sá
[email protected]/~jadsonlee.sa
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Conversor A/D Utilizado para converter
grandezas analógicas em digitais.
Canal de entrada
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Exemplo de aplicação: temperatura ambiente
ao longo do dia.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Sensor de temperatura – Converte uma grandeza
física em uma grandeza elétrica (tensão). Ex.: LM35 e termopar.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Sinais analógicos e digitais.
Sinal amostrado Sinal DigitalizadoQuantidade de bits -
Resolução.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Tensão de referência (Faixa de tensão do
sinal analógico).
Conversor A/D de 8 bits – 256 níveis de quantização.
Tensão de referência de 0V – 5V, teríamos a seguinte resolução.
5 019,53
256
V VmV
Cada conversão dura um determinado tempo.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Possui 8 canais de entrada de 10 bits (1024 níveis).
Tensão de referência selecionada via software (VDD, VSS, Vref+ e Vref-).
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Pode funcionar durante o SLEEP.
– Clock do A/D deve ser derivado de um oscilador RC interno ao A/D.
Diagrama de
Blocos.Os dados
convertidos são armazenados em dois registradores
ADRESH e ADRESL.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Registradores relacionados.
Deve-se setar os correspondentes bits de TRISA e TRISE como entradas.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Quando a conversão é finalizada, os seguintes eventos
ocorrerão:
– Os dados são armazenados nos registradores ADRESH e ADRESL;
– O bit GO/DONE de ADCON0 é zerado;
– O bit ADIF é setado.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Configurando o módulo ADC:
1. Configure a tensão de referência e os pinos analógicos – ADCON1.
2. Selecione o canal de entrada , o clock de conversão e acione o módulo – ADCON0.
3. Configure a interrupção (se desejado) – ADIF = 0, ADIE = 1, PEIE = 1 e GIE = 1.
4. Espere pelo tempo de aquisição requisitado.5. Inicie a conversão.6. Espere a conversão ser finalizada.7. Leia os dados convertidos em ADRESH e ADRESL, e
zere o bit ADIF.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Temporização durante uma conversão A/D.
20 μs (mínimo)
12TAD
(mínimo)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Conversor A/DMódulo Conversor A/D Tempo de conversão de um bit - TAD.
– Tempo mínimo para conversão dos 10 bits – 12 TAD.
– O valor mínimo de TAD deve ser de 1,6 μs.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 1 Conversão A/D e mostra o resultado usando uma
barra de LEDs.
5 1023 1111111111
0 0 0000000000
V
V ADC
V
1023*
5
VADC
Divisor de tensão
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 1 Assembly.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 1 Assembly.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 1 Assembly.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 1 Assembly.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 1Exemplo 150% 2,5 V 01 1111 1111 = 511d
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo 3Exemplo 3 Conversão A/D Linguagem C.
Com 20MHz, posso dividir
Fosc por 32 ou 64.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
TarefaTarefa
Faça um programa em assembly e outro em C, que a cada interrupção do timer 1 (período = 1s), realiza a conversão A/D de um sinal no canal 0 e transmite o resultado via USART para um PC (ver aula passada sobre serial).