Chip123 科技應用創新平台

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

作者: camilla    時間: 2008-9-26 05:40 PM
標題: crystal oscillator不起振~
各位前輩~1 A: s; W, u. j1 x: @" k, G) |9 n
, c. ^0 P( G+ h9 U4 o
我現在正在研究crystal osc.我有在論壇裡看到這方面的討論...- _/ s) f. |# m( p1 o1 }* Y: ?
http://www.chip123.com.tw/phpBB/ ... 8412&sid=g0bJll
9 q% Z0 {! b, S% o
; V% a+ Z( ~' v2 D' m" p0 l其中finster版主建議說加入這個模擬條件  VDD VDD 0 PWL(0 0, 500US 3.3V)6 F5 R1 V! X0 P
* l8 f) H; W7 }0 _% l
但很奇怪的是,我加入這個條件後竟然不能振了,但若是VDD VDD 0 3.3V卻可以振,6 S* d8 L$ t* f, E9 }" m

1 _* @$ T' \% b6 _+ ^是什原因呢?! y2 a* a" Z. X/ b7 g4 d- N# n

* ]0 o- ^. e$ @& Q' k( W另外finster版主題到的low current crystal oscillator...請問有bias voltage control相關的資料可以參考嗎?: t7 [; j3 c# k
(因我加完i/o pad後的電流竟然幾mA阿~)
" R, f4 v) F" o# ^
& R4 A! b7 r! I& S+ x. j) ^/ y請各位前輩知道的話能給一些意見嗎?謝謝
$ d/ C: R) \! B2 a0 P: K8 Y5 z! g( f" X% Y
對了...我crystal osc frequency = 13MHz , vdd=3.3v
作者: finster    時間: 2008-9-30 01:17 AM
我當初在作crystal oscillator模擬時,會加這個power ramp的方式
3 U7 w+ E" O' a% `# _   VDD VDD 0 PWL(0 0, 500US 3.3V)7 `- L$ C, b4 a6 E7 @7 H
這是模擬電源電壓是從0V開始往上昇,在一定的時間內會達到穩定值,而會在多少的時間內達到穩定值就看PCB版子上的電源電壓多快能夠達到穩定,而這是比較接近真實情況的模擬,因為所有的電路皆不是一開始就是vdd0 v+ p# v9 n1 p! ?7 U' }4 a; k8 t1 P7 a
如果,你所設計的電路無法接受power ramp的電源電壓方式,那表示你的電路在power ramp過程中有遇到無法收斂的點,以致於電路會無法起振,解決之道有幾種方式可以試試看,一是加initial電壓,二是在電路中加負載電容試試看,至於要加多少,這點要看你的電路來決定,三是試著改變ring oscillator的size大小
& d0 V0 k! m) K; \# q, v( }
1 E3 c9 p" x- J. x/ I! ~9 C  ~& g你的crystal oscillator電路有需要作到low power嗎(total current <= 10uA以下)??4 e7 W4 t: L) d5 j+ E8 O; m1 d0 {, u
如果沒有,那就不需要bias voltage control
+ l- E7 |! {' Z+ o. @3 [" k
4 {% |: a2 K7 s; r: T( K# ^3.3V @ 13MHz的crystal oscillator,我已經很久沒作這方面的電路了,對於它的current會有多少已經不太有概念了,如果你想知道為何它的電流會這麼大,建議你看一下crystal oscillator兩端的電壓波形,再來觀看接在crystal oscillator的那個buffer(inverter)以及接進去的第一個反相器的電流,如此一來,你應該就可以看出為何電流會那麼大,同時也應該可以想到要怎麼修改size
作者: camilla    時間: 2008-10-1 11:31 AM
謝謝finster版主~
# I. v$ M9 ^; l2 C
0 M) |- ~7 P8 _) Q1 m$ `我加了初始電壓進去後就可以了~ 2 }: v4 h4 s) h2 ^3 ?# j1 Y
) G: j( l8 g' Y( c3 P( V2 E
我有看了一下你建議的那幾個電流...在inv的電流大概是2.多mA,8 x3 ~  T: F' V# B) n+ G
8 I* z4 I: \, Y: `5 |' @
我也針對這個方向下去修正~也有變小了~4 \. F+ r5 x9 T. R# J: ^5 T3 @3 m

6 K, v0 {5 _0 \另外我還有一些疑問,就是crystal oscillator除了消耗功率外尚需考慮什麼條件呢?
5 L( C* f7 z$ N+ p) G! d& k/ _5 m* m. ~2 L) C/ e3 R( x( R: W
我教授給的spec只有vdd=3.3v i<1mA Freq=13MHz 那我還要再另外考慮什麼嗎?2 l7 z' C* s( W  x; B0 w

, C- X. Y# a& [+ e4 l(不可能那麼簡單吧?)
% p7 j. r/ _; D  m4 W, O6 m' w" z3 |+ m$ K9 V4 Y
麻煩各位前輩了~謝謝
作者: finster    時間: 2008-10-2 07:46 AM
一般crystal oscillator的電路設計,最重要的是當電源電壓一開起來之後就要能夠起振,經過多久之後振盪頻率要能夠穩定,整個振盪電路的電流消耗有多少,振盪頻率的jitter或者頻率穩定度為何(這項通常是針對R-C oscillator,對於crystal oscillator則較少有人在留意),整個area有多大
( ~  p+ i: Y5 R) Y- M7 F6 p4 b這幾點是crystal oscillator circuit在設計初期會留意的幾項* ?6 P: d( r1 h( }4 E+ C
其中第一項和第二項是首要的,其他的就都還好,反正,只要有起振,大概就完成了80%
- ~* ~( t* ^9 G4 ]% X6 V6 A" K5 X4 J% E6 F9 N: R  h
另外一提的是,有些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' d# ]; v  S2 F9 j* Q. o* x0 O$ O( K! T" P; v
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),所以把inverter改成一個tri-state inverting buffer,但在disable時不是輸出應該要為零嗎?
9 q8 Z5 Z5 o- X* D9 J8 L4 i; s5 b1 R+ g但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?0 j3 z+ w! U, c5 e, A7 r! W. z

( @" @9 l  e$ }& H7 o再次麻煩各位了~謝謝
作者: camilla    時間: 2008-10-3 05:51 PM
對不起~忘記附圖了~, X2 S) o$ K" h( k
9 w0 f8 j! H4 |% ~6 h" l2 `9 @
不好意思~finster版主~
+ r; j3 l/ n% [8 J6 K2 t" r6 D6 `$ Z6 p  h
因為我現在想在不使用這個crystal時能把他disable(因inverter會有dc path),9 ]0 @! ^5 b/ H  o) X; O
所以把inverter改成一個tri-state inverting buffer,
$ k$ d+ K# D& ]0 y' M: I/ ?/ x0 ~# f但在disable時不是輸出應該要為零嗎?
5 ], M; i, j0 P! ?' u- S" `) r; y但為什麼卻慢慢衰減到1.5v左右?這是正常的嗎?4 w! t  V7 l. [+ g/ z, p

( T  s* M7 j* L6 q  P再次麻煩各位前輩了~謝謝
作者: poseidonpid    時間: 2008-10-3 07:11 PM
tri-state inverting buffer,在disable時輸出應該是Floating(High Z,高阻抗) ! ]$ R* ]$ d  f# k+ t& |8 ]
所以你應該用power down switch來做喔~~~
作者: camilla    時間: 2008-10-5 12:32 PM
poseidonpid你好~! t& q& `" h  Q7 F4 ^! e& V/ c2 l

2 o. B6 x: o9 ?4 |& F. Y請問有範例可參考嗎?因為我不清楚你講的意思~那TRI-STATE BUFFER在DISABLE時是Floating(High Z),那輸出應該是什呢?6 x( k- J9 L1 A9 k4 z+ p3 p; ]: r

0 z* E1 l( T# s麻煩各位前輩再次指教了~謝謝~
作者: finster    時間: 2008-10-5 11:40 PM
一般來說,我們不會用inverter作為crystal oscillator的放大器
4 n, r* X4 T/ @9 H/ @而是用NAND作為取代inverter
2 b7 i) Y! C0 t; n- M. b7 G+ g' n原因乃是NAND的另外一腳可以作為enable pin的control) L& C1 u1 j& ^0 l8 ^# F
" }' g, e* c& E# N' c5 S
再來,crystal oscillator不建議你用tri-state inverter buffer  s: p4 ]) `$ j* ?9 k, _
原因是在disable情況下,output為folating,或者有人稱之為Hi-Z,此時為任何電壓準位8 A: s3 }+ M! `# Y  r
這對接在後面的電路而言,反而會造成極大的leaking current- i0 B/ e4 X# y  b: V9 B
而這,是絕對要避免的情況
- J! K: Q/ l2 _6 a4 Q7 B# p7 {; f$ `' b
最後,你所提到的dc path9 P& X1 `# i3 o" Q& I# h5 b# r1 U
我不知道你在inverter的電路下所作的disable是怎樣子的一個電路# k# s. a$ `) B) T2 K; L* G
一般,要作disable的動作,我們不會用inverter來作,而是利用NAND或者NOR來實現
' Q3 \3 M" W' K9 ^# k* j若真要用inverter來作disable,那會在input端前面加一個transmission gate和一個對vdd的PMOS或者對ground的NMOS,如此便可達到你要的功能,只是,與其要這麼複雜,還不如直接採用NAND即可達到要求,既簡單又方便
作者: camilla    時間: 2008-10-6 02:10 PM
謝謝finster版主~1 `7 H, L/ T3 h; r. B. z

) [" B* A) K9 R$ g- p4 T7 G! X; O我了解了~我目前是兩個方法都試看看(加"nand" or "transmission gate & power down")...謝謝版主的指點~
作者: camilla    時間: 2008-10-7 04:07 PM
各位前輩~
! l3 o9 D* Y1 G, R# c# `: @* i+ B' p% K3 n& E/ q/ Y
我之前模擬crystal osc後,教授看了說我的作法是沒錯但想法錯了~9 i& `- g4 S7 y; I

$ @' f7 w5 B; g5 O1 Y, i+ i因為我這個crystal osc是要藏在學長的ic裡...要用他其中一個i/o pad來實驗.../ x) |2 v- c* ~! v  J2 k" O! ?# @/ `
8 ?# g; y2 m6 A3 d
所以在不使用這個crystal時,能完全不影響到這個i/o pad所連接的cell(學長的i/o pad有另外用途~)/ Y1 c( }6 W: C, Q2 }: d! v1 z

