Chip123 科技應用創新平台

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

作者: camilla    時間: 2008-9-26 05:40 PM
標題: crystal oscillator不起振~
各位前輩~
; ?! p& e+ T% N7 }  O- e9 n
7 \1 E, S. H! h$ x( u7 x我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...
  E4 p9 M4 Z0 D) c: Thttp://www.chip123.com.tw/phpBB/ ... 8412&sid=g0bJll
* K3 b' x  U1 W% r
2 i" m1 @1 N, O6 D- p  x- H其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V); P, u" C' x1 P% y3 X; [" s" a
6 F/ `" ^8 d+ q9 o  l" M
但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,: S. ~. j: S1 \
: h& t, \3 Q1 m$ q9 V
是什原因呢?
/ ]; v/ k9 O0 s+ Y/ C6 o2 E) [: a* W+ ]% B* I
另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?
$ P1 S$ ^; [- N- T( f(因我加完i/o pad後的電流竟然幾mA阿~)2 }1 ?) X! k: r
/ [! _2 d# M9 Q$ K- d) f
請各位前輩知道的話能給一些意見嗎?謝謝5 k  A0 X" v* _4 Z0 Z& x9 u

% @: |$ _, c5 g, A, _) E對了...我crystal osc frequency = 13MHz , vdd=3.3v
作者: finster    時間: 2008-9-30 01:17 AM
我當初在作crystal oscillator模擬時,會加這個power ramp的方式
8 g% q) b* h8 v  C' j6 k+ W/ {   VDD VDD 0 PWL(0 0, 500US 3.3V)0 ]+ E6 \8 J' J3 E
這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd
5 D2 G% a! j5 r如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小
/ a8 N( T$ J1 x( Z- E. N
6 p. ~: ^- J7 e3 Z5 [" |你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??
% K: T% g. D8 Z2 h2 |9 n; J+ v如果沒有,那就不需要bias voltage control
+ s+ {' z3 Z0 ?. Z+ b; D0 m  E4 B
2 X4 C' |/ O3 R5 k3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size
作者: camilla    時間: 2008-10-1 11:31 AM
謝謝finster版主~+ d7 d% n. d( \8 B

) f) I: F+ y% ~2 L7 H我加了初始電壓進去後就可以了~
% \" u: D2 h6 I2 t; J$ ?) r
8 Z  K% w8 r" F# c2 }4 @/ F2 V我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,! U0 S+ \- F3 q! D# k

0 u4 S# g# \8 b/ l5 l1 r, y我也針對這個方向下去修正~也有變小了~; ^4 c$ _: V4 n8 n
. z2 R  A! \5 Q! m; {0 r
另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?1 m( h- z& b( a$ u  E( N) r* G
- \9 X  t% k; v% Q: ^
我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎?
: k- p0 Q! y- x; _" D0 |: C
+ Y" S. r) ^4 `, ^) U(不可能那麼簡單吧?)" X# i  P8 X9 }! Y9 K0 G! M

* Z" k) U  R3 |, p; C& K6 ^2 _! M麻煩各位前輩了~謝謝
作者: finster    時間: 2008-10-2 07:46 AM
一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大# _" P. m4 _1 _
這幾點是crystal oscillator circuit在設計初期會留意的幾項* o8 a3 s0 y0 g
其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%
. A/ O2 Q6 r" p2 G8 T
5 G9 R. i5 v, F: ^另外一提的是,有些crystal oscillator會作low power crystal oscillator,整個振盪電路的電流消耗要小於10uA或者小於1uA以下的規格,這種電路很難作,而且也要很小心,而這種電路和前面所提的設計難度大概差了至少三倍以上吧
作者: camilla    時間: 2008-10-2 09:14 AM
謝謝finster版主~讓我獲益良多
作者: camilla    時間: 2008-10-3 05:49 PM
不好意思~finster版主~
0 n) s2 N, S9 T  u- k* u1 N5 k6 t, [  I; E8 p9 r; |
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?8 s4 o% z$ s& M4 q
但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?# O+ ^: C( M8 l& M- }) Z

  s8 a& C; r% ^! V9 c1 w再次麻煩各位了~謝謝
作者: camilla    時間: 2008-10-3 05:51 PM
對不起~忘記附圖了~. [# C& w! ]! y1 g$ u# N& B+ m. y

0 _; D" R* R* I$ r  ?1 B, M- b不好意思~finster版主~
0 U5 S3 |" i8 l
0 x+ R' v& q% N6 t# t0 b2 t0 W* n+ f因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),0 }4 l/ g- c4 c/ a; H* B: N
所以把inverter改成一個tri-state inverting buffer,1 u1 }/ h' D/ z+ k4 c* Z( v/ j9 w
但在disable時不是輸出應該要為零嗎?/ h( r) L2 v) j. f7 \; ^  o
但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?' Q0 T+ L! m. }* f8 H! v
9 V# a$ v" V5 m8 k# n: M1 n' Q
再次麻煩各位前輩了~謝謝
作者: poseidonpid    時間: 2008-10-3 07:11 PM
tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗)
) t3 j" u$ A2 j4 r& h所以你應該用power down switch來做喔~~~
作者: camilla    時間: 2008-10-5 12:32 PM
poseidonpid你好~4 @5 N: r- I" R% E- r9 D( V; Q/ W
6 ^7 p: s4 @- O) m2 |  k" L
請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢?
2 h% [3 u" w7 h- I4 U" B- d/ _. A  s
麻煩各位前輩再次指教了~謝謝~
作者: finster    時間: 2008-10-5 11:40 PM
一般來說,我們不會用inverter作為crystal oscillator的放大器% ^+ c# y% }) l* e  V" Y  k
而是用NAND作為取代inverter
5 j1 e! a2 P4 v9 e+ D原因乃是NAND的另外一腳可以作為enable pin的control6 N) H/ G$ H: t

