Chip123創新論壇's Archiver

鏈結傳產創新價值鏈,擴大IC市場同心圓

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

crystal oscillator不起振~

各位前輩~"PEUt4L$ra

R4]k2~.^R qG 我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...
J5w@f(@&aYR} [url]http://www.chip123.com.tw/phpBB/viewthread.php?action=printable&tid=8412&sid=g0bJll[/url]d s kH0k`_]

Yh*tK3uI%tG 其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V)
;MfK*Z0h9f
_.DuE i BEgf 但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,
`~hy]0J_ !D!?%nG-{s!Yh
是什原因呢?k+w R2v5l Wu

}2}p/V%tO 另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?A$do:X f s
(因我加完i/o pad後的電流竟然幾mA阿~)
_(`5q R+ioB | ~ *v?4j#k*D|L5tg]+O!G
請各位前輩知道的話能給一些意見嗎?謝謝
}R6V%[-zpDjm
D8dE(b{-s"rF 對了...我crystal osc frequency = 13MHz , vdd=3.3v

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

我當初在作crystal oscillator模擬時,會加這個power ramp的方式
\]lHewp0m    VDD VDD 0 PWL(0 0, 500US 3.3V)
&z c ~ i B 這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd'u ax2j6jeDh'o
如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小g9}hX {!KlA6|
:Et,M`iR#L/c
你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??)k Gnjr&t
如果沒有,那就不需要bias voltage control
!jL]s5g9N~ (Qh`,^3[-Xpk
3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size

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

謝謝finster版主~%Uu}y.Y
"TVA/d1w$l*F r4n
我加了初始電壓進去後就可以了~:D ,a1Y*J5_b.z,}v$d

a,i(F}zq-J 我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,
*m/I3\-CNJ!] _} g[ e(N'C y-iM
我也針對這個方向下去修正~也有變小了~;Z``c~
7W_|^Yz#D_#hHj
另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?z!w8M ]P2_5c
D I1w0?"_*`c
我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎?0Qv:`z0ky c
6`_+P l^)Lj
(不可能那麼簡單吧?) ~*Qz(S/tOnP

)l R,z[ Q u Dc8k;J#m 麻煩各位前輩了~謝謝

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

一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大,p Z.t9P"jcM2[!y,Y
這幾點是crystal oscillator circuit在設計初期會留意的幾項
dDPRh!IY 其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%
^J(t-T%v/D-x6Ev;w -].^R(|2R?
另外一提的是,有些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版主~(Bn/e5@ Q/q{k

CR,@Ieq-o 因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?9Sah|3Tx8pq
但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?
,c0~4hHvG/Y%j#y UJ,a-xW#D[0HD$c
再次麻煩各位了~謝謝

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

對不起~忘記附圖了~%u0GA%U yUA z)e

/eHU;WY1? 不好意思~finster版主~
q+zW'D,|J[1M
q){sT:TO 因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),
})q,ve!w@9uJ 所以把inverter改成一個tri-state inverting buffer,
?&r1yr)Sh };t 但在disable時不是輸出應該要為零嗎?+YZ nvx
但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?6Vu:t/E'wa

7|(_5f3n)xvSwo%w 再次麻煩各位前輩了~謝謝

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

tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗) Mk:HpA8i2F }f
所以你應該用power down switch來做喔~~~

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

poseidonpid你好~6XS ]m_ CX

#? c!bbvmPX d 請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢? c9o$W)Wy1M

7ol3V+r8T 麻煩各位前輩再次指教了~謝謝~

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

一般來說,我們不會用inverter作為crystal oscillator的放大器s7i`/Si[
而是用NAND作為取代inverter
#o;?&KMR&r 原因乃是NAND的另外一腳可以作為enable pin的controlzEk,iJE @{
x0GA P#w+ay6J.{"N\
再來,crystal oscillator不建議你用tri-state inverter buffer
jc E:[%Z5R*k 原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位-X \O_P uNc
這對接在後面的電路而言,反而會造成極大的leaking currentdjt3[ yDHb
而這,是絕對要避免的情況U"j$?L$F Hg'G
\!M-b9LcPE^r
最後,你所提到的dc path!xR5Y y J9G
我不知道你在inverter的電路下所作的disable是怎樣子的一個電路
mh~5P8k9F 一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現
S4Qp0t O [A 若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便

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

謝謝finster版主~
Q2EuJ+XO/j!O
t(tQ f-?q!y 我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~

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

各位前輩~ z ` [;o pu$J9u+LO

fHBSO7uETM_'{ 我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~l.D,e [,p Py.Ad

(`*Y[.G!dz 因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗...%q8mPxm4O
&Ty QO8Jrd*X
所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~)
`]x'w9qP G6O
0V/Yi2WlI9Q 但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...:X`'[$i \epp&]
ty.CrR
我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?*A&lrB(J7`0@&?6G
2ZG$f1\+w M@
為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?
6pet+B&F*E 7vV}^!x
請各位前輩指點一下~非常謝謝~

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