" U0 L0 M7 k+ O但我還是不太懂我教授的意思...且我的schmitt在disable時輸出是要為0...8 O. e% U( Q$ Z2 x: M5 u

2 Y; Q' _5 k% x6 G3 e$ e8 x我實在不清楚我教授的意思...在原本的設計裡不是disable時就是把這個crystal都關掉了嗎?
: M7 a; ^: Z) s/ p, }% q  t) u8 E* b- V9 C+ o& ?/ F; i
為什一定要使用一個tri-state buffer來代替inverter呢?一定輸出要為floating呢?0 n& P8 q, U% L

. @7 V% H) K  h請各位前輩指點一下~非常謝謝~
作者: camilla    時間: 2008-10-7 11:19 PM
各位前輩~
& C: i. p  B2 m6 Z; {
# @6 z" X& r: W1 u我剛剛想到,因為我是接到i/o pad,所以不希望在disable時,crystal會造成電路消耗而影響到真正接到此i/o pad的電路功能...3 d, Q4 g" v! Z, a

, r* m. B" s) q$ m7 z所以我教授才希望crystal disable時是floating...但又如finster版主所講,在high-z會有leakage current的影響...
  C+ y: l7 F  U! L+ R0 x: l9 y8 L' H/ Z/ k: s/ z1 O6 J+ c
那有什方法可以避免這個問題呢?或有什方法可以能有同樣功能(disable 是floating)但卻沒有此問題呢?
& X3 H& ?* \! [: K, ^7 f. `! i8 _; \1 x& e
麻煩各位前輩了~幫幫忙(因為我月底要搭學長的順風車,藏在裡面下線,所以拜託各位前輩了)謝謝~
作者: finster    時間: 2008-10-8 12:03 AM
方法有很多種6 N1 b" ~+ D1 f; g" v* p
附圖是示意圖,實際控制信號自己加上去吧
* |# K' S$ o) o" U
8 o4 P# L6 ?& G' f  i+ Q我前面提到floating 會造成後面一級會有leakage current的問題,一般都是利用傳輸閘來解決此一問題8 \: A0 p% c. x& K0 s
方式就如附圖所示
作者: camilla    時間: 2008-10-8 12:10 PM
不好意思~謝謝finster版主的耐心指教~
  m5 s- A& g/ j: m
6 {$ ~! F) W: u9 C5 e! U我現在改成如finster的建議~不過我對在disable時的輸出不太確定是否正確~
# S/ R, N2 k: g+ m4 w. [3 }8 g7 k4 T7 l' J8 k- }
如附件~是因為floation的關係所以他會慢慢衰減到一個偏壓嗎?而不會是0或vdd....?" `3 J1 q! O6 B2 f, Z* b  N* ]

6 z" l' H- O. C3 Q/ T: Z1 R4 ^$ X. l再次麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-8 04:27 PM
不確定你是指那一個節點的電壓5 d- Q1 C7 P) u
若依照我上面所繪的草圖,在一段時間後應該會降到0V2 p) V6 k$ ^" e+ R+ ~  g