* d0 y# ?" c! H4 ~+ h% z- f再來,crystal oscillator不建議你用tri-state inverter buffer) _- D, }! A5 A* _. _+ a5 I! Y
原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位
7 t) |7 U& D- ~- |1 G這對接在後面的電路而言,反而會造成極大的leaking current9 A9 \8 V8 I" `3 L1 Q& M
而這,是絕對要避免的情況
2 O5 `7 d. d: c
( |& v( d3 m% F1 S. g4 n/ Z' T. D1 o% X: X9 i最後,你所提到的dc path
+ x: d1 K' \8 L! L( F我不知道你在inverter的電路下所作的disable是怎樣子的一個電路
' w6 ]$ m. O% g% X( D0 i+ J一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現9 L; H( G; Z) g
若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便
作者: camilla    時間: 2008-10-6 02:10 PM
謝謝finster版主~/ X5 U: I8 N3 w& g8 k2 z, l1 t

' g9 d* U$ [# \0 F我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~
作者: camilla    時間: 2008-10-7 04:07 PM
各位前輩~
" u" w8 _1 q9 t1 F! r4 t  L0 h7 Q0 ?9 g
5 S) P' f  `$ N我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~
0 d1 |, N+ V$ W( r  H- p8 ?/ v8 N7 d0 Q3 X1 q" C
因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗...
5 `' w8 q! C7 b$ }
# B. U9 h8 |/ O( w所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~); F# d& e/ M2 \3 T9 a& |( S+ A  D

1 [- s& m4 K9 ]1 {* E但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...
* u8 y5 R4 e$ _5 G" R2 Q3 @+ j" h7 C, F6 V
我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?
; M) ?" v# ~, d. O1 p
4 S% H# `) f9 e為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?2 E5 d1 C' O8 q

