Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » calculatoare
Interfatarea paralela a convertoarelor analog - digitale

Interfatarea paralela a convertoarelor analog - digitale


Interfatarea paralela a convertoarelor analog - digitale

In acest scop vom utiliza convertorul ADS7821 convertor cu registru de aproximatii succesive de 16 biti. Cateva date tehnice importante: frecventa maxima 100 kHz, domeniul tensiunilor de intrare: 0 la 5 V, poate utiliza atat o referinta de tensiune interna, cat si una externa, poate fi conectat direct la un bus de sistem.


Schema bloc a sa este prezentata in figura

Pentru a-l putea conecta, este necesar sa cunoastem care este modul de functionare al convertorului. Astfel, semnalul Read/Convert (R/C#) asigura citirea rezultatului sau declansarea conversiei, semnalul CS# permite trecerea bus-ului din starea High Impedance intr-una din starile 1 sau 0 logic, semnalul BYTE permuta magistralele low/high de iesire, iar linia BUSY# semnaleaza situatia in care convertorul se gaseste in faza de esantionare si conversie a semnalului analogic.

Pentru a realiza conversia de semnal va trebui sa cunoastem care este succesiunea de semnale de comanda. Combinatiile posibile sunt prezentate in figura

Astfel aplicand simultan un 0 logic pe liniile CS# si R/C# si mentinand cel putin 40 ns linia R/C# in zero logic realizam esantionarea si conversia semnalului analogic. Semnalul BUSY va sta in zero logic din momentul initierii conversiei si pana la momentul la care aceasta s-a incheiat. Convertorul il va aduce automat pe 1 logic, moment la care valoarea numerica corespunzatoare semnalului de intrare va fi valida pe iesirea convertorului.

Linia BYTE va permuta bitii inferiori si superiori ai rezultatului. Astfel daca BYTE = 0, pinii de iesire ai convertorului de la 6 la 13 vor scoate semi-byte-ul mai semnificativ, pentru ca daca BYTE = 1, aceiasi pini sa retina cei mai putini 8 biti ai rezultatului conversiei. (???????????fuck)

Strategia urmata va consta in:

declansarea conversiei prin resetarea liniilor CS# si R/C#

trecerea dupa mai mult de 40 ns a semnalului R/C# in 1 logic



citirea rezultatului atunci cand linia BUSY# va trece in 1 logic.

Pentru implementarea achizitiei vom putea folosi atat unul cat si celalalt dintre controller-e.

Sa analizam avantajele si dezavantajele acestor implementari.

Structura schemei electrice este gandita pentru procesorul AT89C2051, in urma analizei resurselor pe care acesta le poseda, precum si a necesitatilor datorate convetorului analog-digital ADS7821.

Legand liniile CS#, R/C# si BYTE la portul 3 al microcontroller-ului nu afectam functionalitatea acestuia caci cele doua canale temporizatoare le vom folosi, unul pentru generarea ratei de esantionare a semnalului analogic, iar celalat drept generator al frecventei de ceas pe linia seriala de date a UART.

Liniile portului P1 sunt direct conectate la liniile 6 la 13 ale convertorului.

Esalonarea in timp a evolutiei semnalelor este data in figura urmatoare

respectiv comutarea celor doua bus-uri -inferior (low), respectiv superior (high), este realizata de catre semnalul BYTE.

Vezi figura

Pentru achizitia datelor va trebui sa alocam resursele disponibile ale microcontroller-ului astfel:

vom scrie rutina de servire a intreruperilor corespunzatoare semnalului BUSY, astfel ca pe frontul pozitiv al acestuia sa se declanseze rutina de servire. (vezi declansarea se face pe frontul descrescator, iar starea de interes la achizitie este starea corespunzatoare frontului crescator, deci am introdus inversorul).

vom scrie rutina de start al conversiei A/D -rutina de servire corespunzatoare intreruperilor timer overflow de la canalul 0.

vom scrie rutina de servire a intreruperilor corespunzatoare UART

vom proiecta rutina de initializare

vom scrie programul principal de functionare ce cuprinde rutina de analiza a informatiilor vehiculate prin UART

Programul ce implementeaza aceasta aplicatie a considerat urmatorul protocol:

Caracterul "A" reprezinta comanda de achizitie neconditionata a datei

Caracterul "C" reprezinta comanda de achizitie continua cu o rata fixa de esantionare, aprioric stabilita prin constantele de timp CT_L si CT_H a datelor

Caracterul "D" reprezinta comanda de transfer a datei achizitionate via interfata UART.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.