( e7 C# p" z! k& S. w1 M2 E不過,你的模擬圖卻沒有; g7 A* m- g( C9 c
我猜,可能是因為在模擬crystal oscillator時,在crystal oscillator兩端要掛一個串接電阻
, B3 E6 o/ W: q! t2 g  o& w9 `+ W故而在進入到disable時,原本要降到0V的電壓會因為這個電阻的緣故而變成到0V ~ VDD之間的電位,此時,在crystal oscillator兩端既不是Hi-Z,也不是在0V或者VDD
" R* [/ J9 X, H7 Q! ]你的模擬圖應該是正確的情況" v, }! O: T5 R6 X8 u) ~) c/ @
若想要證實,將串接在crystal oscillator兩端的電阻在串接一個傳輸閘,在進入disable情況時,將這條path打開,如此一來,在I/O PAD應該會看到0v的電位
作者: camilla    時間: 2008-10-8 05:46 PM
不好意思~一直麻煩finster版主~, |! Q! h3 L6 k3 ?/ B. O
* `% _& Z$ Z# o2 H7 F  x8 O9 [
我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
4 a4 ~* g' U$ j  `, S
, N) a$ A) ~# [- }8 E8 H+ q& T你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~. P+ @# I. t9 l# o  n; L

) T( c3 F4 O" E3 @; X還是你講的"串接電阻"不是只回授這個電阻?
0 O$ _+ E& T. z" k' P: K9 x) p2 o4 t6 [. w; j) Y
假如我輸出不是0 OR VDD會有影響嗎?
. H0 t; V4 B5 o" n* w
7 _* z5 `7 k9 F% g& F; a& M這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)
' j) E' Z) X/ B- s; ~& \( `5 {" ~1 R5 t% C9 w. M2 `
不好意思再麻煩各位前輩了~非常謝謝~
作者: camilla    時間: 2008-10-8 05:48 PM
我又忘記附上電路了~對不起 2 I$ v0 c& R9 m- V5 m5 c
% w; K  W5 |* B+ @! ?: V" s
不好意思~一直麻煩finster版主~
/ z$ ?% D# @7 q! U, N$ _3 z2 ^" o/ l- f/ ~9 |) E9 Q. h8 j( ^% t
我的電路是如圖,我的輸出是指在INV改成你建議的電路多加一個TG後的輸出那點~
  d7 b) }4 E0 S' o6 v% |7 w
$ s: w# R9 q* {+ v) `/ A8 }# b你講的是回授電阻嗎?但我已經把他用一個tg來代替了,所以disable時這個path是打開的~) \1 }9 K- c, D4 p) z6 s
7 C" F7 ~  }: c, t  [2 h0 S
還是你講的"串接電阻"不是只回授這個電阻?
6 b& E% N3 R% U. J" f  o9 c1 f0 M% {
假如我輸出不是0 OR VDD會有影響嗎?
+ }& n1 \. I" A7 z. o5 k+ o3 ~' X% y
這個偏壓有可能是我的回授電阻(tg)所造成的的嗎?(在en和enb要通不通的情況下一直有一個偏壓存在?)
# C- j, `3 t9 d, V- U! x3 P( R* m+ L4 W
不好意思再麻煩各位前輩了~非常謝謝~
作者: finster    時間: 2008-10-10 08:19 AM
這是我依照你的電路圖所畫的動作圖: p3 V( y* h$ _1 ^3 j# ]7 N
在disable的情況下C1的電容上會有電壓,因為在disable下,電容沒有path可作放電,所以原本在C1上的波形該為振盪的正弦波應該會變成一個介於vdd到ground的一個電壓存在,波形該為你前面所貼的Vout才對
+ ]& A, Q7 X" o; O0 N* }至於C2,因為反相器的輸入級被接到ground,故而在反相器的輸出應該為vdd,而非介於vdd和ground的任一個電壓,所以,若你的輸出電壓介於vdd到ground的一個電壓,這點倒是很奇怪,除非你的反相器的拉力不足以讓C2的電壓在disable的情況下被充電到vdd
  l! G! B9 |: E* h0 C. s2 a5 n6 h若以你目前貼的電路圖來看,在disable下是不會有問題,但,要留意是其他電路接到C1的節點,因為C1在disable下是floating,所以任何電壓皆有可能,那對接到這點的電路而言就有可能會造成leakage current的產生,除非,你在disable的情況下,C1那一節點會有另外的輸入電壓來控制,那就不會產生問題
  m/ M* U& L1 {" A3 v8 p
3 _6 u# ]0 T+ K至於C2,通常是接到buffer的輸入電壓點,在disable情況下,一般都會建議要為vdd或者ground,不會在disable下所接到的那個buffer會有leakage current的產生,而這是要避免的情況# r- ~. L. F" G1 a, X$ I& W: R* E

/ b2 P9 \( [. Y* b% `) S如果你學長的電路在disable情況下要用到C1和C2兩個I/O PAD,那你C2的電壓在disable情況下就不能被拉到vdd,不然會有問題,這點你需跟你老闆確認一下,若有需用到C2那個I/O PAD,那在反相器的輸出級就必需接一個傳輸閘來隔開在disable情況下C2的連接
( i  f+ [# ~- V4 |6 {7 }2 O, k; [& p/ g' g
最後,你上面所貼的圖為Vout的波形??
1 r. ~+ o* o" Z這點讓我覺得很奇怪,若照電路圖的行為來看,Vout在disable下該為VDD,而非介於vdd到ground的作一點電壓,你需再次確認一下傳輸閘的電壓有無錯誤,不然這樣子的波形是無法和你的電路圖作相呼應與解釋,而通常在這種問題下,要不就是遺漏掉什麼,不然就還有其他元件影響到C2的電壓,以致於C2沒有被拉到vdd,' a4 t7 J) A* W

& O2 [/ X) C3 ?7 ?& i[ 本帖最後由 finster 於 2008-10-10 08:47 AM 編輯 ]
作者: camilla    時間: 2008-10-11 05:15 PM
謝謝finster版主的詳細解釋~
/ ]- r! u! X% L& t
4 E. M# R/ c% H, \我學長電路在disable時是需要用到c1和c2兩個i/o pad的...而我現在最主要問題是...' t; B% C0 a$ G* A' @
9 U+ r' l9 @( e- {3 A) y6 j' z
在反相器輸出沒加傳輸閘時,我的輸出在disable時是可以拉到vdd的...
+ C* \/ f; d% p2 J8 V  {7 {6 H, ]2 t- p. U( h. V3 K( n. k
但在反相器的輸出我有加一個傳輸閘來隔開在disable情況下對c2得連接,但此時的輸出應該是要如何呢?  [- \6 t0 a$ ?

8 a* ~* P- a( v; b+ c2 O不是應該維持在vdd嗎?但卻是如圖所示的結果!!
1 H7 t$ H3 V9 `$ N) |7 k* X8 v) L" t' ~5 ]0 S# m: T1 V
是在加入這個用來隔開c2連接的這個傳輸閘後才會有如此的結果發生,是我的傳輸閘的設計有問題嗎?
. T- B& s7 U# {
" f$ e3 X: K9 M9 @. C  J1 ^一般像用來當成disable的傳輸閘有和限制呢或設計條件呢?因為我是懷疑是加了反相器輸出後的傳輸閘的關係...
( b4 l3 `, T8 U, |5 n7 v3 r& o& l0 N
但又不知道這個傳輸閘除了作disable用的開關外有什限制?  }- [& `0 }" b/ z  I4 t9 R

' E% d! Q1 V" f7 s3 {* Q( d' T請各位前輩和finster版主在幫幫忙~非常感謝~
作者: finster    時間: 2008-10-11 11:22 PM
從你貼的模擬圖來看,確實還蠻奇怪的,因為這個現象照你所描述的電路來說有些不合理! M% i  G& G5 w" C
若你已在反相器與C2之間有接一個傳輸閘了,在disable下,反相器的輸出應會被拉到vdd
" d; K* P$ e1 x( H9 ?, D而你的情況卻在vdd ~ gnd的任一電位
4 Q/ _; V) |; H1 `+ {6 H3 p
& ]- L+ N! G$ i/ _+ n0 f你能否確認一下反相器輸出端傳輸閘兩端的電壓各為多少?傳輸閘的PMOS/NMOS在disable下時有沒有電流流過?電流值各為多少?
$ N$ h6 K, q, C) w, w. U, r. V/ _另外,量測一下反相器上方那個電阻在disable下時的電流為多少?8 o! }  w; w! W# N% q
  `: P  p% ~" F. a- R9 |7 p
