Chip123創新論壇's Archiver

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

crystal oscillator不起振~

各位前輩~6IXnr]+N-\b
[_/G9MP ?3p'Ar(O
我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...ccX e$s/{U5U3P%p
[url]http://www.chip123.com.tw/phpBB/viewthread.php?action=printable&tid=8412&sid=g0bJll[/url]
+p4dn:Yr-XD @(}
8B [/le M#lh 其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V)
Ki5kYI&G0C s"{u#OC:~1Ut
但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,
*fE:Y$o#gvm l
EcS-K-|7v)FoJpSr-A 是什原因呢?
XayG7^7u!Y L4re{9o/M b
另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?
%a6Cv Y-GYU5]!@ (因我加完i/o pad後的電流竟然幾mA阿~)
U,rhw}
MMYRxj 請各位前輩知道的話能給一些意見嗎?謝謝p$S M[#r mA

l1g | Jz+e/kL 對了...我crystal osc frequency = 13MHz , vdd=3.3v

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

我當初在作crystal oscillator模擬時,會加這個power ramp的方式
/T^,I q(E G5m    VDD VDD 0 PWL(0 0, 500US 3.3V))bqI`x|Ym.Y5o
這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd0l!J'Y(x2`7e'Ad
如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小
:Wa^ R }+@ i{YP C`4L/Kx"mC ]
你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??e*mWdE4Y
如果沒有,那就不需要bias voltage control
s*j4XP3A8U ~Sg;UULGq
3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size

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

謝謝finster版主~"A$P6x6mjH
4m"i*YB)yWV
我加了初始電壓進去後就可以了~:D
V Ku^_m9oajf ;y K.W'Q9v+}V|B
我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,/^"D g[{,N
X&@R5S]
我也針對這個方向下去修正~也有變小了~
e}O+lm j pP po A@
另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?
[ E:U yY$p8j
USUk%Qn\B5? 我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎?
i z`Y)O$a )X!Uq9A9xG
(不可能那麼簡單吧?).y L-~@.qL g^+u
.?,H(\ue#B
麻煩各位前輩了~謝謝

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

一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大:Y&B].rb3xZy
這幾點是crystal oscillator circuit在設計初期會留意的幾項
m.hkJ?3R 其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%
h1f:eH({)t f vq2PCN+B7s3QY'v
另外一提的是,有些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版主~BI"uA&_;HJ
4C%WLk[
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?
6v\*P%GW ~+S+_ 但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?A@C%oBZm

CV G ZU1AW 再次麻煩各位了~謝謝

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

對不起~忘記附圖了~
Yp!f d3nC3B d#Q k}e)?S
不好意思~finster版主~
v3qJ1t ?1g Bs{ L'x!\QC
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),
;rj^ @[] OQW 所以把inverter改成一個tri-state inverting buffer,5fPX`;xQ%l {
但在disable時不是輸出應該要為零嗎?
H(p3?V mx-gM,{;F 但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?
[n"\gx/K`0F5h@ P)c4Uei
再次麻煩各位前輩了~謝謝

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

tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗)
'v6w B3`T md*aPb 所以你應該用power down switch來做喔~~~

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

poseidonpid你好~&XY:Hj'o i[6z$? B Q

Zm'rD0v)A 請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢?!`Ti-z@E/G^o

9SA3bL5I;J 麻煩各位前輩再次指教了~謝謝~

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

一般來說,我們不會用inverter作為crystal oscillator的放大器&Dl7} B+c]4~
而是用NAND作為取代inverter z,d C!O%om
原因乃是NAND的另外一腳可以作為enable pin的controlB%`` u^B%^6d
z&AFHWoE&a8o l
再來,crystal oscillator不建議你用tri-state inverter bufferp;H;i.i @L ~K_
原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位sC(qA&hj"_
這對接在後面的電路而言,反而會造成極大的leaking currentUA.vh%Z ^'XI#zA"|
而這,是絕對要避免的情況b#B*}f0G!SM
$bt xWI'}7v%d
最後,你所提到的dc path0^9zrB dG#}^1hbHr
我不知道你在inverter的電路下所作的disable是怎樣子的一個電路 ug7Bk3}x)F
一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現
.]!e/N9Q#~5g8~h2i4` 若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便

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

謝謝finster版主~oR| N j6xK
O?]m;Od^
我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~

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

各位前輩~
lzn:T-iu!G\To#w
'yu2of R2T#c;q 我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~
wN6E/a3d5e%sU ]9s1D$m ^F6?`
因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗...9H b] pte`7b
}T{f dGJ|l!L
所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~)b}N3Z$T|F
Fm#n2J@1xRE#q
但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...
9tE9h.T$zm&S {\:s @G$H s
我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?
x8^ E3r)W
8DJ W(?Jk0k] 為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?
hh]#O,A7wW+|SA/c
;u/_:x"HmDB u3E1t 請各位前輩指點一下~非常謝謝~

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