, I7 j! A$ S, ~1 a+ e, r請各位前輩指點一下~非常謝謝~
作者: camilla    時間: 2008-10-7 11:19 PM
各位前輩~2 G  h; p% o, L9 ?7 B& W0 z
/ Z0 O* Q- x+ Y5 T
我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能...0 g& R0 y. N, {# I5 L, M

; m  q+ B& S( J! P所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響...7 L5 n4 I' H! e0 c4 h3 i/ a4 Z

# L* i4 @7 k% s- c; S1 E那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?
- f( n; Q  R+ h3 p$ @+ N$ [0 V& ~. {
麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~
作者: finster    時間: 2008-10-8 12:03 AM
方法有很多種: m7 \+ e, E3 E: P) l
附圖是示意圖,實際控制信號自己加上去吧
& X0 B, @! _/ I. }- j$ Z
! y  ^$ p! K" b. V0 S- D& b2 [我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題
% a& s) _! e* D, S1 f方式就如附圖所示
作者: camilla    時間: 2008-10-8 12:10 PM
不好意思~謝謝finster版主的耐心指教~( F8 _; a. _( _& d' {

8 A# e. X9 V  ]我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~
1 T  A4 p" A3 X$ q( @/ e6 M- A# G; G
如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?  m8 c2 ]* z. p" y5 r- ]9 ]8 L

2 \3 Q- v) N" n3 d8 m( x再次麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-8 04:27 PM
不確定你是指那一個節點的電壓
  o& C+ V" Q0 S7 i. p9 t5 p若依照我上面所繪的草圖,在一段時間後應該會降到0V
# s+ r$ R. b# V+ p# h8 \
) _2 B" T' T2 a1 R不過,你的模擬圖卻沒有
7 M: R. V0 h- o我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻
. V1 E; y' Q& M3 `0 Y: U9 g故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD! }5 Z' c' g/ a+ H! H
你的模擬圖應該是正確的情況, K  `  I" [7 I9 j. E' x
若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位
作者: camilla    時間: 2008-10-8 05:46 PM
不好意思~一直麻煩finster版主~# F( h% L# V' G# K. {0 {
* w; x8 ~- q9 F/ r. b! R
我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~9 }. k5 z, ?5 ]  e6 o
3 L3 d% u( b9 E/ h" h+ w, }  n
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~
% O: [) m$ S: Y4 j  N
% c' X: z& X! [' d+ g' e還是你講的"串接電阻"不是只回授這個電阻?
$ Z8 _9 y+ y2 |3 K5 D* t% n6 V) N- E+ e( T3 R4 [4 j
假如我輸出不是0 OR VDD會有影響嗎?8 `  G0 _- G+ l( D* |* t
" s% `  {+ ^. W) H. m0 g
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)* J, Q# ~9 ]4 o0 W
  q6 C$ a% h% Y# a- [. }; p2 n% j
不好意思再麻煩各位前輩了~非常謝謝~
作者: camilla    時間: 2008-10-8 05:48 PM
我又忘記附上電路了~對不起
4 y0 w1 W4 d+ a8 [" V4 Q& Y" q2 o! [
不好意思~一直麻煩finster版主~$ S# S# v5 D/ W8 u+ F8 B

0 ]3 o, R& `7 U我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
5 }: O# N' S- w6 i1 T% m, `( C; N1 K
你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~
+ t+ R% f# S( }  p2 b* U. L, @/ \, n  Y7 `, W8 R: B: K$ l' }% U
還是你講的"串接電阻"不是只回授這個電阻?
0 a7 A/ }1 U5 p; ]- x7 D2 W: I) P9 t: a
假如我輸出不是0 OR VDD會有影響嗎?3 O7 I1 J: Q! G: Z. e) g0 h6 C
7 w+ k5 J2 U# S+ a
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)
+ L& v4 ^2 v7 q0 {: t) }: K+ Q+ i1 T
不好意思再麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-10 08:19 AM
這是我依照你的電路圖所畫的動作圖
8 f4 U3 l3 p3 D) h! u* {$ \在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對
* S1 j8 U4 `( q1 o6 \' g- w至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd
6 K" d; `$ t5 W6 ?/ f9 |若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題
$ H6 S* O/ S. O+ O" G4 U1 A* B8 x* B0 {( k  O3 T' k& u9 ~
至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況; U& Q3 U" H0 @/ W6 {' M5 S* N" I

2 H* u6 N4 K. H7 e, w如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
# |9 O: p# t3 R( D! x" U5 s2 h# E8 x7 E, @/ f% [, w* l
最後,你上面所貼的圖為Vout的波形??
) ~& V. K3 p! ~$ A2 w這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,
( I; x: Q1 i" s5 [3 ?
+ ]( k8 h5 P* M' a0 I0 @[ 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 ]
作者: camilla    時間: 2008-10-11 05:15 PM
謝謝finster版主的詳細解釋~
6 s9 ?, {5 i# Z7 G: u6 m
) F4 E# ~, [! Q6 l' e我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...
0 B# j/ [9 D# j! g  F0 h4 E
( T" }: m6 H/ I# j/ \在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...
* W  q8 i# \' ^+ G. d- F8 ]# B7 X  J0 ~
但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢?) b3 d, D. V' x

6 f" i  k5 o- G1 }不是應該維持在vdd嗎?但卻是如圖所示的結果!!6 R4 e4 Q) G  g5 Q; n
  ?/ y# e! o$ B7 M9 A, [: L  z
是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎?
$ @5 e+ G* s$ v9 J# c8 \# H! k
, \  Y: q# v. v) B7 o+ m一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係...
4 q/ P% ?) o3 r2 p5 T6 F
% t; O, {# C0 A& b( L! V7 Y+ N但又不知道這個傳輸閘除了作disable用的開關外有什限制?' y! e' b$ ^1 [7 D9 T
% p" D* ?7 n8 z- Y' X7 w, B7 |: b
請各位前輩和finster版主在幫幫忙~非常感謝~
作者: finster    時間: 2008-10-11 11:22 PM
從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理
& T; v: B4 \+ `" q, ~( c% D" W若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd
* K- ]) k1 h. ]) S+ Y9 Z- h而你的情況卻在vdd ~ gnd的任一電位
0 z# q# N! q6 W# |& {( `3 l3 |( e: e8 P' Q2 j) t3 V
你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?$ m. [  s# `4 X9 G" V
另外,量測一下反相器上方那個電阻在disable下時的電流為多少?
* o, U6 R; H6 _& I; h( Y2 \
5 j+ `+ Q& ]4 T9 `  \% c( i上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作( v+ z3 u$ ]' J. L9 p
至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作
! D/ e/ D# X5 k' s+ f, N* s" P2 Z: R" i/ _/ S1 f8 y: T
最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題
作者: camilla    時間: 2008-10-12 08:47 PM
再次感謝finster版主~
! ]( A1 T5 ?( n( @, z7 w* R: q
4 z$ L' X- A. O1 ?4 V我想確定我和版主所講的輸出是同一點嗎?+ Y& x0 C, d& S
7 [1 ^* h' A9 V, @
我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?
3 Y5 t+ {  ^$ r: @8 A+ G/ N
; H# y# w2 h+ o1 ?是介於0~vdd嗎?還是vdd呢?
9 r7 }, `' N$ r$ Q" E% }' k2 ?: R2 C! H" H" t& {  X
因為我是想說在floating時不是輸出在任何一點準位都可以嗎?
4 q. U8 ^8 }4 V+ T$ k
4 V" b! F/ q6 X8 n% I因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?& \$ B2 B! W8 N& L1 L8 u0 S4 _
4 G) t9 ?. r: ?: a1 f8 L6 S2 ]
再次~再次麻煩各位前輩和finster版主了~
作者: finster    時間: 2008-10-13 11:31 PM
從你目前所貼的圖和你之前所模擬的結果來看是一致的
: O  c# L# _& w就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解5 k; G$ m, Q+ k6 j9 ~2 |3 |
依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓
作者: camilla    時間: 2008-10-14 08:43 AM
謝謝finster版主~
$ b+ l" i* N; d. j9 t  h6 x8 T1 K0 e$ W9 W; y
那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝
作者: camilla    時間: 2008-10-17 01:42 PM
hi~finster版主我又有新問題了~不好意思
) g8 W; C" L: ~' M2 q3 V/ F* Z$ x  f; a" `
我layout都沒問題了等著月底下線~$ T8 N. J( \$ r8 O/ m' O8 x

* L  l: @7 Q0 V& q1 F因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz)
* d8 ]2 d* i) p3 {" b- u$ |! _& y# S3 e5 e! v/ u3 l
但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)9 h+ @, E1 s0 R6 M+ d3 d! U
" D& i( }3 g. `% o
我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!
+ ?; D( I/ O! c5 f# B+ _3 E0 Y/ o, K6 X4 k' b! e, C
這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?
6 F# E' c( G" \, T
; K# W8 U8 v, s" |) Mp.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~
+ v. T6 T: t' N, O& x) @9 S# I, X4 {* e; e% }
請finster版主在抽空幫我看看~非常感謝~
作者: finster    時間: 2008-10-18 02:49 PM
以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考
+ L0 y; Z3 d" K: R) n3 I. I4 @8 T故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值
9 Q9 [3 l  O) \$ C3 i8 f' H4 K20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同
3 Y! ~+ s- _' B9 t, Z7 v5 ~, i
- U( o. l2 h! s' D再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著: M1 h" x( y% T) z" m6 F3 A
所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫+ z3 V: L% K( A) @( E7 R

* E5 I8 R) B& Z+ d" D  P- t1 F最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同. X- m: S  b9 b$ @1 R: ~
一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯
, u2 J/ ^+ x& c( X/ r所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率7 y" ~' S( y- a' ~

$ W9 J# Q! }  u8 k/ \[ 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 ]
作者: camilla    時間: 2008-11-11 01:07 PM
各位前輩~2 t7 @8 f9 ]3 A4 `) e
3 P' e( A# V1 H1 b
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~
5 G/ g4 U* h) H+ I6 S0 T* G* I" O4 |) \4 @- m2 h
不過最近在書裡有提到overshoot可能會造成emi的影響~; o2 k; P; N- S

2 [+ Z9 K. y% c3 j  z我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~
2 c: |* y7 l1 n& W
; v2 ^( M0 J( H  N/ |' f- g9 Y如圖~這應該是overshoot吧!?$ X( v- k1 u1 }; e; f3 ]
9 T8 E- F: T( w0 w+ A- X/ }. p
那這個有影響嗎?有什辦法可以改善?
4 b" @, q: v; d- x
1 d5 ?* h" O  t0 ]6 J2 H請各位前輩能給我一些意見~謝謝~
作者: pmet2007    時間: 2008-11-12 02:42 PM
正好在煩惱這方面的模擬
% k4 Q# E: o) c, j' Y; d9 ^4 m! `有了這份參考資料依定可以成功,感謝
作者: finster    時間: 2008-11-13 11:31 PM
原帖由 camilla 於 2008-11-11 01:07 PM 發表 / L4 F& G( A0 X: q% l4 S
各位前輩~& ~% b+ \" `7 e5 M- j0 a
' B* w$ h' P- Z
之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~, a7 c) B3 K# D

; \+ Q1 r7 s/ B不過最近在書裡有提到overshoot可能會造成emi的影響~$ ?! e% h$ Z5 a( _% D5 a; i6 I4 e

' C0 ~& p* U8 O6 X我再把我之前做的crystal打開來看,發現我的輸 ...
( Y) g) P' r9 m& h8 N, w

; s7 W! I& z5 ]( L4 [) q& {6 }1 J% P/ ]7 P3 x
你這種情況還好,並不嚴重
5 h6 @' v5 f# C, Z% j要想克服這種現象,若在OP,最簡單的作法是改補償電容
1 N7 T2 u, z* K7 d( Z' n: x4 @( K若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可
作者: camilla    時間: 2008-11-17 04:45 PM
謝謝finster版主~: x" N6 p, z* A1 k5 j+ Z( s+ W

7 P- j! E7 B0 }0 F你說可以在輸出端加小電容(負載or Buffer),是為什呢?( J( i6 D3 c" t/ P* f

' X7 X3 `3 f5 Z- n! s5 |' ]因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?
) v9 G" l3 |8 \1 V5 f$ H" N
6 ?5 T' ~7 N3 r) ]# V5 G% v/ ^我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?
作者: finster    時間: 2008-11-18 09:58 AM
減少driving能力或者增加buffer其實都是同一個原理的解決方法4 @" l( I1 q$ s4 I, p
因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現
5 C* K" j; f1 u故而,把driving能力減弱,可以減緩over-shoot的問題
2 ]" H6 t; y# o另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK
. n- m' q  f! ~3 h/ l- x+ d, O0 R9 G
7 B/ T4 O, d0 k0 U5 [0 V1 A. Y至於你問到的第二個問題
1 Q+ F0 {+ e- ?* h* R- n% Z這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的, h) w8 u) d! X9 o9 K( y
不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況
3 Q6 Z8 L( o  N: k+ q7 c再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態
作者: camilla    時間: 2008-11-20 11:12 AM
再次謝謝finster版主~, y6 c9 Y6 s6 [+ Z
$ M& p1 z& y% A7 h0 B: x$ u8 n8 M
最近比較忙,所以現在才上來看你的回覆~9 E4 l4 O% L5 v2 ^1 i4 [. Q- x

: g5 a, e6 I: F6 n前天被學長問了幾個問題他也不知道,我也不太確定回得亂七八糟的)  t* o2 z2 c" K" F  f2 _
, _% p6 D! C3 a, _: c. F
1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?0 P3 R( ^6 W6 _6 q& r
/ l; q2 o  I' e# o4 Z" c
2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意
, S; C$ I, P$ _/ h* u  k4 K   值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?; k2 L8 m: h2 W4 I- P1 I
" j& C- {; B: C! V
3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加
) G' s! d6 y) w# z9 j   一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?2 g- ?9 }9 T. K) ?0 s) E/ M. D

* V8 q5 f/ y  s5 i5 B6 D" d再次麻煩finster版主了~謝謝~
作者: finster    時間: 2008-11-21 02:33 PM
1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會
$ U+ \1 Q' e: \% [, K& {    不過,通常都會起振,因為不同廠家的crystal model不會差太遠7 [8 u: H0 d" h) s  T, z0 h
2. 不太了解你這個問題要問什麼
) _' }& i' I2 @' e5 ^    基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating
7 J" Z) M1 D* B; {2 y
9 Z; @4 S) z5 ^1 |! r' j: I3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗
作者: camilla    時間: 2008-12-1 01:31 AM
不好意思~finster版主~
8 }& A# [5 _: `$ d/ q+ b/ E* [& h5 S- I* B- a8 n
我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~
) q: Q# t* P7 _7 \) w, G: C: N
8 P8 E& M5 [. P我的震盪波形在接上schmitt後變小了,是什原因呢?( i' g, q# x; `) o! V; c

% Q- R% ~& Q; O$ N% `我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)8 T4 q+ M& k9 G+ u, F) Q

) w" s. N- I0 E  h; ?' c是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...; p- Q6 P# `* M, `3 F
1 D1 R5 U  @( d7 g  f
若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題... 1 V8 j1 j' q# W) {% t1 `) F
. w/ ], g! p  u* ?9 C$ |0 m/ F
但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在)" }  K4 V1 _0 r+ G3 X; J6 Y
. J- l5 j) }  X1 m5 B5 ]( T2 f
可以麻煩finster版主在給我一些建議嗎?非常感激~
作者: finster    時間: 2008-12-1 11:08 PM
你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?
' Q) p3 j) i; r1 ?3 l6 N另外,你schmitter trigger的vih and vil又各為多少呢?
3 n$ i$ D& l6 P+ j5 D% `1 G. V- Q, \/ m& k' f: Z3 {9 T
因為我不知道你這些條件,所以無法回答你的問題
' A$ {+ P8 X" T: f/ Y6 L1 l9 m: Q, D4 h5 j' e+ ?) Q' V
至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形
9 ?$ H7 t( z& O
' g/ W4 |' J, W1 n( r5 e[ 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 ]
作者: camilla    時間: 2008-12-2 01:28 AM
真是太感謝finster版主無私的教導了~
; y8 J, A& W* `; P9 ]5 Y. V* ~; I0 T: j
我原本振盪波形振幅是0.3v~3.2v...0 ?3 Z/ R' @5 m- J

5 g' m& _, p  o但接上schmitt後竟只剩下1.45v~1.58v而已...
% P: k* I  |* W4 R3 M$ k( ?4 M3 l! T$ ^2 @8 B* d' A
而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??)/ Z. d- O5 s8 o. S' ]

- K6 p3 i) q9 {+ \但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?3 K9 `7 _3 C( V

0 ], l- I5 J( x$ m) S(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~)
' r7 K4 E0 b2 L( C, b
8 i- B! r* P0 F, T. n' W這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...
8 U  h2 A% |3 \9 A. o. h
9 ?" j6 H$ T( X8 d但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...+ y% ~, [! P9 P; l
6 Y4 q' c8 ?( M4 V6 g0 U9 F
若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)9 @6 Z8 z4 e- @6 l0 s

0 J- O2 l' ]# d0 X* `我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~+ G- P; M- Q, Z! }# {, J