上述第一種狀況是針對反相器後的傳輸閘作測試,看看有無正常動作
' A2 j. g; d% z3 p至於看反相器上方電阻的電流則在看為何反相器的PMOS在disable下的動作" @' |. X' W6 f: s) S2 k/ f

# ^0 C. G7 j' t( E1 i- ^最後,若你學長都需要用到C1和C2兩個I/O PAD,那你的反相器的輸入和輸出端一定要加傳輸閘來隔開,不然,屆時就會有問題
作者: camilla    時間: 2008-10-12 08:47 PM
再次感謝finster版主~  W7 z9 J) ?5 ^8 ]8 s
4 d- d7 k  ?: q; C( n9 r
我想確定我和版主所講的輸出是同一點嗎?- I) q& r3 [6 |1 T6 [

& t8 L2 {7 c9 `  N% N9 a: U我的反相器輸出是會為vdd...但我現在是不清楚在圖上所標的vout在disable應該是要什麼情況呢?% P2 a0 y6 U# u+ k1 \

6 {2 X+ F) T$ b# J1 Z8 q是介於0~vdd嗎?還是vdd呢?
& P& d( y* k; f1 ?) i" ^1 K, J+ w! f. h0 b) N5 ~& k
因為我是想說在floating時不是輸出在任何一點準位都可以嗎?9 a* M& a: s4 O3 _5 K* G3 o
( k7 z6 Z- c8 H% z5 i0 h4 \
因為我想說我上次貼的電路圖是不是誤導了finster版主了...怕說我們兩個指的輸出是在不同一點的?2 Q$ M+ X, P9 k; D0 ^! `, P6 S. {2 W

* H2 N1 W6 u% ~  D) W再次~再次麻煩各位前輩和finster版主了~
作者: finster    時間: 2008-10-13 11:31 PM
從你目前所貼的圖和你之前所模擬的結果來看是一致的& h4 j! A2 a* T$ X
就如你所言,先前我所說的節點和你認知的不同,所以有所造成誤解- t6 b6 Z: M" q3 w+ [! C# ]4 q
依照你所標示的Vout,它確實會是floating,電壓應會介於VDD ~ 0V之間,更精確來說,它會略近似乎於C1上的電壓
作者: camilla    時間: 2008-10-14 08:43 AM
謝謝finster版主~
5 @- y/ L) k( J! ~' U& ?- g3 K& A: e! }. P7 s5 [' Q
那我可以放心了趕在月底下線了~謝謝finster版主的耐心指教~讓我受益良多~謝謝
作者: camilla    時間: 2008-10-17 01:42 PM
hi~finster版主我又有新問題了~不好意思
1 J2 K  [5 \  Q3 K0 y
0 s! a) @) k2 T. c, [) ~' g我layout都沒問題了等著月底下線~
( N9 y6 U9 W( Y/ L3 b5 U2 Y. C  q8 K
因為在幾篇paper有看到利用相同電路,但crystal model不一樣(原本是13MHz,現在想說看能不能使用在更高速的10M~30MHz); W7 ]* T, J& t' b' {9 z+ U
3 E% Z" M& w: T( e. H- y& R
但改變crystal model後只能在20MHz下正常工作,更高速20MHz卻振福很小(有振,如附圖)
7 y  s6 R3 n# _4 G. J7 M( q6 \1 h* U4 D+ E/ M8 `5 G
我也有想過是driver不夠,所以也有加大但還是一樣,應該不可能是反相器不能工作在那麼高頻率下吧?!, A5 e; J# t2 _8 F! D9 e

, z5 v9 r0 z& r  \. C) ?這試什原因呢?在我不改變其他元件情況下(頂多改變反相器size)有什辦法能解決嗎?/ ]7 @  j0 w# q# d' n2 G
% n0 A' u8 R: _& c
p.s 圖1是模擬出來的結果,圖2是局部放大的結果~這個應該是有振吧?只試振福小到可憐~5 t9 c: ]9 r) T

7 G8 [% L0 ]" Q7 Z5 B9 f7 }請finster版主在抽空幫我看看~非常感謝~
作者: finster    時間: 2008-10-18 02:49 PM
以crystal oscillator電路來說,廠商會提供一個外部參考的電容值和回授電阻值作為參考
6 a0 m. k; w! z% i) r& R故而在不同頻段的crystal會有不同的C1,C2和Rf建議參考值
+ n3 ~  p1 F) `& ]20MHz的crystal oscillator的C1,C2,和Rf並不一定和>=20MHz以上的crystal oscillator的C1,C2,和Rf值相同
3 K" |( E( m& y+ i" U7 m
8 b' F6 b% N1 o* f) n再來,一般來說,大於15MHz ~ 20MHz以上的crystal oscillator,因為主頻較高,相對的第三倍頻也會隨著頻率增高而特別顯著
, B; H4 ~& s9 j) d. m所以,有些廠高會在C2到crystal osciilator的output端再額外加一個小電阻,而這個則是用來阻絕(抑制)第三倍頻的功用,這個在一般的crystal oscillator的規格書上都有寫5 g& \! x, C, c0 @: u

% w6 C2 r' Y  K! `最後,如我前面所寫,不同頻段的crystal oscillator需要搭配不同的C1,C2,和Rf,而且,它的消耗電流也不同
- a  M5 ~& P9 F6 |; c9 R一般來說,愈高頻的crystal oscillator的起振時間愈短,同時jitter也愈大,而且高次諧波也愈明顯
  P" I; p0 W9 n. I所以,請先查一下crystal oscillator的規格書上所寫的建議值,因為你的C1,C2,和Rf值也會影響振盪出來的振幅和頻率
+ g: O3 \/ G2 G0 u; A0 z& f0 ]4 A- O% K+ P' m% x; l
[ 本帖最後由 finster 於 2008-10-18 02:51 PM 編輯 ]
作者: camilla    時間: 2008-11-11 01:07 PM
各位前輩~7 K* h5 a# {/ Y/ y$ ~  w& f2 o

