Universitatea Politehnica București Facultatea de Automatică și Calculatoare Departamentul de Automatică și Ingineria Sistemelor. Lucrare de licență

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Universitatea Politehnica București Facultatea de Automatică și Calculatoare Departamentul de Automatică și Ingineria Sistemelor. Lucrare de licență"

Transcript

1 Universitatea Politehnica București Facultatea de Automatică și Calculatoare Departamentul de Automatică și Ingineria Sistemelor Lucrare de licență Testarea automată a modulelor electronice cu convertoare analog-numerice Coordonatori: Prof. univ. dr. ing. Vasile Sgârciu Ș. l. dr. ing. Grigore Stamatescu Absolvent: Rareș Curatu București, 2013

2 Rezumat: Lucrarea propune o strategie de testare automată a modulelor electronice cu convertoare analognumerice, în vederea validării funcționalității și a detectării erorilor, realizându-se un studiu al sistemelor automate de test și al convertoarelor analog-numerice, al caracteristicilor lor și al testelor ce pot fi aplicate. Abstract: This paper is proposing a test strategy for testing electronic modules with analog to digital converters for validating the functionality and detecting errors by studying automated test systems and analog to digital converters, their characteristics and applicable tests.

3 Cuprins Lista figurilor... iii Lista tabelelor... vi 1. Introducere Motivația și scopul proiectului Prezentarea generală a proiectului Testarea automată Controlul calității Sisteme automate pentru teste electronice Arhitectura sistemelor de test Componente hardware ale sistemelor de test Arhitectura software a sistemelor de test Dispozitive cu CAN-uri Proprietăți ale CAN-urilor Tipuri de CAN-uri Testarea CAN-urilor Erori Testarea statică Testarea dinamică Studiu de caz Componente ale sistemului automat de test Dispozitivul testat Echipamente de testare Montajul de test Software utilizat Obiective și strategie de test Structura software Proceduri de test Rezultate experimentale Îmbunătățiri posibile Concluzii Anexe Anexa 1: Date tehnice CAN Texas Instruments ADC0804LCN 8 biți Bibliografie...73 ii

4 Lista figurilor Figura 2.1: Variația aproximată a metodei de detecție a erorilor circuitelor integrate în funcție de complexitate... 2 Figura 2.2: Stagiile dezvoltării sistemelor de test... 4 Figura 2.3: Distribuție gausiană cu defecte... 6 Figura 2.4: Distribuție gausiană fără defecte... 7 Figura 2.5: Arhitectura unui sistem de test... 9 Figura 2.6: Sistem PXI... 9 Figura 2.7: Reprezentare schematică a unui sistem de test...10 Figura 2.8: Magistrala PXI...10 Figura 2.9: Instrument modular NI PXI Figura 2.10: Interconectarea ATE-DUT...12 Figura 2.11: Matrice conectare instrumente...12 Figura 2.12: Montură de test...13 Figura 2.13: Abordarea orientată spre software a proiectării ATE...13 Figura 2.14: Componenta software a sistemelor de test...14 Figura 3.1: Reprezentare schematică a unui CAN...15 Figura 3.2: Valorile logice TTL...16 Figura 3.3: Reprezentare cuante pe 3 biți...17 Figura 3.4: Semnal analogic eșantionat...17 Figura 3.5: Cuantizare uniformă...19 Figura 3.6: Eroare cuantizare uniformă...19 Figura 3.7: Jitter al unui semnal digital...20 Figura 3.8:CAN paralel...21 Figura 3.9: CAN paralel-serie...22 Figura 3.10: CAN cu aproximații succesive...22 Figura 3.11: CAN tip rampă...23 Figura 3.12: CAN cu urmărire...23 Figura 3.13: CAN delta-sigma...24 Figura 3.14: Caracteristica CAN-ului ideal...25 Figura 3.15: Eroare de deplasare...26 Figura 3.16: Eroare de câștig...26 Figura 3.17: Neliniaritate diferențială...27 Figura 3.18: Neliniaritate integrală...27 Figura 3.19: Măsurarea centrului codului pentru a determina tranzițiile...28 Figura 3.20: Determinarea INL și DNL prin observarea tranzițiilor codului...29 Figura 3.21: Sistem simplu de test...29 Figura 3.22: Erori de deplasare și câștig...30 Figura 3.23: Testare statică back-to-back CAN/CAN...30 Figura 3.24: Forme de undă are erorilor în configurația Back-to-back...31 Figura 3.25: Forme de undă ale testului crossplot pentru cei mai semnificativi biți...32 Figura 3.26: Diagramă de test în servo-buclă...32 Figura 3.27: Comportamentul în timp al semnalului analogic pentru testarea în servo-buclă...33 Figura 3.28: Sistem generalizat de testare asistată de calculator a tranzițiilor în servo-buclă...33 Figura 3.29: Caracteristică de transfer a sistemelor de testare asistată de calculator a tranzițiilor în servobuclă...34 Figura 3.30: Transformată FFT și câștigul de prelucrare...36 Figura 3.31: FFT al unui semnal corect eșantionat...37 Figura 3.32: FFT al unui semnal incorect eșantionat...37 iii

