Chip123 科技應用創新平台

標題: crystal oscillator不起振~ [打印本頁]

作者: camilla    時間: 2008-9-26 05:40 PM
標題: crystal oscillator不起振~
各位前輩~
7 |3 C; B& q6 r' |. ^6 V' x/ a( i5 _2 D0 V1 Q
我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...* V  a- P' `- N) u
http://www.chip123.com.tw/phpBB/ ... 8412&sid=g0bJll
- j% F4 l% Y8 g: Y/ y1 x) r/ q8 S/ m6 p" [( W7 u
其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V)
3 G, m% E( O! d! [, Q. B/ o
' k1 b: P4 z, Z4 `但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,+ w. Q/ ?! o2 G) i" H# _" R+ L. ~
& Y( ~5 B! h: n9 |# @
是什原因呢?
8 q" T0 z% _+ y
* z3 r* _/ Y1 ]2 B( z3 L. o另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?
9 y0 ]/ `7 {% J( E" F  Y(因我加完i/o pad後的電流竟然幾mA阿~)
) Z  V- l% [6 o# m) _
  b. o# w; D$ W, x請各位前輩知道的話能給一些意見嗎?謝謝; |$ L$ ~1 Z4 ^3 o; {- [

: b, P+ [* B$ V. C7 b" ^對了...我crystal osc frequency = 13MHz , vdd=3.3v
作者: finster    時間: 2008-9-30 01:17 AM
我當初在作crystal oscillator模擬時,會加這個power ramp的方式
' Y% ^( [9 Y$ g- V8 _) {1 w   VDD VDD 0 PWL(0 0, 500US 3.3V)7 C0 C% Q) }# y
這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd& K% d1 r6 M, l6 M/ f. d
如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小
% f# R* }3 U3 c; ]! `) }1 M6 j# Z# E7 k  V! \. p% U' a5 z
你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??2 _2 O4 I: a# v) A4 E
如果沒有,那就不需要bias voltage control
6 Q. Z4 k1 Q" w, s
! Q, F4 W/ z4 a9 S0 u2 M' Q3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size
作者: camilla    時間: 2008-10-1 11:31 AM
謝謝finster版主~
! w" K6 h, i: W+ S! q3 {6 |2 m. O: m- h9 G- a4 d3 Y0 n7 G* j. C& f
我加了初始電壓進去後就可以了~
$ E# x. d4 r5 x; Y+ g3 w3 j
  h  G: {4 |5 `7 N7 `! B我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,
4 T' Q# i2 P4 }& O# d  l
8 F- \8 c8 z8 ]! z/ y; l7 p$ ?# \我也針對這個方向下去修正~也有變小了~- N6 s7 M: Z7 ?) s% Z

; F& g9 x+ T' U4 O3 b. q另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?
( g1 @! |) r- E! H. k/ v9 I
1 H" ?9 ^& m( p/ P+ H9 e, ^  E& I6 `; L我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎?2 _/ i7 G6 S' Z3 F2 x  G

3 P4 F% A  L# c3 i(不可能那麼簡單吧?)+ k$ N  D- ?& A
3 f9 z# x+ x" w7 N' z7 {) G9 a
麻煩各位前輩了~謝謝
作者: finster    時間: 2008-10-2 07:46 AM
一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大
) P7 F/ c- N( v# H6 C這幾點是crystal oscillator circuit在設計初期會留意的幾項1 ~1 p. p8 C  M! p
其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%
# p2 W' Q4 B% ?- r
% J9 M) ^# ^, w- n; A5 E' `另外一提的是,有些crystal oscillator會作low power crystal oscillator,整個振盪電路的電流消耗要小於10uA或者小於1uA以下的規格,這種電路很難作,而且也要很小心,而這種電路和前面所提的設計難度大概差了至少三倍以上吧
作者: camilla    時間: 2008-10-2 09:14 AM
謝謝finster版主~讓我獲益良多
作者: camilla    時間: 2008-10-3 05:49 PM
不好意思~finster版主~) Z" Q: l  C+ P- o% i- |/ o0 B