各位前輩~T$ZaV1T+xk#\
1q)Sd/[tMd Si
我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能... ^6l%q zu%x

l K8D:~!Xfm_ 所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響...Bg6Lq^ O} w"AF
Xx;^;Cw |
那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?
6]'d7qGtc
u0a7O&G-vB1m3Y q 麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~

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

方法有很多種
f@|"f(Z+\,[ 附圖是示意圖,實際控制信號自己加上去吧
D0C9QS4bR3Gq Kx-{owUbj|
我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題
~&h Q)Uz0Nt 方式就如附圖所示

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

不好意思~謝謝finster版主的耐心指教~
1NID$i/h2G j -S]6uyM*c ]$E
我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~
6[ hL3ce
q_\qA`q 如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?
ga-{?1b~
3KbgM_ns9\Gz 再次麻煩各位前輩了~非常謝謝~

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

不確定你是指那一個節點的電壓.zk5A2FTH1W;wT
若依照我上面所繪的草圖,在一段時間後應該會降到0V
Ez7O%sL a:h
5r~vZ'}ex 不過,你的模擬圖卻沒有
+jv NWY0g-x 我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻
,w+{X1v5S4qU w g 故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD e7@ ~UG3r1hSQ
你的模擬圖應該是正確的情況rD.H9J(d TWO.g
若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位

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

不好意思~一直麻煩finster版主~,i9~tIp Nj

^#r6fe*i6?"e uKb 我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
6_PIh](``1H3k
O9SJg+jS+?9d6JL5P 你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~
N Y?7M$v| 6v5P$ndB_
還是你講的"串接電阻"不是只回授這個電阻?.jp1A;R-e` R
@0J CD[,qvc
假如我輸出不是0 OR VDD會有影響嗎?
1mF%stY)w^ ]#P-o Q(R.T4|3[:T
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)Bd3Ft*h];G\c
(f8M"ss,d8A*u
不好意思再麻煩各位前輩了~非常謝謝~

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

我又忘記附上電路了~對不起:L +OpO@(^1iR|S
#mf.RaY
不好意思~一直麻煩finster版主~
l)J(@!c3}o
6LO7LB$Y`3c 我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~3jGqM"M3q$P,Hz*RO@"X
1f^.zeO,v+Bl
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~
0B [&S3Ik| L"l w9V`3vt
還是你講的"串接電阻"不是只回授這個電阻?l(@,FEM;i
7r MT9`}
假如我輸出不是0 OR VDD會有影響嗎?
3L+HuW4Wa ~`5T9i %MKY9m_7w7u
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)
(R9GZz v+^9r'N Iw3H1LR$Q
不好意思再麻煩各位前輩了~非常謝謝~

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

這是我依照你的電路圖所畫的動作圖\wI a"FL
在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對rF&\'j.K x
至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd
w[p!dk?+t 若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題
w"tC WqG4X "Te4o$w.t;j~'D
至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況
6Fw9J^-aq
r)\B v9FI yL+O 如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
lDt r:Obk
$h,hpy fZ'e0a 最後,你上面所貼的圖為Vout的波形??"f e0?&geeY[
這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,Mg7yg8Mye#O|;wq

$Dxq,x9\!K|m [[i] 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 [/i]]

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

謝謝finster版主的詳細解釋~
~kAZV+d}U
{WrC pmc&d*t 我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...5P?~9RcvXOLN~
:X)pPT`)c@~\
在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...
-v:@/t8P$?4Z&m ZNr6\&t]3W1[8l
但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢??4\ m3LrfM{

y+~o*VZ 不是應該維持在vdd嗎?但卻是如圖所示的結果!!
7Rm U!h-X2m*E4} F|0W6R)j` hMs
是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎?
!jS1Ww)}V @+i"heQ%X F V5N8C)`!\8e
一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係...
1l4? t Tz.NV2aw w:q"S?f9L
但又不知道這個傳輸閘除了作disable用的開關外有什限制?Zn"[*|^JX
"w\_8X _ ^ M
請各位前輩和finster版主在幫幫忙~非常感謝~

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

