COUS 5 : CONVESIONS CNA & CAN Pas de quantification et ythme de quantification Définitions pas de quantification et rythme de quantification dynamique ~ 2 N Vue globale d une chaine (capteur CNA {DSP+ logique} CNA...) Fonctionnement CNA du type à réseau de résistance Principe de sources de courants en 2 -N éseau -2 Non-monotonie («Glitch») Modulation de largeur de pulse PWM ; Servo-moteurs Fonctionnement CAN (rampe) Flash basés sur CNA + approx successives Mixtes Flash/approx «sigma-delta» (mentionné ~non expliqué) Ajout d un Sample & Hold en entrée Bruit de quantification Variance en q 2 /2 34 IDEAL Pas de quantification «q» 00 b 000 b 000 b 000 b 0000 b Signal Analogique & échantillonage période d échantillonnage Valeur Digitale TEMPS TEMPS 35 Etendue (range), Nombre de bits et rythme Fréquence et N : les deux difficultés [ 2 N - ] FF h = b (N=8) N bits 2 N niveaux de quantification saturation haute q le pas =la plus petite variation =V max /2 N Surtout pour la conversion Analogique numérique (la moins triviale) Deux difficultés mais aussi deux principaux paramètres pour les choisir : Fréquence N= nombre de bits «Dynamic ange» = 2 N plus grand signal = plus petit signal Fréquence [ 0 ] "q"= le pas plus petit signal 00 h =0000 0000 b Cadence d échantillonage Fréquence /période saturation basse TEMPS 36 N= nombre de bits 37
IDEAL En pratique : le temps de conversion n est pas nul Fraction de la période d échantillonnage (%...99%), on y reviendra signal analogique Vue globale d une chaine Pas de quantification période d échantillonnage TEMPS Capteurs Analog Num (CAN) Trait. Num. & Logique Num Analog (CNA) Utilisation signal Actionneurs + Temps de conversion 00 b valeur digitale F Hz N bits F Hz N bits 000 b 000 b 000 b temps de conversion TEMPS 0000 b 38 39 Vue globale d une chaine: exemple régulation Vue globale d une chaine : exemple signal Capteur = T,P Analog Num (CAN) Trait. Num. & Logique Num Analog (CNA) Utilisation signal Actionneurs Voix, musique (mono) Analog Num (CAN) Trait. Num. & Logique Num Analog (CNA) Utilisation signal Haut-parleurs ampe de Temp. Filtrage F CAN = 5 Hz N CAN = 0 bits δt / T ~ 0./00 ~/2 0 F CNA = 3 Hz N CNA = 7 bits 28 niveaux de chauffe(/froid) Four, Diode laser F CAN = 44 000 Hz N CAN = 5 bits δe / e ~ 00 µv / 3V ~/2 5 (Bode) F CNA = 44 000 Hz N CNA = 8 bits δs / s ~ 2 µv/3v ~/2 8 Pas de rapport a priori entre entrée et sortie en termes de F et N F doit être essentiellement conservé, N peut changer dans une certaine mesure, pour moduler les compromis performances/coûts. 40 4
CNA à réseau de résistance On doit faire la sommation N- a k = 0 ou V= ( Σ a k 2 k-n ) avec =~ pleine échelle k = 0 Le sommateur usuel fait une somme de courants : V s = (Σ I k ) Σ I k CNA à réseau de résistance : version naïve N- V= ( Σ a k 2 k-n ) avec = pleine échelle k = 0 un terme = 2 k-n = I k avec de contre-réaction Si on met [ ou 0 V] à gauche de k alors «Millman» (loi des noeuds): (- I k )= ( ) / k et I k = ( /2 k-n )/= / (2 k-n ) k = 2 k-n I k 0 V - V k s + La k-ième branche avec k va servir à faire le k-ième terme: I k ou 0 Les doivent donc être en 2 k : {, 2, 2 2, 2 3,... 2 N- } 2 -N k = N- I k... I k 0 V k - k = 0 + ( ) si a k = Aucun courant sinon transistor type FET 42 43 CNA à réseau de résistance : difficulté L astuce du réseau -2 (/2) Une résistance sur chip n est qu une ligne de Si peu dopée dont longueur L et la largeur l sont ajustée { notion de «résistance carrée» de la couche =ρl/le = (ρe)(l/l) = (L/l) } switch kω (MSB) 2 kω 4 kω (on peut tenir compte de la résistance résiduelle du switch pour raffiner) Chaque branche est déviée soit vers la masse, soit vers l entrée «V» (à 0V!) - 2I o I o I o I o /2 I o /2 2 2 2 2 2 2... 8 kω 6 kω goulu en cm 2 a N- a o - + V= ( Σ a k 2 k ) La solution proposée ici assure le doublement du courant à chaque étage (se voit par récurrence, de gauche à droite)? 024 kω (LSB) Ne nécessiterait même pas forcément le ratio 2/=2,... mais restons sages 44 45
L astuce du réseau -2 (2/2) Implémentation physique évidemment simple (- ) La monotonie, les «glitches» V S I 0...I 6 I 7 =0 (N=8) I 0...I 6 0 I 7 = 6? Σ I k = I 7 k = 0 2 (les switches vers ampli-op ou masse) 46 47 Simulation sur 4 bits (00 réalisations de 0% d erreurs aléatoires sur les k ) isque de non-monotonie aux basculements des MSBs Sortie analogique glitch intermédiaire @ 3/4-échelle figure(0);hold off;cla; errmax=0.; for kk=:00; myrand=randn(4,); cj=+errmax*myrand(); cjj=2*(+errmax*myrand(2)); cjjj=4*(+errmax*myrand(3)); cjjjj=8*(+errmax*myrand(4)); clear x cnt=0; for jjjj=0:; for jjj=0:; for jj=0:; for j=0:; xideal=j+2*jj+4*jjj+8*jjjj; plot(xideal,xideal,'bo');hold on; cnt=cnt+; xnonideal(cnt)=j*cj+jj*cjj+jjj*cjjj+jjjj*cjjjj; xxideal(cnt)=xideal; end; end; end; end; plot(xxideal,xnonideal,'r-');hold on; plot(xxideal,xnonideal,'k.');hold on; end; Simulation sur 4 bits : erreur L erreur change de signe. Et change de plus que LSB V s -V s idéale Le + gros «glitch» @ mi-échelle glitch intermédiaire @ quart-échelle Entrée binaire Entrée binaire 48 49
Mode Modulation de largeur d impulsion (PWM) Commandes de servo-moteurs (autre forme de PWM effectif) Modes de commande «analogique à base logique»: Modulation de largeur d impulsion (Pulse Width Modulation, PWM) Fréquence constante, rapport cyclique variable. Signal intégré Signal PWM (duty cycle X/M) Gestion numérique: par compteur & comparateur ici en 6 bits (sera utilisé en 2A) : Angle CLK 0... M=2 6 6 - Comp 6 6 X Consigne PWM X M - Exemples chauffage inertie (évite la commmutation analogique de puissance, énergivore) Eclairage LED + oeil persistence rétinienne (la «guirlande variable» de notre «rue») Temps Source : wikipedia 50 5 Conversion Numérique Analogique Conversion par ampe & durée (/2) Num. Analogique= CAN = ADC = Analog-to-Digital Converter Trois types de CAN présentés ici Par rampe et comptage de durée Convertisseur Flash Convertisseur à approximations successives (SA : Successive Approximation egister [SA-ADC] ) { Il existe d autres types très futés tels le «sigma-delta», ~non traités ici.} Géné de rampe Source de courant Sync + décharge 0 V ramp Comparateur V e - + CLK 6 EGISTE 6 0... M=2 N - AZ Sync Latch Enable (verrouillage) Des Compromis : Coût apidité - Précision V e V ramp AZ CLK enabled CLK disabled temps 0 Comp ythme CLK? 0 bits à 00 khz environ 0 MHz 52 53
Conversion par ampe & durée (2/2) Conversion Flash (/3) Inconvénients: relative lenteur, stabilité de la rampe Principe : échelle fixe de M résistances M tensions & M=2 N comparateurs! j=m ½ V e 0 (dépend d une capa donc de capa parasites, les capa grosses ne sont pas faciles à intégrer...) Avantages: pas de «glitch» (voir SA...) contrôle des erreurs et dérives accessible j/m j=0 ½ j+ j j- 0 0 Priority Encoder N 0000 b ( j en binaire ) Centrage des bits extrêmes : ½ au lieu de pour ces résistances 54 55 Conversion Flash (2/3) Conversion Flash (3/3) : améliorations Inconvénients : goulu, en énergie et en cm² Amélioration «interne» Gestion des "" isolés ( erreurs ): Quelques couches de portes supplémentaires ("" valide ssi "" en-dessous et "0" au-dessus) Avantages : Très rapide (> GHz possible) pas de «glitch» (voir SA...) Amélioration «autour» sur la même puce : gestion des grands flux de données (processing pour avoir: moyenne, crêtes, filtrage HF,... cf. les oscillos!) Incertains : gestion de l uniformité (...cm²) de la capa des M entrées (booster le signal) Architectures Hybrides ½CNA + un CAN + ½CNA+ soustracteur V e CAN N/2 bits N/2 N/2 N/2 CNA N/2 bits N/2 bits de poids fort N - soustracteur + CAN2 N/2 bits /2 N/2 N/2 N/2 bits de poids faible 56 57
Conversion par Approx. Successives [SA] (/2) Conversion par Approx Successives (2/2) Utilise un CNA + un algo à N itérations, N=log 2 (M) 0 00 V e 000 000 0000 Exemple N=4 bits 000 00 00 00 Algorithme: Si V e >DAC( 0 0 0), a 3 =, 0 sinon Si V e >DAC(a 3 0 0), a 2 =, 0 sinon Si V e >DAC(a 3 a 2 0), a =, 0 sinon Si V e >DAC(a 3 a 2 a 0), a 0 =, 0 sinon! valide! t V e Comparateur - + CNA N bits N unité de contrôle N CLK Enable registre de sortie Inconvénients : «Glitch» possible, du au DAC (=CNA) Avantages : Assez apide La précision n impacte presque pas la cadence (N ~ log(m) ) Combinable/Hybridable lui aussi ADC(Ve)=a 3 a 2 a a 0 58 59 Le «sigma-delta»... un OVNI même pour nous Les performances (2006) Mais quand même un message à intuiter : il faut prendre le meilleur du digital et de l analogique... et des algorithmes itératifs! Fréquence Scopes Dig.adio ana ana+dig dig Video dig Audio N= nombre de bits 60 6
E/S Analogique : «Sample & Hold» ou «Track&Hold» Un chip typique (2-3 ) : MCP3204/3208 On veut stabiliser le signal pendant le cycle de conversion Il faut un «blocage analogique» On remplit une capacité et on la «garde au chaud», cela s appelle «Sample-and-Hold» 2.7V 4-Channel/8-Channel 2-Bit A/D Converters 00 ksps max. sampling rate at VDD = 5V 50 ksps max. sampling rate at VDD = 2.7V - 400 μa max. active current at 5V Mesure d erreur pour codes choisis MUX Analogique en entrée C est utilisé pour l entrée et aussi pour la sortie Bien sûr, c est un sujet critique dont «on» connait les finesses ou T/H S/H CAN CNA S/H 62 Série en sortie 63 Côté signal : Shannon, repliement... Note d application : ajout de filtre + Vref Echantillonnage à fréquence f Signal vu correctement jusqu à f/2 (th. de Shannon) --- Au-delà : repliement A éviter Filtres anti-repliement en entrée ou en sortie Vref Noter qu un signal devient «forcément moche» à l approche de f/2 (dès f/0, visuellement) En particulier, à f signal ~f/2 l échantillonnage ne voit qu une phase du signal, pas sa quadrature d où les effets de battements ADC Filtre + Management des masses à soigner 64 65
Le signal d erreur Le Bruit de digitalisation (/2) δv=v analog V digital t=linspace(0,.4,800);a=0*sin(2*pi*t)+3*sin(8.5*pi*t).^3; figure(20); plot(t,a,'b-',t,round(a-0.5)+0.5,'k-',t,a-round(a-0.5)-0.5,'r.') grid on dv=a-round(a-0.5)-0.5; hist(dv,[-.225:0.05:.225]) (ici q= δv /2 ) Bruit de digitalisation (2/2) : Variance en q²/2 Variance de δv? (barycentre de δv²) V analog V digit δv q/2 ±q/2 0T éch = / / / / = La Variance de δv est donc q²/2 /2 3 / = 24 24 = 2 δv est équiréparti sur ±q/2 (asymptotiquement) Quelle est, dans cette limite, la variance de δv? Ici notre cas particulier ±q/2 L écart-type de δv a pour expression q/ ~.... La question suivante est le spectre en fréquence de ce bruit Il est plutôt fort vers la fréquence à laquelle le signal franchit le plus souvent les niveaux... (ici, /6ème de f, à préciser) log(densité spectrale) 66 fréquence (Fourier fft) 67 Complément bruit :spectre d un signal lent. LA CONVESION CNA AVANCEE : les «DDS» DIECT DIGITAL SYNTHESIZE Probablement au cours 6 Comment générer une fréquence incommensurable avec l horloge de conversion d un DAC? Table de conversion cos(φ) «toute prête» + bonne façon de l adresser (d y pêcher)... ici le spectre est piqué aux basses fréquences associées aux transitions raréfiées 68 69
L ACCUMULATEU DE PHASE On fabrique l équivalent de l angle φ de la construction de Fresnel, avec beaucoup de résolution (48 bits), ce qui permet de choisir finement l incrément angulaire, donc une fréquence précise sur un grand nb de tours ESULTAT TES PECIS (les GBF des TPs!) choix de frequence à 0-2 près ou mieux qqs micro-hz! pureté spectrale du signal (Wiener Khintchine : DSP TF de fct de corrélation ) 70 7