各位前輩~
#Uq6^&bF)jr X&D1H8zT6FsES
我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能...
*hy\A^Y/oZ
U!R:t-W] 所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響... l;|3cHQi

&S1vppvv+[ 那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?gbP_NTx5jA

:Zf'Q:Z4Kq o^ 麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~

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

方法有很多種
1K:?/Z`H-_u 附圖是示意圖,實際控制信號自己加上去吧
&Y7i$Bk.Y9j u-J FB6v"{
我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題
+_q*{9B7f c/c%c 方式就如附圖所示

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

不好意思~謝謝finster版主的耐心指教~#_ve0t.HdjlQ
O,M"^Z"^TS}e
我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~#^$qi8b$DPU,S
}!W:g"f,@ {
如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?
a:F5c*KR7m
,B7f W0e$?{O 再次麻煩各位前輩了~非常謝謝~

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

不確定你是指那一個節點的電壓
)| r,\7N@)v EC 若依照我上面所繪的草圖,在一段時間後應該會降到0V
qtW9l[!Od t$c@B
`y{rS4V1g:A 不過,你的模擬圖卻沒有0K5u*U Pn4}2IS
我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻
{'p&oK4wa 故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD'x0j@N.s){H,lc
你的模擬圖應該是正確的情況&T jp-r }p q
若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位

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

不好意思~一直麻煩finster版主~
~[$_@ mIAt0c Z(j (NaR#I J.J-SP N6`I
我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
%Cw B/V0`Fy$[pXV !V9ef B;L*L0P'P
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~| }f Vf v
;cZ4Jn/o
還是你講的"串接電阻"不是只回授這個電阻?
2d"f*LXx
}b2DR|y)U.q4Z 假如我輸出不是0 OR VDD會有影響嗎?I4L*I"K @!T
0R\a[1r#V:r
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)SyW&X;y0m8W;M P

m&jI&A+Ug6p3T4A;c-y*T 不好意思再麻煩各位前輩了~非常謝謝~

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

我又忘記附上電路了~對不起:L
*s3`kzX1?z/?/s7M#q 1T1`!oebE
不好意思~一直麻煩finster版主~-}W-y,~4[h q

GWKVv:K-^$Lwkm 我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~0r!OE'u+N7vI WZ
?yagn5E
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~cCdM@!FldJ!F
y J%X:[ J1n
還是你講的"串接電阻"不是只回授這個電阻?u8v7P U:F0A9f`

9K ZM9a[5I 假如我輸出不是0 OR VDD會有影響嗎?.HZ6j^2d_-i q x3F

2t4P d_V%e#}Ts/z 這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)
F RKr'R K \&Refm%D
不好意思再麻煩各位前輩了~非常謝謝~

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

這是我依照你的電路圖所畫的動作圖r+MC$tbQ\
在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對
E2[P C,y2bX9uG 至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd_y6O/B$} E
若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題 W|{"Z'@%sb0a,};Y

kJm%j\2Im+D 至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況
(xAd+o-k3H;m
mo#PdO8\c 如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
-]6M1D z`.V KD'J{,t@#o5Y
最後,你上面所貼的圖為Vout的波形?? vNZSR~9a8T1y
這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,
r5Djy*eRb ~5E GEEM`$}/r
[[i] 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 [/i]]

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

謝謝finster版主的詳細解釋~
W7Fk4}]%b#A Ml Bn%}SHC(t
我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...@A!\6^'F@

0x*gQ"Z%?m(R#K 在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...z ]"L2L7I(LF(o

H kS3K/e*l%s,P UdyZ 但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢?
.xd"p2iy
/m&T2P7H ~s;u 不是應該維持在vdd嗎?但卻是如圖所示的結果!!
AKk9\x;yfut $e!f}6G*d2z
是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎?
&s;YA&|-Uiby
4wF"yl;k[u-\ 一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係...
?C)i;ni;j0I m T@
3V^O8y8nv7n,[3~/D4h0K 但又不知道這個傳輸閘除了作disable用的開關外有什限制?;O7H-C9KB5e],z

:I3\h(Y'~W_.d 請各位前輩和finster版主在幫幫忙~非常感謝~

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

從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理
%]q!Ak+Qzhv 若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd$X C,o [ T)C,oA K-BJ
而你的情況卻在vdd ~ gnd的任一電位+c"DnnL|WF

-F d}.}4jvIU7P3| 你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?a3JT `8R]_|7^X|
另外,量測一下反相器上方那個電阻在disable下時的電流為多少?iP`*vK5r [.y[
dRG%^f
上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作4b%t;_(E Df']
至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作
ILT)Y }1?7z*m-XQ sg
.QN A y4g7hN)r7VzB)I 最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題

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

再次感謝finster版主~
!oE'hW };v \I|%W6}P M5@?c
我想確定我和版主所講的輸出是同一點嗎?"]5hxD2_ c&w%C
1S(GX,]3Vxf
我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?4m3p@s;a W s(\

(C'h-Z3U8s0VL2R:R 是介於0~vdd嗎?還是vdd呢?
6W,` F/Ft)Od
*[G9jI6]4j,Bw 因為我是想說在floating時不是輸出在任何一點準位都可以嗎?
3P!vPC+VyhD_ l 3zs};F`ekQ
因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?,GB"~$NG q8oRay

.Z:z-L0y1g1c2s 再次~再次麻煩各位前輩和finster版主了~

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

從你目前所貼的圖和你之前所模擬的結果來看是一致的v&m M_;v"}b:TfEGT
就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解
Q:cn5^8|]rWp 依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓

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

謝謝finster版主~YuY!]n6T.EA.B
9M'B4aj#I)m1D KP6D,Z
那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝

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

hi~finster版主我又有新問題了~不好意思
@t[3PL"Y
:x,d8FyU3GrA(m 我layout都沒問題了等著月底下線~e-`'hgQ#^Va
f J"w~L-~
因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz)
a z2uO0r
1AstO7WF"CX 但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)8aC ?0u;LxfGC

5e'POV5ZOQ 我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!
N+H9` Y,_\rKO
:|J y;Z5r#a Vx4l+[g 這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?Uh \Bl;o:zn([L q

T,S!]Xx p.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~
D6{b/^'Y |Sc
j,B-\5Qn5d 請finster版主在抽空幫我看看~非常感謝~

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

以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考
iPLdjQ 故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值
*UWR3N Gz)d)X 20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同lVqG[BqU
b2byeT7IwLP(z7X
再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著
1F ? Q6Q+[%_ C\s 所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫
])r4s*T(J xQ x
'\/~JP)kN 最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同
j:c,p0]8~6I 一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯)C6J5CK*WHG-H t
所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率e&rIGAAqTD/Q

7XJcS@ V$h+t [[i] 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 [/i]]

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

各位前輩~
ls)d,I|0z
#Y Pl}@x} 之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~
,Xt!qp3u[p&O
(c{|hM8Y 不過最近在書裡有提到overshoot可能會造成emi的影響~2g;dQ `-U(G
_6}N"M Jw\
我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~9hT:?5X4D-KG
UH#L ?&T c{
如圖~這應該是overshoot吧!?8q7KZ9b|/Dy-`f

ss:x7|#|4Z?)W 那這個有影響嗎?有什辦法可以改善?IU#Gy)M"DR

6\D,[$F{4NjW 請各位前輩能給我一些意見~謝謝~

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

正好在煩惱這方面的模擬!F;[}I3h
有了這份參考資料依定可以成功,感謝

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]
B*g3@z/D tJ 各位前輩~
[B6[&y`g?;NK 'U4D(r:B)c:gtJ3z
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~LhL%F$VV1t-i f7u~2H

*h8W)I X.j fC.m$Co4Z 不過最近在書裡有提到overshoot可能會造成emi的影響~
,PcB h;_OD 6U(Nz7L `Ys.g@@
我再把我之前做的crystal打開來看,發現我的輸 ... [/quote]
,q?3Y,r[#W+W -Xg1w)fz3D q4B

J$Ys,f [~T9q%w 你這種情況還好,並不嚴重t@;Ym-V%xut
要想克服這種現象,若在OP,最簡單的作法是改補償電容
9`b T'|Q)Ae\,O 若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可

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

謝謝finster版主~'bM0m&^D^%yW_,H
2o$a}$e DK? XA
你說可以在輸出端加小電容(負載or Buffer),是為什呢?
!GTR-w e,S,E Zd&qTt2Odry
因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?
;aB LA/L1CO#e
d-s:Tl x;[%K*b 我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?

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

減少driving能力或者增加buffer其實都是同一個原理的解決方法BH{Y&hy
因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現
9aI b v(cwR 故而,把driving能力減弱,可以減緩over-shoot的問題
J rG+b+Kc 另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK
Hx9iv^ Z3R P:h ^ U I(H?;]}"b
至於你問到的第二個問題}A8v|1_vx#r
這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的 [ o4T1X4SE9F k
不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況
U.r%Z4XN g$?[ 再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態

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

再次謝謝finster版主~-P {5R\ZL!?

"p#k"B^#eyk7V6b:v 最近比較忙,所以現在才上來看你的回覆~,}Z6_K^9O;B

f6E ?&woJ1s 前天被學長問了幾個問題:(他也不知道,我也不太確定回得亂七八糟的)Yb5x-PP
Cr~Q#a1nmA
1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?d r$Qu#O
Byw uP6l/bL&NsC
2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意)s(t*IDR g+d
   值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?
+C },U%ycR$a
r:s2G:\#L*D2P 3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加
dt,q"wdL]    一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?wX[ B R#}lU
W/^/b3b0EC[,G
再次麻煩finster版主了~謝謝~

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

1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會
G;W.l^N+Lw FC4O,j     不過,通常都會起振,因為不同廠家的crystal model不會差太遠AU `'\.u%LB
2. 不太了解你這個問題要問什麼
;ph]4l!E4h+m6Y     基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating
E'?:eo WJ ?9X`%Z ~)B5Kr
3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗

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

不好意思~finster版主~
zeFl8A;\i
YLx7g1\&TB] 我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~:D
M[4|@m ,w3{:?)MCJ
我的震盪波形在接上schmitt後變小了,是什原因呢? Q0O9EH#pBL/S
&C;v0qsVLH
我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)a?3A:H{j)s
tg:QR mnd
是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...%ikr}lmu

E*J6`g/r7j-I 若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題...:'(
7[l7W U/c o g b(~ht7z~kCv
但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在)
9D?I V*a_@
*JFa2W,a9]8U-Q 可以麻煩finster版主在給我一些建議嗎?非常感激~:D

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

你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?EHw,{w:m$k)bA
另外,你schmitter trigger的vih and vil又各為多少呢?
.uK!v^?6H7i +t [En,v2]Nf
因為我不知道你這些條件,所以無法回答你的問題
(A}j ^A p-U?sI*y
至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形6RlBby*s

d$R eI)q tj3z4G$^3a g [[i] 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 [/i]]

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

真是太感謝finster版主無私的教導了~:D C+y8s F'Zi ?+n9H
%q;z^$@'m l
我原本振盪波形振幅是0.3v~3.2v...t!`4o8P'`4cJ
|w1FzB3A
但接上schmitt後竟只剩下1.45v~1.58v而已...5y}.J1s7g_
H;kQ!Q~e+j
而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??)
5P,v.y%u1xX bj$W!aT z1a V8z
但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?
q9T}(`"FZ| ~Q 0^3K!@5T6y&h6}m
(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~)
3QM?'kIm3A&U
\6i)UM$G8aad`R 這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...
J!Q1p8o7kERdy2f
7K$h#T.Mm J_G8wJ 但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...
D]] i$h ,i:T\5R~
若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)
FG]G*m$p.~ v Mg1^o
我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~@'x,qor3`h`
-o |M\6Tl'q`v`
再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~:'(
pJ J8tJ6V%s\6^
CA%K x0T:MN p.s 圖為我使用的schmitt~

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

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

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