( l# @- V3 I! E  Q! O% P再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~
5 F6 B  t* h/ j# d' e( `
9 H! @( O. t3 z% q4 k' ]$ v# \p.s 圖為我使用的schmitt~
作者: camilla    時間: 2008-12-4 09:00 AM
~又被沉到下面了~請各位前輩幫我看看吧~謝謝~
作者: finster    時間: 2008-12-4 01:26 PM
從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小
) d% g5 a* p, j2 X+ Q# A9 k/ h" _8 }* a關於這個現象,你可以從你的模擬中重現這個現象2 M2 d% V: t; N- c) {- b' t
你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小2 H4 C& I; R7 p% u2 p
而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小
4 l, P, v2 |+ J$ A( x" B% [而要改進這個問題,只能把振盪器的driving能力加大0 J2 s, l1 v. \2 z3 \7 x

2 v; ~# i: i7 d" |% F6 R至於你問到為何只有在25MHz以上才有問題1 r# M1 G% O; i! |. K# M
這點,其實也跟你的振盪器的driving能力有關
" B( ]9 k) L" V因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大, u& K, p6 [3 Y- T! Q' v; k' E; p
而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振
7 _! E% b, ?+ h4 Q; \- i6 o4 U/ V" R' P
至於schmitter trigger的優缺點
2 W9 D8 g0 D4 W: ]# N$ E8 @其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger
, m# @- D% C- i: ]+ ^基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險
作者: caesarxl    時間: 2008-12-17 10:21 AM
留名关注,日后学习, |' Y/ c6 ]# j; u, ~- ?  s
谢谢分享。。。。。。。。
# R1 X/ g* K2 `7 u- g。。。。。。。。。。。。
作者: camilla    時間: 2008-12-17 05:56 PM
超級謝謝finster版主的解答~ & h$ _) J& `% G
( Q% a! l7 u! b* t* y
最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~
2 F) O6 J, Y2 {1 C( _# L4 ^  q6 j, ^  H
我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~
6 u' n7 h, f. B. N" p
; X9 V, a8 E5 U1 j第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)
6 D7 B9 K; u% `. T0 o3 W3 ?0 Q) K
! A* |# p" T+ R3 i( b% Q, E  |第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)
7 k7 I, U/ A) x7 Q2 b, p( t0 G+ Z3 _, }) d( E1 C& D
第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)
: K. C) y) c% q! n" G" E2 A/ ~2 v& K( |4 d% e
麻煩finster版主在指教,非常謝謝~
作者: finster    時間: 2008-12-19 10:16 AM
關於crystal oscillator耗電的問題,這個其實並沒有一定的標準6 H2 Z7 Q% I( ]
因為crystal oscillator本身其實是蠻耗電的,除非你是設計32.768KHz的crystal oscillator這種才會設計成很省電,不然若是5MHz以上的crystal oscillator電路,它本身的耗電程度都在mA等級以上,這個原因是因為頻率愈快,它所需要的rise time/fall time要愈快,所以放大器或者反相器的耗電就要愈大
2 Z$ y( n2 [. c3 s- s3 [1 A% R% x
若想加快start-up time" t2 r; O( a0 h
最簡單的方法則是加initial circuit,讓crystal oscillator在一開始便設定它可以振盪的電壓準位,提早讓crystal oscillator反應出相對的phase差的振盪% }" h: m& G2 E

5 m% x" |1 w1 N! u, q至於第3個waveform情況,你可以把輸入信號秀出來,你就可以知道為什麼了,這是因為crystal oscillator尚未達到穩定的振盪波形,所以輸入的waveform振幅會有點忽高忽低的,以致於schmitter trigger的輸入會接收到變化的電壓,故而輸出也會不穩定,這是合理且正常的情況
作者: camilla    時間: 2008-12-19 04:33 PM
finster版主~& C! A$ b8 F, |3 J3 d" x2 e. m

4 O1 O2 ^/ I3 p+ U我看不到你的回覆呢?好奇怪~可以麻煩你在發一次給我好嗎?非常感激~
作者: camilla    時間: 2008-12-22 09:21 AM
謝謝finster版主~# K  c9 }  k2 Q0 B

$ x. _+ O, o/ W  ~0 d  y/ Z應該是我電腦問題~可以看到你的回覆了~謝謝~
  ?+ k5 }; U+ Y# a& T3 Y( u
+ l$ G5 }" ]  T) b. S我了解我問題的原因了,不過我對startup time總是不了解,$ o" p; E8 d. {& [# z4 q, l) o7 w6 p

* q- }- [$ k) w% O, e2 h我是想有無辦法不另外加initial circuit來加快startup time嗎?
, C3 ~. ?) r+ Z- I% C2 f( Z! l1 b3 O7 T$ W
我是想說可以改變現有的元件參數來加快startup time嗎?
; k  @, D( M3 f( s. E; v7 v2 A+ e7 K1 |/ _' N! \# R
例如改變crystal model的負載電容等校的那兩顆電容(C1,C2)或R1
1 m2 l2 P- m  W- E
* R, U2 Z5 m9 M/ Z0 U) L! Q因為我一開始是針對13MHz來作這個crystal osc,  `5 j* N. x" s! y* b/ \

- h. A( S5 x& Q+ k) M9 ^所已在改變crystal model後(改成20MHz,25MHz),原本想要的結果就會改變,
/ [4 X# Z5 x- }! d3 C* [* w! s+ g/ d! o  D, m, S+ t
是不是這個架構在13MHz時是最好的,但在改變crystal model後所有特性又會改變?! L4 m" `6 o1 S; A2 _

, i$ M2 Y) I  y0 w* t1 _有辦法說可以設計出適用於4~25MHz的電路,但startup time, 耗電又都能符合我的要求嗎?3 N: L' W1 U- {9 e' a
, I9 k: v! j( c  l
(我目前13MHz這個crystal 架構若套上20MHz以上的model後,startup time,耗電都會明顯增加改變)8 W* E: b" ~4 }: f

# D) a+ v! o& G  \* Y不好意思~問了一大堆問題~再次麻煩finster版主了~謝謝~
作者: andy2000a    時間: 2008-12-22 05:30 PM
有 disable 能力  的 gain
* q4 W8 i! Q9 x- v' j& T要高點* y  i3 |( _2 v3 z

) n: X- c* R0 _/ Q* m+ t# `hspice  sim 會動
7 E! c7 w# b4 |; w5 E2 I$ ?5 a6 u' q( K: j
real chip  可能不一定會動  - R- T* Q5 Y* N$ ^. w
% N/ d4 p9 Y1 `) P
而且 不是 所有的 fail  是部份 ) f+ g/ U1 u) ?$ Q: m
那就是 gain 太低
作者: finster    時間: 2008-12-23 06:43 PM
原帖由 camilla 於 2008-12-22 09:21 AM 發表
1 a; t( Y- a0 P9 e( A謝謝finster版主~
* v  y7 E, S* C
  l9 I5 i8 c4 x/ r) \2 y  y* ]  n應該是我電腦問題~可以看到你的回覆了~謝謝~; }8 D6 u0 y2 ?3 I6 \7 [
6 G$ Z* }, p. ~/ }9 ]% L& N- w& L
我了解我問題的原因了,不過我對startup time總是不了解,- D8 q! b" T, w" }. H2 K
5 j- P! @' K$ F% S" O- |
我是想有無辦法不另外加initial circuit來加快startup time嗎?
. i, T4 K& g7 Q+ J* L5 ]6 s! G- @, Y+ C* m5 V; @8 j; Z/ k
我是想說可以改變現 ...

+ `* m4 ?7 F1 h8 r6 Z4 Q5 H8 y% ^4 l) Z& [& g: |, `3 F4 w. W
+ c4 O; C" D& y* T. U- U# E
3 Z  J; o, E- Z4 j- ~/ X
先回答startup time的問題
) {  \9 L: u! m在不增加initial circuit的前提下想加快startup time並不是不可能,只不過要先理解crystal oscillator的理論,而這方面討論的paper只有早期的IEEE才有,比較偏理論,你可以研究一下+ M+ L" l. z1 j1 a; X* Q% D
至於你想改變外部r,c來加快startup time,這種方法的效果有限
& |$ d- f* ]3 M3 ]- y& ^因為只要改變了外部的R,C值就會間接影響crystal oscillator本身的穩定度等issue,有時也可能會造成不起振的情況,所以若要改變外部R,C值,個人是不太建議你朝這方面去作
5 a& [' E) ^) m5 D& [1 r) p4 ?% h# x
  J& e( [3 t( W5 y+ j) q每一個範圍的crystal oscillator都有一定的design需求,目前很少有一個電路能夠涵蓋4~25MHz的range的crystal oscillator
% t0 p6 a; a5 v4 _4 [目前大部份都是針對某些特定的crystal oscillator的頻率作設計
7 g" o* j+ ]/ m. m# I: h+ [而且愈高頻,其crystal oscillator的考量也愈多
作者: camilla    時間: 2008-12-24 01:14 PM
謝謝FINSTER版主~
. k  C- W7 \( n: _/ J9 H. Z6 |" P
& t4 v+ P8 _# ?  c2 u$ I+ w9 |2 Y我知道了,謝謝你的耐心指導~讓小妹收穫良多~! D: [- i3 S0 m1 k$ \9 K
* v: x* R  ^7 @' y! k7 f
我之所以想要做個可以涵蓋4MHz~25MHz電路,是因為我教授當初是要我做個crystal osc,freq是由4MHz~25MHz,
5 G0 @2 C- W8 h8 N! `( |# L. R  h3 g& a5 k3 ^9 A8 _: P! g
且有人作過,但我試了很久還是沒辦法,為了讓更高頻可以振,而加大driver,但卻使得頻率較低的startup time變大甚至不振,
2 s0 M+ g" T' B* Z+ }6 J+ H5 F( K9 J: X! p% |
試了很久,我會再問我教授他真正的用意,是不是我想錯他的想法了~; f8 E& s5 [+ W: J1 X5 r

0 m! N& t8 A7 s至少目前我對crystal是瞭解了~  D4 E3 k7 B3 _; z  j

3 b8 ?2 l1 g% R, p, d超感謝finster版主的指導~謝謝~
作者: camilla    時間: 2008-12-25 10:02 AM
不好意思~finster版主~
4 V& W% ^+ n8 h; {# N( S0 |+ B9 I: W( k% p# o' m  E
能再請問一個問題嗎?2 P% `% Z" P; d+ \, d

5 c# ]0 s+ x1 t$ R$ ^startup time的定義是指什麼呢?  J4 E# [$ C" M0 U8 N: E5 @

7 N. i2 i. Q, P  {# K0 K$ y有些paper是指vdd從0v開始上升到穩定後,輸出也開始起振的這段時間(但不是輸出振幅到達穩定了),就稱作startup time
. D" A7 F, U4 \6 R1 E! o7 p3 Z$ b! a( c& q( M# k4 R! e
有些是指輸出振幅到達穩定(某一個值)的這段時間,就稱作startup time
+ V% S2 E$ o+ N7 U. o3 A* q) @( h0 m: W* k
又有些是指輸出duty cycle穩定後(都相同後)的這段時間,就稱作startup time$ ]$ T  H+ E/ o3 P6 t% t7 W. I, s

8 D# W% p5 w& M7 ^那到底startup time是指哪段時間呢?
" X  H$ Q% Q6 C0 G5 z8 v0 ?: f, ]$ _! L0 T, I. n: N: F6 [
請finster版主,或知道的前輩能指教一下~非常謝謝~
作者: finster    時間: 2008-12-27 12:38 AM
以目前我所知道的startup time的定義來說! Q' m% S# b; x# f
它是指crystal oscillator從一開始沒有任何振盪到完成振盪且穩定的持續振盪時間稱之為startup time
* ~  x% b9 I' E( O9 P0 u* |; H  M# K$ x+ O# P. d0 ?+ I
因為我們在模擬crystal oscillator時都是以vdd從0V昇到一個穩定值作為crystal oscillator作為一個初始值,所以有些人就會把從vdd的0V到crystal oscillator起振且穩定持續振盪時間稱之為startup time,而這種說法其實並不是非常正確的定義4 T4 x8 d! ^$ J2 d- \
6 d. n$ W+ @' t* Q9 r9 b
不過,目前在startup time並沒有一個很統一的定義,而我所知道的那個定義也是從IEEE Journal paper上定義所知道的,而那份文章是很早期的paper,內容寫了一堆理論和公式4 E) n5 P/ }( H

$ X3 C& o8 a6 q. q: a& R: V5 M最後,crystal oscillator要作到4MHz ~ 25MHz並不是不可能,只是較為複雜,以前我也作過,後來我也只是覺得沒有必要弄到那麼複雜且麻煩
作者: camilla    時間: 2008-12-27 07:19 PM
謝謝finster版主~) B) e1 f4 E) m2 Q( b" d! q
- x, A+ ~: r4 U  G/ J
我對startup time了解了~. S- h# S. B( L& c

: `/ y+ R: D9 ?/ V+ w我昨天試過用spectre跑了一次crystal osc...
. G, M% d5 C2 ~9 I" M! \' M
; H$ P8 E( ?5 r7 x不過竟然和hspice跑的結果不一樣,同一個netlist 13MHz跑出來的消耗電流和起振時間是不相同的,
; a. m% H! x& a% {
4 A3 ~$ y& f( o  Y7 o7 Z消耗電流小很多,而電源電壓給0到vdd,但輸出竟從0v就開始振了,所以startup time也跟著減少很多...
5 o5 r: U5 N; X. f7 l: \# O; i( R# s' [, I/ v* v4 J# k
一模一樣的netlist為什會跑出不一樣的結果呢?: f5 ^& q5 Q' y. ]" }; z7 @

/ F8 h% k6 O7 D* Y& E0 j另一個問題是,你所講的加快startup time可以加一個initial circuit,有範例可以參考嗎?因為我的startup time實在太慢了...
# a8 m' d2 C7 J+ e8 S$ P! ~8 M
, M" ]* [. w) z(一直被學長嫌)# l. L1 \4 ^3 b5 S0 K8 I8 L2 Y

3 C0 k& X8 f4 ]3 |8 T" J, H+ q0 \) q" U1 e9 U
p.s 很感謝finster版主不耐其煩的一直指導我,不過因為我實在有太多問題了,希望finster版主和前輩們能繼續給我指導~謝謝~
作者: finster    時間: 2008-12-28 12:44 AM
關於spectre與hspice兩者之間的差異
7 }* D' r8 H$ J4 w這個問題我以前也遇過,只不過,這是一個沒有正確答案的問題
% [  f1 A4 m# K' t2 {據我所知最早類比電路模擬軟體是hspice(我不確定以前是否還有其他版本),而這套hspice模擬軟體對類比電路模擬來說可以稱的上是聖經,其他研發出來可以作為類比電路模擬軟體都是拿hspice來比較,其他模擬軟體愈接近hspice所模擬出來的結果愈所能夠得類比工程師的可信度,只不過,hspice也有bug,也有它不足之處,而這些bug在某些想取代hspice軟體而言也許會有比較優勢之處
* \) J, }1 P2 T4 R0 F' [6 ], Q4 F) \4 ]1 g' g' [# y) ?' N2 u
故而,回到你的問題,hspice和spectre兩者跑出來的結果要相信誰,基本上是要相信hspice跑出來的結果,只是,不知道你會不會誤觸hspice的bug,而這個bug恰巧是spectre所能夠避掉的問題4 g1 D& p# _* z: B, V3 G3 m
以前我這兩套軟體都有跑過,95%以上都是相同的模擬結果,只有極少部份才會有不同的地方,而且只有在某些很特別的情況與應用電路才會有不同的結果出現,所以,建議你先相信hspice的結果,然後再推導看看是否合理,若不合理,則再回過頭來看看spectre的結果
/ g* L3 s$ c6 p: V2 t2 ?" P3 |9 k, u& V! l5 Y
至於startup time的問題
6 z: U) \; Y8 W! d  F- @! K加快它的速度是我個人從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版主~
# F& K- s7 f# [8 @
4 h" N0 R, E1 S6 j超級謝謝finster版主這一連串不耐其煩的指導,讓我對crystal有更深入的了解了~超級感謝~
作者: hongx    時間: 2009-12-30 02:58 PM
此篇看下來真的學習到很多知識!" K7 X! J$ o0 J

# u' Y  S  A" U9 q2 k" q  |往後遇到一樣問題可以從中學習!




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