Chip123創新論壇's Archiver

camilla 發表於 2008-9-26 05:40 PM

crystal oscillator不起振~

各位前輩~
*u_1O J6uu
+f ]%w{'|5B M L 我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...}7q(m:m4n-[)}C
[url]http://www.chip123.com.tw/phpBB/viewthread.php?action=printable&tid=8412&sid=g0bJll[/url]
7HD:r?`#z #O`"SsA X#B
其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V)
P:~/{7c2\9Q,W#o;O
r%W.t*dcfq 但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,
eR)IbE5wd m%~|{{$]
是什原因呢?N.B;w3Q5N7h
-^0t\:u QD
另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?0L1int3D {
(因我加完i/o pad後的電流竟然幾mA阿~)
#a2|^UywY
3[b k)} o 請各位前輩知道的話能給一些意見嗎?謝謝,L!X"{;L)t7o
-IG W0gB5j e%`
對了...我crystal osc frequency = 13MHz , vdd=3.3v

finster 發表於 2008-9-30 01:17 AM

我當初在作crystal oscillator模擬時,會加這個power ramp的方式
.Kyi:^&co2y    VDD VDD 0 PWL(0 0, 500US 3.3V)
}@$gf+t%sjT 這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd
@$Qd_h vBj 如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小
(lDR%j!Ipe "U Un7C/R4c
你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??1}5ls zG
如果沒有,那就不需要bias voltage control7?H@6x${lk
_o]9_Jg
3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size

camilla 發表於 2008-10-1 11:31 AM

謝謝finster版主~
[9R!|P5@0l _W $uC7T{X*]]'brz
我加了初始電壓進去後就可以了~:D
od#z,h!t$n K;K;] V.x0IB'k4} _U
我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,U(V1WX"U\` eG
W)Y(CY'}.r
我也針對這個方向下去修正~也有變小了~
}6p hD(m
,S^~\nk 另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?5S&rnGgL j#tq_2nxx

#[S%QI_'c Ru,R 我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎? b7~2m;fR2g;{N%_V

4x5V-D,t;l @(P%d1LP (不可能那麼簡單吧?)m;rmRFAt$K
o4JY6{8J&D BE
麻煩各位前輩了~謝謝

finster 發表於 2008-10-2 07:46 AM

一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大\5LQN V.Y4^D
這幾點是crystal oscillator circuit在設計初期會留意的幾項8{ V:{ f;NXT
其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%~r7|mY V(c

%D:X L1A0iE} 另外一提的是,有些crystal oscillator會作low power crystal oscillator,整個振盪電路的電流消耗要小於10uA或者小於1uA以下的規格,這種電路很難作,而且也要很小心,而這種電路和前面所提的設計難度大概差了至少三倍以上吧

camilla 發表於 2008-10-2 09:14 AM

謝謝finster版主~讓我獲益良多:D

camilla 發表於 2008-10-3 05:49 PM

不好意思~finster版主~
5A#L'x(?E g"Y]S [o T*Hj
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?
\7\/G7J*Z%R4An 但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?o;BMg {8z]Rvl
(Bt!mm`(ro*o a6Yk
再次麻煩各位了~謝謝

camilla 發表於 2008-10-3 05:51 PM

對不起~忘記附圖了~
Jn!v$LG `,p#{5E
GlC;dB 不好意思~finster版主~}O o#t6c$D5c

C f/LOo/s*Z*~I 因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),z Y \:R I+E
所以把inverter改成一個tri-state inverting buffer,?B:AavN
但在disable時不是輸出應該要為零嗎?
Yt v(d0z7O:E 但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?
:kHH@u
|D:J,c Cw9r 再次麻煩各位前輩了~謝謝

poseidonpid 發表於 2008-10-3 07:11 PM

tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗) (Rx5t$iM ^
所以你應該用power down switch來做喔~~~

camilla 發表於 2008-10-5 12:32 PM

poseidonpid你好~
%x4];x:d9r
-j | j$\ `(`} 請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢?4T5X O/w5]D
9UX5L5RZIL
麻煩各位前輩再次指教了~謝謝~

finster 發表於 2008-10-5 11:40 PM

一般來說,我們不會用inverter作為crystal oscillator的放大器f1r;k}d%f iT`*X
而是用NAND作為取代inverter/J2H&s%H/k0bh
原因乃是NAND的另外一腳可以作為enable pin的control
N3]I9fY3\knv rx
%x-}/o3HR$G 再來,crystal oscillator不建議你用tri-state inverter bufferR z&rF8PB+w5];h
原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位'ZlVGC {m z(T
這對接在後面的電路而言,反而會造成極大的leaking current HB`;LGHK;]0r
而這,是絕對要避免的情況W ]l9j1L.JE2Z
a(YV@ Q0}pl[
最後,你所提到的dc path$t}T/\5~W:EX-o
我不知道你在inverter的電路下所作的disable是怎樣子的一個電路C*C,X QQ&V-|'i
一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現@ V/R!y"I2h
若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便

camilla 發表於 2008-10-6 02:10 PM

謝謝finster版主~8f0X2x5z,x$]'[7o C~
)EARQ5H'w$l
我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~

camilla 發表於 2008-10-7 04:07 PM

各位前輩~
}qwWV"pOU;b }D4LF)xr[y9w2A
我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~S!J7v |)cT X,d5S

r8in H&d3W*E 因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗...r)I g ~s)E

_P6e3`(n#?&Y$HZ&? 所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~)0Z*v.f2_ U`H

|,^`1c5[lq qv%Y 但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...
ci8X.y4W+NuF#[i
DV6S'Y!l@ K+A 我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?
4jA2lg#l5]-Z.l OtCX`3Ta:}$m3j
為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?'[&M.ECV7`N
I#I ~.MX5M
請各位前輩指點一下~非常謝謝~