5 Figura 3.33: Fereastră aplicată unui semnal sinusoidal...38 Figura 3.34: Schemă bloc pentru testarea cu semnale sinusoidale...38 Figura 3.35: Schemă bloc pentru testarea NPR...39 Figura 3.36: Identificarea NPR în reprezentarea în frecvență a semnalului...39 Figura 3.37: Schemă bloc pentru testarea variației aperturii...40 Figura 3.38: Semnal de intrare în CAN pentru calcularea zgomotului...40 Figura 3.39: Semnal de intrare în CAN pentru calcularea zgomotului și a incertitudinii aperturii...40 Figura 3.40: Schemă bloc pentru testarea întârzierii aperturii...41 Figura 3.41: Timpul de întârziere al aperturii...42 Figura 3.42: Diagramă bloc pentru testarea variației aperturii (folosind FFT)...42 Figura 3.43: Grafic în care sunt evidențiați timpii de apertură și de stabilizare...44 Figura 3.44: Semnal cu frecvență mică pentru determinarea BER...45 Figura 3.45: Determinarea BER la frecvențe mari...46 Figura 4.1: Reprezentare schematică a CAN-ului...48 Figura 4.2: Auto-generarea semnalului de ceas folosind un circuit RC și trigger-ul Schmitt...48 Figura 4.3: Schema electrică a DUT-ului...49 Figura 4.4: Modul de test (DUT) cu convertor analog-numeric (față)...49 Figura 4.5: Modul de test (DUT) cu convertor analog-numeric (spate)...50 Figura 4.6: Schema electrică a plăcii de test...52 Figura 4.7: Placă de test a modulelor cu CAN (față)...54 Figura 4.8: Placă de test a modulelor cu CAN (Spate)...54 Figura 4.9: Proceduri test...57 Figura 4.10: Software-ul sistemului...58 Figura 4.11: VI FPGA...58 Figura 4.12: VI prinicpal Real Time...58 Figura 4.13: VI PC pentru generare și achiziție de semnal...59 Figura 4.14: Procedură Test Stand...60 Figura 4.15: Calcul erori cuantizare...61 Figura 4.16: Calcul eroare deplasare și câștig...61 Figura 4.17: VI principal test INL și DNL...62 Figura 4.18: Extragerea unui ciclu al semnalului triunghiular...62 Figura 4.19: Izolarea unui singur ciclu...62 Figura 4.20: Calcul DNL...63 Figura 4.21: Calcul INL...63 Figura 4.22: Calcul histograma...63 Figura 4.23: Semnalul de test...64 Figura 4.24: Eroare de cuantizare...64 Figura 4.25: Eroare cuantizare...65 Figura 4.26: Eroare de câștig și deplasare...65 Figura 4.27: Eroare INL și DNL...66 Figura 4.28: Histogramă pentru 5 semnale rampă...66 Figura 6.1: Evoluția pragului digital în funcție de tensiunea de alimentare...70 Figura 6.2: Întarzierea dintre frontul scăzător al `RD și Ieșirea datelor valide în funcție de capacitate...70 Figura 6.3: Nivelele trigger-ului Schmitt (CLK IN) în funcție de tensiunea de alimentare...71 Figura 6.4: Frecvența ceasului în funcție de condensatorul montat...71 Figura 6.5: Eroarea full-scale în funcție de timpul de conversie...71 Figura 6.6:Efectul erorii de deplasare neajustate Vref/ Figura 6.7: Curentul de ieșire în funcție de temperatură...71 Figura 6.8: Curentul de alimentare în funcție de temperatură...71 iv

6 Figura 6.9: Eroarea de liniaritate la valori Vref/2 mici...72 v

7 Lista tabelelor Tabel 2.1: Spectrul de defecte - Comparație ICT, AOI și AXI... 3 Tabel 4.1: Caracteristici principale TI ADC Tabel 4.2: Specificații NI crio-9076 controller și șasiu crio cu FPGA...51 Tabel 4.3: Specificații NI 9381 modul multifunctional...51 Tabel 4.4: Specificații NI 9401 modul digital I/O...52 Tabel 4.5: Pini și conectori ai plăcii de test...53 Tabel 4.6: Semnale de intrare ale montajului de test...54 Tabel 4.7: Decodarea valorilor binare...55 Tabel 6.1: Specificații tehnice ale CAN-ului (Texas Instruments, 2009)...70 vi

8 1. Introducere 1.1. Motivația și scopul proiectului Industria producătoare de dispozitive electronice se află într-o continuă revoluție, în fiecare an aparând noi tendințe, noi produse și, mai ales, noi cerințe din partea utilizatorilor. Pentru a putea face față acestor schimbări, cât și pentru a mulțumi clienții, producătorii trebuie să scoată pe piață noi dispozitive, de o calitate tot mai bună, într-un timp cât mai scurt.. Progresele din domeniul industriei electronice au angrenat și progresul sistemelor automate de testare, datorită cărora producătorii reușesc să facă față cerințelor tot mai complexe. Sistemele de testare automată pot fi privite atât dintr-o perspectivă tehnică, analizând componenta hardware sau cea software, cât și dintr-o perspectivă de management al producției, urmărind efectul pe care sistemele automate de testare îl au asupra productivității și a calității produselor electronice. Convertoarele analog-numerice (CAN) stau la baza unui număr foarte mare de aplicații moderne, pornind de la dispozitive portabile simple, până la aeronave sau instalații industriale complexe. Datorită aceastei largi game de aplicații, diversele tipuri de CAN-uri au specificații și toleranțe diferite, iar pentru a valida dispozitivele din punct de vedere al funcționalității sau, după caz, al performanțelor, este necesară testarea. Testarea CAN-urilor este un caz particular al testării electronicelor, datorită asemănărilor dintre sistemul de test și dispozitivul testat. Acest domeniu al testării are ca fundament teoria achiziției de date, electronica digitală și analogică, precum și prelucrarea numerică de semnal. Scopul lucrării îl reprezintă studiul sistemelor automate de test și al convertoarelor analognumerice, în vederea proiectării unui sistem automat de testare statică a CAN-urilor, atât din punct de vedere hardware, cât și software, precum și analizarea performanțelor acestuia Prezentarea generală a proiectului Proiectul constă dintr-un studiu teoretic al testării automate a CAN-urilor, în care sunt prezentate structura sistemelor de test și testele uzuale folosite în industria electronică, precum și obiectul studiului, convertoarele analog-numerice. Studiul CAN-urilor include descrierea diferitelor tipuri de CAN-uri, parametrii ce pot fi testați și metodele de test. Studiul de caz constă în proiectarea unui sistem automat de testare pentru CAN-uri TI ADC0804 și evaluarea performanțelor acestuia. Realizările lucrării constau în: dispozitivul de test (DUT): modul de test ce conține un CAN (3 exemplare); montaj de test: plăcuță electronică cu scop de interfațare dintre echipamentul de achiziție/generare semnal, condiționare a semnalului și afișare a valorilor binare; strategie de test bazată pe teoria CAN-urilor și a sistemelor automate de test; implementarea testelor individuale în NI LabVIEW compatibile cu NI TestStand; proiectarea secvenței de test pentru NI TestStand. 1

9 2. Testarea automată Testarea reprezintă procesul de verificare a calității și a performanțelor dispozitivelor electronice, în concordanță cu specificațiile acestora, printr-o procedură automată. În domeniul testării automate, sistemele de test (testerele) sunt denumite ATE Automated Test System iar componentele testate DUT Device Under Test. Testarea automată este de o importanță deosebită în domeniul producției de echipamente electronice, deoarece nu asigură doar respectarea normelor de calitate ci și reducerea costurilor prin detectarea defectelor într-un stagiu incipient al producției. Un sistem de testare automată bine proiectat se poate folosi de prelucrarea avansată a datelor (prelucrare paralelă, prelucrare pe FPGA), poate genera rapoarte ce se integrează cu platformele electronice de business ale companiilor sau poate optimiza testele astfel încât timpul de testare să fie minim. Testele sunt împărțite în două mari categorii, și anume testele funcționale, care validează comportamentul dispozitivului, și testele parametrice, care verifică parametrii componentelor și calitatea circuitului. Testele funcționale sunt realizate electronic, în timp ce testele structurale sunt realizate electronic sau vizual. În figura 2.1 se ilustrează variația aproximată a tipurilor de erori apărute în circuitele integrate și a metodelor de detectare, în funcție de complexitatea circuitelor (SSI Small Scale Integration, MSI Medium Scale Integration, LSI Large Scale Integration).(Davis, 2013) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% SSI MSI LSI Teste parametrice CA Teste parametrice CC Teste funcționale Figura 2.1: Variația aproximată a metodei de detecție a erorilor circuitelor integrate în funcție de complexitate Filozofia testelor parametrice (sau de circuit) afirmă faptul că, dacă toate componentele sunt bune, au valorile corecte și circuitul e corect asamblat, atunci există o probabilitate foarte mare ca dispozitivul să funcționeze corect. Filozofia testării funcționale susține ideea că, dacă dispozitivul se comportă corect în limitele testelor dezvoltate, atunci există o probabilitate foarte mare ca dispozitivul să funcționeze corect (Davis, 2

10 2013). Conform unui studiu Teradyne, testele funcționale pot detecta aproximativ 69% din defectele circuitelor electronice. (Verma, 2002) Defecte AOI AXI ICT Defecte de lipire Circuite deschise da da da Circuite unite da da da Scurt-circuite da da da Calitatea lipiturilor Vârf al lipiturii da da Călcâi al lipiturii da Goluri în lipituri da Exces de material da da Lipituri aleatorii da Calitatea lipiturilor da Componente Bornă dezlipită da da Componentă prost lipsă da da Componentă prost aliniată da da Componentă amplasată greșit da da Componentă greșită da Componentă nefuncțională da Circuit Scurt-circuit da da Circuit deschis da da VCC/GND da da Tabel 2.1: Spectrul de defecte - Comparație ICT, AOI și AXI Dezvoltarea unui sistem de test trece prin 5 etape, de la definirea specificațiilor până la implementare, la testarea finală.(national Instruments, 2013) 3

11 Figura 2.2: Stagiile dezvoltării sistemelor de test Cele mai des întâlnite tipuri de teste sunt următoarele (Davis, 2013): A. Inspecția vizuală Înainte de testarea efectivă a modulelor electronice (din punctul de vedere al funcționalității sau al caracteristicilor componentelor), pot fi realizate inspecții vizuale (AOI Automated Optical Inspection). Aceste inspecții sunt realizate cu ajutorul camerelor inteligente, putându-se identifica tipul și caracteristicile componentelor, detectând defecte de fabricație ale modulelor, precum lipituri lipsă sau prost realizate, amplasarea defectuoasă sau lipsa componentelor sau chiar defecte de cablaj. Pentru circuitele multistrat sau pentru analiza în detaliu a lipiturilor, inspecția vizuală automată poate fi realizată și cu raze X (AXI Automated X-Ray Inspection). Avantajul principal al testelor vizuale este faptul că realizarea unui sistem de test durează mult mai puțin decât implementarea fizică a unui sistem electronic, ce necesită conectori electrici. B. Testarea plăcilor fără componente Pentru a descoperi din timp defectele plăcilor electronice, se realizează o verificare a acestora înaintea amplasării componentelor. Astfel, dacă placa pe care se află circuitul este defectă, se va evita construirea unui modul electronic defectuos. Testarea plăcilor poate fi simplă (pentru circuite cu un singur strat) sau poate deveni complexă, atunci când plăcile au circuite multi-strat. C. Testarea scurt-circuitelor Un aspect foarte important în testarea plăcilor dispozitivelor electronice îl reprezintă testarea continuității circuitelor imprimate. Aceste teste au scopul de a detecta scurt-circuite aflate în circuite. D. Testarea defectelor de producție Testarea defectelor de producție are rolul de a tria componentele ce vor fi intra în alcătuirea modulelor electronice. 4

12 E. Testarea in-circuit Testare in-circuit (ICT In-Circuit Testing) reprezintă un procedeu de testare de tip white-box în care o placă de circuit, ce are componentele montate, este verificată pentru a confirma faptul că aceasta a fost produsă corect. Testele au rolul de a verifica prezența scurt-circuitelor, circuitelor deschise, de a măsura rezistențe, capacități, cât și alte valori fundamentale. Spre deosebire de teste mai simple (precum testarea continuității unui circuit), ICT se realizează cu toate piesele montate și are rolul de a descoperi defecte structurale ale întregului modul electronic, gama de defecte acoperite putând fi comparată cu cea de la testarea optică. Pentru a realiza testarea in-circuit a unui modul electronic este necesară folosirea unui set de conectori, care se atașează pe placa testată pentru a realiza contact electric. Acești conectori sunt legați la instrumentele sistemului automat de test. Sistemul automat de test va verifica diverse caracteristici ale componentelor modulului electronic, izolând electric secțiunea de circuit prin folosirea tehnicii de guarding. În cazul componentelor digitale, se folosește o tehnică numită backdriving pentru a impune circuitului digital o valoare logică dorită. F. Testarea funcțională Testarea funcțională (FCT Functional Circuit Testing) este o procedură de verificare a funcționalității dispozitivelor electronice, realizată asupra produselor finite, ca ultimă verificare a calității. Testarea FCT necesită simularea modului de utilizare a dispozitivului și a mediului său de lucru, inclusiv prezența perifericelor sau a altor dispozitive cu care modulul testat ar putea interacționa. G. Teste combinaționale Majoritatea sistemelor de test combinaționale sunt sisteme ICT cu funcționalități suplimentare. În funcție de configurație, acestea pot fi folosite atât pentru testarea circuitelor analogice cât și a celor digitale, sau pot avea module suplimentare specializate, precum cele de boundary scan ori module de test al memoriilor. Boundary scan este o metodă de test al conexiunilor interne ale circuitelor integrate sau a circuitelor plăcilor electronice. Dispozitivele ce pot fi validate cu această metodă au în componență cel puțin o celulă de test programabilă, care este conectată la fiecare pin al dispozitivelor și care poate suprascrie semnale. Astfel, valoarea suprascrisă se va propaga în întregul circuit. Dacă valoarea nu se va propaga, atunci se poate identifica o eroare. Astfel, în locul conectării unui număr mare de semnale de test, trebuie doar programată celula de test și circuitul de test va fi mai redus în complexitate. Testele combinaționale pot acoperi o gamă largă de defecte, putând suporta și adăugarea modulelor de test funcțional Controlul calității Calitatea în domeniul industriei producătoare de electronice este văzută ca fiind respectarea cerințelor de performanță. Din alt punct de vedere, calitatea poate fi considerată ca fiind gradul de îndeplinire a așteptărilor clientului. Una dintre cele mai cuprinzătoare definiții descrie calitatea ca fiind suma caracteristicilor de marketing, inginerești, de producție și de mentenanță ale produsului și ale serviciilor, prin care acestea îndeplinesc cerințele utilizatorului.(feigenbaum, 1983) Un aspect important al percepției calității, după cum putem deduce din definiția aceasta, ăl reprezintă crearea unor așteptări potrivite. Dacă un consumator are așteptări nerealiste de la un produs, va considera produsul ca fiind de slabă calitate, chiar dacă produsul îndeplinește toate performanțele tehnice impuse de producător. Adesea definiția calității nu include și servicii post-vânzare. Acest lucru este un rezultat al faptului că produsele sunt percepute ca fiind de calitate sau nu încă din momentul livrării acestora. Adesea însă, 5

13 consumatorii trebuie să beneficieze de documentație, suport tehnic și chiar training. Astfel, în percepția utilizatorului calitatea nu se limitează doar la produs. Stabilirea greșită sau neîndeplinirea așteptărilor consumatorilor poate face ca un produs să fie perceput ca fiind calitativ prost, deși el nu are nici un defect. Conform unuia dintre pionierii managementului calității, cele patru principii ale calității sunt: 1. definiția: definiția calității este respectarea cerințelor sau atingerea așteptărilor utilizatorului; 2. sistemul: sistemul de control al calității trebuie să fie bazat pe prevenirea defectelor (aplicând conceptul DIRFT Do It Right the First Time); 3. standardul: standardul ideal este acela de exista zero defecte. Este necesară îmbunătățirea continuă; 4. măsura: măsura progresului în procesul de îmbunătățirea continuă este costul nerespectării cerințelor consumatorilor.(crosby, 1979) Principalul impediment în calea asigurării calității este variația. În consecință, controlul asupra calității este deținut de abia în momentul în care sunt eliminate variațiile din procesul de producție. Defectele sunt definite ca neîndeplinirea cerințelor tehnice, iar majoritatea acestor defecte reprezintă și un impediment în calea funcționalității produselor. Apariția defectelor frecvent (de exemplu ieșirea din gama de toleranță a unui rezistor) poate fi reprezentată printr-un grafic ce respectă clopotul lui Gauss. În figura 2.3 e poate observa un grafic (simulat) al defectelor, în care dispozitive ale căror parametrii respectă cerințele sunt reprezentate cu verde iar dispozitive care nu le respectă, considerate defecte, sunt reprezentate cu roșu,. Figura 2.3: Distribuție gausiană cu defecte Pentru a se ajunge la o calitate bună, se urmărește limitarea variației și a diferențelor dintre produse. În figura 2.4 este reprezentată histograma unui lot de produse în care nu există rebuturi, iar diferențele dintre produse sunt mai mici. 6

14 Figura 2.4: Distribuție gausiană fără defecte Se poate observa că distribuția din acest grafic este mult mai favorabilă și toate unitățile respectă cerințele. La modul ideal, se urmărește ca toate produsele să îndeplinească 100% din cerințe la 100% din performanțe Sisteme automate pentru teste electronice Un sistem automat de test (ATE Automatic Test Equipment) pentru industria electronică este un ansamblu de controller, instrumente de măsură, matrice de switching, conectori și monturi de test. Scopul acestui sistem este acela de a testa dispozitive electronice (DUT Device Under Test), în vederea respectării specificațiilor tehnice ale produsului. Pentru testarea semnalelor electronice, în funcție de tipul de semnale folosite în procedeul de testare, există trei categorii de echipamente: A. Echipamente digitale Se folosesc pentru dispozitive de procesare digitală de semnal (DSP Digital Signal Processing), sisteme integrate specifice anumitor aplicații precum module ASIC (application-specific integrated circuits), CBIC (Cell Based Integrated Circuit), ASSP (Application-Specific Standard Product), unități cu microprocesoare și altele. B. Echipamente pentru semnale mixte (incluzând componente de curent continuu) Se folosesc pentru testarea sistemelor de telecomunicații, a convertoarelor analog-numerice și numeric-analogice, interfețelor, sistemelor de prelucrare de semnal, de monitorizare a energiei electrice și altele. C. Echipamente pentru semnale analogice Sunt folosite pentru testarea semnalelor analogice cu precizie foarte mare. Deși tehnic posibilă, testarea analogică este mai rar folosită datorită faptului că, utilizând aceste echipamente, performanța testelor funcționale este limitată.(davis, 2013) 7

15 2.4. Arhitectura sistemelor de test Sistemele moderne de test prezintă o arhitectură de software definită, care are la bază un sistem de generare de semnale și achiziții de date modular, flexibil, ușor de scalat și de modificat ulterior. Din acest motiv, software-ul este cel mai important aspect ce trebuie luat în considerare în proiectarea unui sistem de test.(national Instruments, 2012) Pornind de la baza arhitecturii unui sistem de testare automată, primul element, care este și elementul comun tuturor sistemelor de test, îl reprezintă componenta hardware, împreună cu driverele aferente. Legătura dintre programul de test și drivere este realizată de stratul de abstractizare a hardwareului (HAL Hardware Abstraction Layer). Acesta are un rol foarte important deoarece se constituie într-o interfață comună dintre diverse drivere și software. Astfel, se poate face abstracție de tipul de hardware folosit, fiind posibilă modificarea sau înlocuirea hardware-ului fără a modifica procedurile de test. Pentru a profita la maxim de HAL, toate procedurile de test ce apelează hardware trebuie să folosească stratul de abstractizare. Utilizarea acestui sistem permite ca dezvoltatorii de sisteme de test să își concentreze 80% din timp în programarea efectivă testelor (National Instruments, 2012) și nu în modul de implementare și integrare. Creându-se module ce apelează stratul de abstractizare, se va mări gradul de modularitate și ușurința de modificare sau îmbunătățire a sistemului, acesta fiind mai ușor de menținut și putând fi prelungită perioada sa de exploatare. Stratul de management al testelor este situat deasupra modulelor de test și este proiectat să funcționeze drept un framework refolosibil și modular pentru teste. Principalul său rol este acea de a gestiona funcționalități generale, ce se aplică pentru fiecare program de test. Acestea includ evaluarea rezultatelor, raportări, salvări în baze de date, management al utilizatorilor, management al configurațiilor, gestiune a switch-urilor și a releelor sau păstrarea evidenței dispozitivelor testate. Prin utilizarea acestui strat software, se reduce o foarte mare parte din timpul de dezvoltare. De asemenea, faptul că toate aceste funcționalități sunt centralizate, modificarea sau îmbunătățirea lor este mai facilă. Switching-ul (operarea switch-urilor) reprezintă o componentă foarte importantă a automatizării testelor. Folosind un switch sau un multiplexor, numărul de instrumente dintr-un sistem de test poate fi redus, astfel putând fi reduse și cheltuielile. Dacă programul de test include secvențele de control al switchurilor, acestea vor fi mai greu de refolosit sau de modificat. Folosind un manager al switch-urilor, această componentă a programelor se mută în afara procedurilor de test, într-un manager ce poate fi accesat de orice altă procedură și, la rândul său, accesează stratul de abstractizare al hardware-ului. Ultimul nivel al arhitecturii unui sistem de test (figura 2.5) este reprezentat de interfața cu utilizatorul. Cel mai adesea, se folosește o interfață ce simulează instrumente tradiționale de test, având un aspect cât mai familiar pentru operatori, deoarece astfel scade efortul de învățare depus de aceștia. În plus, construindu-se o interfață grafică generală, aceasta poate fi refolosită și pentru alte teste.. 8

16 Figura 2.5: Arhitectura unui sistem de test Componente hardware ale sistemelor de test Din punct de vedere hardware, sistemele automate de test (figurile 2.6 și 2.7) constau din module conectate printr-o magistrală la un controller, fiecare modul fiind conectat (direct sau indirect) la anumite puncte de test aflate pe DUT-uri. Contactul electric dintre DUT și sistemul de test are loc printr-o montură de test. Pentru a micșora numărul de instrumente, acestea pot fi multiplexate folosind switch-uri. Figura 2.6: Sistem PXI 9

17 Figura 2.7: Reprezentare schematică a unui sistem de test A. Magistrală de instrumentație Prima magistrală de uz comercial specializată în comunicația cu instrumentele de măsură a fost GPIB (General Purpose Interface Bus), interfață care este folosită și astăzi pentru a comunica între PC și instrumente individuale precum multimetre digitale sau osciloscoape. Ulterior, a fost introdusă o nouă magistrală, VXI (VME extesion for Instrumentation) ce a reprezentat începutul erei instrumentelor modulare. La începutul anilor 90 au fost dezvoltate instrumente ce puteau fi utilizate drept periferice pentru calculatoare personale, folosindu-se de magistrala PCI. Următoarea generație, CompactPCI, are la bază tehnologii pentru PC-uri, cu o arhitecura modulară, reprezentând predecesorul magistralelor PXI (figura 2.8) și PXI express. Aceste magistrale sunt încorporate în șasiuri, în care pot fi conectate controllere și module de instrumentație. Figura 2.8: Magistrala PXI 10

18 PXI este un standard deschis, aflat sub egida PXI Systems Alliance, un consorțiu industrial care promovează și menține standardul PXI. B. Instrumente modulare Sistemele moderne de test sunt alcătuite din instrumente modulare. În funcție de rolul lor și de performanțe, acestea se împart în mai multe categorii, și anume (National Instruments, 2013): interfețe rețele CAN; numărătoare și timere digitale; porturi I/O digitale; multimetre digitale; osciloscoape digitale; analizoare de semnal dinamic (DSA Dynamic Signal Analyzers); interfețe rețele FlexRay; frame-grabber-e pentru imagini provenite de la sisteme video; interfețe GPIB; porturi I/O digitale de mare viteză; interfețe pentru rețele industriale de comunicare; interfețe pentru rețele LIN; control motoare; plăci de achiziție multifuncționale; plăci FPGA programabile; surse de tensiune măsurate; plăci de generare și recepție semnal telecomunicații (frecvențe înalte); interfețe seriale; module de condiționare de semnal; generatoare de semnal; switch-uri, relee și multiplexoare; module de sincronizare și temporizare. Figura 2.9: Instrument modular NI PXI-4130 (National Instruments, 2013) 11

19 C. Interconectare Interconectarea (figura 2.10) implică trei componente hardware: switch-uri (sau, dacă nu este cazul, direct instrumente modulare), cabluri de interconectare și monturi de test. Figura 2.10: Interconectarea ATE-DUT Switch-urile (cunoscute și ca matrice, relee sau multiplexoare) au rolul de a multiplexa ieșirile instrumentelor modulare, pentru a micșora numărul de instrumente necesare unui sistem de test. În funcție de configurație și de caracteristicile tehnice, switch-urile pot conecta un anumit număr de instrumente și dispozitive de testat. O matrice clasică poate avea n instrumente si m DUT-uri. Pentru a conecta un instrument la un DUT, se vor închide o serie de contacte electrice pentru a închide circuitul. Figura 2.11: Matrice conectare instrumente Montura (figura 2.12), cel mai adesea în configurație de pat de cuie este un dispozitiv ce realizează contact fizic cu DUT-ul și închide un circuit electric între acesta și ATE. DUT-urile sunt plasate pe contactele monturii și se aplică o forță pentru a asigura un contact bun. Această forță poate fi mecanică, prin apăsarea DUT-ului prin intermediul unui capac sau prin vid, DUT-ul fiind tras către montură datorită unei diferențe de presiune. 12

20 Arhitectura software a sistemelor de test Figura 2.12: Montură de test Pentru a dezvolta un sistem ATE flexibil, abordarea modernă (figura 2.13) este orientată spre software și abstractizarea elementelor hardware. Făcând această abstractizare, echipamentele pot fi interschimbate cu ușurință și pot fi integrate noi module alături de cele vechi, utilizând aceleași magistrale de comunicație, construindu-se astfel un sistem hibrid. Principalul avantaj al sistemelor hibride este utilizarea la maxim al componentelor vechi și modificarea sistemului în funcție de noi cerințe. Aplicație software Aplicație software Drivere Drivere Hardware Hardware Abordarea tradițională Abordarea orientată spre software Figura 2.13: Abordarea orientată spre software a proiectării ATE Abordarea clasică (figura 2.13) funcționează invers, software-ul fiind proiectat specific pentru hardware și pentru cerințele prezente la momentul proiectării, oferind mai puține posibilități de actualizare a sistemului.(national Instruments, 2012) 13

21 Figura 2.14: Componenta software a sistemelor de test Software-ul acestor sisteme (figura 2.14) este proiectat pentru a putea fi modificat ușor. Astfel, acest software trebui modularizat astfel încât componenta de gestiune a echipamentelor și cea de gestiune a testelor să fie separate, iar modificarea unei componente hardware să aibă un impact minim asupra programului de test și să necesite modificarea doar a modulelor care realizează operații specifice cu hardware-ul. Sistemul de management de test va apela modulele și va interpreta rezultatele rulării acestora. 14

22 3. Dispozitive cu CAN-uri Convertoarele analog-numerice (CAN-uri) sunt componente electronice de sine stătătoare (circuite integrate), care au rolul de a transforma un semnal analogic (cel mai adesea de tensiune) în echivalentul său numeric, conform unui anumit cod. Această conversie implică cuantizarea intrării, ceea ce conduce la apariția unor erori. Un CAN (figura 3.1) realizează operația de cuantizare și operația de codare. Cuantizarea reprezintă împărțirea intervalului maxim de variație a amplitudinii semnalului de intrare (gama de intrare) în intervale egale elementare, denumite cuante. Un semnal analogic va avea drept echivalent un anumit număr de cuante. Cea de-a doua operațiune, cea de codare, implică reprezentarea binară a numărului de cuante. Cel mai frecvent codarea, din punct de vedere logic, este realizată în cod binar-natural, cod binar zecimal sau în coduri progresive (cod Gray).(Sgârciu, 2011) Figura 3.1: Reprezentare schematică a unui CAN CAN-ul este definit de rata de eșantionare pe care o poate atinge (gama de frecvențe pe care o poate măsura) și de raportul semnal/zgomot (RSZ cât de precis poate fi măsurat un semnal relativ la nivelul zgomotului). Gama dinamică de intrare a unui CAN reprezintă gama de amplitudine a intrări, de la nivelul cel mai mic la cel mai mare, și este adesea considerată ca fiind definită de numărul efectiv de biți. Aceasta este afectată și de rezoluția, liniaritatea și precizia CAN-ului. În practică, gama de intrare este dată de diferența dintre semnalul de referință (V REF ) și masa analogică.(kester, 2008) Semnalele eșantionate de CAN-uri pot fi prelucrate anterior (liniarizate, amplificate, normalizate, demodulate etc.), putând fi semnale rapide sau încete (considerate continue) și reprezentând o valoare electrică a unei măsurători a unui fenomen fizic. Pentru ca semnalul discretizat să fie precis, CAN-urile conțin un subsistem numit circuit de eșantionare și reținere, în scopul de a menține valoarea analogică pe parcursul conversiei. Informațiile digitale sunt reprezentate prin biți (ce au două stări: adevărat sau fals), care sunt grupați în cuvinte. Valoarea unui bit este dată de nivele fixe de tensiune. Una dintre cele mai des folosite logici de reprezentare binară este TTL (Transistor-Transistor-Logic). În acest sistem, valoarea logică fals este considerată ca un nivel de tensiune între 0V și 0.8 V, iar valoarea adevărat între 2V și V CC, unde V CC = 5V ± 10%. 15

23 Tensiune (V) 5,0 V 4,5 V 4,0 V 3,5 V 3,0 V 2,5 V 2,0 V 1,5 V 1,0 V 0,5 V 0,0 V Logica TTL Adevărat Nedefinit Fals Adevărat Nedefinit Fals Figura 3.2: Valorile logice TTL Fiecare bit al ieșirii CAN-ului are un nivel logic iar combinația celor N Biți va fi rezultatul conversiei analog-numerice, exprimat în baza 2. Un număr întreg, în baza 10 va fi reprezentat în baza 2 astfel: Nr 10 = a N 1 2 N 1 + a N 2 2 N a a unde a N 1 este cel mai semnificativ bit iar a 1 este cel mai nesemnificativ bit.(floyd, 2006) (3.1) 3.1. Proprietăți ale CAN-urilor A. Rezoluția Rezoluția unui CAN reprezintă numărul de valori discrete care pot fi generate pentru întreaga gamă de valori analogice de intrare. Aceste valori discrete sunt reprezentate binar astfel încât, cel mai adesea, rezoluția este exprimată în biți. În consecință, numărul de valori discrete, sau nivele discrete, este exprimat ca puteri ale lui 2. Spre exemplu, un CAN cu rezoluția de 8 biți poate reprezenta binar 256 de valori, între 0 și 255 (2 8 1), în reprezentarea fără semn sau între -128 și 127 (în reprezentarea cu semn). Reprezentarea cu semn sau fără semn depinde de aplicație. Rezoluția poate fi reprezentată și electric, în volți. Diferența minimă de tensiune care asigură trecerea de la un nivel la altul (cuante) este denumită cel mai nesemnificativ bit (LSB Least Significant Bit). Rezoluția în tensiune a unui CAN (Q) este egală cu această valoare, care aduce cea mai mică modificare (modificarea unui singur bit) în reprezentarea binară, putând fi calculată prin împărțirea gamei maxime de amplitudini ce pot fi măsurate, la numărul de cuante sau de valori discrete posibile: Q = E GC 2 R 1 unde R este rezoluția în biți a CAN-ului iar E GC este gama completă de amplitudini permisă de CAN. E GC este dat de relația: (3.2) E GC = V RefMax V RefMin (3.3) unde V RefMax și V RefMin sunt valoarea maximă, respectiv valoarea minimă a amplitudinii (tensiunii) care poate fi reprezentată în cod binar de către CAN. 16

24 Figura 3.3: Reprezentare cuante pe 3 biți Numărul de cuante (nivele discrete de amplitudine) este dat de ecuația: unde R este rezoluția în biți a CAN-ului. (Ionescu & Sgârciu, 1986) N = 2 R 1 (3.4) B. Rata de eșantionare Rata (sau frecvența de eșantionare) definește numărul de eșantioane obținute dintr-un semnal continuu, în unitatea de timp, de către echipamentul de achiziție de date și convertite în semnal digital. Cel mai adesea, unitatea de timp este o secundă, iar frecvența de eșantionare este exprimată în hertzi, inversul secundelor (sec 1 ). O frecvență de eșantionare de 1Hz este echivalentul unui timp de eșantionare de 1 sec. (Sgârciu, 2011) Figura 3.4: Semnal analogic eșantionat Conform teoriei Shannon-Nyquist, frecvența de eșantionare trebuie să fie de cel puțin două ori mai mare decât frecvența semnalului eșantionat, pentru ca semnalul să poată fi reconstituit. În mod echivalent, putem afirma că frecvența Nyquist, jumătate din frecvența de eșantionare, trebuie să fie mai mare decât cea mai mare frecvență a semnalului eșantionat. (Kester, 2008) În unele cazuri, este de dorit să supraeșantionăm semnalul, realizându-se achiziția la o frecvență mai mare decât frecvența Shannon-Nyquist, din motive ce țin de ușurarea prelucrării semnalului. h 17

25 Subeșantionarea semnalelor duce la apariția fenomenului de aliere. Dacă semnalul original are o frecvență mai mare decât frecvența Nyquist, dar nu are componente de frecvență joasă, este posibilă recuperarea semnalului original. (Kester, 2003) Deoarece CAN-ul nu realizează o conversie instantanee, circuitul de reținere și eșantionare va păstra valoarea semnalului analogic neschimbată pe întreaga durată a conversiei. Perioada de conversie este întotdeauna mai mică decât perioada de eșantionare. C. Precizia Precizia de măsurare, sau lățimea de cod, reprezintă variația minimă detectabilă a semnalului măsurat și corespunde variației bitului cel mai puțin semnificativ. Lățimea codului poate fi calculată astfel: l = L 2 N (3.5) unde l este lățimea codului, L este lungimea (mărimea intervalului de intrare) iar N este rezoluția. Precizia CAN-urilor poate varia, în funcție de caracteristicile fiecărui model, fiind influențat de câteva surse de erori. Presupunând că CAN-ul ar trebui să fie liniar, apar erori de cuantizare care sunt intrinseci oricărei conversii analog-digitale. O altă eroare des întâlnită se numește eroare de apertură. Aceasta este datorată unei variații (jitter) a semnalului de ceas și poate fi observată atunci când analizăm un semnal ce variază în timp. Unitatea de măsură pentru aceste erori este cel mai nesemnificativ bit (LSB). În cazul unui CAN pe 8 biți, o eroare de un LSB este echivalentul a 1/256 din întreaga gamă a semnalului. Procentual, această eroare este 0.39%. i) Erori de cuantizare Cuantizarea (sau cuantificarea), proces prin care un semnal provenind dintr-o mulțime continuă este convertit într-o mulțime discretă (figura 3.5), implică anumite erori. Deoarece prin cuantizare se realizează aproximații, precizia datelor astfel discretizate va fi mai mică, iar erorile care apar se numesc erori de cuantizare. 18

26 Figura 3.5: Cuantizare uniformă Zgomotul de cuantizare este un model al erorii de cuantizare folosit în prelucrarea semnalelor, reprezentând o rotunjire a erorii dintre intrarea analogică și ieșirea numerică. Acest zgomot este neliniar și este dependent de semnal. Figura 3.6: Eroare cuantizare uniformă Zgomotul de cuantizare al unui CAN ideal este distribuit uniform între 1 q și + 1 q. Astfel (unde 2 2 q = LSB), putem calcula raportul RSZC (raportul semnal/zgomot de cuantizare): unde Q este numărul de biți de cuantizare. RSZC = 20 log 10 (2 Q ) 6.02 Q db (3.6) Semnalele care se apropie cel mai mult de această valoare sunt semnalele triunghiulare și cele în formă de dinți de ferăstrău. ii) Variații ale semnalului de ceas Variațiile semnalului de ceas poartă numele de oscilații sau de jitter. În discretizarea unui semnal variabil în timp aceste oscilații pot reprezenta o sursă de eroare prin varierea perioadei de eșantionare. Fie semnalul x(t) = A sin(2πf 0 t) și Δt valoarea jitter-ului, atunci eroarea este: 19

27 E ap x (t)δt 2Af 0 Δt Eroarea impusă de jitter va modifica NEDB și acesta va avea o valoare sub cea prezisă de calculul erorii de cuantizare. (3.7) Figura 3.7: Jitter al unui semnal digital iii) Neliniaritatea Datorită construcției sau datorită imperfecțiunilor fizice, toate CAN-urile suferă, într-o măsură mai mare sau mai mică, de erori de neliniaritate. Din cauza acestor erori, semnalul de ieșire nu va mai urmări perfect dependența liniară față de semnalul de intrare. Aceste erori pot fi minimizate prin calibrarea echipamentelor de achiziție de date, eliminându-se astfel eroarea prin software, sau prin testarea și eliminarea CAN-urilor defectuoase în producție. D. Tipul de răspuns Majoritatea CAN-urilor sunt considerate liniare. Liniaritatea implică o dependență liniară între valoarea intrării (amplitudinea semnalului analogic) și valoarea semnalului digital de ieșire. E. Numărul efectiv de biți În practică, rezoluția unui CAN este limitată de RSZ obținut pentru semnalul convertit. Dacă este prezent un zgomot puternic, acesta poate masca fluctuațiile mici ale semnalului de convertit. Astfel, un semnal poate fi convertit până la o anumită precizie iar reprezentarea sa poate fi precisă pe un număr limitat de biți, care se numește numărul efectiv de biți (ENOB). unde: Numărul efectiv de biți este calculat ca fiind: ENOB = RSZD ,02 (3.8) RSZD este raportul semnal/zgomot și distorsiuni, indicator de calitate al semnalului; 6,02 reprezintă divizorul necesar convertirii din decibeli în biți; 1,76 provine din eroarea de cuantizare a CAN-ului ideal Tipuri de CAN-uri În funcție de construcție și de modul în care se realizează discretizarea, CAN-urile se pot clasifica în mai multe categorii (Sgârciu, 2011): după tipul reţelei rezistive: o cu rezistenţe de acelaşi tip (R-2R); 20

28 o cu rezistenţe ponderate; după referinţa utilizată şi comutată: o cu comutare de tensiune; o cu comutare de curent; după tipul codificării informaţiei numerice: o CNA pentru coduri unipolare; o CNA pentru coduri bipolare. A. CAN paralel Acest tip de CAN (figura 3.8) este alcătuit dintr-o serie de comparatoare care eșantionează semnalul de intrare în paralel. Structura sa este în trepte, fiecare treaptă având ca intrare semnalul ce trebuie discretizat și un semnal de referință. Printr-o serie de divizoare de tensiune, semnalul de referință este micșorat de la primul comparator la ultimul. Rezultatul logic al comparațiilor este introdus într-un circuit logic care va genera un cod binar. Acest tip de CAN este foarte rapid, capabil să atingă frecvențe de eșantionare de ordinul gigahertzilor. Din cauza faptului că în construcția sa internă sunt încorporate foarte multe comparatoare (2 N 1 ), complexitatea și costul de producție este mare și cel mai adesea CAN-urile paralele au 8 sau mai puțini biți. CAN-urile paralele au mărimi fizice mari, capacitanță mare de intrare, disipă multă energie și sunt predispuse erorilor de ieșire. Figura 3.8:CAN paralel B. CAN-uri de tip paralel-serie CAN-urile de tip paralel-serie (figura 2.9) funcționează într-un mod asemănător CAN-urilor paralele, însă sparg semnalul de intrare în două sau mai multe semnale care vor fi determinate secvențial. Pentru un CAN paralel-serie care împarte semnalul în două componente, prima secvență a conversiei paralel-serie va converti primii N/2 biți în paralel iar rezultatul va fi trimis către un CNA care va genera un semnal ce va fi trimis către a doua ramură a circuitului, unde va fi realizată o diferență între semnalul original si cel de la CNA. Rezultatul va fi discretizat în paralel și se vor obține următorii N/2 biți. Combinând modul de lucru al CAN-urilor paralele cu al celor cu aproximații succesive, CAN-urile de tip paralel-serie realizează conversiile rapid și cu o precizie bună, însă nu au dimensiunile fizice ale CANurilor paralele i timpul de conversie este de cel puțin două ori mai mic. 21

29 Figura 3.9: CAN paralel-serie C. CAN cu aproximații succesive Un CAN cu aproximații succesive (figura 3.10) utilizează un comparator pentru a restrânge succesiv intervalul în care se află semnalul de intrare. Cu fiecare pas, CAN-ul compară valoarea semnalului de intrare cu un semnal generat de un convertor numeric-analogic intern (CNA), care reprezintă jumătatea intervalului curent. Fiecare aproximație este salvată în registrul intern de aproximații succesive (RAS), conversia realizându-se în n tacți. În alcătuirea RAS regăsim un registru de deplasare dreapta (RD) și o schemă logică de control (SLC) care comandă registrul tampon (RT). Figura 3.10: CAN cu aproximații succesive D. CAN tip rampă CAN-urile tip rampă (cu compensare în trepte egale, figura 3.11) generează un semnal de tip dinte de ferăstrău, la un anumit semnal de ceas, până în momentul în care amplitudinea acestuia este egală cu amplitudinea semnalului de intrare. Când cele două amplitudini sunt egale, semnalul generat de CNA-ul intern al CAN-ului revine la zero, iar un comparator este activat și este înregistrată numărul de impulsuri de ceas (măsurate de numărătorul binar NB) în registrul temporar (RT). Comenzile sunt date de blocul de control (BC). 22

30 Timpul de conversie depinde de rezoluția conversiei și de frecvența semnalului de tact și este, în general, mai lung decât al convertorului cu aproximații succesive. Aceste CAN-uri se folosesc pentru semnale lente. Figura 3.11: CAN tip rampă E. CAN-uri cu urmărire Pentru achiziția semnalelor cu un comportament previzibil, se pot folosi CAN-urile cu urmărire (cu numărător reversibil, figura 3.12), care au în alcătuire un comparator de tip fereastră, alcătuit din două comparatoare diferențiale la care referința se aplică diferențial. ΔU Comparatorul tip fereastră este centrat pe valoarea u c, semnalul s c1 trecând din 1 în 0 când u c 2 > u x, în timp ce semnalul s c2 va trece din 0 în 1 pentru u c + ΔU/2 > u x. Dacă inițial numărătorul reversibil NR este inițializat în zero, tensiunea din ieșirea CNA-ului va fi u c = 0, astfel că poarta P 1 va fi activă iar poarta P 2 blocată și tacturile vor fi numărate direct de NR. Dacă u x își modifică valoarea, atunci NR va număra direct sau invers până la readucerea tensiunii din ieșirea CNA-ului în fereastră. Figura 3.12: CAN cu urmărire F. CAN-uri delta-sigma CAN-urile de tip delta-sigma (figura 3.13) supraeșantionează semnalul de intrare și filtrează banda dorită. Un număr de biți (mai mic decât cel dorit adesea 1 bit) este convertit folosind un CAN paralel după filtrare. Semnalul rezultat, împreună cu eroarea aferentă conversiei paralele, este scăzută din intrarea în filtru, reacție negativă care are rolul de a reduce zgomotul și erorile. După conversie, semnalul trece printr-un filtru digital de decimare ce reduce rata de eșantionare, filtrează zgomotul și mărește rezoluția ieșirii. 23

31 Figura 3.13: CAN delta-sigma 3.3. Testarea CAN-urilor Necesitatea testării modulelor electronice cu CAN-uri a apărut în anii 40-50, în laboratoarele Bell Systems. Semnalele folosite de Bell Systems necesitau o frecvență de eșantionare de 100kHz și o rezoluție între 5 și 9 biți. Testarea se făcea, cel mai adesea, înseriind (tehnică numită și back-to-back ) convertoarele analog-numerice cu cele numeric-analogice. CAN-ul primea un semnal analogic, acesta îl discretiza și îl trimitea CNA-ului. Semnalul analogic generat de CNA urma să fie analizat folosind echipamente analogice. Testarea back-to-back are un rol foarte important în testarea și în evaluarea performanțelor CAN-urilor (în special pentru cele cu rezoluție sub 12 biți). Primele convertoare comerciale performante au apărut pe piață la mijlocul anilor 50, odată cu evoluția tehnologică și cu apariția CAN-urilor pe bază de semiconductori în anii 60 acestea începând să fie integrate în din ce în ce mai multe aplicații. Din cauza faptului că tehnologia digitală era încă limitată, testarea CAN-urilor pentru aplicații în care se foloseau semnale alternative era dificilă. Nu exista nici o metodă de testare directă a performanțelor în domeniul frecvențelor și a ratei de eșantionare, acestea fiind testate, în continuare, folosindu-se metoda back-to-back ce presupunea reconstrucția semnalului cu ajutorul CNA-urilor. Această metodă necesita utilizarea unor CNA-uri cu performanțe, atât statice cât și dinamice, mult mai bune decât ale CAN-urilor. Problema a putut fi abordată de abia în anii 70, când computerele digitale și noile magistrale de date au permis testarea CAN-urilor folosind procedee de test bazate pe transformata Fourier rapidă (FFT). În anii 80, odată cu începuturile televiziunii digitale, înregistrării digitale a formelor de undă și cu evoluția sistemelor de comunicații, producătorii au început standardizarea specificațiilor convertoarelor precum SNR, SINAD, ENOB, THD etc. Aceste noi standarde au permis și o abordare unitară a testării CANurilor, iar în anii 90 au apărut noi metode de testare a convertoarelor precum testarea în frecvență, datorită evoluției computerelor. În prezent, performanțele de frecvență ale marii majorități a CAN-urilor pot fi testate și cei mai mulți producători au adoptat același set de specificații și aceeași terminologie, fapt care ajută atât în proiectarea dispozitivelor cu CAN-uri, cât și în testarea acestora. (Kester, 2008) 24

32 Erori Datorită unei abordări unitare a producătorilor față de caracteristicile și terminologia folosită în domeniu și față de utilizarea aceluiași model ideal (figura 3.14), s-au putut evidenția erorile care apar în cazul CAN-urilor (Cypress Semiconductor Corporation, 2011). (Kester, 2009) Figura 3.14: Caracteristica CAN-ului ideal A. Eroare de deplasare Eroarea de deplasare (DC Offset, figura 3.15) reprezintă apariția unei componente continue, ce este definită ca o diferență constantă, pe întreaga plajă de valori, între valoarea de ieșire și valoarea de intrare a CAN-ului. Această eroare este exprimată în multiplii ai LSB-ului. Întreaga componentă continuă introdusă în sistem poate proveni atât din erori ale CAN-ului, cât și de la alte componente, precum amplificatoarele sau traductoarele. Această eroare poate fi eliminată folosind un semnal de referință și scăzându-i valoarea din eșantioanele achiziționate. 25

33 Figura 3.15: Eroare de deplasare B. Eroare de amplificare Eroare de amplificare (DC Gain Error) sau de câștig (figura 3.16) este definită ca fiind diferența procentuală dintre panta semnalului de intrare și panta semnalului de ieșire. Eroarea de câștig a unui întreg sistem poate fi influențată și de amplificatoare, preamplificatoare, atenuatoare etc. Pentru a înlătura această eroare, poate fi măsurat un punct suplimentar de referință cu scopul de a afla câștigul corect. Figura 3.16: Eroare de câștig C. Neliniaritate diferențială Neliniaritatea diferențială (DNL, figura 3.17) apare atunci când există diferențe între dimensiunile cuantelor CAN-ului. Spre exemplu, eroarea apare dacă o cuantă are o dimensiune diferita de Δ = L N (unde 2 26

34 L este lungimea codului). Această eroare este particulară fiecărui tip de CAN și nu poate fi înlăturată doar prin calibrare. Figura 3.17: Neliniaritate diferențială D. Neliniaritate integrală Neliniaritatea integrală (INL, figura 3.18) reprezintă acumularea DNL și este măsurată în punctul în care apare diferența maximă față de linia ideală. Deoarece INL este specifică arhitecturii fiecărui CAN, aceasta nu poate fi eliminată doar prin calibrare. Figura 3.18: Neliniaritate integrală E. Distorsiunea armonică totală Distorsiunea armonică totală (THD) reprezintă o măsură a măsurii în care un CAN distorsionează semnalul de intrare. THD este raportul dintre valoarea RMS a semnalului fundamental și valoarea medie a rădăcinii sumei pătratelor armonicilor acesteia (de obicei se iau în calcul doar primele 5 armonici). 27

35 F. Gama dinamică lipsită de spurs Raza dinamică lipsită de spurs (pinteni) (SFDR Spurious free dynamic range) este raportul dintre valoarea RMS a unui semnal și valoarea RMS a celui mai mare spur apărut, indiferent de unde apare pe spectru. Cel mai mare pinten nu este neapărat o armonică a semnalului original. SFDR reprezintă cea mai mică valoare a semnalului care poate fi distinsă de un semnal cu care interferează. Spurs sunt datorați unei caracteristici interne a echipamentului. G. Cod lipsă O eroare a conversiei analog-numerică poate fi codul lipsă. Această eroare este gravă și înseamnă lipsa unor valori binare din semnalul de ieșire putând fi identificată ca o variație bruscă a semnalului. H. Erori de monotonie Erorile de monotonie (nemonotonia) apar atunci când semnalul digital de ieșire are o monotonie diferită de cea a semnalului analogic de intrare Testarea statică Testarea statică a unui CAN implică transmiterea unui semnal analogic, ce va reprezenta un stimul pentru CAN, urmată de citirea și interpretarea semnalului digital rezultat. O particularitate notabilă a CAN-urilor este faptul că, pentru fiecare valoare de ieșire, pot exista mai multe valori de intrare. Acest lucru se datorează naturii discrete a semnalului de ieșire și se numește incertitudine de cuantizare. Diferența de amplitudine a semnalului de intrare necesară pentru a produce o modificare a semnalului de ieșire trebuie să fie egală cu 1 LSB (sau cu lățimea codului rezultată din relația 3.5). În figura 3.19 sunt redate două metode posibile de definire a relației dintre intrare și ieșire. Figura 3.19: Măsurarea centrului codului pentru a determina tranzițiile Astfel, în figura 3.19.A, semnalul analogic parcurge centrul lățimii codului iar figura 3.19.B arată semnalul analogic situat la extremitatea lățimii codului. Datorită incertitudinii de cuantizare, nu există o metodă directă de aflare a centrilor lățimii codului, însă aceste nivele pot fi descoperite experimental prin metoda B în care se poate observa tranziția de la un nivel al ieșirii digitale la următorul. 28

36 Pentru a realiza acest test, CAN-ul trebuie să primească semnal de la o sursă de tensiune controlată, iar semnalul de ieșire să fie achiziționat cu un echipament digital sau, pentru o observație directă, pot fi plasate LED-uri. Tensiunea analogică va fi variată până când se realizează o incrementare a codului digital. Această metodă de test este eficientă doar dacă nivelul zgomotului este sub 1 LSB, o valoare mai mare a zgomotului putând masca tranzițiile. Odată ce au fost identificate punctele în care au loc tranzițiile, pot fi calculați centrii codului, știindu-se că aceștia se află la distanța de 0,5 LSB de punctele de tranziție. Prin această metodă pot fi identificate și erorile de DNL și, implicit, INL, după cum se poate observa în figura Figura 3.20: Determinarea INL și DNL prin observarea tranzițiilor codului Acest test (figura 3.21) poate fi realizat manual, cu o sursă de tensiune controlabilă și legând ieșirile digitale la o serie de LED-uri, ori asistat, folosind o sursă de tensiune controlabilă, un multimetru digital și un controller. Figura 3.21: Sistem simplu de test În această configurație de test pot fi detectate și alte câteva erori, precum decalajul (apariția unei componente continue), câștigul sau o combinație a acestora. 29

37 Figura 3.22: Erori de deplasare și câștig În figura 3.22 se pot observa erori de deplasare și câștig pentru un CAN pe 3 biți unipolar. Pentru figura 3.22A se poate calcula: Pentru figura 3.22B se poate calcula: Eroare de deplasare = V 001 0,5 LSB (3.9) Pentru figura 3.22C se poate calcula: Eroare castig (%) = 100 [ V 111 0,5LSB V GC 2LSB 1] (3.10) Eroare de deplasare = V 001 0,5 LSB (3.11) Eroare castig (%) = 100 [ V 111 V 001 V GC 2LSB 1] (3.12) Se observă că, pentru un CAN ideal, prima tranziție (cea între 000 și 001) are loc de abia când intrarea depășește valoarea de 0,5 LSB și ultima tranziție (între 110 și 111) are loc în momentul în care ajunge la o tensiune egală cu V GC 1,5LSB A. Testarea back-to-back statică Una dintre cele mai vechi și mai utile metode de test a CAN o reprezintătestarea back-to-back. Metoda constă în conectarea unui CAN cu un CNA cu performanțe superioare. Putem observa în figura 3.23 o configurație de test în care CNA-ul are o rezoluție cu 2 biți mai mare decât a CAN-ului. Figura 3.23: Testare statică back-to-back CAN/CAN 30

38 În figura 3.24 s-au reprezentat formele de undă pentru mai multe erori care pot apărea în conversia analog-numerică. Forma de undă are aspectul de dinți de ferăstrău iar lățimea fiecărui dinte în parte este egală cu lățimea codului. Dimensiunea dinților poate fi folosită pentru a determina erorile DNL. Linia punctată orizontală indică locul în care ar trebui să apară tranziția ideală, astfel putându-se observa efectul DNL (atât pozitiv cât și negativ), cât și erorile cauzate de lipsa unor porțiuni de cod. Figura 3.24: Forme de undă are erorilor în configurația Back-to-back Dacă se dorește testarea unui CAN prin metoda back-to-back pentru a face măsurători ale DNL, este recomandat un semnal tringhiular de amplitudine mică, cu o componentă continuă reglabilă. Componenta continuă poate fi variată pentru a acoperi întreaga gamă de intrare a CAN-ului. Dacă frecvența formei de undă a erorilor este prea mare, nu pot fi observate cu precizie erorile. Pentru testarea INL, este recomandabilă folosirea unui semnal de test triunghiular cu amplitudinea egală cu întreaga gamă a CAN-ului. Pentru a afla valoarea INL, se poate trasa o dreaptă între capetele intervalului de intrare și se va calcula distanța maximă dintre aceasta și valorile numerice de ieșire ale CAN-ului. Deși metoda back-to-back este o metodă simplă și ușor de implementat pentru testarea statică a liniarității CAN-urilor, cu cât rezoluția CAN-ului crește, cu atât trebuie micșorată frecvența de test și amplitudinea formei de undă a erorilor scade, zgomotul și erorile CNA-ului influențeazând mai mult rezultatul testelor. Acest tip de test este eficient pentru CAN-urile cu rezoluție sub 12 biți și cu zgomot care atinge un nivel maxim echivalent cu câteva zecimi din LSB. (Kester, 2008) B. Testarea crossplot a liniarității Metoda de test crossplot este o metodă asemănătoare cu back-to-back, fiind folosită pentru determinarea rapidă a neliniarităților integrale și diferențiale. Acest test este recomandat pentru determinări rapide, unde nu este necesară precizia. Metoda crossplot se diferențiază de back-to-back prin faptul că doar doi sau trei dintre cei mai nesemnificativi biți sunt convertiți înapoi în semnal analogic. Metoda crossplot a fost proiectată pentru a testa CAN-uri cu aproximații succesive și testând acest tip de CAN-uri se vor obține cele mai bune rezultate. 31

39 Figura 3.25: Forme de undă ale testului crossplot pentru cei mai semnificativi biți C. Testarea tranzițiilor în servo-buclă Sistemul de test al tranzițiilor în servo-buclă (figura 3.26), frecvent întâlnit în sistemele automate de test (ATE), are în componență un amplificator operațional configurat ca și integrator. O serie de comutatoare (cel mai adesea CMOS) au rolul de a comuta între sursa pozitivă și cea negativă, pentru alimentarea amplificatorului. Având o sursă de tensiune continuă la intrarea în integrator, va fi generată o rampă ce va servi drept semnal de intrare pentru CAN. Ieșirea digitală a CAN-ului (semnalul A) va intra întrun comparator digital iar cea de-a doua intrare a comparatorului digital va primi semnalul tranziției ce se dorește a fi urmărită (semnalul B). Dacă ieșirea CAN-ului este mai mică decât aceasta, comparatorul va conecta sursa negativă de tensiune la integrator. Dacă semnalul CAN-ului este mai mare sau egal cu tranziția urmărită (codată binar), va fi conectată sursa de tensiune pozitivă la integrator iar semnalul analogic va deveni o rampă descendentă. Figura 3.26: Diagramă de test în servo-buclă 32

40 Feedback-ul constant va face ca semnalul analogic să ia forma unui semnal triunghiular, centrat în dreptul tensiunii la care se realizează tranziția dorită. Măsurând tensiunea la ieșirea integratorului, vom putea determina această tensiune. Dacă temporizarea circuitului este corectă, amplitudinea semnalului triunghiular va fi o fracțiune din cea a LSB. Figura 3.27: Comportamentul în timp al semnalului analogic pentru testarea în servo-buclă Această tehnică poate fi folosită pentru a măsura capetele intervalului caracteristicii de transfer (primul și ultimul cod: V 1, V N 1 ). Valorile obținute pot fi folosite pentru a calcula valoarea nominală a LSB astfel: LSB NOM = V N 1 V 1 2 N 2 (3.13) Aceste valori pot fi folosite pentru a calcula DNL și INL pentru orice tranziție a CAN-ului. De asemenea, pot fi calculate eroarea de deplasare și de câștig. Zgomotul și histerezisul pot reprezenta o problemă în metoda aceasta de test, controlarea constantelor de timp, pentru a le modifica pentru precizie sporită. fiind utilă D. Testarea asistată de calculator a tranzițiilor în servo-buclă Pentru a realiza un sistem de test mai performant și mai flexibil, se poate modifica sistemul de test în servo-buclă prin introducerea unui computer sau a unui controller automat (figura 3.28). În felul acesta, comparația dintre semnalul tranziției testată poate fi modificată dinamic iar incrementarea sau decrementarea semnalului analogic de test poate fi făcută programatic. Deoarece acest sistem este complet programabil, el poate fi introdus în orice sistem de test. Figura 3.28: Sistem generalizat de testare asistată de calculator a tranzițiilor în servo-buclă 33

41 Figura 3.29: Caracteristică de transfer a sistemelor de testare asistată de calculator a tranzițiilor în servo-buclă E. Testarea densității codului cu intrare rampă Testarea densității codului (histograma codului) presupune testarea prelungită a CAN-urilor și stocarea unui set de date extins, achiziționat pe o perioadă de timp mai lungă. Testarea se realizează folosind un semnal al cărui densitate de probabilitate este cunoscută. Unul dintre cele mai folosite semnale de test este semnalul rampă (în practică se aseamănă mai mult unui semnal triunghiular), ce depășește puțin capetele gamei de intrare a CAN-ului. Semnalul acesta este menținut pentru o perioadă îndelungată și, dacă nu există erori precum INL sau DNL, toate codurile vor avea o densitate de probabilitate identică (cu excepția capetelor intervalului). Pe măsură ce setul de date devine mai mare, influența zgomotului de intrare este mai mică. Pe lângă influența zgomotului, și histerezisului tranzițiilor devine mai mic, deoarece acestea vor căpăta valori medii Testarea dinamică Marea majoritate a CAN-urilor folosite în circuitele moderne sunt CAN-uri cu eșantionare, care conțin și componente de eșantionare și reținere a semnalului de intrare. Pe lângă caracteristicile tradiționale de curent continuu, CAN-urile cu eșantionare au specificații de curent continuu precum SINAD, ENOB, SNR, SFDR etc. Specificațiile dinamice ale CAN-urilor și implicit, testarea acestora, au un rol foarte important în aplicațiile de viteză mare, precum comunicațiile digitale sau instrumentația. Testele dinamice ale CAN-urilor au fost realizate, pentru început, analogic, folosind metoda backto-back, dar odată cu apariția tehnologiilor de prelucrare digitală de semnal, testarea digitală a CAN-urilor a devenit standard. (Kester, 2008) A. Măsurarea ENOB folosind potrivirea unei forme de undă sinusoidale (Sinewave Curve Fitting) Pentru a calcula numărul efectiv de biți (ENOB Effective Number of Bits) trebuie folosit ca semnal de intrare în CAN un semnal sinusoidal cu o frecvență care să nu fie o sub-armonică a frecvenței de eșantionare. Eșantioanele citite vor fi salvate în memorie (de preferat să existe mai mult de 5 sinusoide complete (IEEE Standard for Digitizing Waveform Recorders, 1994) și prelucrate pe computer, folosind un algoritm de potrivire, pentru a găsi sinusoida definită de datele achiziționate. Algoritmul trebuie să calculeze amplitudinea, faza, frecvența și componenta continuă a sinusoidei discrete. 34

42 După identificarea sinusoidei, este calculată valoarea RMS a erorii de cuantizare,q A. Această valoare include erori datorată INL, DNL, cod lipsă, jitter aperturii, zgomot etc. Valoarea teoretică a erorii de cuantizare este: unde q este lățimea codului (1 LSB) Numărul efectiv de biți (ENOB) este: Q T = q 12 (3.14) ENOB = N log 2 [ Q A Q T ] (3.15) Trebuie luat în considerare faptul că potrivirea sinusoidei nu oferă informații legate de componenta de distorsiune armonică a erorii. ENOB poate fi calculat și cunoscând SINAD pentru întreaga gamă de intrare a CAN-ului: ENOB = SINAD 1,76 db 6,02 db (3.16) Cele două metode de calcul trebuie să aibă rezultate aproximativ egale, atât timp cât calculele sunt făcute pentru același CAN, datele sunt achiziționate într-un mediu asemănător și sinusoida acoperă întregul interval de intrare al CAN-ului. În cazul în care semnalul are un interval mai mic, valoarea ENOB poate fi anticipată astfel: ENOB = SINAD 1,76 db + Nivelul semnalului sub GC 6,02 db (3.17) B. Analiza FFT a semnalului O altă metodă de test a caracteristicilor dinamice ale CAN-urilor constă în generarea unei forme de undă analogică, discretizarea ei de către CAN și efectuarea unei analize spectrale, sub forma transformatei Fourier rapidă (FFT Fast Fourier Transform). O particularitate a testării CAN-urilor este faptul că semnalele de intrare sunt reale iar partea complexă trebuie să fie considerată nulă. De asemenea, valorile aflate între k = M/2 și k = M 1 ale FFT-ului (frecvențele negative ) reprezintă o imagine în oglindă a valorilor aflate între k = 0 și k = M/2 și pot fi ignorate. Rezoluția unei transformate FFT este dată de numărul de eșantioane M, iar lățimea ferestrei de frecvență a semnalului este dată de f s /M, unde f s este frecvența de eșantionare. Cu cât M are o valoare mai mare, cu atât rezoluția în frecvență va fi mai bună. În figura 3.30 se poate observa aspectul unui FFT în M puncte și relația dintre nivelul de zgomot al FFT-ului și nivelul de cuantizare al semnalului (aproximativ uniform distribuit în intervalul dintre CC componenta continuă și f s /2). Pentru fiecare dublare a lui M, valoarea medie a zgomotului din fereastra de frecvență Δf = f s /M scade cu 3dB. 35

43 Figura 3.30: Transformată FFT și câștigul de prelucrare Pentru a obține rezultate spectrale bune, FFT trebuie aplicat pe o fereastră a semnalului ce conține un număr întreg de perioade ale formei de undă, în caz contrar va apărea fenomenul de scurgere spectrală. Altfel spus, raportul dintre frecvența de eșantionare (f s ) și frecvența semnalului de intrare (f in ) trebuie să aibă o valoare întreagă. Mai mult, acest raport este egal și cu raportul dintre numărul de puncte eșantionate și numărul de perioade ale semnalului din fereastra pe care se calculează transformata Fourier discretă (DTF Discrete Fourier Transform). În figurile 3.31 și 3.32 se poate observa aspectul unui semnal corect eșantionat și al transformatei sale Fourier, cât și efectul eșantionării unui număr incomplet de perioade ale semnalului sinusoidal. Datorită eșantionării incorecte, în graficul FFT, se poate observa apariția unor lobi de amplitudine mai mică decât cea a vârfului. 36

44 Figura 3.31: FFT al unui semnal corect eșantionat Figura 3.32: FFT al unui semnal incorect eșantionat În cea de-a doua figură se poate observa fenomenul de scurgere spectrală ( spectral leakage ) și lobii suplimentari apăruți în graficul transformatei Fourier. Pentru a reduce acest fenomen, putem folosi alte ferestre în locul ferestrelor dreptunghiulare exemplificate în figura precedentă. Astfel, semnalul va fi redus la amplitudinea zero la începutul fiecărei perioade, precum în figura

45 Figura 3.33: Fereastră aplicată unui semnal sinusoidal În testarea CAN-urilor folosind semnale alternative periodice (sinusoide), este foarte importantă utilizarea unui semnal de ceas cu o variație (jitter) cât mai mică. Acest lucru se poate realiza folosind o sursă externă sau un oscilator aflat pe placa de test sau, în unele cazuri, integrat în CAN. De asemenea, în proiectarea circuitelor de test, trebuie acordată o deosebită importanță plasării corecte a mesei, deoarece aceasta, împreună cu semnalul de ceas, pot influența foarte mult caracteristicile SNR, SINAD și SFDR. (Kester, 2008) Figura 3.34: Schemă bloc pentru testarea cu semnale sinusoidale Pentru ca zgomotul de cuantizare să fie distribuit aleatoriu și pentru a preveni apariția datelor repetitive, este recomandabilă alegerea unui M C prim. După transmiterea semnalului sinusoidal și convertirea sa analog-numerică, se realizează calculul transformatei Fourier. Pentru a testa performanțele CAN-ului, poate fi analizat vizual graficul și comparate diferențele, sau pot fi comparate valorile numerice. În vederea verificării acurateței transformatei Fourier, se pot ignora o parte din cei mai nesemnificativi biți și se va verifica dacă SINAD și SNR calculate pentru datele obținute sunt apropiate de datele teoretice. este: Prin calcul direct, valoarea transformatei Fourier la momentul de timp n a unui CAN ideal pe N biți v(n) = INT [2 N 1 sin ( 2πf in f s )] (3.18) 38

46 unde f in este frecvența semnalului, f s este frecvența de eșantionare și funcția INT reprezintă partea întreagă. C. Testarea raportului zgomot-putere Pentru a calcula raportul zgomot-putere (NPR - Noise Power Ratio, figura 3.35) se aplică un semnal de tip zgomot Gaussian la intrarea CAN-ului căruia i se aplică un filtru trece-jos (cu o valoare maximă de 1 2 f s) și un filtru oprește-bandă (cu o lățime de 4kHz). Figura 3.35: Schemă bloc pentru testarea NPR NPR reprezintă raportul dintre amplitudinea semnalului în intervalul nemodificat de filtre și amplitudinea semnalului rezultat în urma aplicării filtrului oprește-bandă. Deoarece NPR este un raport al amplitudinilor, amplitudinea semnalului inițial poate fi variată până când NPR va avea valoarea maximă. Figura 3.36: Identificarea NPR în reprezentarea în frecvență a semnalului Ca și în cazul testelor bazate pe FFT, este important ca semnalul de ceas să aibă o variație cât mai mică pentru a nu afecta nivelul de zgomot al CAN-ului. Pentru a obține rezultate bune, trebuie ca rezultatul filtrului oprește-bandă să fie reprezentat în cel puțin de eșantioane. (Kester, 2008) D. Măsurarea variației aperturii folosind histograma Variația (jitter-ul) aperturii sau incertitudinea aperturii CAN-ului reprezintă o variație a procesului de codare de la un eșantion la altul, care are trei posibile efecte asupra măsurătorilor. Astfel, aceasta poate duce la creșterea nivelului de zgomot, poate introduce o incertitudine în ceea ce privește faza semnalelor de intrare sau poate mări interferența intersimbol (ISI Intersymbol Interference). În cazul majorității aplicațiilor, această variație are un efect ce poate fi ignorat asupra incertitudinii fazei sau asupra ISI. (Brannon & Barlow, 2006) Pentru a testa această incertitudine prin metoda Locked-Histogram Test (figura 3.37), se folosește o singură sursă de ceas foarte precisă, partajată de CAN și de un generator de formă de undă. Semnalul produs de generator va avea o amplitudine vârf-la-vârf de mărimea intervalului de intrare a CAN-ului și o frecvență egală cu frecvența de eșantionare, fiind centrat în mijlocul intervalului de intrare. Valorile de ieșite ale CAN-ului vor fi achiziționate de un computer. 39

47 Figura 3.37: Schemă bloc pentru testarea variației aperturii Pentru început, semnalul este centrat astfel încât să depășească cu doar câteva coduri valoarea medie reprodusă de CAN. Zgomotul inevitabil apărut va duce la o variație a codurilor rezultate, astfel încât este necesară calcularea deviației standard a distribuției σ L exprimată în LSB. Apoi, amplitudinea semnalului este mărită pentru a acoperi întreaga gamă de intrare a CAN-ului. Se va calcula noua distribuție σ H care conține atât zgomot, cât și incertitudini ale aperturii. În ambele cazuri, semnalul este configurat în așa fel încât codul cu valoare medie să aibă o probabilitate cât mai mare de apariție (Kester, 2008). Semnalele pot fi reprezentate grafic ca în figurile 3.38 și Figura 3.38: Semnal de intrare în CAN pentru calcularea zgomotului Figura 3.39: Semnal de intrare în CAN pentru calcularea zgomotului și a incertitudinii aperturii 40

48 Sursele de zgomot se adună conform relației: σ 2 H = σ 2 2 L + σ A (3.19) unde σ A reprezintă valoarea RMS a zgomotului (exprimată în LSB) rezultată în urma variației aperturii. Astfel, putem calcula σ A : σ A = σ H 2 σ L 2 (3.20) Semnalul de intrare are forma V in (t) = V GC sin(2πf in t), unde gama de intrare a CAN-ului este ±V GC. Rata de schimbare a semnalului de amplitudine maximă la trecerea prin zero este dată de: dv dt = V GC 2πf in max (3.21) Pentru o pantă dv/dt max, valoarea RMS a timpului de apertură, t a, este dată de eroarea de tensiune RMS, ΔV RMS, conform ecuației: t a = ΔV RMS dv dt max (3.22) Zgomotul RMS datorat variației aperturii exprimat în LSB, σ A, poate fi exprimat în funcție de Δ RMS : Înlocuind termenii din ecuațiile precedente, rezultă: ΔV RMS = σ A V GC 2 N 1 (3.23) t a = σ H 2 σ L 2 2πf in 2 N 1 (3.24) E. Măsurarea întârzierii aperturii Timpul de întârziere a aperturii CAN-urilor poate fi testat într-un mod foarte asemănător variației aperturii sau folosind un sistem de test simplificat, ilustrat în figura Figura 3.40: Schemă bloc pentru testarea întârzierii aperturii Se poate observa în figura 3.41 că sunt generate două semnale, unul sinusoidal și altul digital (pulsuri, ce vor servi drept semnal de ceas pentru CAN), ambele la o frecvență f s. Întârzierea aperturii este 41

49 reprezentată de diferența de timp dintre 50% din valoarea frontului crescător al semnalului de ceas și trecerea prin zero a sinusoidei. Figura 3.41: Timpul de întârziere al aperturii Timpul de întârziere al aperturii poate fi negativ sau pozitiv iar frecvența semnalului, deși nu deosebit de importantă, trebuie să fie suficient de mică încât să poată fi observată întârzierea semnalului. Este recomandat ca acest test să înceapă de la jumătatea frecvenței maxime de eșantionare. (Kester, 2008) F. Măsurarea aperturii CAN-urilor folosind FFT O altă rutină de test pentru verificarea variației aperturii CAN-urilor se folosește de transformata Fourier (figura 3.42). Dezavantajul acestui test este faptul că valorile măsurate vor include și variația semnalului de ceas, din acest motiv fiind necesară folosirea unui semnal de ceas de mare precizie. Figura 3.42: Diagramă bloc pentru testarea variației aperturii (folosind FFT) Sunt necesare două măsurători de SNR, ambele folosind semnale sinusoidale ce acoperă întreaga gamă de intrare a CAN-ului, iar frecvența semnalului de ceas va fi valoarea maximă suportată de CAN. Prima măsurătoare va calcula SNR L (Signal-to-Noise Ratio Low), folosind un semnal cu frecvență mică. La frecvențe mici, zgomotul detectat este preponderent cel aflat în semnalul de test. Modificând puțin amplitudinea, valoarea SNR va varia foarte puțin. Cea de-a doua măsurătoare va folosi un semnal de frecvență mare (f s /2 maxim) și va calcula SNR H (Signal-to-Noise Ratio High). La frecvențe mari, variația aperturii CAN-ului se va face simțită. Raportul semnal-zgomot datorat variației aperturii este dat de relația: 1 SNR A = 20 log 10 [ ] 2πf in t a (3.25) unde SNRA este valoarea SNR (db) datorată variației aperturii iar f in este frecvența semnalului de intrare. 42

50 Relația dintre SNR A, SNR L și SNR H (exprimate în db) este: t a = 1 1 2πf in 10 SNRA/20 (3.26) Echivalent: 2 1 ( 10 SNR H/20 ) = ( 10 SNR L/20 ) 1 + ( 10 SNR A/20 ) (3.27) ( 10 SNR A/20 ) = 1 ( 10 SNR H/20 ) 1 ( 10 SNR L/20 ) (3.28) Rezultă: t a = ( 2πf in 10 SNR H/20 ) 1 ( 10 SNR L/20 ) (3.29) În măsurarea SNR este foarte importantă înlăturarea armonicelor (de ordinele 1, 2, 3, 4, 5 și 6) ale semnalului (și componenta continuă) pentru calcularea FFT, altfel datele nu vor fi suficient de precise pentru calcularea variației aperturii. G. Măsurarea lățimii de bandă analogică folosind FFT Măsurarea lățimii de bandă analogică poate fi realizată folosind un semnal de test cu o frecvență ce variază crescător. Amplitudinea acestui semnal trebuie să fie menținută constantă de la cea mai mică la cea mai mare valoare, pentru a putea observa amplitudinea transformatei Fourier. Când amplitudinea transformatei Fourier va scădea cu 3 db față de amplitudinea inițială, putem defini o lățime de bandă de 3 db. Această măsurătoare poate fi realizată la amplitudine maximă, caz în care se numește FPBW (Full- Power Bandwidth) sau la amplitudini mai mici. Pentru a observa și distorsiunea semnalului prin aceste măsurători, se folosește rezoluția efectivă a lățimii de bandă (ERB Effective Resolution Bandwidth), care este definită drept frecvența la care SINAD scade cu 3 db în amplitudine, fapt echivalent cu o pierdere de 0,5 ENOB. ERB este măsurată prin aceeași procedură ca și ENOB. H. Timpul de stabilizare Timpul de stabilizare este perioada de timp necesară stabilizării unui semnal în momentul eșantionării. (Spatari & Roșca, 2007) Acest timp poate fi determinat folosind un generator de semnal sincronizat cu CAN-ul. Semnalul generat trebuie să fie un semnal treaptă (mai mic decât V GC ) și să fie trimis înaintea semnalului de ceas al eșantionării CAN-ului. Întârzierea dintre treaptă și semnalul de ceas trebuie să fie cel mai scurt interval pentru care valoarea eșantionată să se situeze în intervalul ±1LSB față de valoarea treptei. Perioada de timp dintre 50% din valoarea treptei și semnalul de ceas al eșantionării reprezintă timpul de stabilizare și timpul de apertură. Dacă zgomotul semnalului de intrare este mai mare de 1 LSB, este necesară folosirea histogramei pentru a stabili valorile cu cele mai mari probabilități. Nu este necesar ca CAN-ul să ruleze la frecvența maximă de eșantionare. 43

51 Figura 3.43: Grafic în care sunt evidențiați timpii de apertură și de stabilizare I. Timpul de revenire pentru supratensiune Ca și timpul de stabilizare, timpul de revenire de la supratensiune se măsoară folosind o sursă de semnal sincronizată cu CAN-ul, ce generează un semnal treaptă. Inițial, semnalul treaptă trebuie să se afle în afara gamei de intrare a CAN-ului (V IN < V GC ( )). Treapta generată va fi mai mică decât V GC și va fi transmisă cu o anumită perioadă de timp înaintea semnalului de ceas al eșantionării, ca și în cazul testării timpului de stabilizare. J. Testarea ratei de erori a biților Testarea ratei de erori a biților (BER Bit Error Rate) este datorată metastabilității CAN-urilor. Procedura de test constă în transmiterea unui semnal analogic CAN-ului și salvarea succesivă a câte două seturi de date. Dacă diferența dintre cele două seturi de date este mai mare decât o valoare prestabilită (poate fi calculată știind felul în care variază semnalul de intrare a CAN-ului), putem vorbi despre apariția unor biți eronați. Rata de eroare a biților este într-un interval de timp T este: unde E este numărul de erori. BER = E 2Tf s (3.30) Frecvența semnalului de intrare trebuie să fie aleasă astfel încât să existe cel puțin un eșantion pentru fiecare combinație binară a ieșirii. Fie un semnal de intrare cu amplitudinea 2 N /2: Rata maximă de modificare a semnalului este: v(t) = 2N 2 sin(2πft) (3.31) 44

52 dv dt ] 2 N πf max (3.32) Fie dv = 1 LSB și dt = 1/f s : f in f s 2 N π (3.33) Alegând o frecvență f in ce respectă inegalitatea de mai sus, va rezulta cel puțin un eșantion pentru fiecare cod. Figura 3.44: Semnal cu frecvență mică pentru determinarea BER Același test se poate efectua la frecvențe mai mari aplicând un semnal cu o frecvență strict mai mică decât f s, ca în figura Acest semnal va permite o diferență între eșantioane mai mică decât 1 LSB. BER la frecvențe mari poate fi determinat după cum urmează: - fie un semnal sinusoidal de cu frecvența mai mică decât f s cu Δf și amplitudinea 2 N /2: - rata maximă de modificare a semnalului este: v(t) = 2N 2 sin [2π (f s 2 Δf) t] (3.34) dv dt ] max - fie dv = 1 LSB și dt = 2/f s, se calculează Δf: 2 N π ( f s 2 Δf) (3.35) Δf f s 2 ( N π ) (3.36) 45

53 Figura 3.45: Determinarea BER la frecvențe mari Un CAN fără defecte de 8 biți testat la o frecvență de 75 MHz are un BER de aproximativ 3, (o eroare pe oră). Din această cauză, testele de BER pot dura foarte mult și există o probabilitate mare ca erorile să fie cauzate de ale surse. (Kester, 2008) 46

54 4. Studiu de caz 4.1. Componente ale sistemului automat de test Dispozitivul testat Dispozitivul testat (DUT) constă dintr-un montaj electronic de test ce conține un convertor analognumeric Texas Instruments ADC0804LCN cu rezoluția de 8 biți. Pentru a reduce zgomotul pe traseul de alimentare V CC și V REF /2, au amplasate două condensatoare. Principalele caracteristici ale CAN-ului sunt prezentate în tabelul 4.1, mai multe caracteristici fiind menționate în anexa 1. (Texas Instruments, 2009) Caracteristică Model CAN Producător Valoare ADC0804LCN Texas Instruments Soclu DIP 20 Rezoluție Tip Ieșire Intrare Timp de conversie 8 biți aproximări succesive Paralelă diferențială 0,1ms Eroare liniaritate 1% Rată de eșantionare Eroare totală Alimentare 1kS/s ±1LSB 5V Gama de intrare 0-5V (pentru alimentare 5V) Tip intrare semnal diferențială Tabel 4.1: Caracteristici principale TI ADC

55 Figura 4.1: Reprezentare schematică a CAN-ului (Texas Instruments, 2009) Semnalul de ceas al CAN-ului poate proveni dintr-o sursă externă sau poate fi produs de către trigger-ul Schmitt intern al modulului folosind un circuit RC: f CLK = 1 RC ln [( V CC V T V CC V T + ) (V T + V T )] (4.1) Figura 4.2: Auto-generarea semnalului de ceas folosind un circuit RC și trigger-ul Schmitt 48

56 Figura 4.3: Schema electrică a DUT-ului Figura 4.4: Modul de test (DUT) cu convertor analog-numeric (față) 49

57 Figura 4.5: Modul de test (DUT) cu convertor analog-numeric (spate) Echipamente de testare Pentru realizarea testelor s-a folosit un sistem de achiziție de date National Instruments Compact RIO NI crio-9076, cu modulele de achiziție NI 9381 și NI Compact RIO este asemănător cu echipamentele PXI care sunt des utilizate în testarea automată. Atât echipamentele PXI National Instruments cât și crio pot folosi sistemul de operare în timp real LabVIEW RT, ambele având și o arhitectură modulară. Compact RIO este un sistem de tip PAC (Process Automation Controller) reconfigurabil de conducere de procese și achiziție de date. Acesta este compus dintr-un controller și un șasiu, căruia îi pot fi atașate module. Controller-ul, un computer embedded, are la bază un procesor (ARM sau x86, în cazul echipamentului folosit, ARM), porturi de comunicație și LED-uri de stare. Șasiul nu are doar rolul de a conecta modulele de controller, acesta având un FPGA integrat care poate fi folosit drept intermediar între controller și module. În cazul dispozitivului folosit, crio-9076, șasiul nu poate fi detașat de controller. Sistemul Compact RIO este proiectat pentru a fi cât mai ușor de configurat în funcție de cerințele specifice ale diverselor aplicații. Compact RIO utilizează cu modulele C-Series produse de National Instruments sau alte module compatibile. Acestea pot fi accesate direct de către sistemul de operare în timp real sau de către FPGA pentru performanțe ridicate. Compact RIO este programat folosind un PC pe care rulează LabVIEW cu modulul de programare LabVIEW Real Time și modulul LabVIEW FPGA. Programarea are loc pe PC atât pentru componenta de cod destinată controller-ului, cât și pentru FPGA, fiind încărcate pe dispozitiv prin intermediul conexiunii Ethernet. 50

58 Caracteristică Sistem de operare Procesor DRAM Spațiu de stocare intern Comunicații Valoare LabVIEW Real Time ARM, 400 MHz 256 MB 512 MB Ethernet 10/100 BASE-TX RS232 USB 2,0 Alimentare FPGA 9-30 VDC Spartan-6 LX45 Nr. maxim module 4 Tabel 4.2: Specificații NI crio-9076 controller și șasiu crio cu FPGA Modulul NI 9381 permite achiziția și generarea de semnal folosind o arhitectură multiplexată ce împarte semnalul de clock de 20KHz între canalele de intrare și ieșire analogică. Caracteristică Frecvență de eșantionare Număr canale intrare analogică Rezoluție intrare analogică Număr canale ieșire analogică Rezoluție ieșire analogică Valoare 20 ks/s 8 canale 12 biți 8 canale 12 biți Număr canale digitale 4 Logică linii digitale Frecvență actualizare canale digitale Low-Voltage TTL 1MHz Tabel 4.3: Specificații NI 9381 modul multifunctional Modulul NI 9401 este un modul de intrare/ieșire digital bidirecțională. Conectorul său este compatibil cu mufele D-SUB de 25 de pini. Caracteristică Valoare Număr canale digitale 8 51

59 Frecvență actualizare linii digitale Logică linii digitale Canale bidirecționale 100 ns 5V/TTL Da, nibble 4 biți Tabel 4.4: Specificații NI 9401 modul digital I/O Montajul de test Montajul de test realizează conexiunile fizice dintre echipamentul de achiziție de date și DUT și condiționarea semnalului de alimentare a DUT-ului și Vref/2. Pentru a asigura o proporție corectă între Vref/2 și Vcc, am folosit o singură sursă de și un divizor de tensiune. Montajul de test are în componență 8 LED-uri, ce sunt alimentați extern (V DC = 5V) care reprezintă valorile biților CAN-ului negați cu rezistențele aferente, condensatori pentru filtrarea zgomotului de alimentare și Vref/2, și un circuit RC pentru generarea semnalului de tact. În schema electrică a circuitului se pot observa valorile componentelor și conectorii care sunt detaliați în tabelul 4.5. Cablurile pentru semnale analogice sunt cabluri coaxiale de 50Ω iar cele de semnal digital sunt cabluri torsadate ecranate. Figura 4.6: Schema electrică a plăcii de test Conector Numerotație Nr. pini conector Funcție Nr. pin (CAN) Tipul pinului 52

60 Stânga J1 10 pini DUT 1-10 Mixt Dreapta J2 10 pini DUT Mixt Alimentare J3 2 pini Vcc 20 AI A GND 8 A GND Semnal J10 2 pini Vin+ 6 AI Vin- 7 AI Vref/2 J9 2 pini Vref/2 9 AI A GND 8 A GND Feedback semnal J4 2 pini Vin+ 6 AI Vin- 7 AI Alimentare LED-uri J13 2 pini Vdc Vdc D GND 10 D GND Start of Conversion J14 2 pini ^WR, 3, 5 DI ^INTR D GND 10 D GND Valori digitale J6 9 pini D GND 10 D GND DB7 11 DO DB6 12 DO DB5 13 DO DB4 14 DO DB3 15 DO DB2 16 DO DB1 17 DO DB0 18 DO Tabel 4.5: Pini și conectori ai plăcii de test În figurile 4.7 și 4.8 este reprezentat montajul de test, simulat în NI Ultiboard. 53

61 Figura 4.7: Placă de test a modulelor cu CAN (față) Figura 4.8: Placă de test a modulelor cu CAN (Spate) Semnal extern Alimentare LED-uri Alimentare circuit Alimentare V REF /2 V IN Semnal analogic Start of conversion Valoare 5V 5,04V 2.52V Variază 0 5V Tabel 4.6: Semnale de intrare ale montajului de test Frecvența teoretică a semnalului de ceas, bazată pe valorile R8 (10kΩ) și C3 (150pF) la tensiunea de alimentare 5,04V (tabelul 4.6) este: f CLK = 1 = R 8 C 3 ln[( V CC V T V CC V T + )(V T + V T )] 1 10kΩ 150pF ln[( 5,04V 1,78V 5,04 3,08V )(3,08V 1,78V )] Hz (8.2) unde V T + = 3,08V și V T = 1,78V, conform caracteristicii trigger-ului Schmitt (figura 6.3). 54

62 Pentru decodarea valorilor LED-urilor, vom considera grupul celor mai nesemnificativi biți (LS) care constă din primii 4 cei mai nesemnificativi biți și grupul celor mai semnificativi biți (MS) format din cei mai semnificativi 4 biți. Fiecare grup poate fi reprezentat ca o valoarea hexazecimală. HEX Valoare binară Valoare binară fracționară pentru Centrii codurilor (V) (V REF = 2,56V) Gruparea MS Gruparea LS MS LS F /16 15/256 4,80 0,30 E /8 7/128 4,48 0,28 D /16 13/256 4,16 0,26 C /4 3/64 3,84 0,24 B /16 11/256 3,52 0,22 A /8 5/128 3,20 0, /16 9/256 2,88 0, /2 1/32 2,56 0, /16 7/256 2,24 0, /8 3/128 1,92 0, /16 5/256 1,60 0, /4 1/64 1,28 0, /16 3/256 0,96 0, /8 1/128 0,64 0, /16 1/256 0,32 0, Tabel 4.7: Decodarea valorilor binare Software utilizat A. LabVIEW Pentru programarea testelor pe PC am folosit National Instruments LabVIEW. LabVIEW (Laboratory Virtual Instrument Engineering Workbench) este un mediu grafic de dezvoltare a sistemelor de achiziție de date, monitorizare și conducere de procese. Limbajul grafic folosit este denumit G iar paradigma care stă la baza acestuia este denumit Dataflow. Un program LabVIEW se numește VI (VI Virtual Instrument) și constă din Front Panel, interfața grafică și Block Diagram, mediul de programare. În Block Diagram există noduri (funcții, structuri, variabile) și fire (unidirecționale, prin intermediul cărora se transmit datele). Dataflow dictează ordinea de execuție a nodurilor. Informațiile se transmit prin fire în momentul în care acestea sunt făcute disponibile de către nodul din amonte și se propagă instantaneu către nodul din aval. Un nod se va executa doar în momentul în care toate datele de intrare îi sunt disponibile (toate firele care transmit informații ce reprezintă parametri de intrare sunt conectate și au fost transmise datele prin ele). Datorită acestui concept, programarea paralelă în LabVIEW este foarte ușor și intuitiv de realizat. Oricare două porțiuni de cod între care nu există fire care să le impună o execuție secvențială, se vor executa în paralel. Principalele beneficii ale LabVIEW sunt următoarele: interfațarea: programele ușor de interfațat cu foarte multe dispozitive hardware dar și cu module software; compilarea: odată cu modificarea diagramei bloc de către programator, VI-ul este compilat; librării: LabVIEW beneficiază de biblioteci mari disponibile programatorilor; reutilizarea codului: programele LabVIEW pot integra alte programe, driver-e sau DLL-uri deja existente. În plus, există o foarte mare compatibilitate între programele pentru PC, Real Time, FPGA sau alte dispozitive; 55

63 programare paralelă: datorită Dataflow, programarea paralelă este ușor de realizat; ecosistem de aplicații: există un număr mare de module și aplicații utilitare; comunitate de utilizatori: comunitatea online de programatori LabVIEW este mare. B. Modulul LabVIEW Real Time Pentru programarea echipamentului NI Compact RIO am utilizat modulul LabVIEW Real Time. Acest modul permite generarea de cod pentru programarea echipamentelor ce rulează sistemul de operare LabVIEW Real Time. Programarea sistemului în timp real necesită anumite particularități, care o diferențiază de programarea computerelor desktop. De asemenea, modulul oferă și posibilități suplimentare de debugging. C. Modulul LabVIEW FPGA Pentru a programa FPGA-ul crio-ului am folosit modulul LabVIEW FPGA. Acesta utilizează funcții specifice iar codul G este compilat și optimizat pentru a rula pe FPGA. D. Test Stand TestStand este un program de management de teste automate. Acesta poate efectua secvențe de test bazate pe programe realizate în orice limbaj. Secvențele de test pot fi programate să urmeze o anumită ordine, pot genera rapoarte și pot fi conectate cu sisteme de informatice de gestiune. Programele realizate în Test Stand oferă și o interfață intuitivă cu operatorul. E. Sistemul de operare LabVIEW Real Time Sistemul de operare al Compact RIO este LabVIEW Real Time, un sistem de operare în timp real destinat să ruleze pe procesoare x86, și ARM. Poate fi programat folosind LabVIEW cu modulul Real Time. Fiind un sistem de operare în timp real, procesele sunt executate determinist. Modulele instalate pe Compact RIO pot fi accesate direct de către sistemul de operare în timp real folosind modul Scan Mode. F. Multisim Pentru proiectarea schemelor electronice (montajul de test și DUT) s-a folosit NI Multisim, un program SPICE de proiectare și simulare a circuitelor electronice. G. Ultiboard În experimentul efectuat am utilizat NI Ultiboard pentru proiectarea circuitelor imprimate (montajul de test și DUT). Ultiboard este un program profesional de proiectare ce permite proiectarea și simularea modulelor electronice. Simulările 3D ale circuitelor sunt realizate folosind acest program Obiective și strategie de test Obiectivul testelor realizate în această lucrare este acela de a valida funcționalitatea platformei de test prin execuția de teste statice ale CAN-urilor și analizarea rezultatelor. Utilizând resursele hardware și software disponibile, vom analiza următorii parametri: erori de cuantizare; erori de deplasare; erori de câștig; neliniaritate diferențială; neliniaritate integrală. 56

64 Proceduri premergătoare Montarea DUT-ului pe montajul de test Pornirea alimentari Alimentare LED-uri Alimentare DUT Pornirea echipamentului de achiziție de date Inițializare Citirea fișierului de parametrii Trimiterea semnalului SOC Achiziție date Generarea unui semnal tip dinte de fierăstrău Achiziția raspunsului DUT-ului Oprire semnale Semnal analogic Semnal SOC Analia datelor Calcul eroare cuantizare Calcul eroare câștig și deplasare Calcul DNL și INL Realizare histogramă Validare/Invali dare Test DUT incheiat Repetare test/oprire Figura 4.9: Proceduri test 57

65 Structura software Sistemul utilizează patru componente care comunică între ele pentru a realiza testele. Programul de test constă din procedurile de test programate în LabVIEW și rulate pe PC, Compact RIO și FPGA. Gestiunea testelor și apelarea secvenței de test este realizată în NI TestStand. LabVIEW FPGA LabVIEW Real Time LabVIEW Test Stand Figura 4.10: Software-ul sistemului LabVIEW FPGA controleaza direct modulele de intrare/ieșire ale crio. Acest software rulează direct pe FPGA. Comunică cu LabVIEW Real time pentru a transmite datele achiziționate și pentru a primi comenzi. Programul de pe FPGA rulează într-o buclă continuă a cărei frecvență poate fi modificată extern, limitată de hardware la 40MHz. Între momentul scrierii valorii analogice prin intermediul modulului de AO și momentul citirii există o întârziere de 0,1 msec necesară eșantionării de către CAN. Figura 4.11: VI FPGA LabVIEW Real Time rulează pe controller-ul crio și comunică cu FPGA-ul și prin rețea cu computerul. Acesta încarcă codul compilat pe FPGA, pornește FPGA-ul și îl controlează. Pe Real Time există o structură de date, numită cluster, care are rolul de a reține toate variabilele programului (valori de I/O, parametrii, etc.). crio este programat să controleze comunicarea cu PC-ul. Figura 4.12: VI prinicpal Real Time 58

66 Pe PC, LabVIEW controlează crio și obține date de la acesta. Datele pot fi transmise direct către Test Stand sau pot fi salvate pe discul PC-ului. Figura 4.13: VI PC pentru generare și achiziție de semnal Test Stand are rolul de a gestiona testele. Astfel, pentru început, va citi un fișier de configurare, din care va obține cerințele de test și apoi va apela testele din LabVIEW (pe PC) pentru a realiza testarea DUT-urilor. 59

67 Figura 4.14: Procedură Test Stand Proceduri de test Procedurile de test rulează în LabVIEW pe PC și au rolul de a genera semnale, de a le trimite către crio și de a le interpreta A. Testul de eroare de cuantizare Testul de eroare de cuantizare are rolul de a calcula diferența dintre semnalul generat și semnalul transmis de CAN. 60

68 Figura 4.15: Calcul erori cuantizare B. Erori de deplasare și câștig Erorile de deplasare se calculează folosind un semnal tip rampă, identificarea pantei acestuia și calculul punctului de intersecție cu ordonata atât pentru semnalul original cât și pentru cel obținut de la CAN. Eroare de câștig reprezintă diferența celor două pante. Figura 4.16: Calcul eroare deplasare și câștig C. Erori de neliniaritate diferențială și integrală Pentru a determina aceste erori, folosim un semnal de tip dinți de ferăstrău pe care îl transmitem CAN-ului iar în software ne folosim de panta sa. Eroarea diferențială de neliniaritate calculăm ca diferență dintre valorile de tensiune ale biților exprimate drept fracțiune a LSB. 61

69 Figura 4.17: VI principal test INL și DNL Primul pas constă în identificarea și extragerea unui singur ciclu al semnalului. Figura 4.18: Extragerea unui ciclu al semnalului triunghiular Figura 4.19: Izolarea unui singur ciclu Ulterior, se calculează raportul dintre nivelele CAN-ului din care rezultă DNL. 62

70 Figura 4.20: Calcul DNL INL se calculează ca și sumă a DNL din care se scade eroarea de câștig și cea de deplasare. Figura 4.21: Calcul INL D. Test de precizie cu histogramă și semnal rampă Folosind semnalul de test, în care pe axa orizontală am reprezentat valoarea fiecărui eșantion, iar pe cea verticală numărul de apariții ale sale. Figura 4.22: Calcul histograma 63

71 4.3. Rezultate experimentale Semnal de test folosit este un semnal tip dinte de ferăstrău, cu o amplitudine de 5V, centrat în 2,5V, cu o frevență de 10 Hz, cu 500 de eșantioane, ahiziționat la o frecvență de eșantionare de 1KHz. Măsurătorile au fost făcute la o temperatură ambientală de aproximativ 22. Figura 4.23: Semnalul de test Conform rezultatelor experimentale (tabelul 4.24 și figura 4.25), eroarea maximă e cuantizare maximă este 0, , adică mai mare decât valoarea maximă ideală (LSB/2, unde LSB = 0, V). Parametru Valoare (V) Eroare maximă de cuantizare 0, Eroare minimă de cuantizare 0 Figura 4.24: Eroare de cuantizare 64

72 Figura 4.25: Eroare cuantizare Eroarea de câștig și cea de deplasare sunt prezentate în tabelul Putem observa că sunt valori neglijabile. Parametru Valoare Panta semnal 0,05 Panta CAN 0, Eroare câștig (raport pante) 1,00134 Eroare deplasare (V) 0, Figura 4.26: Eroare de câștig și deplasare Neliniaritățile CAN-ului (tabel 4.27) sunt foarte apropiate de eroarea specificată a CAN-ului (1 LSB). Parametru Valoare (LSB) DNL minim 0,0039 DNL maxim 0,51 INL minim 6,

73 INL maxim 1,1 Figura 4.27: Eroare INL și DNL Histograma semnalelor discretizate (figura 4.28) ne indică faptul că deși în eșantioanele achiziționate nu toate valorile numerice posibile sunt atinse, CAN-ul are o precizie mare și doar o singură valoare a semnalului de test nu se repetă 5 ori (semnalul este compus din 5 trepte). Figura 4.28: Histogramă pentru 5 semnale rampă 4.4. Îmbunătățiri posibile Pentru a avea un grad mai mare de control asupra experimentului, pot fi aduse modificări platformei de test. Prima modificare propusă constă în modificarea montajului de test astfel: A. Folosirea unui semnal de ceas extern Montajul de test folosit utilizează auto-temporizarea CAN-ului folosind un circuit RC. Pentru a putea testa comportamentul CAN-ului la diferite frecvențe de eșantionare, montajul de test poate fi configurat să folosească un semnal de ceas extern. B. Intrarea diferențială a semnalului Deși CAN-ul folosit este proiectat cu intrări diferențiale, în montajul de test folosit intrarea V IN este legată la masă și semnalul este achiziționat NRSE (Non-Reference Single Ended). C. Afișaj digital Pentru ca montajul de test să poată fi folosit în scopuri didactice sau demonstrative, poate fi montat un afișaj digital. Afișarea se poate face în baza 16, folosind 2 display-uri cu 7 segmente sau în baza 10 folosind 3 display-uri cu 7 segmente. D. Verificarea consumului energetic Pentru o testare mai amplă a circuitelor și modulelor electronice cu CAN-uri, poate fi măsurat curentul de alimentare a montajului de test. 66

74 E. Sistem de prindere Pentru a evita greșeli de manipulare a DUT-urilor, sistemul de montare poate fi alcătuit din două pin headere plasate la un unghi oarecare unul față de celălalt, spre deosebire de sistemul actual de prindere care permite plasarea inversă a DUT-urilor pe montaj. F. Protecții electronie Pentru a proteja circuitul, pot fi montate diode de protecție pe circuitul de alimentare și pe cel de semnal (deoarece semnalul este mereu pozitiv în configurația curentă). G. Adaptarea pentru alte CAN-uri Acest sistem de test este adaptat doar pentru TI-ADC0804. În iterațiile următoare, sistemul poate fi adaptat pentru a putea fi folosit cu mai multe CAN-uri. H. Monitorizare a temperaturii Pentru măsurători foarte precise este indicată monitorizarea temperaturii deoarece caracteristicile modulelor electronice cu CAN-uri pot varia în funcție de temperatură. 67

75 5. Concluzii Sistemele automate de test sunt elemente necesare procesului de asigurare a calității în industria producătoare de echipamente electronice. Testarea, fie funcțională, fie structurală joacă un rol foarte important în reducerea cheltuielilor și evitarea variației performanțelor produselor. Sistemul de test propus are performanțe bune, validând CAN-ul testat conform datasheet-ului acestuia. Deși erorile de cuantizare ies din banda teoretică de ±1/2 LSB, eroarea de ± 1 LSB a CAN-ului justifică aceste valori. De asemena, influența preciziei de 7 biți (asigurată de producător) justifică și valoarea relativ mare a DNL. Testul cu histogramă realizat indică faptul că platforma experimentală poate fi folosită și pentru realizarea testelor de precizie. Platforma îndeplinește obiectivul de testare statică a CAN-urilor și poate realiza teste de neliniaritate diferențială și integrală, teste de câștig și deplasare, eroare de cuantizare și test de precizie cu histogramă. Prin îmbunătățiri ulterioare, sistemul de test propus poate fi adaptat pentru noi modele de CANuri, testare paralelă folosind canale separate de achiziție și generare de semnal sau chiar al dispozitiv de achiziție de date. 68

76 6. Anexe 6.1. Anexa 1: Date tehnice CAN Texas Instruments ADC0804LCN 8 biți Parametru Condiții Min Med Max Unități T C f clk CR Timp de conversie Frecvență ceas fclk = 640 khz(1) VCC = 5V(2) µs /fCLK khz Factor de umplere ceas 40% 60% Rată de conversie în modul de execuție liberă INTR tied to `WR with `CS = 0 VDC, fclk = 640 khz conv/s t w(wr)l Lățimea impulsului de start (`WR) `CS = 0 VDC (3) 100 ns tacc Timp de acces (întârziere între frontul descrescător al RD până la validarea datelor de ieșire) t1h, t0h Control TRI-STATE (Întârziere de la frontul crescător `RD la starea de impedanță mare) CL = 100 pf ns CL = 10 pf, RL = 10k ns t WI, t RI Întârziere între frontul descrescător al `WR sau `RD pentru ns resetarea `INTR C IN Capacitanța de intrare a intrărior logice de control 5 7,5 pf C OUT Capacitanța de ieșire TRI-STATE (Buffere de date) 5 7,5 pf INTRĂRI DE CONTROL V IN (1) Tensiune de intrare valoare 1 logică (exceptând CLK IN Pin 4) VCC = 5.25 VDC 2 15 VDC V IN (0) Tensiune de intrare valoare 0 logică (exceptând CLK IN Pin 4) VCC = 4.75 VDC 0,8 VDC I IN (1) Curent de intrare valoare logică 1 (toate intrările) VIN = 5 VDC 0,005 1 µadc I IN (0) Curent de intrare valoare logică 0 (toate intrările) VIN = 0 VDC -1-0,005 µadc CLOCK IN ȘI CLOCK R V T + CLK IN (Pin 4) Prag pozitiv de tensiune 2,7 3,1 3,4 VDC V T CLK IN (Pin 4) Prag negativ de tensiune 1,5 1,8 2,1 VDC V H CLK IN (Pin 4) Histerezis (VT+) (VT ) 0,6 1,3 2 VDC V OUT (0) Tensiune de ieșire cu valoarea logică 0 CLK R IO = 360 µa, VCC = 4.75 VDC 0,4 VDC V OUT (1) Tensiune de ieșire cu valoarea logică 1 CLK R IO = 360 µa, VCC = 4.75 VDC 2,4 VDC DATA OUTPUTS AND `INTR Tensiune de ieșire cu valoarea 0 logică IOUT = 1.6 ma, VCC = 4.75 VDC 0,4 VDC V OUT (0) Ieșiri date Ieșire `INTR V OUT (1) Tensiune de ieșire cu valoarea logică 1 CLK R IOUT = 1.0 ma, VCC = 4.75 VDC 0,4 VDC IO = 360 µa, VCC = 4.75 VDC 2,4 VDC IO = 10 µa, VCC = 4.75 VDC 4,5 VDC I OUT Scurgere de ieșire oprită TRI-STATE VOUT = 0 VDC -3 µadc VOUT = 5 VDC 3 µadc I SOURCE VOUT scurt la GND, TA = 2 5 C 4,5 6 madc I SINK VOUT scurt la VCC, TA = 25 C 9 16 madc Alimentare I CC Curent alimentare fclk = 640 khz, VREF/2 = NC, TA = 25 C și `CS = 5 V 1,9 2,5 ma Caracteristici electrice Sensibilitatea la alimentare V CC = 5V DC ± 10% față de V IN (+) și V IN ( ) ±1/16 ±1/8 LSB 69

