Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
123
返回列表 發新帖
樓主: camilla
打印 上一主題 下一主題

[問題求助] crystal oscillator不起振~

[複製鏈接]
41#
發表於 2008-12-19 10:16:00 | 只看該作者
關於crystal oscillator耗電的問題,這個其實並沒有一定的標準, i( w" V* H3 ?$ ^- K9 V4 w+ E7 c! x
因為crystal oscillator本身其實是蠻耗電的,除非你是設計32.768KHz的crystal oscillator這種才會設計成很省電,不然若是5MHz以上的crystal oscillator電路,它本身的耗電程度都在mA等級以上,這個原因是因為頻率愈快,它所需要的rise time/fall time要愈快,所以放大器或者反相器的耗電就要愈大
: A6 l4 ]( U0 s) v, m# a, n: _3 Z3 D3 e* e
若想加快start-up time7 n4 r0 l' F2 Y
最簡單的方法則是加initial circuit,讓crystal oscillator在一開始便設定它可以振盪的電壓準位,提早讓crystal oscillator反應出相對的phase差的振盪
6 h' R8 X8 O/ p6 e# v) U
9 ~3 X7 Y& S5 r* Z; I至於第3個waveform情況,你可以把輸入信號秀出來,你就可以知道為什麼了,這是因為crystal oscillator尚未達到穩定的振盪波形,所以輸入的waveform振幅會有點忽高忽低的,以致於schmitter trigger的輸入會接收到變化的電壓,故而輸出也會不穩定,這是合理且正常的情況
42#
 樓主| 發表於 2008-12-19 16:33:30 | 只看該作者
