La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant.

Présentations similaires


Présentation au sujet: "Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant."— Transcription de la présentation:

1 Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant 3, B-1348 Louvain-la-Neuve, Belgium, ATrullemans@dice.ucl.ac.be, http://www.ucl.ac.be~anmarie

2 points de l’exposé introduction présentation de l’application modélisation et simulation des éléments fondamentaux – système de couplage, génération et émission, récupération et décodage simulations globales – transfert de données, variations du couplage, modélisation de puissance conclusions

3 introduction outils de simulation de systèmes complexes : – simulation digitale : VHDL et Verilog hiérarchie et modularité, du comportemental aux portes logiques – simulation analogique : Spice, Eldo... dispositifs physiques, précision... – simulation mixte : VHDL-AMS ? un système comme exemple : – la prothèse visuelle

4 la prothèse visuelle MIVIP-OPTIVIP processeur interne Aim of the project : optimization of an implantable visual prosthesis based on the stimulation of the optic nerve and its demonstration within a pre-clinical study Aim of the project : optimization of an implantable visual prosthesis based on the stimulation of the optic nerve and its demonstration within a pre-clinical study OPTIVIP IST-2000-25145 Prof. Charles Trullemans http://www.dice.ucl.ac.be/optivip/ transformateur à couplage variable processeur externe

5 les composants de la transmission

6 schéma-bloc du système peau données à envoyer codage Manchester driver classe DE transformateur à couplage variable récupération d’alimentation et démodulateur données reçues VCO extérieur intérieur

7 lien inductif transmission de puissance (alim) et de données transformateur à couplage variable (faible) : 0.2 à 0.12 extérieur intérieur entity transfoCT is generic (L1 : real := 1.0e-6; R1 : real := 0.0; L2 : real := 1.0e-6; R2 : real := 0.0; K : real := 0.15); port (terminal P1, P0, S1, S0 : electrical); end transfoCT; architecture bhv of transfoCT is quantity M : real := K * sqrt(L1*L2); quantity V1 across I1 through P1 to P0; quantity V2 across I2 through S1 to S0; begin -- bhv M == K * sqrt(L1*L2); V1 == L1 * I1'dot + M * I2'dot + R1 * I1; V2 == M * I1'dot + L2 * I2'dot + R2 * I2; end bhv; VHDL-AMS

8 données : codage Manchester et modulation FSK génération par un VCO modification de l’accord primaire pour chaque fréquence pas de modification au secondaire 2 fréquences autour de 12 MHz 2 cycles pour chaque fréquence transformateur doublement accordé 10.8 MHz et 13.2 MHz

9 les données Header val_meas : sélection de la mesure de tension de sortie des sources ou de tension d'alimentation Parité Gap (10 bits) Synchro8 : mode de stimulation (directe ou synchrone) ack_act : activation d'accusé de réception en retour maes_act : activation mesure de tension de sortie des sources et de tension d'alimentation rec_amp_setup : amplitude pulse de récupération timeout_act : activation du système de timeout timeout : valeur du timeout Commandes pour 4 sources de courant RSélection des mesures à renvoyer par backchannel SMaster/Slave multichip : fonctionnement multichip reserved : réservé au mode test Sélection sources de courant paires ou impaires différents types de trames : synchro setup données... codage en vecteurs de 64 bits transmission continue

10 processeur externe et codage Manchester entity ClockData is port(signal F0, FDel, Vin_a,Vin_b,Vpar_a,Vpar_b : out bit); end ClockData; entity ClockData is port(signal F0, FDel, Vin_a,Vin_b,Vpar_a,Vpar_b : out bit); end ClockData; MyControl : lecture données et VCO FO FDel Vin_a Vin_b Vpar_a Vpar_b lecture des données : pas de possibilités actuellement de lecture en fichier... constant Data_to_send : bit_vector := B"010001111011111110111... 11000000"; -- stocké en vecteur de bits if FDClock'event and FDClock = '1' then Data_read <= Data_to_send(IData); if IData < Data_to_send'high then IData := IData + 1; else... VHDL comportemental

11 fréquences et formes d’onde du VCO Gen_FD: process (FDClock) if Active='1' then FDClock <= transport not FDClock after TFD; end if; end process Gen_FD;... VCO: Process (FDClock) begin... if Data_to_send(IData)='0' then DM <= transport '1', '0' after a4; F0Clock <= transport ‘1’, ‘0’ after... else DM <= transport '0', '1' after b4; F0Clock <= transport '1', '0' after...; end if;... end process VCO; constant F1 : real := 10.8e6; -- fmin constant TF1 : time := real2time(0.5/F1); -- largeur pulse L constant F2 : real := 13.2e6; -- fmax constant TF2 : time := real2time(0.5/F2); -- largeur pulse S constant TFD : time := real2time(1.0/F1 + 1.0/F2); -- pulse lecture data fréquences f1 et f2 formes d’onde selon données horloge de lecture des données VHDL comportemental

12 génération des signaux de contrôle synchronisés DelClock <= transport F0clock after DeadTime; Vin_a <= F0clock and DelClock; Vin_b <= F0clock or DelClock; F0clock Delclock Vin_a Vin_b Vpar_b Vpar_a DM F0clock Latch: process (F0clock, DM) begin if F0clock='0' then Vpar_b <= not DM; else Vpar_a <= DM; end if; end process Latch; commande du driver DE commande du commutateur de capacités VHDL

13 les signaux générés commutation capa lecture des données commande du driver