- {9 e7 ^! ~6 |' j因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?$ l* c3 H% C) u$ s2 R5 u! h- w
但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?& j4 `# N% X1 ]
$ Q( {7 m$ I! h: T) l
再次麻煩各位了~謝謝
作者: camilla    時間: 2008-10-3 05:51 PM
對不起~忘記附圖了~3 \0 \) N! l4 o
; \/ s( x- W" G( L3 G) i, H- t
不好意思~finster版主~: Y$ S3 ?+ e/ E; N$ |
  C: M2 A! K4 k3 ?! I
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),, Q& W3 ~. x- f/ x
所以把inverter改成一個tri-state inverting buffer,
* }+ e" p6 O3 t- z7 l3 m1 K但在disable時不是輸出應該要為零嗎?
0 w$ ^3 `" O5 w4 P! I但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?
8 ^4 {" E, w& l8 ^2 j( x; n
; ^; K; X, ~4 c再次麻煩各位前輩了~謝謝
作者: poseidonpid    時間: 2008-10-3 07:11 PM
tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗) & J, Q7 N! j6 C
所以你應該用power down switch來做喔~~~
作者: camilla    時間: 2008-10-5 12:32 PM
poseidonpid你好~
7 f4 a0 N5 b. {- z  w# v$ B2 J! z
8 s. U* w. t; k& G$ z( e請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢?/ a$ G# k; c! s( u0 b. f

' N* `% V7 S% R麻煩各位前輩再次指教了~謝謝~
作者: finster    時間: 2008-10-5 11:40 PM
一般來說,我們不會用inverter作為crystal oscillator的放大器8 m, o. h4 J4 P! m4 [: ]% Y! _
而是用NAND作為取代inverter: Z6 i& F3 o* G- v0 S: Z' \9 U( U
原因乃是NAND的另外一腳可以作為enable pin的control
% j) R0 u. P  N* a/ O! N0 a0 a3 P) g; I- E: u/ _3 O) \
再來,crystal oscillator不建議你用tri-state inverter buffer
7 H# E! K1 k9 O. n- g原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位
/ Y) L- N% ]( U這對接在後面的電路而言,反而會造成極大的leaking current
7 w$ o" n. K; f2 {" E3 b而這,是絕對要避免的情況
& W# Q  O. y7 Z; R7 S( ~. L' c* m$ X1 ^
最後,你所提到的dc path2 _6 b9 n5 Y% I
我不知道你在inverter的電路下所作的disable是怎樣子的一個電路
4 ?3 J: s3 @+ G( R- M一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現
. i* _8 B# H0 r: o/ r0 J若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便
作者: camilla    時間: 2008-10-6 02:10 PM
謝謝finster版主~
) |3 S: J, E1 a% w3 s) T
2 }' _$ r, [9 M8 k我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~
作者: camilla    時間: 2008-10-7 04:07 PM
各位前輩~6 J8 ?8 S( j' N6 ~9 ?
5 v7 u. a# S9 @* D5 u) E2 ]
我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~
  `& H: K  y1 q8 F* C, {4 J9 D1 H5 _1 q8 a0 W8 {1 ^  b2 ^, N
因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗...
8 u+ C2 Z# ]' Y  p0 v" z; r% V8 x
; q) u; I! c9 o& O8 w所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~)
, L4 P( c* R" E$ ?8 @' y2 b# D" T2 E; }# X0 n) G- K/ e5 w& C
但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...6 c, h; ?; t$ n* y# B! a* V
. A. ^* O' `. ~6 d$ L7 }
我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?
0 {1 s* ]: Q* s" E+ K* k  v5 q8 `: v; r, U, J; n/ H6 r' e" M6 C2 n6 n6 |
為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?/ s' n# ]( z) K( ^8 d& E
+ _* R/ {! z; ~
請各位前輩指點一下~非常謝謝~
作者: camilla    時間: 2008-10-7 11:19 PM
各位前輩~$ u" n! l% l# `' T, |+ V; i

& i+ H# l5 I1 S- J我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能.... i4 _' f1 [) k$ G8 p9 C. l: J* ]! I6 @0 U

  n7 p- s9 D' w" }5 y. m2 B" n所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響...
0 k4 B! |1 S% r9 t+ l3 n1 F: z
% u( ~, G7 ~! r那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?1 b4 Q8 A) X' r  S6 v
$ g2 ]! ^  O% `' h/ m0 B% R) p  P9 L8 G
麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~
作者: finster    時間: 2008-10-8 12:03 AM
方法有很多種
* k) z, G3 M# Y5 y附圖是示意圖,實際控制信號自己加上去吧
1 H( y! L* E2 R' A! u% F0 A6 Q( S9 u. \
我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題9 _% F$ L3 B% I  S
方式就如附圖所示
作者: camilla    時間: 2008-10-8 12:10 PM
不好意思~謝謝finster版主的耐心指教~2 G0 f  x( c  ?6 _2 x0 J1 _
" X* F6 J* B5 e, N4 l: d# }
我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~. @7 Y; }! {8 m4 m' t# k
3 a/ o: n+ P6 O
如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?
: p( ]( Z! Y' y
4 ~5 X; N: k; D再次麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-8 04:27 PM
不確定你是指那一個節點的電壓! t' J+ s) w5 t4 l3 O% J
若依照我上面所繪的草圖,在一段時間後應該會降到0V
+ z" [; t+ h9 a. M$ q5 F
% a% Q2 Z9 ~7 S3 S# T3 ]! y# L# V$ r不過,你的模擬圖卻沒有
( K7 N2 P  @+ I& f我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻7 n- l. B* w3 Q8 z, h0 ?. `
故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD6 Q* \% U, i& E7 {# O5 g. L9 M
你的模擬圖應該是正確的情況
; u9 V2 F( a8 f+ {若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位
作者: camilla    時間: 2008-10-8 05:46 PM
不好意思~一直麻煩finster版主~8 T* q! u) v* _

0 r9 g( u" ~+ I% x# a我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
( m* D( @' W# ^0 N; k: C8 Z
7 w8 M( F4 W" a: l' c7 w7 _) x% l你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~7 x: F% ^4 G$ `/ K. `& R' d. X

: m* V0 o0 h- Y3 L2 ~1 Z# `還是你講的"串接電阻"不是只回授這個電阻?9 q  D( w9 L8 c' p5 O9 x% v

8 ~: a+ T( k2 q; c0 f4 r. c假如我輸出不是0 OR VDD會有影響嗎?
9 b6 M) M0 L8 B6 Y
" Z" v3 T% e# }' a% P2 J5 W這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)2 d+ h! Y1 l. J* V: V
+ P; i: P: d7 a& x$ [5 F
不好意思再麻煩各位前輩了~非常謝謝~
作者: camilla    時間: 2008-10-8 05:48 PM
我又忘記附上電路了~對不起
2 t  M# e4 X5 q0 o: n: p
' V' o0 f4 ~) L% r. v不好意思~一直麻煩finster版主~
  H+ M6 B$ h% ?* s, S' k
2 m1 l: K! y% {. d  q1 }我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~4 b4 M9 _' X" a& ~' a
& A2 Q- x. F! A* o: R
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~5 f% k8 C" n3 y- U% N

2 }/ E5 V, G$ i" W$ L還是你講的"串接電阻"不是只回授這個電阻?
+ o$ D3 }, {- y; \" K0 b: v
  O1 Q# B/ D! c# a假如我輸出不是0 OR VDD會有影響嗎?
, _' E% z' `: s6 X+ X1 ]% u& r" @: W
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)& B( }( R' m/ V+ u) y4 i1 |& X0 c# @8 G

- H0 H3 l" d6 Q/ ^6 ~不好意思再麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-10 08:19 AM
這是我依照你的電路圖所畫的動作圖3 h+ C; O  P3 O8 V: [0 H
在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對
/ }5 r, x& K8 [  J3 Q/ S至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd
8 v/ C/ ]" B5 C" |0 ?* l若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題0 Q( g- B' @0 ?; H: ^

9 m' \$ \4 D% G9 ~/ ]' G& \6 u至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況
; ?! T+ }) v! \& z' }
, R  x, L1 ~" F1 f7 M如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
& J  [" O& i- Z
' a1 c" d3 r9 n+ y最後,你上面所貼的圖為Vout的波形??/ C- \, ~1 P/ G* p) t7 G$ b$ q
這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,
0 z# L5 D% h8 s$ x* T4 w
' Q, i1 Z) r2 Q[ 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 ]
作者: camilla    時間: 2008-10-11 05:15 PM
謝謝finster版主的詳細解釋~
1 j8 v/ t, i9 }4 E" U& {% a2 w9 o) ~; R, F3 [' K
我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...
/ D+ i: \% t# E4 w2 \& t9 E# y# E  i6 l% w! U/ t. I. E" o$ j
在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...
1 @( x% i. ?8 S3 [; ?: g% i* i8 B# L7 z% I1 W( C. m
但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢?) `5 `. n% [# [# E: E0 \
9 A; \- w8 `8 X& b' T4 z3 z
不是應該維持在vdd嗎?但卻是如圖所示的結果!!
& Z, D$ u+ C( K4 h2 W
* ~% z, n7 ^# }: `# d是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎?
9 I2 C! J3 _. Q- A2 o7 k' T9 `, a1 \- Q
一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係..." E" {1 I) }# ]: j7 G4 Z$ D! q- X
" G* |  M0 X5 h
但又不知道這個傳輸閘除了作disable用的開關外有什限制?
/ \3 B& {+ _9 i& o2 N
) V- H3 T, K/ u) {1 D( e請各位前輩和finster版主在幫幫忙~非常感謝~
作者: finster    時間: 2008-10-11 11:22 PM
從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理
7 t* v! w5 Y, s: ~  t$ P2 K1 f若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd5 z9 ~- _3 |- Q; f/ m" p
而你的情況卻在vdd ~ gnd的任一電位3 n8 ^3 p' E6 {" T* O# j
" e9 n2 p% @$ B! T7 t
你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?; I+ |6 A7 Y7 A+ k, w- h
另外,量測一下反相器上方那個電阻在disable下時的電流為多少?& r$ [# T7 g3 ^  W' D" ?
( {5 p( g& U4 [4 y, x/ ^
上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作
/ c* ~  g" o" d9 H2 N$ V至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作
8 p" l$ |* F) |4 T) X0 ?$ g3 }9 @
. d" t& F$ [5 ~; g; \: J最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題
作者: camilla    時間: 2008-10-12 08:47 PM
再次感謝finster版主~: ]1 p3 q" W6 P
, Q# u: y' C" [$ c% b( ^" x
我想確定我和版主所講的輸出是同一點嗎?
7 `6 Y0 a- v( Y4 b9 D7 ?
# K5 J( D* F' v我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?
8 X% _* q$ C6 A) ]* l" @, P3 F/ C) R# S6 c  i6 A
是介於0~vdd嗎?還是vdd呢?( E: S4 r9 f% z2 |, |; J, T

1 {4 Q% c7 q+ W: B4 N因為我是想說在floating時不是輸出在任何一點準位都可以嗎?, J3 [! J$ B9 I: E: L3 x
/ b- K1 w' Y1 k5 k$ Z
因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?
9 Z, c" Y6 \- Z  p, G6 b2 e2 v: g# \% o
再次~再次麻煩各位前輩和finster版主了~
作者: finster    時間: 2008-10-13 11:31 PM
從你目前所貼的圖和你之前所模擬的結果來看是一致的' E$ R7 Q- B$ r/ e3 A" |
就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解
( g1 N# d8 {7 e7 R" o2 C依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓
作者: camilla    時間: 2008-10-14 08:43 AM
謝謝finster版主~- m/ T" Y" n% q1 }* S2 q" a

* P: X0 Q3 c9 O. I6 y那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝
作者: camilla    時間: 2008-10-17 01:42 PM
hi~finster版主我又有新問題了~不好意思+ r1 c' j, I' f0 ]" `2 `, P& C) c5 a

# b# r# H$ K* ]$ q我layout都沒問題了等著月底下線~* o7 A9 E. ?3 W. b
( a: t  @: K! Z8 x
因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz)* J1 G9 p& c" q# U, f  x
% J! Y6 J+ t) a) M% y4 @& @
但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)  o( |: s1 @" L

+ S( E. }" y" _, P我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!0 [0 V4 h9 _* l  K3 ?& E4 A5 Q

* \  a& m- S0 ?# {, Q4 p4 k8 A; Q這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?
. \% ~  U) E) o  W
! t& t: `8 B" I6 N/ y" |. t% zp.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~1 O, Q6 U! P' }$ Z( e7 X
* a% U( C" J2 W$ Z( ]" b
請finster版主在抽空幫我看看~非常感謝~
作者: finster    時間: 2008-10-18 02:49 PM
以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考9 C; Q' p' f' `
故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值# z- X7 E5 l2 k$ Q+ Y- p3 s
20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同
9 ~$ }: ?4 P0 |3 ^3 J
+ x8 c7 m9 K  ]- P9 O再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著& J5 D! c1 s9 \( w
所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫9 J6 W( `* }( b, I2 m

# U% x+ T# i6 `( @最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同! z" d+ j* W0 A0 a( S
一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯" H* m4 m' ^% v
所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率
" J! F* Y: n  t6 F: X& u9 Y* a* r  Q
[ 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 ]
作者: camilla    時間: 2008-11-11 01:07 PM
各位前輩~; E! ?. b0 g( i& @+ T1 |3 K

5 O. b; I, ~' D$ D) t之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~! F  s+ ~) }! m

0 J* v3 ~. w+ n* R8 q6 o不過最近在書裡有提到overshoot可能會造成emi的影響~  S8 S+ v, n) I2 _; Q$ K3 `
# k; L6 ^5 L' m( i9 `  C0 ~
我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~
& A& a# Z5 ~' U  F+ P$ o* x: u* Y
, q. P9 l8 V" K如圖~這應該是overshoot吧!?
4 E$ A4 J* _; X9 \5 B  x
( c% b9 ~) N! G$ z, u" S8 y0 i, s# j那這個有影響嗎?有什辦法可以改善?! y! ?1 o/ h+ \
2 D( L7 n) u4 X
請各位前輩能給我一些意見~謝謝~
作者: pmet2007    時間: 2008-11-12 02:42 PM
正好在煩惱這方面的模擬$ a/ H. Z7 v* q
有了這份參考資料依定可以成功,感謝
作者: finster    時間: 2008-11-13 11:31 PM
原帖由 camilla 於 2008-11-11 01:07 PM 發表 0 j/ f2 E( P5 j7 n
各位前輩~8 u5 x* M: e; v/ m. v$ L; n8 [$ ]
. G* R- V  X1 T" o) ?) g/ P! k
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~5 s) f5 Y% V( }% O

6 t* b' t+ s' s# `/ {, u2 Y3 _不過最近在書裡有提到overshoot可能會造成emi的影響~
9 j2 L1 r. N) `& {! K' L- F7 e& L: I. z
我再把我之前做的crystal打開來看,發現我的輸 ...

7 p9 O7 d* p3 w0 Y3 o$ w3 O; i) ?) Y, c1 `- R( J

' |4 h$ m) j. r3 K你這種情況還好,並不嚴重
/ V0 u0 b) D+ g5 _: H/ r/ m; I要想克服這種現象,若在OP,最簡單的作法是改補償電容
* r6 R+ t4 V& o6 n, b若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可
作者: camilla    時間: 2008-11-17 04:45 PM
謝謝finster版主~+ W6 s( U6 r& R/ W' G9 }
. _7 b. ]# Z1 Y' U6 O/ P
你說可以在輸出端加小電容(負載or Buffer),是為什呢?
7 V# \4 w/ K( n0 b3 `
; P: e  }/ O3 _% i; D' v因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?" B$ _8 E6 g$ E# B0 Q+ y
; j  ^# ]+ V& r2 c* R
我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?
作者: finster    時間: 2008-11-18 09:58 AM
減少driving能力或者增加buffer其實都是同一個原理的解決方法
% P; ?4 N- ^& m/ y, s3 ^3 G: B因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現. M$ _) x. A. v  t( p
故而,把driving能力減弱,可以減緩over-shoot的問題* z' c; }* }  ]- d$ C: g( A. m% S
另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK
# M+ d2 ^" W. ~# A; z! b
: G" g8 G0 j8 z# ^; M* A, Z至於你問到的第二個問題
6 q% s' h1 q9 V( x這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的
/ {2 N  a* k! l: `# f- q! ^不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況
$ Q. x# n8 A8 C; \再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態
作者: camilla    時間: 2008-11-20 11:12 AM
再次謝謝finster版主~% _6 r9 R9 D8 `& [0 a3 U

* b+ Y5 A' T5 U$ \最近比較忙,所以現在才上來看你的回覆~; e+ T4 z6 N) \# U8 V; w# w
2 `# b, v6 d: ~$ H
前天被學長問了幾個問題他也不知道,我也不太確定回得亂七八糟的)/ Q3 ^. \: q2 @
, F0 Z6 V6 c- Y) G% P6 b
1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?) j- U; R3 I6 w# v0 H
! r# k1 w. ~) }( e7 ?- m
2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意5 @9 u$ |: g' B  l
   值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?
, q- Z2 [5 x5 a/ m9 g! G1 r
  f2 W' E6 s( U$ D% H8 P1 H! l: d3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加 $ ~- r" q1 A7 X2 J: {0 c; T! @
   一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?2 U" @( [5 S! h/ u4 @8 d2 Z& Q

0 H6 ]7 A" g8 h" e再次麻煩finster版主了~謝謝~
作者: finster    時間: 2008-11-21 02:33 PM
1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會' j. t0 S1 f' h
    不過,通常都會起振,因為不同廠家的crystal model不會差太遠( T7 P& Z  A4 A# O( J
2. 不太了解你這個問題要問什麼
8 g7 T) I! v, V; t: N1 S    基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating
8 T3 U4 l# E: T: s/ q
9 q* Q7 s9 E8 ]3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗
作者: camilla    時間: 2008-12-1 01:31 AM
不好意思~finster版主~" e  L- M  B1 O/ n6 n3 r

$ r; \; N4 r6 h% e' c$ W我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~
1 ?, D6 F- R. c+ Z- n: E3 d7 {* y  l4 O$ o' v7 h
我的震盪波形在接上schmitt後變小了,是什原因呢?
, B. v* N6 N! p
- t- `; n6 ^% P9 }9 G% _我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)# H/ T3 w& g( S, P& f/ R

* ]% x: K% Q7 Y: @; k/ p) |是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...9 h1 B9 R3 Q+ Y
/ B, o( {% U4 n' B, g& q
若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題...
' t' f1 l: Z5 C2 T( y# z6 [( p2 j5 x: L
但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在). D3 a; H& ~/ k' }9 K/ r* m
6 L/ Z8 d. \4 G) m
可以麻煩finster版主在給我一些建議嗎?非常感激~
作者: finster    時間: 2008-12-1 11:08 PM
你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?
, [& K7 i  U9 M  ]4 o另外,你schmitter trigger的vih and vil又各為多少呢?! u0 H- A+ o" r# V( ]8 x% P

; J, d; `% G3 t, s因為我不知道你這些條件,所以無法回答你的問題
8 ?2 m5 @8 G; N! ~
0 m. z1 @3 q8 w+ e+ z) Z至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形
  n2 |0 k% J1 l+ J. m; t& ]  l; C7 i" G# x2 Y# r; Z! K
[ 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 ]
作者: camilla    時間: 2008-12-2 01:28 AM
真是太感謝finster版主無私的教導了~
( Z; U( ~9 p+ `& l- z
( r% K4 j; s7 X% y) |6 o3 o我原本振盪波形振幅是0.3v~3.2v...
/ Z. o: Q7 [7 p/ j# D9 B
0 v4 n  M8 F% ~# [$ V/ W但接上schmitt後竟只剩下1.45v~1.58v而已...# g) A7 k) ~" R+ Q9 D% k

4 i& A6 S  P1 a3 f而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??)
: Y# V' O1 A: r( r  ]
, W% e! [# X9 Q$ x% W) B9 M: ~但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?' \8 S/ b6 B0 X) [
) u* `- ~! W! S
(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~)
+ P( y# M! `9 X4 W4 T# \$ C" R5 v1 i# H7 |; x+ p
這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...9 k* ~# r# B. q: {  E  C! A

6 n* e  o7 p* x5 |: [' Z9 k但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...% V0 R4 o  ^! q& ~* I8 v0 c5 G
5 `6 Z6 c, n  ]4 q: c7 `! N
若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)( b* v8 Y3 k: t7 ?9 L0 M
2 Z( q, {! @) U  M0 ?0 k) c
我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~
. L# _4 z$ B3 {! B/ ?* H/ X6 d: \+ |% |7 \+ q2 I  w9 F) Z
再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~
: N; B: g/ m6 b- o0 J3 w  u; g/ V$ }" C/ L, ]
p.s 圖為我使用的schmitt~
作者: camilla    時間: 2008-12-4 09:00 AM
~又被沉到下面了~請各位前輩幫我看看吧~謝謝~
作者: finster    時間: 2008-12-4 01:26 PM
從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小, {. z; X2 l  j( ]6 |9 V
關於這個現象,你可以從你的模擬中重現這個現象
7 F$ i# i1 M& w% m你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小) B, [' d  F3 A& K% Q/ b
而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小
$ f4 U* I, W: E# K而要改進這個問題,只能把振盪器的driving能力加大7 H# }1 m9 n" Q$ e3 Q& t; Q) t

& k' X  b6 W% o  j  K至於你問到為何只有在25MHz以上才有問題% {- L6 E8 \6 w/ K! W! Y# `
這點,其實也跟你的振盪器的driving能力有關4 A2 C6 D2 }. E4 o
因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大
( S: u0 H# E# p( A. q而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振
( t; P2 f+ m6 x) S* D2 o
* l) T! u* V4 x$ G. l5 H( M' |  \至於schmitter trigger的優缺點
* t8 L4 u- `: f  H. t9 l9 w1 A' R其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger
3 t/ R+ e6 B) s- D7 |; S, e/ P基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險
作者: caesarxl    時間: 2008-12-17 10:21 AM
留名关注,日后学习% r0 g" t  r5 \( Y5 }
谢谢分享。。。。。。。。
' j3 O3 e) y* P+ T# M" y- }' E( b。。。。。。。。。。。。
作者: camilla    時間: 2008-12-17 05:56 PM
超級謝謝finster版主的解答~
' B( d' z  v  s, L. z8 C! U0 L8 l2 R  }8 y" b3 q2 o
最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~( [8 _3 O9 y+ }3 q
( x+ S" W( `* E2 k; {# f
我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~: E$ N$ L2 K0 M' i# l% c: n3 P
- A% H* v* W2 l2 T9 V& Q0 h
第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)0 X' O% D6 G7 J4 _* P, e
1 l7 Q% M/ i2 _; [, r. T9 h
第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)
. Z" `6 g6 {! ^9 s- M
5 f, Y) A9 X' B# I  Y, K第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)! T' K( Q& q; ?% v
& [! ]3 \$ R4 y- E3 j8 J3 Z
麻煩finster版主在指教,非常謝謝~
作者: finster    時間: 2008-12-19 10:16 AM
關於crystal oscillator耗電的問題,這個其實並沒有一定的標準
0 V- h% \1 \. w" o- c因為crystal oscillator本身其實是蠻耗電的,除非你是設計32.768KHz的crystal oscillator這種才會設計成很省電,不然若是5MHz以上的crystal oscillator電路,它本身的耗電程度都在mA等級以上,這個原因是因為頻率愈快,它所需要的rise time/fall time要愈快,所以放大器或者反相器的耗電就要愈大, m& M9 w4 d1 U- k; m, K6 q3 N
& |1 _$ {, b! k9 c7 c# H3 a1 t* t
若想加快start-up time/ O7 Y! F3 `, C* Y$ ~# B
最簡單的方法則是加initial circuit,讓crystal oscillator在一開始便設定它可以振盪的電壓準位,提早讓crystal oscillator反應出相對的phase差的振盪3 M8 K1 ]) M0 k7 R, I

! K' z" L. h7 P- _( d4 O* c至於第3個waveform情況,你可以把輸入信號秀出來,你就可以知道為什麼了,這是因為crystal oscillator尚未達到穩定的振盪波形,所以輸入的waveform振幅會有點忽高忽低的,以致於schmitter trigger的輸入會接收到變化的電壓,故而輸出也會不穩定,這是合理且正常的情況
作者: camilla    時間: 2008-12-19 04:33 PM
finster版主~3 d4 [1 h" M# l- V6 N' A0 l( S1 W

! J$ P+ n" ^4 {* t" p$ e我看不到你的回覆呢?好奇怪~可以麻煩你在發一次給我好嗎?非常感激~
作者: camilla    時間: 2008-12-22 09:21 AM
謝謝finster版主~4 O3 Q& |( F4 q; _) U  B# C

3 X- r( U" k% E; u+ ^4 O應該是我電腦問題~可以看到你的回覆了~謝謝~
8 C" z) Q4 G9 k. y  q# l( t& p7 h" b8 N" }) P- U
我了解我問題的原因了,不過我對startup time總是不了解," V% G% Y6 p) |) |

- a/ G; ?. V) e我是想有無辦法不另外加initial circuit來加快startup time嗎?, v! `% e: B3 e. K' |  W6 ]! r9 I
2 r5 h, i" S* Y- v" ?
我是想說可以改變現有的元件參數來加快startup time嗎?
" y; S' u8 P. ~" X# a* C: Z! \% }& o
例如改變crystal model的負載電容等校的那兩顆電容(C1,C2)或R1
0 |0 h3 ~' }$ ^: m
4 }8 t* o& F  i4 Z5 }因為我一開始是針對13MHz來作這個crystal osc,- P, Z9 R, D. i. _; q
, k$ U4 ?  _% e/ x/ {' Y
所已在改變crystal model後(改成20MHz,25MHz),原本想要的結果就會改變,
& Q) r7 @; a; ^" }& E6 X7 a9 E: B/ a- Q( W
是不是這個架構在13MHz時是最好的,但在改變crystal model後所有特性又會改變?
5 j/ R7 ?, X# z$ u! t# Z
. T7 J3 T& A; ?有辦法說可以設計出適用於4~25MHz的電路,但startup time, 耗電又都能符合我的要求嗎?% M" |- n# p" H6 K
5 p/ q: `- j% i2 a
(我目前13MHz這個crystal 架構若套上20MHz以上的model後,startup time,耗電都會明顯增加改變)
, _* G5 R- _6 X9 l, p4 J
3 S5 \2 L* X3 K9 Z# c不好意思~問了一大堆問題~再次麻煩finster版主了~謝謝~
作者: andy2000a    時間: 2008-12-22 05:30 PM
有 disable 能力  的 gain
$ z( ]- N. E, d! v* Z要高點. h& x" J' Q" R2 K

+ }' ^' \" \! H9 s8 y& |4 \% q2 lhspice  sim 會動* n+ ^& k/ B7 x& N6 E. f. l7 x$ f

: Q# D0 f7 R- z. J* _0 f* _( i: rreal chip  可能不一定會動  + X  W$ Z; j& G$ R8 L0 a
6 j4 b# {/ S; m5 |
而且 不是 所有的 fail  是部份
! ]7 K' T$ M! T* ~6 V! S* a那就是 gain 太低
作者: finster    時間: 2008-12-23 06:43 PM
原帖由 camilla 於 2008-12-22 09:21 AM 發表 ) W1 J% D- c  C. x, Y
謝謝finster版主~
7 H1 w% Q, y+ ^
8 T4 B) _. @' t! g4 w0 t! Y應該是我電腦問題~可以看到你的回覆了~謝謝~
: K  U+ Z7 ~0 S* E* i* g; R  k2 [- p$ G: W6 D8 ?: s9 Q
我了解我問題的原因了,不過我對startup time總是不了解,  W* k7 f% v% @; B- ~) _! z% e
' A, Z8 p/ w2 z4 S
我是想有無辦法不另外加initial circuit來加快startup time嗎?5 A! T6 M& V, ?+ L5 A; b/ X
9 [3 w( h; g" D# y
我是想說可以改變現 ...
7 B: N7 C: S+ P: Q( i( v
9 n1 [0 \9 o9 K! q, Y

- K2 `0 }# t) \; X( ]3 u) F1 P. Q0 u+ }! `) {. N7 L( [
先回答startup time的問題! Z! J3 i" W8 q4 X% K8 W# {, {
在不增加initial circuit的前提下想加快startup time並不是不可能,只不過要先理解crystal oscillator的理論,而這方面討論的paper只有早期的IEEE才有,比較偏理論,你可以研究一下
) H4 ]' E0 K( f至於你想改變外部r,c來加快startup time,這種方法的效果有限, A+ E2 T# B! O0 z; z
因為只要改變了外部的R,C值就會間接影響crystal oscillator本身的穩定度等issue,有時也可能會造成不起振的情況,所以若要改變外部R,C值,個人是不太建議你朝這方面去作2 D3 {& B2 t6 W) |; E6 y

3 l3 n4 K6 R9 t3 N# `6 W" E' T每一個範圍的crystal oscillator都有一定的design需求,目前很少有一個電路能夠涵蓋4~25MHz的range的crystal oscillator
! Z( h$ D5 H5 Q  B目前大部份都是針對某些特定的crystal oscillator的頻率作設計1 o! E' U: @7 N
而且愈高頻,其crystal oscillator的考量也愈多
作者: camilla    時間: 2008-12-24 01:14 PM
謝謝FINSTER版主~+ W0 X" f0 V" Z  ]9 e; N

2 z, w6 @0 g" S' J, L我知道了,謝謝你的耐心指導~讓小妹收穫良多~
. P1 ~! M$ n) H% V/ u( e
7 _2 R5 h- ]! g) }6 O+ x: Y我之所以想要做個可以涵蓋4MHz~25MHz電路,是因為我教授當初是要我做個crystal osc,freq是由4MHz~25MHz,9 P; t' e& j9 t

! S8 G& u7 X( K8 Q: v! m, I- {  a且有人作過,但我試了很久還是沒辦法,為了讓更高頻可以振,而加大driver,但卻使得頻率較低的startup time變大甚至不振,/ c1 ~- L6 h' \% h
! R" e  S' ?) I2 M/ x$ G
試了很久,我會再問我教授他真正的用意,是不是我想錯他的想法了~, {4 b+ |' `3 d0 h8 N! V

% v" x5 y7 X: J- `3 R至少目前我對crystal是瞭解了~
- V3 a5 u0 J  y/ ~& t: K7 ?8 ~+ c6 @+ U: Z( p4 w
超感謝finster版主的指導~謝謝~
作者: camilla    時間: 2008-12-25 10:02 AM
不好意思~finster版主~
0 z8 ]1 }7 X$ I9 n/ y+ T
- m- s+ s- L. O2 v9 i1 W# x/ }+ {" z5 ^能再請問一個問題嗎?
& b  _( X$ v) p' f8 {1 {. `1 k' {8 U
startup time的定義是指什麼呢?
& L# b) H" s: z1 f/ _! Z. B* i- g  K' \2 A
; z  l) c" f3 y3 W) [; Z有些paper是指vdd從0v開始上升到穩定後,輸出也開始起振的這段時間(但不是輸出振幅到達穩定了),就稱作startup time4 D4 O: a* P3 X3 ^. C
$ O& P1 b2 \1 z- E. H, ^4 Q
有些是指輸出振幅到達穩定(某一個值)的這段時間,就稱作startup time
9 t0 {' v4 l- l  G! e: z% H% ]3 P/ Z! @  e( j( K
又有些是指輸出duty cycle穩定後(都相同後)的這段時間,就稱作startup time; i2 j& j4 W9 p8 s! F

' J) \+ E- k* q0 b. q那到底startup time是指哪段時間呢?7 V, ]8 Y& v- ^# z  t( J
8 `+ c# F  i+ x% O3 b
請finster版主,或知道的前輩能指教一下~非常謝謝~
作者: finster    時間: 2008-12-27 12:38 AM
以目前我所知道的startup time的定義來說
: U  g) S, Y0 y( Y3 v3 h它是指crystal oscillator從一開始沒有任何振盪到完成振盪且穩定的持續振盪時間稱之為startup time+ u8 N4 R  `7 S$ ^1 |
- \) S1 p  H5 _, i: P/ \  s
因為我們在模擬crystal oscillator時都是以vdd從0V昇到一個穩定值作為crystal oscillator作為一個初始值,所以有些人就會把從vdd的0V到crystal oscillator起振且穩定持續振盪時間稱之為startup time,而這種說法其實並不是非常正確的定義) v# D8 t% u% c0 A1 ?

7 _. m  ~! w! m6 O, V不過,目前在startup time並沒有一個很統一的定義,而我所知道的那個定義也是從IEEE Journal paper上定義所知道的,而那份文章是很早期的paper,內容寫了一堆理論和公式+ H& L. t: N$ y& g8 F5 H) @

; M6 a+ w% s6 i最後,crystal oscillator要作到4MHz ~ 25MHz並不是不可能,只是較為複雜,以前我也作過,後來我也只是覺得沒有必要弄到那麼複雜且麻煩
作者: camilla    時間: 2008-12-27 07:19 PM
謝謝finster版主~
! {' f$ b' C! i1 f. m) i" r5 g
0 z3 V. T. s+ `3 i我對startup time了解了~
( F) j" Q! s: h) k* U: e
9 C1 M" H& c- t6 p7 w+ b( |* T我昨天試過用spectre跑了一次crystal osc...
) ~4 X& c% H6 ^+ R2 e# s0 v# j2 P4 q! ~4 [
不過竟然和hspice跑的結果不一樣,同一個netlist 13MHz跑出來的消耗電流和起振時間是不相同的,5 T' P5 ~( w+ T3 X

& T5 G  x$ W6 @+ v- V消耗電流小很多,而電源電壓給0到vdd,但輸出竟從0v就開始振了,所以startup time也跟著減少很多..., P; \0 R, J1 q$ c" q, ^1 \

0 Y! w' y$ `9 Y7 m9 T& G" |! S0 S一模一樣的netlist為什會跑出不一樣的結果呢?# Z, y8 M. f7 T7 B2 Y3 \0 T0 {- s

% S3 ~5 N, \! @# r9 B另一個問題是,你所講的加快startup time可以加一個initial circuit,有範例可以參考嗎?因為我的startup time實在太慢了...
& r" L6 W+ Y' B1 A: Q
; R* k3 Y: Y' |4 |, B9 a(一直被學長嫌)" t' C+ o0 Q. a: A
0 f/ ?/ V9 R, r9 T

, m. l7 Q2 c# k9 }- C: Bp.s 很感謝finster版主不耐其煩的一直指導我,不過因為我實在有太多問題了,希望finster版主和前輩們能繼續給我指導~謝謝~
作者: finster    時間: 2008-12-28 12:44 AM
關於spectre與hspice兩者之間的差異
2 W- Y3 o) Y/ y4 |這個問題我以前也遇過,只不過,這是一個沒有正確答案的問題+ i2 o3 N. z, {8 G9 |9 d
據我所知最早類比電路模擬軟體是hspice(我不確定以前是否還有其他版本),而這套hspice模擬軟體對類比電路模擬來說可以稱的上是聖經,其他研發出來可以作為類比電路模擬軟體都是拿hspice來比較,其他模擬軟體愈接近hspice所模擬出來的結果愈所能夠得類比工程師的可信度,只不過,hspice也有bug,也有它不足之處,而這些bug在某些想取代hspice軟體而言也許會有比較優勢之處% E7 }/ h2 X+ e) r
+ L* _* O. }# W/ J# j: G4 H! f
故而,回到你的問題,hspice和spectre兩者跑出來的結果要相信誰,基本上是要相信hspice跑出來的結果,只是,不知道你會不會誤觸hspice的bug,而這個bug恰巧是spectre所能夠避掉的問題0 r/ F$ F; o* V5 Y7 N+ H
以前我這兩套軟體都有跑過,95%以上都是相同的模擬結果,只有極少部份才會有不同的地方,而且只有在某些很特別的情況與應用電路才會有不同的結果出現,所以,建議你先相信hspice的結果,然後再推導看看是否合理,若不合理,則再回過頭來看看spectre的結果
( F0 H# u% y  U( f
+ C7 n7 T' P4 D) J0 x( c8 n至於startup time的問題
0 l# p7 h3 _, Z  J) Y加快它的速度是我個人從PLL的應用電路中的經驗,然後應用在crystal oscillator,因為crystal oscillator要從0V一直起振盪到欲定的電壓準位需要一段很長的時間,如果可以應用initial circuit便可大幅縮短此一時間,因為我在PLL上曾下過不少苦心,也作過不少,所以很容易就把PLL的initial circuit應用到crystal oscillator,所以我才會說加入initial circuit可以改進startup time的問題
作者: camilla    時間: 2008-12-30 03:20 PM
謝謝finster版主~6 H! R# F+ c- c! n

7 v  }7 `& B: v1 x( c5 h8 v超級謝謝finster版主這一連串不耐其煩的指導,讓我對crystal有更深入的了解了~超級感謝~
作者: hongx    時間: 2009-12-30 02:58 PM
此篇看下來真的學習到很多知識!
4 D- {, h; @0 B: f* c. M& m# M; Z/ ?' S" }' F. L
往後遇到一樣問題可以從中學習!




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2