camilla 發表於 2008-10-7 11:19 PM

各位前輩~
V]w T h_5zJ w K Q$H2@+D2Um3c
我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能...
NLWr Y&q9vi9@ 5a1q*}Rf
所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響...EV@!E)Z)A,R

3LR @c)N!J2k 那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?
l Nw2bB@5H.Xo 2~2^9i*K2bN
麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~

finster 發表於 2008-10-8 12:03 AM

方法有很多種
.sYB0\"KXrn9O 附圖是示意圖,實際控制信號自己加上去吧
^*NN;VsT|.V
-?0Y1N#] a8?t 我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題
S8xN0En/\F(Cq 方式就如附圖所示

camilla 發表於 2008-10-8 12:10 PM

不好意思~謝謝finster版主的耐心指教~
m(I)B!V:kfx e F
g.\ x'`^A$j-W%uK 我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~$fMo*i Y

3kTyt9X9H;M 如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?
V3_Z M#L9Z7x4YZD$Z
'J,IU7aL'D$d 再次麻煩各位前輩了~非常謝謝~

finster 發表於 2008-10-8 04:27 PM

不確定你是指那一個節點的電壓kBx4cn"^+y]DA
若依照我上面所繪的草圖,在一段時間後應該會降到0V Zs-? `l

w2[3R!G i IYi#K M 不過,你的模擬圖卻沒有)L/U C(KN4@:~p9\
我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻
W8hWo8Yi 故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD
NK;xs^&rf 你的模擬圖應該是正確的情況
(c:~J s!o 若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位

camilla 發表於 2008-10-8 05:46 PM

不好意思~一直麻煩finster版主~hfcO?A
}6y)U5Vs7gj}
我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~*X:c+S f XK`

l9Hw;@c$j)Q 你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~
-^:GT1s\9L,|P
iE#\C;?8@M\ 還是你講的"串接電阻"不是只回授這個電阻?;~9]Ti)P4p3g
%JE?5\M[b
假如我輸出不是0 OR VDD會有影響嗎?E+|K^*Q ?__)bC
mz&X^#X
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)7q}-hzne(N

I7Y,^,p2Yy(u h5Id 不好意思再麻煩各位前輩了~非常謝謝~

camilla 發表於 2008-10-8 05:48 PM

我又忘記附上電路了~對不起:L
0e|L0Pf K/xn-d p+h6Il0_~T
不好意思~一直麻煩finster版主~u~9PS%MA`A'^:R3SR

H6Gsx[ aWIQqxG 我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~q+oAys\
}gX] kkOy d;ct
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~:yC+{3l2~+{$u
lvCynQ$LE@"bV
還是你講的"串接電阻"不是只回授這個電阻?
@H:l+D Pl)pcN
5uuQ bS.E 假如我輸出不是0 OR VDD會有影響嗎? Qn8@&e0QE2V8A#[

z#D/z,xA.fJ2u:Y]&S 這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)djI&Re{_` R
y j wb:o_
不好意思再麻煩各位前輩了~非常謝謝~

finster 發表於 2008-10-10 08:19 AM

這是我依照你的電路圖所畫的動作圖#WN)SALP;Q;m C I
在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對[txp%e L g5R
至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd!@%Cz[%]Y
若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題tt!OG%Z%K.q

Y@Y u|'Y/@0n 至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況[j$w(z+o X C
4D-sq+k5T5\
如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
cc3A3C@(K:m]uN [3O5Zk7_7_ IA
最後,你上面所貼的圖為Vout的波形??Ah/B!\x(D
這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,H4rf9]6o!u;I
T(U:`#p?W
[[i] 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 [/i]]

camilla 發表於 2008-10-11 05:15 PM

謝謝finster版主的詳細解釋~9Y$w ]*C0\+DGj

d'cq8i!f Q%?Z~!j 我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...
8s:t u#w:W_C(t"S
0x&G P8~S 在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...
m*}W:hh)r6F3X
2^Hgk |2E 但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢?
;`1R'c:Na+CDOv{#uq
A/R3V1w"@7K 不是應該維持在vdd嗎?但卻是如圖所示的結果!!
6m7Py U9A A&d `2_4j a2G*u*J,y bs)T
是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎? ~OR#V'CZt@
#J$nj'Cs Z ]
一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係...
U)kSva"o
^ [om%j3X"jy5s 但又不知道這個傳輸閘除了作disable用的開關外有什限制?|R D3~ |jy

k o^.MpF 請各位前輩和finster版主在幫幫忙~非常感謝~

finster 發表於 2008-10-11 11:22 PM

從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理
|A.o2e E 若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd&R"WO7M9r#h3{9k:a
而你的情況卻在vdd ~ gnd的任一電位
*NLM*a-L3D4u
Z/`*cA-{RH 你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?aQ W\1Jd3Q0fg
另外,量測一下反相器上方那個電阻在disable下時的電流為多少?"H3l3\ B-a!pQ;_
Cq$E%v aD_
上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作.u \6]-f1k"r{;M/S
至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作 Z1R;E ^\+K
C I Dn)W h5w:f
最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題

camilla 發表於 2008-10-12 08:47 PM

再次感謝finster版主~ b!y8b0\Q/}7L&S*E^

u3[@,S9igi4H 我想確定我和版主所講的輸出是同一點嗎?5A0T*P'e? D'L'[
1gi.Z5u `&O]'C
我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?
/nv Q+D8t:f7oS Di
q^Pb*V e[/{"V'] 是介於0~vdd嗎?還是vdd呢?
*Q0Z ^~'c)[\&Fr
6u-^"gG9}h 因為我是想說在floating時不是輸出在任何一點準位都可以嗎?-?CV'd-}H#z

x.`)a}N(M.wq4Ru 因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?
B#[ex@%V
6w1V+k7{ ? 再次~再次麻煩各位前輩和finster版主了~

finster 發表於 2008-10-13 11:31 PM

從你目前所貼的圖和你之前所模擬的結果來看是一致的 Up7_$R#N"uQm.c
就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解
PI'd&xC(p$ME 依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓

camilla 發表於 2008-10-14 08:43 AM

謝謝finster版主~ _M"V-O;xp

s5~%v!s(Lx4CO*s 那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝

camilla 發表於 2008-10-17 01:42 PM

hi~finster版主我又有新問題了~不好意思d,ag9d/`;o-u

jVPh'V:y.C&e7mb 我layout都沒問題了等著月底下線~#\T|6h Jz I{!g

v9@ G/_2ME+jb Q ] 因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz)
E)Q'e)lG6Wc :|.I1M_wU;XxU
但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)
u|6~#\mI W.KM a3M/L{c8u"|i#x
我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!
r'Cg"AE O+T(\3W#Nt3J
,ye1dU-CMRW){ 這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?9F;d'}6qRK@!b#Fr
o-G'~Z3I;c{n
p.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~
`r$^O:s:t:vct &{;\;lQ!Gl R&y
請finster版主在抽空幫我看看~非常感謝~

finster 發表於 2008-10-18 02:49 PM

以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考
z]+M:c;c 故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值
Se*F Y0K2V*K W 20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同*}~jad$bX
6p![1\L5[lDc|.C
再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著/B-{{)Y0rNp,E h-U
所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫ac9Yq g/O-G

tn[3o"tb;W ^7d 最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同
p|eDsR?)` 一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯
WuLPA~t 所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率
K;dS@:` S n#}_t]sP
[[i] 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 [/i]]

camilla 發表於 2008-11-11 01:07 PM

各位前輩~ ES9M _Ln
:X _,ee3SK!H
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~
Y(OX$WPl/L
;cs/[X?"{B 不過最近在書裡有提到overshoot可能會造成emi的影響~(\XWWH c
V6M/n/l]Yl ?
我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~#WVYDV C

Kk~GIIre qA 如圖~這應該是overshoot吧!?
L8me2A^Z1R;hlK w#m0fg3nT KS/p%n
那這個有影響嗎?有什辦法可以改善?/SED7e9j4zT*o
2p8e2w)Z U)v
請各位前輩能給我一些意見~謝謝~

pmet2007 發表於 2008-11-12 02:42 PM

正好在煩惱這方面的模擬2`D*`/X$n{^q
有了這份參考資料依定可以成功,感謝

finster 發表於 2008-11-13 11:31 PM

[quote]原帖由 [i]camilla[/i] 於 2008-11-11 01:07 PM 發表 [url=http://www.chip123.com/phpBB/redirect.php?goto=findpost&pid=80568&ptid=15799][img]http://www.chip123.com/phpBB/images/common/back.gif[/img][/url]
!]G t7m0^oma 各位前輩~h(P4qiS.Q8C~
N3V\H_(y(H
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~3Ij3J Gw

!EO6a!d(NE B|fd 不過最近在書裡有提到overshoot可能會造成emi的影響~(jX+?Y#T
\VwV[
我再把我之前做的crystal打開來看,發現我的輸 ... [/quote]IIV:BzdS iD
m7eb1_ Mip;J*s7E
qvMa)PB:k#dR+d
你這種情況還好,並不嚴重
/vxjk-aE X%J@ 要想克服這種現象,若在OP,最簡單的作法是改補償電容LOM1br(n t^%t
若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可

camilla 發表於 2008-11-17 04:45 PM

謝謝finster版主~
G{1_+ZxBW2`
!O2da^6u9A,Lu 你說可以在輸出端加小電容(負載or Buffer),是為什呢?
-MphURoc4Ha 4G#|g#Y8u3R
因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?K&Y w+d)z5Er
*@GP&|)Y TB h
我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?

finster 發表於 2008-11-18 09:58 AM

減少driving能力或者增加buffer其實都是同一個原理的解決方法(f9{ D Dr:\M
因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現vEC _`
故而,把driving能力減弱,可以減緩over-shoot的問題EcB \#~\l @$A;Q
另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK7O`4mX_~9Z@%B

v:rZ;S-Fu pq?*B 至於你問到的第二個問題 ['G vO#b8?
這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的O9h[/o,N6{WA
不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況 Qf6\9I)VM-UP,]!H_
再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態

camilla 發表於 2008-11-20 11:12 AM

再次謝謝finster版主~
DT&F5aN(w@
-D:y6P9y3PG)? p0h 最近比較忙,所以現在才上來看你的回覆~hb%I;@CP3_f

'W"Q?c5YZZ%{ 前天被學長問了幾個問題:(他也不知道,我也不太確定回得亂七八糟的)
`"I^(pq;}'k&V4e N;IFo ^2O:}
1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?Xx[3X}#P
S.r6k `F{H`
2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意%vKO(|[;E9X
   值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?
1s/B$n:u4iH+N4FS
s,H1L(I3jUh8Z 3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加 `XG!EDm4F:c]\"Sk
   一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?f;q9{4z:Q5A

c2y#p IV2pY_ 再次麻煩finster版主了~謝謝~

finster 發表於 2008-11-21 02:33 PM

1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會?.E&e \ iYt
    不過,通常都會起振,因為不同廠家的crystal model不會差太遠@~z9U,T'g
2. 不太了解你這個問題要問什麼E*C? y9`{1r D
    基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating
&W0L!I SASK.r7xlR$a
M$\1UvC/@2Ud(\@ 3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗

camilla 發表於 2008-12-1 01:31 AM

不好意思~finster版主~
DdM*na4z Q^
hk n6pe2i"[c 我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~:D
(J }gc/q
o;L k&PK1l@-v 我的震盪波形在接上schmitt後變小了,是什原因呢?,M RWL8X&`;gS*SO)ku`
zHl-GvM
我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)R*N!D ]9?0t*YX-pz
+J*i r8xeh/~J
是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...\'N,K5E]!?f D@V^
F aR Yn+V0y3Y
若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題...:'(
f2b+zr ul i'E G&~4nK @#q?L
但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在) ar%M)v P/W

D q} @i(X_Z]M 可以麻煩finster版主在給我一些建議嗎?非常感激~:D

finster 發表於 2008-12-1 11:08 PM

你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?)izw c9{ ]1O
另外,你schmitter trigger的vih and vil又各為多少呢?{,X!eGzh

;xTW*U#i rO 因為我不知道你這些條件,所以無法回答你的問題
,q/K X c H"w
3y$hy,T NY,Xd 至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形
5r$@+` F+sB v)a}8S Z+N e#Z A#C C$ua/A
[[i] 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 [/i]]

camilla 發表於 2008-12-2 01:28 AM

真是太感謝finster版主無私的教導了~:D NxsK%V-U"tJ

@8Pe#FT;ut*T_.J 我原本振盪波形振幅是0.3v~3.2v...
/h0} @9tt
N[X*\FQ9b]q,d2L 但接上schmitt後竟只剩下1.45v~1.58v而已...
~m)hm J){ `Q#i t
!s'E/H0ER3E0V z0X 而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??)
'm*DIG&y(} dS!~voQ
但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?.Y K#k]u n@P
K Q&nczS)|,dd R
(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~)
g ]tR&`;s5r7[ y.pd I8}}!Gp-b K
這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...
NDb7KUdT;S0yv2|r
0I7?1Hq!`q8T 但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...
,G0ooC2X,TLa kz
'P.g `;JA2c 若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)
`[#`^7]5s(Y
,?\ ZN*{N+WC 我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~R/jQ}Q9C9Ed2~oH.U

#D6c8ScJr;e 再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~:'( ff ajg [
+V+X["}j3@.q%[
p.s 圖為我使用的schmitt~

camilla 發表於 2008-12-4 09:00 AM

:'( ~又被沉到下面了~請各位前輩幫我看看吧~謝謝~

finster 發表於 2008-12-4 01:26 PM

從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小"aT b5|5hk8U)^t-HU
關於這個現象,你可以從你的模擬中重現這個現象$S7MlZme
你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小
_w^0h} 而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小e&t0S6nfK
而要改進這個問題,只能把振盪器的driving能力加大;S/n CB9}m&c

,M#I4fADk 至於你問到為何只有在25MHz以上才有問題"Dp,E-W"]
這點,其實也跟你的振盪器的driving能力有關RIkng.t)B
因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大 iX} I-j(G
而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振
Y$s QY Ew?)B
/A.G?C;xm7KPn#\ 至於schmitter trigger的優缺點?6gG|7a#E[
其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger
`TE+vJ9e"n 基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險

caesarxl 發表於 2008-12-17 10:21 AM

留名关注,日后学习
g `%Y l"CJ"p ]b 谢谢分享。。。。。。。。.D8A,g~'D]%HZ
。。。。。。。。。。。。

camilla 發表於 2008-12-17 05:56 PM

超級謝謝finster版主的解答~:D )Mlz(w,~)]Z:J

*M(V?iq{^|&]R-U 最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~
LP I \(~j*_ 9d%zF$@L
我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~
V M0\:d1DQF'W 3P#lrv$et5K~,nn
第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)
ph%q\'Ax?v
Mv1\A`nqJ 第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)
^k n7w.d {!LY (l2FHwha
第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)
_s P#h3KT0a
Isy9nH:u!W5P!p~ 麻煩finster版主在指教,非常謝謝~

頁: [1] 2

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.