26
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – Conversor A/D – PIC16F877A PIC16F877A Jadsonlee da Silva Sá [email protected] www.univasf.edu.br/~jadsonlee. sa

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

Embed Size (px)

Citation preview

Page 1: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 2: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 3: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 4: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 5: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 6: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 7: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 8: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 9: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 10: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 11: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 12: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 13: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 14: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 15: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 16: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 17: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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)

Page 18: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 19: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva 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

Page 20: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo 1Exemplo 1 Assembly.

Page 21: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo 1Exemplo 1 Assembly.

Page 22: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo 1Exemplo 1 Assembly.

Page 23: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo 1Exemplo 1 Assembly.

Page 24: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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

Page 25: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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.

Page 26: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Conversor A/D – PIC16F877A Jadsonlee da Silva Sá

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