3 Y! Y6 Q: [. U4 n. p之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~* `0 b0 n, ], {' `& ~
* c+ D# q. A" d: o# _. L. X
不過最近在書裡有提到overshoot可能會造成emi的影響~& Z# n% s- z; Z/ D, i$ O6 o" f
# V+ K2 K* Q8 r$ t' M3 ?
我再把我之前做的crystal打開來看,發現我的輸出也有overshoot~
/ F& Q# k# _) M& t! B: [
7 c9 s. Q# T, _: T如圖~這應該是overshoot吧!?2 C7 H7 x3 V3 ~& _# J

0 s* d- `) Q1 R8 H那這個有影響嗎?有什辦法可以改善?" S7 m4 o# E4 B& l3 X# l% [; R  P

0 p" o6 M3 F/ ?# W* l2 e請各位前輩能給我一些意見~謝謝~
作者: pmet2007    時間: 2008-11-12 02:42 PM
正好在煩惱這方面的模擬
# e# g, c4 o" J# u" N有了這份參考資料依定可以成功,感謝
作者: finster    時間: 2008-11-13 11:31 PM
原帖由 camilla 於 2008-11-11 01:07 PM 發表 % t0 _: o- F+ G* ~: Q, Q
各位前輩~) Y! J- ^/ N0 [) @( C

+ i: ?1 `* I+ l* H之前因課程關係做了一個crystal osc(期間感謝finster版主的指導~),且也跟著藏在學長的ic下線了~5 K8 E  _# F! O! i

* G) [4 b' ]1 |不過最近在書裡有提到overshoot可能會造成emi的影響~
" d& @) I4 `& @6 t0 I' K, f+ g; y$ h- D3 U2 T4 I0 A- Y, q  U  J
我再把我之前做的crystal打開來看,發現我的輸 ...
! C( W! P( y7 h$ n% j- w7 A

( V8 a9 [# Q. ~! W; l9 k/ p6 ]
4 k& U, ]# V9 G( e! M% j4 z你這種情況還好,並不嚴重
. H# `8 S0 H2 `- V要想克服這種現象,若在OP,最簡單的作法是改補償電容
1 i; Q' D1 T- P1 ?; ~" I8 E若是反相器,減少driving能力或者在輸出端加點小電容(負載or Buffer)即可
作者: camilla    時間: 2008-11-17 04:45 PM
謝謝finster版主~# G' Y& w0 U3 t1 k( f5 z
- k1 @6 H1 C& Q+ R
你說可以在輸出端加小電容(負載or Buffer),是為什呢?: k7 B( U; H. f: Z( h

5 j# {/ X% T3 G9 y$ v0 d因為我在輸出端有多一組schmitt trigger,這個是我學長要我加上去的,只不過在disable時要為zero,但為什要如此呢?* U% ]3 f- B4 R! d: M+ M& a; @' p

' M* Z* R- S0 _# L, E& a: v我為了要使disable輸出為zero,所以在schmitt trigger後又多加一pull down,這樣應該不會有問題吧?
作者: finster    時間: 2008-11-18 09:58 AM
減少driving能力或者增加buffer其實都是同一個原理的解決方法
/ v% a+ N- W& c  A) x0 {因為你的輸出的driving能力太大了,導致在輸出為"1"時會有over-shoot的現象出現8 `: H/ a& `% Z( Q
故而,把driving能力減弱,可以減緩over-shoot的問題7 R' V" ]7 p3 L# [& o' t
另外一種是增加輸出級的loading,而這種方法就是加小電容或者buffer,如此一來輸出級的fan-out就增加了,相當於是一個loading,不過,我都是用加小電容比較OK" r7 c7 D# `- y  |/ _7 {
; H1 @: _, }2 O- S
至於你問到的第二個問題
+ p+ F" y+ _; s* W/ h/ c1 j" U  W; d這個要看你系統上的需求而定,在disable下要為"0"或者"1"都是看系統的設定來訂定的
- G% {, O) b$ K+ a不過,你用pull-down,原則上沒有問題,但若是在實際產品就不建議,因為你是在輸出級加這一個pull-down,在disable下若輸入為floating或者"0"的狀態下會有一個leaking current path,這是要避免的情況8 g) S9 ?, [6 o" m
再來,pull-down的電阻值不能太小,不然會有一個strong的向下拉,如果你的輸出級不夠powerful,很有可能會讓輸出級保持在"0"的狀態
作者: camilla    時間: 2008-11-20 11:12 AM
再次謝謝finster版主~
. S# Q% u, {9 y" u; s: }" S. V+ m+ \4 j$ M! D
最近比較忙,所以現在才上來看你的回覆~
2 j& u! @/ t* B# c% v: l" Z
7 s. L  d8 k. O( \8 C: I前天被學長問了幾個問題他也不知道,我也不太確定回得亂七八糟的)
5 a7 J" N& a- k% r3 k/ j* M# ]
3 I2 t) W8 k9 r1. 你crystal model上網抓,那你的設計是針對網路抓的model來設計的,那如果套上實驗室現有的crystal的話,能動嗎?
1 A  M) `. F, ^: I! ^
3 z. Q" \$ \1 g( n7 K4 g) {2. 輸出級只是要它產生成0/1的數位輸出,所以我指要用反相器應該也可以吧?但這樣不是在crystal model floating時出電壓是任意' T% \; N. K$ v6 M' v6 ~/ X0 v# s5 ?
   值嗎?不是有可能會造成輸出級反相器在disable時是導通的,造成vdd_off變大嗎?有什可以降低這個問題呢?4 g6 b/ e$ J! {5 M/ m6 Z& ?

# V3 X) O& f9 U9 e/ ^7 U1 \3. 我在原本輸出級是史密特時,套上25MHz以上的crystal model時,電路是不振的,我想說是driver能力不夠大,所以又在schmitt多加 3 y5 b, y- d$ n
   一反相器來推他,是可以振了但電路消耗電流卻變得很大,是我想的不對嗎?是其他原因嗎?' W# I9 s& |- n# f
4 r  r- u2 B2 m+ G
再次麻煩finster版主了~謝謝~
作者: finster    時間: 2008-11-21 02:33 PM
1. 不一定,因為不同廠家所生產的crystal,其crystal model都會不太一樣,所以換不同廠家的crystal oscillator也許會起振,也許不會
7 V9 l3 @/ r  z/ L    不過,通常都會起振,因為不同廠家的crystal model不會差太遠
6 _& d5 f; e( L' ?4 D2. 不太了解你這個問題要問什麼. f+ O6 S) I+ L4 T/ X" z, {6 w- |
    基本上,crystal oscillator 的放大器用反相器或者NAND都可以,用NAND只是要有控制腳的function,而在disable時,輸出要為"0"或者"1"或者floating都可以,但要看輸出級後面接的電路能不能接受"0"或者"1"或者floating' T4 `# w/ d7 f5 X
) {9 ]6 u4 j3 `& X/ z" I1 @7 Y% ]
3.這個你可以看一下振盪的waveform,我在猜可能是你的振盪振幅太小了,以致於在schmitter trigger後面無法trigger後面的電路,而加了一個buffer後,把振盪振幅放大了,但,這個buffer會因為schmitter trigger的輸出振幅太小而會讓這個buffer有著極大的電流消耗
作者: camilla    時間: 2008-12-1 01:31 AM
不好意思~finster版主~
2 e7 j1 r0 m: i' N. V  A3 i% `# B& S  |) Y
我的文章沉到太下面了,我以為沒人回所以就試著自己找解決方法~今天才看到~很感謝你的回答~
. s, \- e: L$ {. ~* k% t2 S; W& w( W$ ~! r
我的震盪波形在接上schmitt後變小了,是什原因呢?1 O4 ~' t) p9 ?8 g" c
6 p  n" ~  q: z6 v
我目前有試著利用一個nand+inv來取代schmitt(因為我在schmitt的輸出在disable時希望是0v)3 W5 W9 x1 n$ y9 K
3 y; s+ Q( e( {9 a1 Q6 ]
是沒問題的(在disable時的電流有2mA左右)...但我又怕說會有glitch的問題,所以才想說利用schmitt來產生一個high,low的輸出...1 ]7 d+ O" p, G" q
, x5 Y. f# B, x" O# J
若使用schmitt又會只在25MHz以上的頻率才會有這個問題,所以我不知道要如何解決這個問題... " y1 ]1 q0 R! ~, t& Q6 k" o# [

2 V1 A- f; n( B9 Q- T2 w7 [+ W/ s2 j但在振盪輸出和schmitt之間加了反相器卻增加了電流的消耗,有什可以解決得嗎?是我設計的schmitt有問題嗎?(但怎會在25MHz以上才有這個問題存在)' s0 c1 a8 w) K9 r; K. D4 `' T

4 F+ Q- Z  ?+ L$ p5 Q* k5 V. c可以麻煩finster版主在給我一些建議嗎?非常感激~
作者: finster    時間: 2008-12-1 11:08 PM
你的振盪器的原本振盪波形的振幅有多大呢?接上schmitter trigger後振盪波形變小多少呢?8 e1 G2 L" a" H0 C! J
另外,你schmitter trigger的vih and vil又各為多少呢?9 ~. L6 P4 K0 t0 Z. J  v

& K3 N6 w: U" C0 p% B7 r3 ?- K因為我不知道你這些條件,所以無法回答你的問題4 r* q# I) I( g' D9 N0 z7 U5 w

6 H. }7 W$ N7 q至於你問到要降低消耗電流,這個問題需從你的振盪器著手,因為你的振盪波形並不是0 ~ vdd,所以接在振盪器輸出級不管是反相器或者schmitter trigger都會很耗電流,解決之道惟有改進振盪器的輸出波形
7 l2 F) t3 ^4 d: o: w) G. k6 f+ y  a3 u6 ]
[ 本帖最後由 finster 於 2008-12-1 11:33 PM 編輯 ]
作者: camilla    時間: 2008-12-2 01:28 AM
真是太感謝finster版主無私的教導了~ / }: K6 ^* g4 L  h. Q
" I7 J- S; K4 s# y! s
我原本振盪波形振幅是0.3v~3.2v...7 e9 l9 N) b0 m5 o. l7 G* Z6 c* M
; J- D. b) I! g3 e8 I
但接上schmitt後竟只剩下1.45v~1.58v而已...  v' W- I6 z' |, T5 \1 l% w

9 n4 n, ~- @( I而我的schmitt vl=1.4v,vh=1.6v...(我也有試著把schmitt的觸發電壓改為1.4v~1.5v,但還一樣,很奇怪??)! N% x) W/ R8 d0 ^0 E/ W* T9 n

0 t1 g+ {' ]/ ]5 x/ F! ^但為什我同樣電路但crystal model由25MHz改為20MHz卻沒問題,只有在25MHz以上才會有問題呢?
8 n- V$ I! A6 L% B$ N7 V4 b; y" b- g7 X, X& ?, Q
(其它頻率範圍下振盪波形依舊會在接上schmitt時而變小,但就只有在25MHz以上才不會振~)
6 x8 u8 n' t7 x8 h
9 N/ c& u2 [$ @# ?這個問題困擾我好久了,我有想說就直接把schmitt改成一個nand+inv一樣可以達到我要的在disable時輸出為0...
& o; O4 e3 v1 A9 s, B4 H, `' k+ S7 d6 g" _) k# G3 v
但我不清楚說schmitt的優點在哪裡,除了能抑制noise,減少消耗電流外...
2 b! C, C+ k: T1 s2 b; s) K/ _" h1 G8 _$ ]2 y6 U. [) {6 t" h3 C
若用nand+inv除了可能會有glitch外有會有什不好的缺點呢?(和schmitt相比)
% i8 c' e+ t: m6 s1 i
% T! z0 A# ?1 @: C3 \我想說若可以的話就使用nand+inv一樣也可以達到我的需求,消耗電流大概在1mA左右~
1 c" }, J; U3 ~3 M6 l; J  w
- j& q5 B8 a2 g$ e  t6 D: Q5 D再次~再次~在麻煩FINSTER版主了~非常感激~謝謝~
4 g3 A1 c1 a9 C" o4 a$ D# A# I
! Y! t4 I+ H5 I! S# O0 ?p.s 圖為我使用的schmitt~
作者: camilla    時間: 2008-12-4 09:00 AM
~又被沉到下面了~請各位前輩幫我看看吧~謝謝~
作者: finster    時間: 2008-12-4 01:26 PM
從你的描述來看,應該是振盪器的driving能力太弱,以致於在加上一個schmitter trigger後才把輸出波形給變小; {$ D, V1 |" P2 E0 q5 k
關於這個現象,你可以從你的模擬中重現這個現象2 k" W0 I( @# _
你在模擬時,先不加schmitter trigger,然後在振盪器的輸出端加一個小小的電容到地,我想,你應該就會看到你的振盪器的輸出波形會整個變小
, R) e; l% F# P5 n# s而這點,主因乃在於你的振盪器輸出的推力太小,以致於一點點電容loading就會把輸出波形的振幅給變小, I& O; U! D  k1 `& G" t0 O9 g7 n
而要改進這個問題,只能把振盪器的driving能力加大
: G9 ^: v: k8 v1 J8 ]  S2 T& n) a; Y: }5 \- d5 ^3 f0 F
至於你問到為何只有在25MHz以上才有問題$ D+ n% U" h1 O: ^( R4 o& Y
這點,其實也跟你的振盪器的driving能力有關# p0 t# w. U! Y
因為在crystal oscillator中,振盪頻率愈高,所需的電流與driving能力也要愈大
! m5 S8 g6 I" [' J, C而你設計用來振盪20MHz的振盪器來推25MHz以上的crystal oscillator,當然振幅會明顯被壓小,甚至有可能不起振: j; J4 r2 X$ B# O* q1 b4 {

