Przetworniki analogowo – cyfrowe oraz cyfrowo – analogowe stanowią niezmiernie istotne elementy współczesnych systemów mikroelektronicznych. W ramach niniejszego ćwiczenia wykonywane są badania symulacyjne szeregowego przetwornika cyfrowo analogowego z redystrybucją ładunku.
Przed przystąpieniem do wykonania ćwiczenia należy odświeżyć wiadomości dotyczące budowy i działania przetworników CA i AC jak również należy zapoznać się z obsługą symulatora PSPICE. Na końcu niniejszego opracowania podana jest niezbędna literatura.
Schemat blokowy badanego przetwornika przedstawiony jest na rys. 1. Lista połączeń łącznie z parametrami modeli (0.18um nwell CMOS) do programu PSPICE umieszczona jest w załączniku A. Nazwy węzłów oznaczone są kursywą. Napięcie zasilające klucze i inwertery kluczy przyjąć równe 3.3V. Klucze S1-S4 należy zrealizować jako rezystor o wartości 1kW w czasie zwarcia oraz rezystor o wartości 1000GW w przypadku rozwarcia. Napięcie sterujące klucz powinno wynosić odpowiednio 3.3V oraz 0V (należy użyć elementu S z odpowiednio zdefiniowanym modelem). Wartość napięcia odniesienia VREF należy przyjąć równą 1V.
(a)
(b)
Rys. 1. Schemat blokowy badanego przetwornika cyfrowo – analogowego (a), oraz schemat rzeczywistych kluczy sygnałowych CMOS (b).
W ramach ćwiczenia należy wykonać badania symulacyjne przetwornika wg zamieszczonej poniżej listy. Wyniki symulacji jak również wyniki wykonania pozostałych poleceń należy umieścić w protokole, którego wzór znajduje się w załączniku B. Załącznik ten, po wypełnieniu, należy przesłać pocztą elektroniczną na adres wskazany przez prowadzącego zajęcia.
A) Opisz krótko (max. 10 zdań) kolejność załączania kluczy zapewniającą poprawną pracę przetwornika z rys. 1. Ile cykli zegara potrzeba na przetworzenie słowa cyfrowego na postać analogową.
B) Wykonaj symulację przetworzenia 3 następujących 8-io bitowych liczb binarnych: 00000001, 10101010 oraz 11111111 przy zastosowaniu kluczy idealnych. Ile wynosi wartość końcowa napięcia wyjściowego i ile wynosi błąd przetworzenia poszczególnych liczb binarnych?
C) Wykonaj symulację przetworzenia 3 następujących 8-io bitowych liczb binarnych: 00000001, 10101010 oraz 11111111 przy zastosowaniu kluczy rzeczywistych. Ile wynosi wartość końcowa napięcia wyjściowego i ile wynosi błąd przetworzenia poszczególnych liczb binarnych?
D) Wykonaj symulację przetworzenia 3 następujących 8-io bitowych liczb binarnych: 00000001, 10101010 oraz 11111111 przy zastosowaniu kluczy rzeczywistych. Należy dodatkowo wprowadzić rozbieżności wartości pojemności kondensatorów C1 oraz C2. Kondensator C1 powinien mieć wartość większą od C2 o 0.1%, 1% oraz 10%. Ile wynosi wartość końcowa napięcia wyjściowego i ile wynosi błąd przetworzenia poszczególnych liczb binarnych?
E) Bazując na powyższych symulacjach oszacuj maksymalne osiągane rozdzielczości dla poszczególnych dokładności wykonania kondensatorów i podaj w równoważnej liczbie bitów przetwornika.
F) Jaką maksymalną częstotliwość przełączania kluczy można zastosować w badanym przetworniku CA? Odpowiedź uzasadnij wykonując odpowiednie symulacje. Badanie należy przeprowadzić dla kluczy rzeczywistych i wejściowego ciągu 10101010
G) Należy podać wnioski końcowe (skomentować uzyskane wyniki oraz zaproponować możliwe modyfikacje przetwornika) oraz uwagi co do zakresu ćwiczenia.
[1] Z. Staszak., J. Glinianowicz, D. Czarnecki, skrypt pt. „Układy elektroniczne liniowe”.
[2] A. Guziński, „Liniowe elektroniczne układy analogowe”, WNT 1992.
[3] J. Izydorczyk, „PSpice komputerowa symulacja układów elektronicznych”, Helion, 1993.
[4] B. Pankiewicz, materiały pomocnicze do przedmiotu „ Projektowanie Układów ASIC”, Gdańsk 2005.
PROJEKTOWANIE UKLADOW ASIC
Cw nr 2: "Szeregowy przetwornik cyfrowo - analogowy z redystrybucja
ladunku".
* Zasilanie
Vdd vdd 0 3.3V
Vref ref 0 1V
* Sterowanie kluczmi S1 -
S4
Vs1 s1 0 0 pulse 0V 1V
{(tz+200us)*coef} {tn*coef} {to*coef} {tt*coef} {single_cycle*coef}
Vs4 s4 0 0 pulse 0V 1V
{tz*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
.param full_cycle=1700us, tz=5us, tt=89.98us tn=10ns,
to=10ns, single_cycle=200us, coef=1
* przetwarzany ciag
binarny -
.param b7=1
.param b6=0
.param b5=0
.param b4=0
.param b3=0
.param b2=0
.param b1=0
.param b0=0
Vs2b0 s2b0 0 0 pulse 0V {b0} {(tz+100us+200us*0)*coef}
{tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b1 s2b1 s2b0 0 pulse 0V
{b1} {(tz+100us+200us*1)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b2 s2b2 s2b1 0 pulse 0V
{b2} {(tz+100us+200us*2)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b3 s2b3 s2b2 0 pulse 0V
{b3} {(tz+100us+200us*3)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b4 s2b4 s2b3 0 pulse 0V
{b4} {(tz+100us+200us*4)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b5 s2b5 s2b4 0 pulse 0V
{b5} {(tz+100us+200us*5)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b6 s2b6 s2b5 0 pulse 0V
{b6} {(tz+100us+200us*6)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs2b7 s2 s2b6 0 pulse 0V {b7}
{(tz+100us+200us*7)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs3b0 s3b0 0 0 pulse 0V {1-b0}
{(tz+100us+200us*0)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
Vs3b1 s3b1 s3b0 0 pulse 0V
{1-b1} {(tz+100us+200us*1)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b2 s3b2 s3b1 0 pulse 0V
{1-b2} {(tz+100us+200us*2)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b3 s3b3 s3b2 0 pulse 0V
{1-b3} {(tz+100us+200us*3)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b4 s3b4 s3b3 0 pulse 0V
{1-b4} {(tz+100us+200us*4)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b5 s3b5 s3b4 0 pulse 0V
{1-b5} {(tz+100us+200us*5)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b6 s3b6 s3b5 0 pulse 0V
{1-b6} {(tz+100us+200us*6)*coef} {tn*coef} {to*coef} {tt*coef}
{full_cycle*coef}
Vs3b7 s3 s3b6 0 pulse 0V {1-b7}
{(tz+100us+200us*7)*coef} {tn*coef} {to*coef} {tt*coef} {full_cycle*coef}
*Kondensatory przetwornika
C1 1 0 10pF
C2 2 0 10pF
*Klucze przetwornika
X1 1 2 s1 0 Sreal
X2 ref 1 s2 0 Sreal
X3 1 0 s3 0 Sreal
X4 2 0 s4 0 Sreal
*Model klucza
idealizowanego
.subckt Sideal 1 2 3 4
S1 1 2 3 4 switch
.model switch Vswitch (Ron=1000 Roff=1000g Von=1
Voff=0)
.ends
*Klucz rzeczywisty
.subckt Sreal 1 2 3 4
M1 1 3c 2 0 nfet
W=0.54u L=0.18u
M2 1 3b 2 vdd pfet
W=0.54u L=0.18u
M3 3b 3a 0 0 nfet
W=0.54u L=0.18u
M4 3b 3a vdd vdd pfet W=0.54u L=0.18u
M5 3c 3b 0 0 nfet
W=0.54u L=0.18u
M6 3c 3b vdd vdd pfet W=0.54u L=0.18u
Vdd vdd 0 3.3V
E1 3a 0 3 4 3.3x
* Modele
* T49P SPICE BSIM3 VERSION 3.1 PARAMETERS
*SPICE 3f5 Level 8, Star-HSPICE Level 49, UTMOST Level
8
* DATE: Dec
1/04
* LOT: T49P WAF: 3011
* Temperature_parameters=Default
.MODEL nfet NMOS ( LEVEL = 7
+VERSION = 3.1 TNOM = 27 TOX =
4.1E-9 dev=0.5%
+XJ = 1E-7 NCH = 2.3549E17
VTH0 = 0.3631313 dev=0.5%
+K1 = 0.5920712 K2 = 3.261973E-3 K3
= 1E-3
+K3B = 2.9061018 W0
= 1E-7 NLX = 1.840449E-7
+DVT0W = 0 DVT1W =
0 DVT2W = 0
+DVT0 = 1.4767146 DVT1
= 0.4177419 DVT2 = 8.829889E-3
+U0 = 255.1380803 UA = -1.597788E-9 UB = 2.53505E-18
+UC = 4.766568E-11 VSAT
= 1.010331E5 A0 = 1.80776
+AGS = 0.3951935 B0
= 2.536033E-7 B1 = 5E-6
+KETA = -5.061981E-3 A1
= 5.396345E-4 A2 = 0.8936768
+RDSW = 111.58989 PRWG
= 0.5 PRWB = -0.2
+WR = 1 WINT = 0
LINT = 1.840173E-8
+XL = 0 XW = -1E-8
DWG = -5.605289E-9
+DWB = 1.137609E-8 VOFF = -0.0871468 NFACTOR = 2.3018187
+CIT = 0 CDSC = 2.4E-4
CDSCD = 0
+CDSCB = 0 ETA0 = 3.127659E-3
ETAB = 9.485027E-6
+DSUB = 0.018202 PCLM
= 0.7464953 PDIBLC1 =
0.2263045
+PDIBLC2 = 2.358517E-3 PDIBLCB =
-0.1 DROUT = 0.8266278
+PSCBE1 = 4.915846E10 PSCBE2
= 2.831646E-9 PVAG = 0.010936
+DELTA =
0.01 RSH = 6.6 MOBMOD = 1
+PRT = 0 UTE = -1.5 KT1 = -0.11
+KT1L = 0 KT2 = 0.022
UA1 = 4.31E-9
+UB1 = -7.61E-18 UC1
= -5.6E-11 AT = 3.3E4
+WL = 0 WLN =
1 WW = 0
+WWN =
1 WWL = 0 LL = 0
+LLN =
1 LW = 0 LWN = 1
+LWL =
0 CAPMOD = 2 XPART = 0.5
+CGDO = 8.4E-10 CGSO = 8.4E-10
CGBO = 1E-12
+CJ = 9.619152E-4 PB
= 0.8 MJ = 0.3787773
+CJSW = 2.61908E-10 PBSW
= 0.8 MJSW = 0.157929
+CJSWG = 3.3E-10 PBSWG = 0.8
MJSWG = 0.157929
+CF = 0 PVTH0 = -6.300783E-5
PRDSW = -2.1729835
+PK2 = 9.978988E-4 WKETA
= 8.888859E-5 LKETA = -6.31897E-3
+PU0 = 4.3665601 PUA
= 9.428511E-14 PUB = 0
+PVSAT = 1.356405E3 PETA0
= 1.003159E-4 PKETA = -1.583628E-3 )
*
.MODEL pfet PMOS ( LEVEL = 7
+VERSION = 3.1 TNOM = 27 TOX =
4.1E-9 dev=0.5%
+XJ = 1E-7 NCH = 4.1589E17
VTH0 = -0.3706453 dev=0.5%
+K1 = 0.5740728 K2 =
0.0277093 K3 = 0
+K3B = 7.9502396 W0
= 1E-6 NLX = 1.195464E-7
+DVT0W = 0 DVT1W =
0 DVT2W = 0
+DVT0 = 0.6525814 DVT1
= 0.2558611 DVT2 = 0.1
+U0 = 103.6542095 UA
= 1.044279E-9 UB = 1E-21
+UC = -1E-10 VSAT = 1.528072E5 A0 = 1.6482476
+AGS = 0.3296056 B0
= 3.334823E-7 B1 = 1.106095E-6
+KETA =
0.0261026 A1 = 0.5575286 A2 = 0.4098665
+RDSW =
304.2182406 PRWG = 0.5 PRWB = 0.5
+WR =
1 WINT = 0 LINT =
3.397866E-8
+XL = 0 XW = -1E-8
DWG = -2.581645E-8
+DWB = 4.944839E-9 VOFF
= -0.0842496 NFACTOR =
1.9148145
+CIT = 0 CDSC = 2.4E-4
CDSCD = 0
+CDSCB = 0 ETA0 = 0.0744062
ETAB = -0.056221
+DSUB = 0.77235 PCLM = 2.099528 PDIBLC1
= 8.859692E-4
+PDIBLC2 = 0.021643 PDIBLCB =
-1E-3 DROUT = 0
+PSCBE1 = 3.210588E9 PSCBE2
= 9.291482E-10 PVAG = 14.895735
+DELTA =
0.01 RSH = 7.5 MOBMOD = 1
+PRT = 0 UTE = -1.5
KT1 = -0.11
+KT1L = 0 KT2 = 0.022
UA1 = 4.31E-9
+UB1 = -7.61E-18 UC1
= -5.6E-11 AT = 3.3E4
+WL = 0 WLN =
1 WW = 0
+WWN =
1 WWL = 0 LL = 0
+LLN =
1 LW = 0 LWN = 1
+LWL =
0 CAPMOD = 2 XPART = 0.5
+CGDO = 6.45E-10 CGSO
= 6.45E-10 CGBO = 1E-12
+CJ = 1.148706E-3 PB
= 0.8422946 MJ = 0.408913
+CJSW = 2.18625E-10 PBSW
= 0.8 MJSW = 0.3448738
+CJSWG = 4.22E-10 PBSWG
= 0.8 MJSWG = 0.3448738
+CF = 0 PVTH0 = 1.374126E-3
PRDSW = 0.9646861
+PK2 = 1.205583E-3 WKETA
= 0.0277979 LKETA = 2.778855E-3
+PU0 = -0.656906 PUA
= -3.48783E-11 PUB = 1E-21
+PVSAT = -50.1579558 PETA0
= 1.003159E-4 PKETA = -3.130573E-3 )
.ends
* Analizy - tu nalezy
podac niezbedne do wykonania rodzaje analiz PSPICE
.tran 1u 1.7m ; 0.9m
.probe
.options trtol=1e-1 itl4=100
.end
Ćwiczenie 2.
Szeregowy przetwornik cyfrowo – analogowy z redystrybucją ładunku.
Lp. |
Nazwa |
Wartość |
|||||
1 |
Data wykonania
ćwiczenia. |
|
|||||
2 |
Osoby wykonujące
ćwiczenie. |
|
|||||
3 |
5.A. Opis sposobu
załączania kluczy (do 10-ciu zdań). |
|
|||||
4 |
5.B. Symulacja
przetworzenia liczb binarnych: 00000001, 10101010 oraz 11111111 przy
zastosowaniu kluczy idealnych. |
Kod |
Wartość teoretyczna [mV] |
Wartość uzyskana [mV] |
Błąd przet. [mV] |
Błąd przet. [%] |
Błąd przet. [LSB] |
00000001 |
|
|
|
|
|
||
10101010 |
|
|
|
|
|
||
11111111 |
|
|
|
|
|
||
5 |
5.C. Symulacja
przetworzenia liczb binarnych: 00000001, 10101010 oraz 11111111 przy
zastosowaniu kluczy rzeczywistych. |
Kod |
Wartość teoretyczna [mV] |
Wartość uzyskana [mV] |
Błąd przet. [mV] |
Błąd przet. [%] |
Błąd przet. [LSB] |
00000001 |
|
|
|
|
|
||
10101010 |
|
|
|
|
|
||
11111111 |
|
|
|
|
|
||
6 |
5.D. Symulacja
przetworzenia liczb binarnych: 00000001, 10101010 oraz 11111111 przy
zastosowaniu kluczy rzeczywistych i rozróżnieniu wartości kondensatorów. |
Kod |
Wartość teoretyczna [mV] |
Wartość uzyskana [mV] |
Błąd przet. [mV] |
Błąd przet. [%] |
Błąd przet. [LSB] |
00000001 C1 +0.1% |
|
|
|
|
|
||
00000001 C1 +1% |
|
|
|
|
|
||
00000001 C1 +10% |
|
|
|
|
|
||
10101010 C1 +0.1% |
|
|
|
|
|
||
10101010 C1 +1% |
|
|
|
|
|
||
10101010 C1 +10% |
|
|
|
|
|
||
11111111 C1 +0.1% |
|
|
|
|
|
||
11111111 C1 +1% |
|
|
|
|
|
||
11111111 C1 +10% |
|
|
|
|
|
||
7 |
5.E. Ile wynoszą
maksymalne osiągane rozdzielczości dla poszczególnych dokładności wykonania
kondensatorów? |
|
|||||
8 |
5.F. Jaką
maksymalną częstotliwość przełączania kluczy można zastosować w badanym
przetworniku CA? |
|
|||||
9 |
5.G. Należy podać
wnioski końcowe (skomentować uzyskane wyniki oraz zaproponować możliwe
modyfikacje przetwornika) oraz uwagi co do zakresu ćwiczenia. |
|