77 Parametrii maximi Eroare de mod comun În gama de intrare AI ±1/16 ±1/8 LSB Eroare totală neajustată V REF /2 = 2.5C DC ±1 LSB Rezistență intrare V REF /2 (Pin 9) 0,75 1,1 kω Tensiunea analogică de intrare V(+) sau V( ) V CC Tensiune de alimentare 6,5 V Tensiuni Temperatura bornelor (Lipire, 10 secunde) GND - 0,05 Intrări logice -0,3 +18 V Restul intrărilor și ieșirilor -0,3 Ambalare Dual-In-Line (plastic) 260 C Ambalare Dual-In-Line (ceramică) 300 C Fază vapori montare la suprafață (60 sec.) 215 C Infraroșii (15 sec.) 220 C Temperatură de depozitare C Putere disipată la T A = 25 C 875 mw Susceptibilitate ESD 800 V Tabel 6.1: Specificații tehnice ale CAN-ului (Texas Instruments, 2009) VCC + 0,05 VCC +0,3 VDC V Figura 6.1: Evoluția pragului digital în funcție de tensiunea de alimentare Figura 6.2: Întarzierea dintre frontul scăzător al `RD și Ieșirea datelor valide în funcție de capacitate 70

78 Figura 6.3: Nivelele trigger-ului Schmitt (CLK IN) în funcție de tensiunea de alimentare Figura 6.4: Frecvența ceasului în funcție de condensatorul montat Figura 6.5: Eroarea full-scale în funcție de timpul de conversie Figura 6.6:Efectul erorii de deplasare neajustate Vref/2 Figura 6.7: Curentul de ieșire în funcție de temperatură Figura 6.8: Curentul de alimentare în funcție de temperatură 71

79 Figura 6.9: Eroarea de liniaritate la valori Vref/2 mici 72