14 circuit d’émission : driver classe DE Vee vin_b vin_a vl vout Cpar CT2 Lt NMOS PMOS driver DE entity TR_driver is port(terminal Nee, NOUT: electrical; signal Vin_a,Vin_b : in bit); end TR_driver; architecture test of TR_driver is... begin if Vin_b = '0' use -- PMOS VPMOS == RSon * IPMOS; else IPMOS == 0.0; end use; break on Vin_b;... if VPMOS'Above(-0.7) use IPpar == 0.0; else IPpar == (VPMOS + 0.7) / RDon; end use;... end test; commutation de la bobine du primaire par signaux vin_a et vin_b du VCO VHDL-AMS

15 simulation du driver : tensions sur l’inductance vout VL

16 pics de courant et puissance dans le driver

17 commutateur de capacité Nout transfoCT NT2 S2 N1 masse externe + - CT_driver : commutation capa Ncc NCT1 Vpar_a Vpar_b CT2 Cs commuter la capacité CT1 quand la tension à ses bornes est nulle CT1

18 proche de la réalité implémentée entity CT_driver is port(terminal NCT, Ncc: electrical; signal Vpar_a,Vpar_b : in bit); end CT_driver;... if Vpar_b = '0' use -- PMOS "on" ID2 == -IDS * (exp(-VCT/VT) - 1.0); if Vpar_a = '1' use -- NMOS "on"... end use; else -- PMOS "off"... end use; break on Vpar_b, Vpar_a; quantity Vout across ICpar through Nout to electrical_ground; -- Cpar quantity...... ICT2 == CT2 * Vl'dot; ICT1 == CT1 * VCT1'dot; ICpar == Cpar * Vout'dot; ICs == Cs * Vcs'dot; VHDL-AMS

19 commutation de la capacité d’accord la capacité s’enclenche quand dm = 1

20 système interne récupération d’alimentation sur capacité de balast, et écrêtage du signal

21 écrêtage et récupération d’alimentation transfoCT NT2 S2 Cs Vint Vrf ID1 == IDS * (exp(Vd1/VT) - 1.0); ID2 == -IDS * (exp(-Vrf/VT) - 1.0); Idec1 == Cdec * VS0'dot + VS0 * Gdec; Idec2 == Cdec * Vdec2'dot + Vdec2 * Gdec; if domain=quiescent_domain use Vcc_int == Vint_start; else Icc_int == Cint * Vcc_int'dot; end use; Vdecode == Vcc_int/2.0; if Vcc_int'Above (Vzener) use Izener == (Vcc_int-Vzener)/Rzener; else Izener == 0.0; end use; Vl VHDL-AMS

22 signal transmis simulation mesure vin Vrf Vl Vrf Vl

23 charge de la capacité de balast

24 démodulation du code Manchester réalisation par intégration de courant durant les 2 premiers cycles les 2 cycles suivants

25 mesure expérimentale données à 3Mbits provenant du processeur données démodulées dans l’implant délai de décodage

26 if phase=4 then Tdel2 := now - (Tini + Tdel1); Tini := now;... simulation par comparaison de délais decodeData: process (dec_dataM) variable Tini, Tdel1, Tdel2 : time := 0ns; variable phase : integer := Init_phase; begin if dec_dataM'event and dec_dataM='1' then if phase=0 then Tini := now; else if Tini > 0ns then if phase=2 then Tdel1 := now - Tini; end if;... Tdel1 Tdel2 if Tdel2>Tdel1 then dec_data <= '1'; else dec_data <= '0'; end if;... VHDL comportemental

27 simulation du décodage délai de décodage

28 le système complet MyControl : lecture données et VCO FO FDel Vin_a Vin_b Vpar_a Vpar_b TR_driver : driver DE Nout Nee Vin_a Vin_b transfoCT NT2 S2 N1 masse externe + - + - CT_driver : commutation capa Ncc NCT1 Vpar_a Vpar_b CT1 CT2 Cs decodeM : process écrétage et récupération d’alimentation Vrf Vdc masse interne decodeData : process (dec_dataM) dec_dataM

29 simulation globale du transfert de données

30 variations du couplage K = 0.05 couplage sous minimal K = 0.25 couplage excessif K = 0.15 couplage normal erreur de transmission

31 modélisation de puissance Délai deadtime (ns) Consommation moyenne (W) 2 0.72 10 0.67 15 0.599 20 0.517 f0clock delclock Vin_a Vin_b deadtime NMOS « on » PMOS « on » Vee vin_b vin_a vl vout Cpar CT2 Lt NMOS PMOS influence du délai dans la commande du driver DE optimal ?

32 test de transmission deadtime = 20 ns

33 détail des signaux

34 puissance digitale procedure add_dig_pwr (N: real; -- coefficient de charge signal dig_pwr, mean_dig_pwr: inout real) is constant CL: real := 0.1e-12; -- capa unitaire de charge de porte logique constant Vdd: real := 5.0; -- alim digitale et swing de tension variable v_dig_pwr : real := 0.0; begin v_dig_pwr := dig_pwr + N * CL * Vdd * Vdd; dig_pwr <= v_dig_pwr; mean_dig_pwr <= v_dig_pwr / now; end procedure add_dig_pwr; if F0clock'event and F0clock='1' then add_dig_pwr (4.0, dig_pwr, mean_dig_pwr); end if; if F0clock'event and F0clock='1' then add_dig_pwr (4.0, dig_pwr, mean_dig_pwr); end if; gate i CLCL 0  1 Power =  i ½ V dd 2 f C i Act i VHDL comportemental

35 sommation sur quelques signaux de commande à suivre...

36 conclusions approche rudimentaire et partielle mais... intérêt d’outils mixtes de haut niveau en cours de mise au point – modélisation comportementale – stimuli complexes – environnement interactif modélisation de puissance – analogique : facilités du langage – digital : événementiel... à suivre !


Télécharger ppt "Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant."

Présentations similaires


Annonces Google