從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理9DYh A"[-Kr.{7JQ
若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd4^4G5c:S,B"ZhC
而你的情況卻在vdd ~ gnd的任一電位
e&~l$T9n\ !t6]QOX'Li
你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?
nN5^]]3M 另外,量測一下反相器上方那個電阻在disable下時的電流為多少?P ~8S!Qqe
D Sy}u U#X
上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作
.s{'A2sO'J 至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作
\N!o+oRu~ 'h }B_ |5a&Pd3f.z6{-Z
最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題

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

再次感謝finster版主~
2dX*I-S"so #lZ q d$V(H
我想確定我和版主所講的輸出是同一點嗎?/e#OpK&|}Gf7w(K
)?[t8[/q%f"Q3WY
我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?
"R*^?Ei'q!o~8v F:TaQ B`@].r0^
是介於0~vdd嗎?還是vdd呢?D~MQ [_(zP8N~T
'P?i{5`2p gz^
因為我是想說在floating時不是輸出在任何一點準位都可以嗎? {f,hPB S'knw
3f\-~$~Hs/?+]
因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?!x)f c8@t"b
u"|9a'vXr
再次~再次麻煩各位前輩和finster版主了~

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

從你目前所貼的圖和你之前所模擬的結果來看是一致的QGgX"l o
就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解$d#^:OZB1JjC,H)P
依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓

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

謝謝finster版主~
Mj2A1xvmN+ul o
3R9wT6VM 那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝

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

hi~finster版主我又有新問題了~不好意思3l})m8sc1bJ
a F u],bUkD1C0OC
我layout都沒問題了等著月底下線~
ln1fK t.`\4E 1J8EhN]LH
因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz)
;Z!pZ3Hr J/B4k9s4h "jT8[Ti"xd
但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)
:{$}&J)L4`5i(F:A C(c a @_'wx
我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!
U.d|!^_n K1s5b#^,@ \9T
這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?
E8]DG$J5C *rKS*ih}
p.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~
g^u TQ] Z
r^ g DN 請finster版主在抽空幫我看看~非常感謝~

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