從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小Hz @ s3QR(U?*x
關於這個現象,你可以從你的模擬中重現這個現象0F1RS\%Z [?/E&F.E*D
你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小d:vtkR$^;J$`
而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小
gq6w:[9JYG4U 而要改進這個問題,只能把振盪器的driving能力加大
i@3S%se qzr7Uk+Z
至於你問到為何只有在25MHz以上才有問題9X CS0O6h+s7p-[
這點,其實也跟你的振盪器的driving能力有關wy$|oj;F8wOv
因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大
$__0I o$AK+@$V!@U 而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振
xk2vu tG6t E
)\#TBzc+g G| 至於schmitter trigger的優缺點
,O%\+e%yl+Ch$]l 其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger
2Ibv]!QO"av 基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險

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

留名关注,日后学习
4U ^V2BsFI.? 谢谢分享。。。。。。。。g L.lK eA
。。。。。。。。。。。。

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

超級謝謝finster版主的解答~:D
Zz+u"cQ]X7L e.ad@+^6IY
最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~
i#iub-PRY:^
0n0C9?.A }r LJC 我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~r)O!Z-|e"x2wc

u nBDVZ;d 第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)
)f9B0|CY)S } P&v([ m KEY
第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)(_ {;q V8b+p]#~ h {

;vO-v#C6Q Q+M7X 第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)2_q#fiU&T`Ju\[J
R#UwV+bF1ck5w
麻煩finster版主在指教,非常謝謝~

頁: [1] 2

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