/ D/ \0 c2 s2 ]" j$ g3 @4 _至於schmitter trigger的優缺點' Q5 Y* m2 {6 x$ K. g5 M
其實,就如你所言,它的最大優點乃在於它有window特性,故而對於noise有較佳的抗雜訊能力,也因為這個理由,所以才會使用schmitter trigger! K6 g7 n  g6 L4 h+ H( n- H
基本上,如果只是學術,用nand其實就可以了,若是業界,我個人都比較建議用schmitter trigger會比較保險
作者: caesarxl    時間: 2008-12-17 10:21 AM
留名关注,日后学习
) [8 u9 d2 {1 l, ~! I* _- Z谢谢分享。。。。。。。。
( e3 B; O7 a$ u2 y2 q" F。。。。。。。。。。。。
作者: camilla    時間: 2008-12-17 05:56 PM
超級謝謝finster版主的解答~ . y. p+ n9 ]) q7 ?

3 F& T  }8 B0 _9 H1 `$ t% T3 F0 w' V/ V最近全實驗室都在忙年底要結案的計畫,直到這一兩天才有時間繼續自己的事~很對不起~
+ f, R4 _- J( i% F
; c1 f* h4 H" P. r; ~' ?我加大driver後是沒問題了,不過我有幾點疑問想在請問finster版主,請finster版主能再多多指教~; o* |" G% p) o( z" @
' A# E. {/ ^" @2 j8 K
第一~ 通常crystal的消耗電流會有多大呢?(雖然不需要設計到很小的消耗電流,但我又怕自己做的crystal會很耗電)
1 g9 L1 g. Q, S1 n, F# k5 b* s% B1 w& z1 ~1 n$ T
第二~ 我想讓設計的crystal的startup time能快一點,可以如何設計呢?(我希望能快到20~40us左右)
4 _6 _5 x8 {6 c0 q
) D9 g( [) G) u第三~ 我在schmitt的輸出會有這種情況,不知道是為什?(這是一開始時的輸出,等到它穩定後就不會再出現)
/ P  z$ z7 c) `& x" y/ e. e! _, _& i" \! G7 V8 I
麻煩finster版主在指教,非常謝謝~
作者: finster    時間: 2008-12-19 10:16 AM
關於crystal oscillator耗電的問題,這個其實並沒有一定的標準
6 O5 U. E9 t: m( S) D因為crystal oscillator本身其實是蠻耗電的,除非你是設計32.768KHz的crystal oscillator這種才會設計成很省電,不然若是5MHz以上的crystal oscillator電路,它本身的耗電程度都在mA等級以上,這個原因是因為頻率愈快,它所需要的rise time/fall time要愈快,所以放大器或者反相器的耗電就要愈大
" S7 x3 k- F1 c2 w8 w
8 n5 d2 D2 f( I0 z- l若想加快start-up time0 M" P2 T$ I7 L' f$ Y; H  o
最簡單的方法則是加initial circuit,讓crystal oscillator在一開始便設定它可以振盪的電壓準位,提早讓crystal oscillator反應出相對的phase差的振盪* t# C  i" p' Z* c1 T* f( A

7 T! A# l" Z$ f7 j至於第3個waveform情況,你可以把輸入信號秀出來,你就可以知道為什麼了,這是因為crystal oscillator尚未達到穩定的振盪波形,所以輸入的waveform振幅會有點忽高忽低的,以致於schmitter trigger的輸入會接收到變化的電壓,故而輸出也會不穩定,這是合理且正常的情況
作者: camilla    時間: 2008-12-19 04:33 PM
finster版主~
& f  r7 b3 v( i/ [. r2 n) G" v
7 j- H9 |* o6 `3 p( n! u% c我看不到你的回覆呢?好奇怪~可以麻煩你在發一次給我好嗎?非常感激~
作者: camilla    時間: 2008-12-22 09:21 AM
謝謝finster版主~  c: k0 h! }& t) s
! \# ]' [: g4 @5 M
應該是我電腦問題~可以看到你的回覆了~謝謝~
  U/ f6 F& Q* v" `4 V$ c
6 [; H5 s2 D% E2 S8 N; o我了解我問題的原因了,不過我對startup time總是不了解,
* q. Y  ?8 S# G! w3 o9 N
: i2 K0 V" X: w! _7 U  A3 |# H8 j我是想有無辦法不另外加initial circuit來加快startup time嗎?
' r' @& R% `& s; z8 j! Y, c" e# u1 K9 R+ F- p( B
我是想說可以改變現有的元件參數來加快startup time嗎?
6 m/ `4 M: A2 @2 g! P( P5 [9 ]! W! G, c6 ~2 w' \; E- O$ M8 `6 \* C
例如改變crystal model的負載電容等校的那兩顆電容(C1,C2)或R1
0 x  d$ w* l, ?) n2 n4 |6 U5 `7 o1 z9 C, O. _
因為我一開始是針對13MHz來作這個crystal osc,
4 V7 z# r) g: n+ ~+ X3 L8 r$ G7 r% V
所已在改變crystal model後(改成20MHz,25MHz),原本想要的結果就會改變,
  s- N2 C6 t  Z, n' j4 O1 L+ o/ }
: G/ W" S6 f/ F( R: S3 e  Y+ o是不是這個架構在13MHz時是最好的,但在改變crystal model後所有特性又會改變?
+ K6 L7 G! _7 c, K) K9 o; y8 T* T& n- s# Z4 D
有辦法說可以設計出適用於4~25MHz的電路,但startup time, 耗電又都能符合我的要求嗎?
# K2 P4 p# e6 P+ w
5 @( j2 a( J2 P1 X(我目前13MHz這個crystal 架構若套上20MHz以上的model後,startup time,耗電都會明顯增加改變)
" ^. x6 D) E; \- l6 n( w
. ]) d* w+ ^8 ]0 k# Y# |9 l不好意思~問了一大堆問題~再次麻煩finster版主了~謝謝~
作者: andy2000a    時間: 2008-12-22 05:30 PM
有 disable 能力  的 gain
( y( A. \, i: a8 h要高點
" {+ X$ G8 t' U( ?& F( c3 g8 O( H0 |" f) O  T$ E, m/ M
hspice  sim 會動1 p% J3 F$ B; A
; Y! P2 [+ N) A) @, ^; u1 @
real chip  可能不一定會動  
9 j1 |* L5 e+ w
, y5 ]% g) j" V5 p! {1 G: u而且 不是 所有的 fail  是部份   O. ]  `: s! y% I
那就是 gain 太低
作者: finster    時間: 2008-12-23 06:43 PM
原帖由 camilla 於 2008-12-22 09:21 AM 發表
7 h. z! D+ m8 B謝謝finster版主~% w: }* N: p7 ]$ [
3 H4 S. k6 L( ^  c# P  O
應該是我電腦問題~可以看到你的回覆了~謝謝~8 c0 x" B4 e, W$ E7 T
  C7 r  ^8 Z, V' U- ~3 F1 e; e2 ]9 l
我了解我問題的原因了,不過我對startup time總是不了解,
* ^! D* c8 ?: U4 g4 ?3 E. q1 _! \0 |  L
我是想有無辦法不另外加initial circuit來加快startup time嗎?
  t: Y8 _, J' J+ L0 z2 ?- y9 e$ r
我是想說可以改變現 ...
6 D. L) u. q' w$ o$ v/ j' ^% s
  W. U3 g2 }& V! F' F# x0 A5 o
# [/ F4 {! J# R* _7 U0 w
5 r% z8 E; k& k$ \5 ^! S
先回答startup time的問題
+ x! |) x. P4 w7 s; j/ A0 n+ b8 @在不增加initial circuit的前提下想加快startup time並不是不可能,只不過要先理解crystal oscillator的理論,而這方面討論的paper只有早期的IEEE才有,比較偏理論,你可以研究一下8 R' q! ^! {9 |
至於你想改變外部r,c來加快startup time,這種方法的效果有限% b' c* P) o) x+ E& B
因為只要改變了外部的R,C值就會間接影響crystal oscillator本身的穩定度等issue,有時也可能會造成不起振的情況,所以若要改變外部R,C值,個人是不太建議你朝這方面去作, H+ N7 d& c# y# y. ^