finster版主~9 g5 ~1 i  C  ^
$ s* f6 \( D- d
我看不到你的回覆呢?好奇怪~可以麻煩你在發一次給我好嗎?非常感激~
43#
 樓主| 發表於 2008-12-22 09:21:05 | 只看該作者
謝謝finster版主~( }5 y  |/ q9 e

' F( ]6 j! A" i% ~1 a應該是我電腦問題~可以看到你的回覆了~謝謝~# G+ F9 b0 l  Y/ l" d# D% w
/ I* k% B8 I: r& i
我了解我問題的原因了,不過我對startup time總是不了解,
6 @$ X" w# V# r; ?6 O+ V
) p4 V" d4 p, n9 ?1 L我是想有無辦法不另外加initial circuit來加快startup time嗎?
7 }& }5 P: Y4 t1 F! p
2 b* `9 H3 K- S( c; E) D3 \) E我是想說可以改變現有的元件參數來加快startup time嗎?1 N9 I3 X8 V, s$ i; }' w) Z
( Z2 t3 \4 o& f
例如改變crystal model的負載電容等校的那兩顆電容(C1,C2)或R1# i# t8 t! V2 ]" ?0 C

- Y& e& P6 j  a1 U因為我一開始是針對13MHz來作這個crystal osc,1 `/ D: N8 e7 ]7 I- W
% D2 F( F: m: f, y& }
所已在改變crystal model後(改成20MHz,25MHz),原本想要的結果就會改變,+ {$ M" ^3 `! `8 l3 b$ F

2 C0 t0 d# `$ T1 f' O  v, Z是不是這個架構在13MHz時是最好的,但在改變crystal model後所有特性又會改變?7 L0 v. y) ]3 u0 V$ p( v

" a8 P- h/ l, G% U有辦法說可以設計出適用於4~25MHz的電路,但startup time, 耗電又都能符合我的要求嗎?
# z+ \6 R2 g' U  _' F
8 E3 n" A# P; O1 k8 A(我目前13MHz這個crystal 架構若套上20MHz以上的model後,startup time,耗電都會明顯增加改變)
: }9 Y" w( _  [/ P  z% s# s: K+ u' i
: H. V+ j2 J6 S3 A7 s不好意思~問了一大堆問題~再次麻煩finster版主了~謝謝~
44#
發表於 2008-12-22 17:30:15 | 只看該作者
有 disable 能力  的 gain3 l4 B4 k0 D- |& t. _/ {
要高點4 H, O2 v4 s8 C: Z* Y& y4 d8 e' N% a

; Z5 k- D; N( Y; Q: y  L7 W, Xhspice  sim 會動" N1 E  T; A3 J2 g7 I
. u4 e( P; d2 [# T3 m& t9 m
real chip  可能不一定會動  
9 t; U7 C! ?* y6 }  Y* D) k
: l( X% s( I: b8 c' B5 i而且 不是 所有的 fail  是部份 9 n; K: a9 r3 I4 q4 l' W
那就是 gain 太低
45#
發表於 2008-12-23 18:43:28 | 只看該作者
原帖由 camilla 於 2008-12-22 09:21 AM 發表   }. X+ P! D) v* `3 {: |% o$ O
謝謝finster版主~
4 I- l9 K9 h9 Y" p. s' o4 L
5 ]' r/ O: ^0 q3 D* A應該是我電腦問題~可以看到你的回覆了~謝謝~
4 ^4 }; a( A0 l  e$ [) i; r  q; x/ [! h  Y/ m  u3 N0 b; D
我了解我問題的原因了,不過我對startup time總是不了解,
- G3 P6 u) _7 @4 @/ @1 d8 g' u, }( a' l
我是想有無辦法不另外加initial circuit來加快startup time嗎?" ~& d- M) e! n

# L. [( I8 O3 z, R: T' j5 I, W我是想說可以改變現 ...

: _- ]' |, V$ n4 k: [. W0 m* L8 X: c* N  r- r( U/ U0 C1 g" l) y3 [
& `3 Y. @3 T7 W# J& E# X3 O/ I
" X+ W, L' Q' {( t; D% p. y2 C
先回答startup time的問題
; m& A* Y- R; A3 p. a1 y1 n在不增加initial circuit的前提下想加快startup time並不是不可能,只不過要先理解crystal oscillator的理論,而這方面討論的paper只有早期的IEEE才有,比較偏理論,你可以研究一下$ I- a3 T( i6 n$ G$ w2 V; K1 d
至於你想改變外部r,c來加快startup time,這種方法的效果有限: n% M# s- G) B& f
因為只要改變了外部的R,C值就會間接影響crystal oscillator本身的穩定度等issue,有時也可能會造成不起振的情況,所以若要改變外部R,C值,個人是不太建議你朝這方面去作
8 p* ^1 M7 U6 P4 @+ |) ~/ N! E0 ?+ d+ z4 y
每一個範圍的crystal oscillator都有一定的design需求,目前很少有一個電路能夠涵蓋4~25MHz的range的crystal oscillator
7 e) b7 M* n6 S% \) [; g0 u, i) c, G目前大部份都是針對某些特定的crystal oscillator的頻率作設計8 \0 N) r7 [# l& H8 V6 G* X4 a
而且愈高頻,其crystal oscillator的考量也愈多
46#
 樓主| 發表於 2008-12-24 13:14:13 | 只看該作者
謝謝FINSTER版主~
: B7 k3 z% @; G' i6 {$ ^" `: B2 n6 B$ t5 t" G' Q) i( z# s7 G
我知道了,謝謝你的耐心指導~讓小妹收穫良多~$ x4 M0 E" K* O# \( c4 v
$ v/ T# @3 N( l5 q' Z( C' e! d4 Z
我之所以想要做個可以涵蓋4MHz~25MHz電路,是因為我教授當初是要我做個crystal osc,freq是由4MHz~25MHz,- m2 ?( s2 f5 Y& C$ O" ?

% L. Y# T. l8 g6 l0 @+ _且有人作過,但我試了很久還是沒辦法,為了讓更高頻可以振,而加大driver,但卻使得頻率較低的startup time變大甚至不振,. [* t% C3 C* ^9 b" I+ I8 K

7 B/ G0 Q( }/ I+ o試了很久,我會再問我教授他真正的用意,是不是我想錯他的想法了~: A( w+ |' f  H. G9 B% Q
  X9 M+ x( U' b, }( W/ k: y
至少目前我對crystal是瞭解了~" G& i6 ?( ]' v* P% G3 s4 P* s

6 B1 ~$ l2 a: S# |1 F- ]超感謝finster版主的指導~謝謝~
47#
 樓主| 發表於 2008-12-25 10:02:28 | 只看該作者
不好意思~finster版主~
. S/ _/ L, \: ]7 R5 W' A; k% N; Q/ U
能再請問一個問題嗎?
6 D: B8 E& T2 W8 l0 y8 M0 Q% U* V
+ S2 Z) z" q- G/ L% J8 H0 cstartup time的定義是指什麼呢?
* r' I' v, u0 M7 G2 ~( D7 L  g9 M. B! ^% \  K& I
有些paper是指vdd從0v開始上升到穩定後,輸出也開始起振的這段時間(但不是輸出振幅到達穩定了),就稱作startup time/ h6 ~9 ~' `2 n5 R" d
1 K' C" \" I- \3 C5 ~
有些是指輸出振幅到達穩定(某一個值)的這段時間,就稱作startup time
" p* d& h, D$ y8 B+ |0 k
) W8 J+ @1 f- [2 X又有些是指輸出duty cycle穩定後(都相同後)的這段時間,就稱作startup time. |& Q5 t, A& h' G+ o" [

, a, D: V4 b0 M. m" A+ X6 s# h' r那到底startup time是指哪段時間呢?0 n4 ]: \0 z( q
" ^7 C: Y( x/ Q- m! T
請finster版主,或知道的前輩能指教一下~非常謝謝~
48#
發表於 2008-12-27 00:38:03 | 只看該作者
以目前我所知道的startup time的定義來說# T7 S; v$ K* c( G& h( \
它是指crystal oscillator從一開始沒有任何振盪到完成振盪且穩定的持續振盪時間稱之為startup time
; P( [; C6 P0 I9 X5 q. g. B% H2 i7 R. r% l  A/ g
因為我們在模擬crystal oscillator時都是以vdd從0V昇到一個穩定值作為crystal oscillator作為一個初始值,所以有些人就會把從vdd的0V到crystal oscillator起振且穩定持續振盪時間稱之為startup time,而這種說法其實並不是非常正確的定義0 w- ~2 p4 ?/ @9 X/ T+ \
, f9 S8 d) k2 g5 W/ Z" i5 z* H' ]
不過,目前在startup time並沒有一個很統一的定義,而我所知道的那個定義也是從IEEE Journal paper上定義所知道的,而那份文章是很早期的paper,內容寫了一堆理論和公式
* Z4 `& o9 f) O$ e; b
" P* `1 T) Q' c5 y+ M3 E9 g最後,crystal oscillator要作到4MHz ~ 25MHz並不是不可能,只是較為複雜,以前我也作過,後來我也只是覺得沒有必要弄到那麼複雜且麻煩
49#
 樓主| 發表於 2008-12-27 19:19:48 | 只看該作者
謝謝finster版主~2 O$ V% s( }2 F( v- ~2 P2 P1 h
$ [0 m- H5 {# ]
我對startup time了解了~
! E# `4 D, _2 P* ]0 D! Z
0 F- u1 s  v: O9 a+ U4 N$ ?  f我昨天試過用spectre跑了一次crystal osc...
/ l- H- \3 W* Y. Y% K4 c& {) J1 i2 b2 b; b; v/ G% m. Z* }6 Y( b2 b
不過竟然和hspice跑的結果不一樣,同一個netlist 13MHz跑出來的消耗電流和起振時間是不相同的,( e5 R8 X! M3 ]' Q. h
* J# f, q* L3 j) B; n
消耗電流小很多,而電源電壓給0到vdd,但輸出竟從0v就開始振了,所以startup time也跟著減少很多...& b- Q. \: e6 f) ?2 Q# J0 @
! K' G6 o( s4 t$ e" m
一模一樣的netlist為什會跑出不一樣的結果呢?
; u. K7 L: g2 Q% H: _& O. D3 N) P- H2 v' K+ M$ |! X  h2 b1 h
另一個問題是,你所講的加快startup time可以加一個initial circuit,有範例可以參考嗎?因為我的startup time實在太慢了...9 A; g, S  P* }, D7 l, ?
, w$ u) e/ P# p- k
(一直被學長嫌)0 c# V. C6 L" Y: C/ N( f; c

  r, j& L/ h' V% ^5 v3 Y% I: V% o3 P/ _% X2 P, A7 O, F# _
p.s 很感謝finster版主不耐其煩的一直指導我,不過因為我實在有太多問題了,希望finster版主和前輩們能繼續給我指導~謝謝~
50#
發表於 2008-12-28 00:44:20 | 只看該作者
關於spectre與hspice兩者之間的差異
, U. V" r2 o& K+ B; E1 K這個問題我以前也遇過,只不過,這是一個沒有正確答案的問題: F+ ?0 o1 X) b
據我所知最早類比電路模擬軟體是hspice(我不確定以前是否還有其他版本),而這套hspice模擬軟體對類比電路模擬來說可以稱的上是聖經,其他研發出來可以作為類比電路模擬軟體都是拿hspice來比較,其他模擬軟體愈接近hspice所模擬出來的結果愈所能夠得類比工程師的可信度,只不過,hspice也有bug,也有它不足之處,而這些bug在某些想取代hspice軟體而言也許會有比較優勢之處- F6 b% V9 q3 x4 j4 |. r7 [
: ]! Y8 y6 g- v
故而,回到你的問題,hspice和spectre兩者跑出來的結果要相信誰,基本上是要相信hspice跑出來的結果,只是,不知道你會不會誤觸hspice的bug,而這個bug恰巧是spectre所能夠避掉的問題
0 i  k+ A5 i4 i以前我這兩套軟體都有跑過,95%以上都是相同的模擬結果,只有極少部份才會有不同的地方,而且只有在某些很特別的情況與應用電路才會有不同的結果出現,所以,建議你先相信hspice的結果,然後再推導看看是否合理,若不合理,則再回過頭來看看spectre的結果' ?! A! ^5 a. E) }" c1 }% i$ s" f

- p3 M+ ?, h% U至於startup time的問題
* m# q4 [5 ]- f7 Z5 R+ l8 C  g3 c加快它的速度是我個人從PLL的應用電路中的經驗,然後應用在crystal oscillator,因為crystal oscillator要從0V一直起振盪到欲定的電壓準位需要一段很長的時間,如果可以應用initial circuit便可大幅縮短此一時間,因為我在PLL上曾下過不少苦心,也作過不少,所以很容易就把PLL的initial circuit應用到crystal oscillator,所以我才會說加入initial circuit可以改進startup time的問題
51#
 樓主| 發表於 2008-12-30 15:20:46 | 只看該作者
謝謝finster版主~6 |* x3 K( }5 v( z4 h4 k* O+ C5 Z
2 @- x4 Y' W: I6 ]0 w& y& Y3 E
超級謝謝finster版主這一連串不耐其煩的指導,讓我對crystal有更深入的了解了~超級感謝~
52#
發表於 2009-12-30 14:58:23 | 只看該作者
此篇看下來真的學習到很多知識!8 z" s$ Q& Y1 n, o: Z
" ^) f2 O0 v4 N- I* r- {; E8 Y
往後遇到一樣問題可以從中學習!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2025-2-23 10:11 PM , Processed in 0.188011 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表