以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考 O1u Sl$^j{?$C B*_&F g
故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值
*E0Tw["{"R 20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同} W6iNRQ
R`2|/L3[R
再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著&Zuqy@
所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫
^m-|N.jd *u|iG;H*A8GO
最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同
*a0r E.y-t0p d7zn 一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯 S+_FY a`W9k,m
所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率p%g a#OyX*y

e!zj'p8p*~ [[i] 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 [/i]]

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

各位前輩~
:p.e7JQ'lro *GiH'OV'vp
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~
bX s&NZ.ZL?
:OE$u1RDvDB 不過最近在書裡有提到overshoot可能會造成emi的影響~ m'@#bkHT%W

"y$YV1zb+c*p 我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~
+Q,J2Um5A@t h(~+k$XAr.i
如圖~這應該是overshoot吧!?aB0L-mp

z.\0@SQ s v.T0aZ N 那這個有影響嗎?有什辦法可以改善?
x6}j5?w~d~
1r T:S-^w eS D 請各位前輩能給我一些意見~謝謝~

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

正好在煩惱這方面的模擬
@9ZGD;u%X7N,EE!s4x 有了這份參考資料依定可以成功,感謝

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]L+G*Q/`5EF,E,r9e
各位前輩~
8h!xg+D_ W xo;p kD/O|J
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~
,{ F9vHP+tC9v9\8U D }CS!M5Pxt;}cY-n+e f
不過最近在書裡有提到overshoot可能會造成emi的影響~
EYs5zJT%X9}"oB!D 8b:_5U7^/F*u;F
我再把我之前做的crystal打開來看,發現我的輸 ... [/quote]!R+F ]HE(QxzO
eMa9e;Dm
1gxoN1]C
你這種情況還好,並不嚴重
u;kw8j)im3j4f 要想克服這種現象,若在OP,最簡單的作法是改補償電容
4tJ(h]X#R/B;A{)o 若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可

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

謝謝finster版主~ O;z`p2k k
.UlSJ~7@/K/}b
你說可以在輸出端加小電容(負載or Buffer),是為什呢?
f-AWbTpc] 'U#A9[6zr*hV:[
因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?
~6s-yWYD
(NClb#_'w?qbI B 我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?

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

減少driving能力或者增加buffer其實都是同一個原理的解決方法\l-P*dJ)\_Z{6Vh
因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現
QIa8I {0G;j+B y^1Q } 故而,把driving能力減弱,可以減緩over-shoot的問題m`!j%`Y1b'h
另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK%c^'a3s;v8No3D]

|1I @Rs 至於你問到的第二個問題+Qadu0~b SA
這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的f9qq/TI/Z![
不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況
F;x/GT'`6QOLlF 再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態

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

再次謝謝finster版主~
Y~7Qmn[C;Na %Ub&p-c9blG8BN L|B%[
最近比較忙,所以現在才上來看你的回覆~
L sLW|9u.p/M+gm !J rJ LA0R7^]B#Z _
前天被學長問了幾個問題:(他也不知道,我也不太確定回得亂七八糟的)
Kk!I_/W(y$gw b\]NlSf
1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?;lU.DhP

-PE,v%m |-z]Mv 2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意
HF/~9V_9{1`    值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?
,y\ v?#cq Ns#],~ ]{TM0`8K
3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加 bd/R g/i k
   一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?
oWj2v{Id^ 7{u(i$R;e.P9S&y
再次麻煩finster版主了~謝謝~

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

1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會8x cj%A0ft j R D[
    不過,通常都會起振,因為不同廠家的crystal model不會差太遠
;\X)k9N.[8l 2. 不太了解你這個問題要問什麼
$N#q(hK1]LY |     基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating
#C fW"T3g
X:M.V-Gp7PM%Eh 3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗

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

不好意思~finster版主~0LIi4Owa.u
4EC@:a tNtfoK
我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~:D
C:B+A1l0t u 'DT0Oow t)o
我的震盪波形在接上schmitt後變小了,是什原因呢?
/jP.l xTp
5M v*z T8kr1i 我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)
!_)H|-Pq F B&Z6xc
HEMoZ!k(R8i 是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...
C8iNRR&HUu^
5r1| GFS Fw 若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題...:'( p^Y*{'mt

N}(G?m,v9t `[ 但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在).HW:J f#nk U Z\#H

Qfl{Zsy 可以麻煩finster版主在給我一些建議嗎?非常感激~:D

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

你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?Z6~7sO M;k\
另外,你schmitter trigger的vih and vil又各為多少呢?
No%ad| [;v/l![ S2z*X@`-F)j
因為我不知道你這些條件,所以無法回答你的問題
"|A^*k%Fa9_2K!|
F|[_\:O#T 至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形
4D1`K1hx'^;T7jXN '`R0Y4h%N
[[i] 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 [/i]]

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

真是太感謝finster版主無私的教導了~:D 5Y&jsv0T[8N

-B2h+ZjVLx*x 我原本振盪波形振幅是0.3v~3.2v...
bzPpV ]*c2~1K0p7S
`g u h(Z a0J5h9y 但接上schmitt後竟只剩下1.45v~1.58v而已...P/]j u?7dR
^"p:dd XTA
而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??) ^V9P&B#TD l
#[4c,T+B ?]
但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?QG.P.W2i/JVz(_`
~~-R0Sz
(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~) r"qu D*N'} e"me
D&CW;uX}2NEy d
這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...7{WYQD{6I,[

;|Q&V]App#O3e 但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...Qs*`i:aM [

2e |U9?+oT P j 若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)I;E0U!e1t X"Z

m*B+K [y 我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~
LM(tMIx*P(K
#F`2P2ta2J]@r 再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~:'( M do6I,wZ Ea D
%N4s Rn:H{o'e
p.s 圖為我使用的schmitt~

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

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

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

從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小'q5Q/W!X6\ Cz!Y
關於這個現象,你可以從你的模擬中重現這個現象
k _ hQx 你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小
"S;WW.H:vFg 而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小!n ~W3dy.It
而要改進這個問題,只能把振盪器的driving能力加大
i LFL3_xY?-Wr 2S!{{M#AG^
至於你問到為何只有在25MHz以上才有問題
3l-O#]:U s:Y+O 這點,其實也跟你的振盪器的driving能力有關
g%bUhn$Q5f ])f 因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大J'bP Ek
而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振
_&?d@Gsn Vl?
InQZ }[I 至於schmitter trigger的優缺點
cr#b#v7`m+f 其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger:s9t6AsP-\y
基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險

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

留名关注,日后学习
V/Vf.U^c/n 谢谢分享。。。。。。。。ey e4u8qpa
。。。。。。。。。。。。

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

超級謝謝finster版主的解答~:D 0a8L9]f@6[V)~U
/N;G4Z;M#f
最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~
)W2M[@ @ M7R)_
~R:N m_(zl 我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~nJb+`c-[)r3L

S-a y} [/W]yiy 第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)9H#n p Cz`R I5OJ

e8QH%w_#W 第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)
"I7x G Z\ zl@ }oSh$X
第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)
4w^~#k._ })Br
q"acqb 麻煩finster版主在指教,非常謝謝~

頁: [1] 2

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