Elektronik 319 DatenwandlerProf. Dr. Jörg Vollrath18 Übung 3 |
![]() |
Länge: 1:02:43 |
0:0:0 Schaltregler 0:1:37 5.17 Simple Buck Converter 0:3:18 Schaltfrequenz, Periodendauer, Duty Cycle 0:7:2 Schaltungsanalyse 0:8:22 Spulenstrom und Spannung 0:9:48 Signalverlauf 0:13:26 Ansatz Spannungsverhältnis 0:14:38 Spannungsverhältnis und Duty Cycle 0:16:18 LTSPICE Schaltbild (Falsche Diode) 0:18:28 Einschwingvorgang 0:20:18 Nur bei größerem Strom CCM 0:24:22 Wirkungsgrad (mit falscher Diode zu klein) 0:28:18 Ergebnis ohne Leistung an der Diode 0:31:18 Continous conduction mode CCM, Discontinous conduction mode 0:34:18 Mindeststrom Iamin für CCM 0:38:5 Ergebnis Iamin= T/2/L Ua (1 - Ua / Ue) 0:39:18 Dimensionierung L = T / 2 / Iamin Ua (1 - Ua / Ue) 0:44:8 Welligkeit dUa 0:49:18 Faktor 4 oder 8 mit Tietze Schenk 0:54:38 Faktor 8 0:56:18 Kapazitätsdimensionierung für dUa 0:58:23 Welligkeit 30 mV, T = 4 us, L = 18 uH, Ue =12 V, Ua = 6 V 1:0:48 Iamin Rechnung 1:1:58 C = 10 uF 1:4:48 LT3570 Beipielsimulation 1:8:18 Power on sequence 1:9:48 Zu niedrige Ausgangsspannung wegen R8, Ri = 1 Ohm an der Eingangsspannung |
|
![]() ![]() |
|
![]() |
Properties:
|
![]() |
|
![]() |
Vref = 2 V Table: Ideal 2-bit DAC
|
U(t) = A · sin(ωt) Erzeuge Codes für positive ganze Zahlen: A = \frac{2^{Nbit} - 1}{2} U(t) = Runde( A · ( 1 + sin(ωt))) Erzeugung mit festem Zeitraster tCLK
|
- #define HWORDS 1024 // Buffer length should be 4 * NCODE to excercise all codes
- #define NCODE 256 // Number of codes 2^8
- volatile uint16_t sintable1[HWORDS];
- volatile uint16_t periods;
-
- for (uint16_t i = 0; i < HWORDS; i++) // Calculate the sine table with HWORDS entries
- {
- sintable1[i] = (uint16_t)((sinf(2 * PI * (float)i / (float)HWORDS) + 1) / 2 * (NCODE-1) );
- }
-
- periods = 1; // number of periods (odd number) per HWORDS samples
-
- for (uint16_t i = 0; i < HWORDS; i++) // Step through sintable array
- {
- Outputvalue = sintable1[ (i * periods) % HWORDS];
- }
Datenblatt des Mikrocontrollers Vref=3.3V Nbit = 10 Berechnen Sie die kleinste Schrittweite. Mit welcher Genauigkeit muß die Schrittweite angegeben werden? Welcher Code wird für 2.000 V Ausgangsspannung benötigt. Wie groß ist die Ausgangsspannung wirklich? |
Nbit: Number of Bits D0..DN-1: Binary weighted data lines Vin: Positiv input voltage Vmax: Maximum input voltage VFS: Full scale voltage Vref: Reference voltage Δ = LSB: minimum resolvable input For small Nbit there is a significant difference LSB or Δ between Vmax, VFS and Vref. In general V_{max} = V_{FS} = V_{ref} - LSB (Baker). For large Nbit, LSB gets small and Vmax = VFS ≈ Vref. |
![]() Ideal analog-to-digital converter An analog voltage or current is transfered into a digital output. Input range is positiv. Uniform, binary digital encoding |
![]() Transition depends on measurement accuracy and step size. |
Vref = 1V Nbit = 2 LSB = 0.25V Upper voltage limit (transition voltage) for a digital output code:
|
Offset Error, Gain Error Offset and gain error will be fixed during manufacturing. A trimmable amplifier is used. In this lecture first the LSB or Δ is calculated from the first and last points of the transfer curve. Then the offset is calculated for the first code or first transition voltage. Then static errors differential non linearity (DNL) and integral non linearity (INL) are calculated. |
Das links abgebildete Multimeter ist zu sehen. Was ist die benötigte Anzahl Bits für die Einstellung V 2000m? Berechnen Sie LSBreal und LSBrel. Mit welcher Genauigkeit muß die Schrittweite angegeben werden? Wieviel Bits kann ein DAC haben, dem man mit diesem Multimeter misst? |
![]() |
Behavioral voltage source BV with equation V=V(in1)/16+V(D3)/2+V(D2)/4+V(D1)/8+V(D0)/16 Scalable DAC takes input signal In1 as high resolution input and adds D3..D0 information. For high resolution more modules can be combined. The digital input for a sine signal can be easily generated with a behavioral ADC with a sine source as input. |
Version 4 SHEET 1 1812 680 WIRE 656 -288 656 -352 WIRE 688 -256 688 -320 WIRE 624 -240 512 -240 WIRE 736 -240 704 -240 WIRE 752 -240 736 -240 WIRE 992 -240 848 -240 WIRE 1040 -240 992 -240 WIRE 848 -224 848 -240 WIRE 512 -192 512 -240 WIRE 992 -144 992 -160 WIRE 224 -128 224 -160 WIRE 320 -128 320 -160 WIRE 416 -128 416 -160 WIRE 48 -112 48 -160 WIRE 128 -112 128 -160 WIRE 512 -96 512 -112 WIRE 224 -32 224 -48 WIRE 320 -32 320 -48 WIRE 416 -32 416 -48 WIRE 48 -16 48 -32 WIRE 128 -16 128 -32 WIRE 0 0 0 0 FLAG 128 -16 0 FLAG 128 -160 D3 IOPIN 128 -160 In FLAG 224 -32 0 FLAG 224 -160 D2 IOPIN 224 -160 In FLAG 320 -32 0 FLAG 320 -160 D1 IOPIN 320 -160 In FLAG 416 -32 0 FLAG 416 -160 D0 IOPIN 416 -160 In FLAG 512 -96 0 FLAG 1040 -240 Out IOPIN 1040 -240 Out FLAG 656 -352 CLK IOPIN 656 -352 In FLAG 688 -320 VDD IOPIN 688 -320 In FLAG 48 -16 0 FLAG 48 -160 In1 IOPIN 48 -160 In FLAG 848 -144 0 FLAG 736 -240 Vxy FLAG 992 -144 0 SYMBOL bv 512 -208 R0 SYMATTR InstName B5 SYMATTR Value V=V(in1)/16+V(D3)/2+V(D2)/4+V(D1)/8+V(D0)/16 SYMBOL sample_hold 624 -224 R0 SYMATTR InstName X1 SYMBOL res 400 -144 R0 SYMATTR InstName R1 SYMATTR Value 1MEG SYMBOL res 304 -144 R0 SYMATTR InstName R2 SYMATTR Value 1MEG SYMBOL res 208 -144 R0 SYMATTR InstName R3 SYMATTR Value 1MEG SYMBOL res 112 -128 R0 SYMATTR InstName R4 SYMATTR Value 1MEG SYMBOL res 32 -128 R0 SYMATTR InstName R5 SYMATTR Value 1MEG SYMBOL bv 848 -240 R0 SYMATTR InstName B1 SYMATTR Value V=V(Vxy) SYMBOL res 976 -256 R0 SYMATTR InstName R6 SYMATTR Value 100k |
Behavioral voltage source BV Rounding function: V(D3) = round(V(IN)) V(D2) = round(V(IN)*2-V(D3)) ... Residue: V(Out) = V(in)*16-V(D3)*8-V(D2)*4-V(D1)*2-V(D0) Residue allows extending the ADC for high resolution. A sample and hold circuit at the input can be seen. |
Version 4 SHEET 1 1812 680 WIRE 48 -272 48 -336 WIRE 80 -240 80 -304 WIRE 16 -224 -16 -224 WIRE 144 -224 96 -224 WIRE 512 -192 512 -224 WIRE 416 -128 416 -160 WIRE 512 -96 512 -112 WIRE 320 -80 320 -112 WIRE 416 -32 416 -48 WIRE 208 -16 208 -48 WIRE 320 16 320 0 WIRE 112 48 112 0 WIRE 208 80 208 64 WIRE 112 144 112 128 FLAG 144 -224 IN FLAG 112 144 0 FLAG 112 0 D3 IOPIN 112 0 Out FLAG 208 80 0 FLAG 208 -48 D2 IOPIN 208 -48 Out FLAG 320 16 0 FLAG 320 -112 D1 IOPIN 320 -112 Out FLAG 416 -32 0 FLAG 416 -160 D0 IOPIN 416 -160 Out FLAG 512 -96 0 FLAG 512 -224 Out IOPIN 512 -224 Out FLAG -16 -224 In1 IOPIN -16 -224 In FLAG 48 -336 CLK IOPIN 48 -336 In FLAG 80 -304 VDD IOPIN 80 -304 In SYMBOL bv 112 32 R0 SYMATTR InstName B1 SYMATTR Value V=round(V(in)/V(VDD))*V(VDD) SYMBOL bv 208 -32 R0 SYMATTR InstName B2 SYMATTR Value V=round((V(in)*2-V(D3))/V(VDD))*V(VDD) SYMBOL bv 320 -96 R0 SYMATTR InstName B3 SYMATTR Value V=round((V(in)*4-V(D3)*2-V(D2))/V(VDD))*V(VDD) SYMBOL bv 416 -144 R0 SYMATTR InstName B4 SYMATTR Value V=round((V(in)*8-V(D3)*4-V(D2)*2-V(D1))/V(VDD))*V(VDD) SYMBOL bv 512 -208 R0 SYMATTR InstName B5 SYMATTR Value V=V(in)*16-V(D3)*8-V(D2)*4-V(D1)*2-V(D0) SYMBOL sample_hold 16 -208 R0 SYMATTR InstName X1 |
A 4 Bit ADC and DAC test can be simulated in LTSPICE. The output file size can be limited by using the .save dialog option. The output shows the step size of the digitalisation. ![]() |
Version 4 SHEET 1 880 1532 WIRE 512 96 480 96 WIRE 288 128 256 128 WIRE 512 128 480 128 WIRE 128 160 80 160 WIRE 288 160 256 160 WIRE 512 160 480 160 WIRE 128 192 80 192 WIRE 288 192 256 192 WIRE 512 192 480 192 WIRE 688 192 640 192 WIRE 128 224 80 224 WIRE 288 224 256 224 WIRE 512 224 480 224 WIRE 288 256 256 256 WIRE 512 256 368 256 WIRE 368 272 368 256 WIRE 512 288 464 288 FLAG 80 160 CLK IOPIN 80 160 In FLAG 80 224 VDD IOPIN 80 224 In FLAG 368 272 0 FLAG 80 192 in1 IOPIN 80 192 In FLAG 288 256 RES1 FLAG 288 224 D3 FLAG 288 192 D2 FLAG 288 160 D1 FLAG 288 128 D0 FLAG 480 96 CLK FLAG 464 288 VDD FLAG 480 128 D0 FLAG 480 160 D1 FLAG 480 192 D2 FLAG 480 224 D3 FLAG 688 192 Vout IOPIN 688 192 Out SYMBOL 4Bit_DAC_pipe 576 192 R0 SYMATTR InstName X2 SYMBOL 4Bit_ADC_pipe 192 192 R0 SYMATTR InstName X4 TEXT -8 312 Left 2 !VDD VDD 0 DC 1\nVCLK CLK 0 PULSE(0 1 0 1p 1p 5n 10n) TEXT 480 344 Left 2 !.tran 0 655.36u 0 1n TEXT 480 376 Left 2 !.options plotwinsize=0 TEXT 440 408 Left 2 !.save V(vout) V(in1) V(clk) V(d*)\n;.save V(in1) V(vout) TEXT -8 368 Left 2 !V2 in1 0 SINE(0.5 0.5 16784.66796875) |
Version 4 SymbolType CELL LINE Normal -8 36 8 36 LINE Normal -8 76 8 76 LINE Normal 0 28 0 44 LINE Normal 0 96 0 88 LINE Normal 0 16 0 24 CIRCLE Normal -32 24 32 88 WINDOW 0 24 16 Left 2 WINDOW 3 24 96 Left 2 SYMATTR Value V=F(...) SYMATTR Prefix B SYMATTR Description Arbitrary behavioral voltage source PIN 0 16 NONE 0 PINATTR PinName + PINATTR SpiceOrder 1 PIN 0 96 NONE 0 PINATTR PinName - PINATTR SpiceOrder 2
Version 4 SymbolType BLOCK LINE Normal 32 -16 32 -64 1 LINE Normal 16 -16 0 -16 LINE Normal 47 -16 16 -32 LINE Normal 81 -16 47 -16 LINE Normal 63 -5 63 -16 LINE Normal 78 -5 48 -5 LINE Normal 78 0 48 0 LINE Normal 63 11 63 0 LINE Normal 72 11 56 11 LINE Normal 65 20 72 11 LINE Normal 56 11 65 20 TEXT 14 16 Left 0 SH PIN 0 -16 NONE 8 PINATTR PinName P1 PINATTR SpiceOrder 1 PIN 80 -16 NONE 8 PINATTR PinName P2 PINATTR SpiceOrder 2 PIN 32 -64 NONE 8 PINATTR PinName clk PINATTR SpiceOrder 3 PIN 64 -32 NONE 8 PINATTR PinName VDD PINATTR SpiceOrder 4
Version 4 SymbolType BLOCK LINE Normal -16 0 -33 0 LINE Normal 16 0 -15 -16 LINE Normal 33 0 16 0 LINE Normal 0 -8 0 -46 LINE Normal -7 -31 0 -8 LINE Normal 0 -8 7 -32 PIN -32 0 NONE 8 PINATTR PinName in PINATTR SpiceOrder 1 PIN 32 0 NONE 8 PINATTR PinName out PINATTR SpiceOrder 2 PIN 0 -48 NONE 8 PINATTR PinName ctrl PINATTR SpiceOrder 3
Version 4 SymbolType BLOCK RECTANGLE Normal -64 -88 64 88 WINDOW 0 0 -88 Bottom 2 PIN -64 -32 LEFT 8 PINATTR PinName CLK PINATTR SpiceOrder 1 PIN -64 0 LEFT 8 PINATTR PinName In1 PINATTR SpiceOrder 2 PIN -64 32 LEFT 8 PINATTR PinName VDD PINATTR SpiceOrder 3 PIN 64 -64 RIGHT 8 PINATTR PinName D0 PINATTR SpiceOrder 4 PIN 64 -32 RIGHT 8 PINATTR PinName D1 PINATTR SpiceOrder 5 PIN 64 0 RIGHT 8 PINATTR PinName D2 PINATTR SpiceOrder 6 PIN 64 32 RIGHT 8 PINATTR PinName D3 PINATTR SpiceOrder 7 PIN 64 64 RIGHT 8 PINATTR PinName Out PINATTR SpiceOrder 8
Version 4 SymbolType BLOCK RECTANGLE Normal -64 -120 64 120 WINDOW 0 0 -120 Bottom 2 PIN -64 -96 LEFT 8 PINATTR PinName CLK PINATTR SpiceOrder 1 PIN -64 -64 LEFT 8 PINATTR PinName D0 PINATTR SpiceOrder 2 PIN -64 -32 LEFT 8 PINATTR PinName D1 PINATTR SpiceOrder 3 PIN -64 0 LEFT 8 PINATTR PinName D2 PINATTR SpiceOrder 4 PIN -64 32 LEFT 8 PINATTR PinName D3 PINATTR SpiceOrder 5 PIN -64 64 LEFT 8 PINATTR PinName In1 PINATTR SpiceOrder 6 PIN -64 96 LEFT 8 PINATTR PinName VDD PINATTR SpiceOrder 7 PIN 64 0 RIGHT 8 PINATTR PinName Out PINATTR SpiceOrder 8