! V5 \) n5 p9 E2 F1 ^2 [每一個範圍的crystal oscillator都有一定的design需求,目前很少有一個電路能夠涵蓋4~25MHz的range的crystal oscillator
: q( W! z1 o& w: n5 T目前大部份都是針對某些特定的crystal oscillator的頻率作設計: \& F  G2 ~1 M/ Q: Z
而且愈高頻,其crystal oscillator的考量也愈多
作者: camilla    時間: 2008-12-24 01:14 PM
謝謝FINSTER版主~- N+ T2 B5 `5 a; q: G

7 s0 J1 ?4 a2 b我知道了,謝謝你的耐心指導~讓小妹收穫良多~
$ Y- f; B  }' e# {- ~& G* {. D" S8 v! i
我之所以想要做個可以涵蓋4MHz~25MHz電路,是因為我教授當初是要我做個crystal osc,freq是由4MHz~25MHz,9 s6 X4 c7 D% ?, m$ M6 M/ C1 O
" K" w! }: K  y, F: @
且有人作過,但我試了很久還是沒辦法,為了讓更高頻可以振,而加大driver,但卻使得頻率較低的startup time變大甚至不振,
6 ]4 a1 p' B; ~. q$ M# v; C1 ]. L
: y! K( P8 J9 I  Z+ u試了很久,我會再問我教授他真正的用意,是不是我想錯他的想法了~
- h0 L  @# J) P0 u! X! S4 N; z
  _3 ~+ {5 j  x至少目前我對crystal是瞭解了~
8 a: z, q% Z, A6 e
9 l. {( u9 a1 d" A超感謝finster版主的指導~謝謝~
作者: camilla    時間: 2008-12-25 10:02 AM
不好意思~finster版主~4 N2 U( ^3 M# X' ~! Y0 R( u
/ L% ]- g; z3 j
能再請問一個問題嗎?
) a$ A" E* a! u. F/ M( O# n" a( s8 c) U' @2 V- E
startup time的定義是指什麼呢?$ n+ b: g, k% i" p; _

3 m% d% B' _/ H/ ~' [有些paper是指vdd從0v開始上升到穩定後,輸出也開始起振的這段時間(但不是輸出振幅到達穩定了),就稱作startup time
5 K: m' q+ n9 k
/ T. G5 u- [4 ]* v* b; m有些是指輸出振幅到達穩定(某一個值)的這段時間,就稱作startup time
+ x$ M5 O, {. Y
$ Z, x6 {4 j  v  C0 k0 c又有些是指輸出duty cycle穩定後(都相同後)的這段時間,就稱作startup time
: Z) @) q6 C+ {, C" l6 H( @
' A: b! ]* H( Y$ Y7 p. U" s那到底startup time是指哪段時間呢?! @4 u7 I0 O. b* e* c. m# `% L
' L0 }! U7 M, i" K
請finster版主,或知道的前輩能指教一下~非常謝謝~
作者: finster    時間: 2008-12-27 12:38 AM
以目前我所知道的startup time的定義來說
9 m6 O* o  z* X它是指crystal oscillator從一開始沒有任何振盪到完成振盪且穩定的持續振盪時間稱之為startup time
3 Y( U7 g7 L4 v& @' c7 o! t: q
因為我們在模擬crystal oscillator時都是以vdd從0V昇到一個穩定值作為crystal oscillator作為一個初始值,所以有些人就會把從vdd的0V到crystal oscillator起振且穩定持續振盪時間稱之為startup time,而這種說法其實並不是非常正確的定義
% F0 I, c+ \# x$ C2 @% f) @. R$ O4 X* A/ T! A& ^
不過,目前在startup time並沒有一個很統一的定義,而我所知道的那個定義也是從IEEE Journal paper上定義所知道的,而那份文章是很早期的paper,內容寫了一堆理論和公式
5 G  }* C5 V5 N- m0 `4 E- w, n0 l( j$ g5 s  y
最後,crystal oscillator要作到4MHz ~ 25MHz並不是不可能,只是較為複雜,以前我也作過,後來我也只是覺得沒有必要弄到那麼複雜且麻煩
作者: camilla    時間: 2008-12-27 07:19 PM
謝謝finster版主~
- F6 Q& `- O6 Y; ?$ M& ?' g, Q5 u. d7 ~- [( @9 c9 c
我對startup time了解了~! ^3 v0 B; K5 \- k( x5 {

  j6 C% S" k+ o1 m9 F我昨天試過用spectre跑了一次crystal osc...% I& u( y7 A& L- _
7 L: j+ A7 ~, S! N4 j
不過竟然和hspice跑的結果不一樣,同一個netlist 13MHz跑出來的消耗電流和起振時間是不相同的,
# U5 C; d5 ~% k  N
# w  h4 @( o) E) x6 a& }0 ~消耗電流小很多,而電源電壓給0到vdd,但輸出竟從0v就開始振了,所以startup time也跟著減少很多...
# J7 s# M9 {' k  B
0 o' B0 h, [5 w' N- V一模一樣的netlist為什會跑出不一樣的結果呢?0 O' q3 _7 q' f' k& l6 d& `) c' M

& d9 C" p+ W4 l- M+ G; q另一個問題是,你所講的加快startup time可以加一個initial circuit,有範例可以參考嗎?因為我的startup time實在太慢了...
9 H& k9 t5 v3 v; p3 j0 {4 t
/ [) X* T9 ?% I(一直被學長嫌)4 ]9 e9 m- v8 R4 r

, b7 b* a' `0 }( e; O; l2 d4 F# b1 s1 i) M) j/ E0 S' a
p.s 很感謝finster版主不耐其煩的一直指導我,不過因為我實在有太多問題了,希望finster版主和前輩們能繼續給我指導~謝謝~
作者: finster    時間: 2008-12-28 12:44 AM
關於spectre與hspice兩者之間的差異
  g: B- w0 z4 R! Q4 Q" R這個問題我以前也遇過,只不過,這是一個沒有正確答案的問題
2 x8 c1 I/ {+ I, }8 \' W* C, V  O據我所知最早類比電路模擬軟體是hspice(我不確定以前是否還有其他版本),而這套hspice模擬軟體對類比電路模擬來說可以稱的上是聖經,其他研發出來可以作為類比電路模擬軟體都是拿hspice來比較,其他模擬軟體愈接近hspice所模擬出來的結果愈所能夠得類比工程師的可信度,只不過,hspice也有bug,也有它不足之處,而這些bug在某些想取代hspice軟體而言也許會有比較優勢之處! q, S5 Y0 s; U! J3 G+ w
6 c- |% V+ k# c; T3 b
故而,回到你的問題,hspice和spectre兩者跑出來的結果要相信誰,基本上是要相信hspice跑出來的結果,只是,不知道你會不會誤觸hspice的bug,而這個bug恰巧是spectre所能夠避掉的問題
2 ?7 u7 u% N! K3 ~# \8 `3 `以前我這兩套軟體都有跑過,95%以上都是相同的模擬結果,只有極少部份才會有不同的地方,而且只有在某些很特別的情況與應用電路才會有不同的結果出現,所以,建議你先相信hspice的結果,然後再推導看看是否合理,若不合理,則再回過頭來看看spectre的結果: [0 {( ~) `+ Q) x; @% C0 O

4 N7 w3 Y3 [# T1 ?4 e至於startup time的問題4 c+ M4 ]0 f& f3 `" |: Y# m
加快它的速度是我個人從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版主~
3 }- @3 P: p$ q; V8 p! C! y* K# k' F
( A5 ~% e& d1 H, [8 N超級謝謝finster版主這一連串不耐其煩的指導,讓我對crystal有更深入的了解了~超級感謝~
作者: hongx    時間: 2009-12-30 02:58 PM
此篇看下來真的學習到很多知識!7 O. l+ [8 |6 o
" P# l4 f0 D! z& [- L% Q
往後遇到一樣問題可以從中學習!




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