Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
樓主: monkeybad
打印 上一主題 下一主題

[問題求助] CMOS晶體震盪器模擬

  [複製鏈接]
21#
發表於 2007-9-8 15:01:03 | 只看該作者

回復 #20 monkeybad 的帖子

to:monkeybad
, ]4 U6 v1 F( K) [- t由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!  d/ K/ W: C' ^9 b9 z
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
# x/ J$ l8 R( B9 Q) n, Y+ \# q
0 F# p2 s. ^' g" E' p) X电感初始的电流设置如下所示:5 J5 j) T) K. I
L_L1         N11450 N03952  588.873289 IC=1uA
2 k2 }. Z' p7 l& D" U5 \) |5 l5 y! V  G, y9 j
注意给电感设置初始值要不能太小!
: i9 y3 Q% K3 i7 Thttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
4 r9 \! E7 q# R  K, u, M------------------------
% U( |2 u. U+ [9 f9 [7 m  ]* source 100K
+ [' C+ {- C1 l( l& h( g2 V.PROT
0 C: A: g! T; i& y* M.inc 'd:\hs\lib\level3'% I5 X0 [! m% ?' j% m- A/ l+ D
.UNPROT
7 B& @: M+ Y8 [$ o; o0 KC_C4         IN VOUT  1.72169576e-012  
; x2 z: }% o+ M6 x$ wM_M1         VOUT IN 0 0 n; X: u8 R- c9 Q0 y, Y: I7 l
+ L=16u  
+ [! y8 a* D% o7 ~8 j; p+ W=0.8u          - |/ M! y8 Q+ [' ?' o# \8 ]0 p# k
+ M=10! X+ z- Y3 M' }" a( l
M_M2         VOUT IN vdd vdd p
& l' L6 I7 z# |1 H  b; ]+ L=16u  0 \, |/ c6 x5 O  D" b: t
+ W=0.8u          * r, V6 O' b; }
+ M=22) X% x( A! L9 y
R_R3         IN N11450  18.5k  
+ v. ?/ R1 s% b. d' g8 hV_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
3 S0 m, P; q0 k9 W$ R  q' H$ {C_C1         IN 0  5p  
9 y9 I8 e, `! a. _6 {C_C2         0 VOUT  5p  + x) n3 l4 \8 Y( Y7 ^
L_L1         N11450 N03952  588.873289 IC=1uA
9 j; `: A/ f! c; G( TR_Rf         IN VOUT  50meg  ! y7 r" O  @8 W1 C  \; b- ^
C_C3         N03952 VOUT  4.30423941e-015  
# w  l  H3 o, D5 `1 g# P! O" D6 m  A.tran 1ns 20ms
6 p$ Y0 ~, A( t* b9 j.probe tran  v(in) v(vout)
: c; E- ^6 `; M" ]6 q) c.end

評分

參與人數 2Chipcoin +5 +8 收起 理由
skyboy + 3 很受用!
monkeybad + 5 + 5 謝謝這麼熱心的回覆 這些資料非常有用 ...

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
' g) D: \' v) q9 f% _; z% A原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了7 I; \, d& ~+ j$ w) R. Z6 {$ z

. N4 a, C; c* G. f看了討論區的文章 , X& Y8 \% [, I% L" C
同意裡面的講法; y) u# d) T# d5 D' q5 }8 ]; q5 t
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧) \# I$ s, F/ h3 Y0 m
設不好就都掉到ZERO的狀態 而不是震盪的狀態  
9 ?; ]# @1 F' n所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用   x( H0 |4 V. `. g5 S2 \! C
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
8 J3 Z8 I# C; q  m$ Z
0 e- x. ?6 B6 B5 \  L不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)7 n" d4 |1 \4 w; j; \: D+ l7 t$ M
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
+ @: F' B1 Z" ~5 B+ u. h8 q
& w- l5 f8 A( s, v- A/ U前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
$ z) W9 w& A, ^8 w* \( \3 Q: o到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
. B9 N: L* L* t- m& x- h/ P2 y0 S3 j就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, 1 n/ f$ |# T5 R& g7 ^9 _
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) # b2 [  v5 [+ d" s* O7 a
還可以起震, 跑到 12MHz 時就掛了..
( r5 A# i* Z1 v3 _
0 n& J0 a; R/ [8 {只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_</ F# i, Q# A; M# h& n
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
1 a% X( g4 f0 b0 m- v7 w4 \# C& ?- M- {" q- b7 Y! v
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

參與人數 1Chipcoin +3 +3 收起 理由
monkeybad + 3 + 3 經驗之談!值得參考!

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
" D6 _0 \- Q) r小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,% v% N/ V. j7 ]# C
為一CMOS反向器加上Crystal's model.
3 t$ Q. H% u, Q1 Q0 z小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",- E% ?4 y: W: k4 q! _+ I/ c, T
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.
  R9 V* e) \# }( {想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
  i8 }0 V. n) ?6 }% S4 ?謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.
6 l1 _2 \% F3 ^2 x$ P- m, A對於電感的初始值要如何設定才會符合真實狀況.
% L4 s: x# Z" `6 z3 {IC=1ua,一開始模擬就振的很漂亮.
2 C2 V8 j6 @1 W! v# y3 _$ }( P6 z# tIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
5 F. |  S2 ~6 g5 B- e昨天晚上試了一下以前在網路上找到的一個方法1 }1 `. c+ e' V' g% o1 I! J7 w
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
1 \! s* Z4 |! |- M8 r1 B& i起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零6 R+ W/ G7 q$ T0 i* f6 _0 v
結 ...
2 W  ^. ^$ J( j$ z, Q& Z4 k$ p" b
  R+ O8 j3 K& a7 X5 V5 q
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多
5 T6 W* M% `+ p# a: p( X8 B3 \$ Tmonkeybad 大的這份附件, 剛好讓我想到一個問題
4 O/ a+ ]8 r8 H; e  d/ S在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd5 T% i/ y( Q& Q+ Y5 D3 @  O( K
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....9 x4 p1 c- B6 U- j
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同9 C1 I! j& R8 l1 Z# N
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
1 j0 }" `8 E3 W這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
. d. n$ f. t% @& c/ t查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?4 S. A8 Z7 h" g; s
煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
9 P1 S( i0 w" c不過通常都伴有 消耗電流 過大的問題) ~, a+ v+ w7 E, R& Z: M

/ M, r! Q, a9 t3 z9 L嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 7 p5 p# }/ Q/ t# L
除了 網路分析儀 外
7 _; C5 u& k2 ]+ M! X6 K' G還有一個 小方法 能 簡易評估
9 f/ u+ d! Y2 p  @4 X4 S3 ?
! c6 s% P( K9 H) S8 j缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了; }! C2 }) B, C" z2 b( s
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享# t; U* O$ [, ?
小弟我目前遇到一個跟你的第五點問題滿類似的0 J1 q% i2 |& `. a
我是design一個32.768k crystal osc
5 K: n& `# z6 R( I5 {ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
  _0 _7 a& V% n# S! c: V所以我就去量測內部頻率輸出32.768k的那一點訊號
; O% L' }6 O% R/ O& K我下探針去量測,發現頻率跟波形都正確
( S9 n$ G- A6 `" C8 c4 n但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
2 P4 b/ z; h- T  u' Y% P8 g我當下是覺得探針類似有電容的效果
' |7 I1 P6 ~# n& p. A所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
' A3 ~; D. O+ B# |& c% u還以為是noise的影響
. r4 n+ r# Z9 I7 p; l看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用3 g* I# p& B- _1 A. b& _% W9 v) l
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 7 B. J% _  S' N6 V" Q
感謝finster分享
1 a; K3 \4 F9 ]/ U9 w9 O, ?小弟我目前遇到一個跟你的第五點問題滿類似的+ A1 v' k# T: n/ g8 w  \& Q2 j
我是design一個32.768k crystal osc
# V9 g- u+ _8 k5 u4 Zic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
- `/ s3 Z7 ^$ ]" c

3 X& o) w- g' Q) u  K: z5 E' D
& r9 w  B4 s1 K, _% l不好意思,因為這一個主題己經有太多人回覆了
. x" ?7 |; M0 t- \  n3 f9 [所以也就一直沒有留意有沒有人有再提出新的問題來; Q8 H* a) x* X. B, {
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了1 g* d( r2 A( J% s: l/ x
解法就是加一個schmitter trigger,藉由schmitter trigger的hysteresis windows特點來解決過長rise time/fall time所造成的問題(我們有用hspice作過模擬,利用crystal oscillator + counter但卻沒有看到過長rise time/fall time會造成counter有多數的情況,後來,我們是在power處和crystal oscillator的output端各加一些noise,便會看到問題出現,因為過長的rise time/fall time在爬升的過程中,因為noise的緣故會導致counter在某些較大的noise處會被trigger)
32#
發表於 2008-1-18 12:22:06 | 只看該作者
原帖由 finster 於 2008-1-18 09:26 AM 發表 & g; v$ @, S( [4 E; H" z# E
  N6 \/ q  o# I

7 l+ X7 u2 g- Q6 p" x" q
- M7 U+ o/ d: J- A( a: _; O. G不好意思,因為這一個主題己經有太多人回覆了
- ?7 J1 X# Q! H0 Z( `' ^2 j所以也就一直沒有留意有沒有人有再提出新的問題來4 d* `. g$ h4 \) L
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
% y, o: Z0 v  r% q
$ v8 t& c$ L0 u" c4 L8 V
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻0 m% v: j* s( u# f
到底是什麼阿
+ j# m6 p7 L' L  ]- P有沒有參考資料可以閱讀的: L: l% A. y2 W
或是哪本教科書有提到的
& c9 W1 U3 R( d3 @; N9 n9 w我初踏入這個領域什麼都不懂) W# c; @3 s5 e- k
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
0 P1 \$ o4 M) v4 x; B& \% X我查了些參考書還有文件後
( \7 a: A- m0 z4 q* l( j: m' r總算對負電阻有些粗淺的了解
& F$ L; {- l# h2 H& X6 d% q$ p. d# q
最近老闆要我改良之前12MHZ的Oscillator/ t$ ^4 G9 a( b& x
參考板上的文章後 把前人留下的電路丟下去跑模擬5 `( I( h) L# l: x; X" p/ b6 `
算是可以正常起振
0 Q& R7 u  M8 T: i; W6 n9 ~- P* y% f' @4 ?
我的經驗是
  M7 [' q/ O+ W% Z若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長
, q  Q& A3 g9 X+ }  d9 {使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
% K% |! ]2 a7 L) R: [+ P然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
! }( N5 f5 A' h9 }" s但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
5 s+ b0 @6 l3 q4 R以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad
, K1 x! ~; {" b2 i0 R* [0 g% _4 E/ d: N. W' q
我覺得這樣模擬負電阻的方式有一點點問題
) |" [( h1 N9 x你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
7 z! H9 A: X! R- J& _  v' V7 N你模擬的是並聯的負電阻值  而Philip的是串聯的
5 u. Y9 B* L5 C. U4 z, f兩者會有差別
; B0 Q  {( X& _2 `: o+ X3 c
2 r5 h* N- \3 U1 ]7 J如果要用並聯的方式討論的話5 e- p+ V( `! ]+ r  h& m
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
3 k$ ^  H+ I  c% G4 c# }7 H然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504); x$ m3 N. q+ C& D# h1 Y6 e
應該就可以起振了- c1 V" B0 d& P' v

2 C: ]3 ~9 ?2 m: ~另外有個問題
) b+ m, {$ q+ \1 y9 [不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
# M% e7 ]& V7 R9 N如果把石英拿掉的話, t* p$ g# t0 {$ R( V# V; |
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級; X4 H" J: ?  G# S( o" r
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
7 j2 ^& W5 w& `. j* b9 B7 t( E( `
: e) t7 K: ~) @9 J! F  \+ n- e2 P一點淺見
+ [, {' t% f. g+ @' n有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了- f2 t) s/ a2 L: O! f9 `$ Y4 q
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用
! g' a# s& U2 X7 D( H只是模擬出來的值  跟參考文件上的不一樣% G% M; w. Y  ]
它其實是Crystal往外看的等效電阻值& f4 U0 @( v6 x0 f/ W
所以如果要用Philip文件上的方式判斷的話
: R+ u$ j7 U: J. L) a- z' g! G還要把這個電阻值做修正 也就是跟Rp的方法一樣
( l; X) I5 N$ C; c9 _這樣才可以把並聯的負電阻值換成串聯形式$ g. \$ }, t" d9 g0 S) k3 L
然後負大於正就可以起振9 ]' R8 [7 w0 t
" m" t# A% Z* e! g% i
另外  我想請問一下monkeybad還有skyboy大大: P* m/ H- w3 k. `% P
在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值' C( p% g# O; Z/ g# x4 u& X: g
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
. D( Y( s& ]" S, u不知道這樣合不合理
' }1 z! R  o  W/ T. D5 V/ X謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
/ ?0 M+ w) i2 i1 {/ b$ m   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享# {2 ~2 }! S5 J" K* e( U, b( r% L

, ^9 s* P4 x- {, C  h; R; Y" TThanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验) H0 E$ {$ A4 s: A- A: c# c
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 05:39 PM , Processed in 0.223529 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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