Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad' z" j/ O9 W/ `. m- i4 I# [
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
7 S  T$ J, Q1 U2 W现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!2 l9 o( V+ z" v

& D3 h- u5 S6 q( ~电感初始的电流设置如下所示:
' w. l1 W1 \' |  \+ UL_L1         N11450 N03952  588.873289 IC=1uA
* ~! ]" Z8 A; q- i# U) }0 O6 |% `& o9 Y
注意给电感设置初始值要不能太小!4 x4 i; Y+ w8 ~3 z
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)) Z* j, g% v- o# |$ |9 [( [1 F
------------------------5 v0 C9 h* w( R  I6 p; H; X
* source 100K
# R4 d) g; |: z: E& A5 b0 V.PROT" ^7 q/ r- f1 [0 b7 X
.inc 'd:\hs\lib\level3'
. p) ]* j( U7 f- z2 U1 V6 D.UNPROT
/ f9 Y: W9 G( AC_C4         IN VOUT  1.72169576e-012  
* c5 w/ G% U7 t: w, t1 SM_M1         VOUT IN 0 0 n1 X) J7 I  r( f" M
+ L=16u  
, N- b( l: l# U) N9 }5 J+ W=0.8u          / ^' c' r$ x4 ?! d8 y' z; G
+ M=10% m' m# N* _, U4 K; ?9 N
M_M2         VOUT IN vdd vdd p + b+ h( t  i. C1 j1 K
+ L=16u  / r8 g0 ?' c, A) i% w3 i/ d
+ W=0.8u          0 q' s! X% I! c2 z9 F
+ M=22* ?. U  C% m, L' v
R_R3         IN N11450  18.5k  
) I& y; c/ C; }" Q" B5 UV_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)/ c2 R- ]5 l7 a6 q8 `
C_C1         IN 0  5p  ; L- f! p, a# u9 D3 x; H
C_C2         0 VOUT  5p  
: @: X( x9 ^, p5 D4 C- ?6 [9 J9 `: pL_L1         N11450 N03952  588.873289 IC=1uA
$ M- ^7 q! M' K3 hR_Rf         IN VOUT  50meg  / |" n" |; p# S8 k* |% T
C_C3         N03952 VOUT  4.30423941e-015  " ]5 \) v' R" G4 _- u8 g
.tran 1ns 20ms
5 {5 A3 B/ Z" X- S.probe tran  v(in) v(vout)6 w, u0 X( L2 C( C
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
# g! k7 R7 Q: `( C$ }" t原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了7 B/ {; D4 @. t* I$ t

: \# Z: ^& f+ A! y6 S8 @看了討論區的文章 + |' J: J( D) W  s* S" P9 q
同意裡面的講法6 S3 {% `7 o0 [2 ?; J
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
) j' Q" l! s9 h: o2 d0 C設不好就都掉到ZERO的狀態 而不是震盪的狀態  * D' J, K: F5 k; S$ m4 S' N
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用
# r) x2 C3 p4 w4 ^$ O+ @9 @/ tHSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...4 u! A4 W3 H; O- ?  |6 u

4 l$ o& M0 r/ I) J, d不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
6 d& y" @) c/ Q) G縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
+ V1 q9 W' Y! O# S2 [* \9 u/ q- L, \% }7 u- G: }
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來. J- S$ k( O$ J; z( ]: f- D' s
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT - }( L# F% U# j) V4 [, T
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,   _# E1 \7 N, z" ~
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz)
' A; C  E- P8 d還可以起震, 跑到 12MHz 時就掛了... C5 o& e( ~3 R) F+ q
3 h2 h$ q! W: a0 S0 c
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
( D8 \; J8 i1 B8 T; m: H8 Q(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)' ?$ N- E0 B4 W

' P6 f% G% v' }9 J, z7 e( k1 z[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.: w1 Q8 L. o& s9 }# F
小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
1 s9 a& v0 y  t$ q6 |6 j: s1 ?" p為一CMOS反向器加上Crystal's model.
+ Y' y, x" T( I8 j小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",. y& w  F. z+ x( w$ p
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.* F" s1 [0 I; b% \- x
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
' I+ |" ^% ?8 O& A謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.2 s# x" M, }. k
對於電感的初始值要如何設定才會符合真實狀況.( I0 @# e" o2 ^" V7 R' ]
IC=1ua,一開始模擬就振的很漂亮.
: ~2 q2 K$ V2 l, s0 qIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
$ p! Y+ Y7 a, I. o& s# q3 x; u8 R$ b. C昨天晚上試了一下以前在網路上找到的一個方法0 A  P3 d; Z- w. w) }' {
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬, p- \/ }$ n9 [
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零9 n9 y, d0 s5 K, d1 D9 y/ y/ d
結 ...

; `$ c% k0 W- ^( ~  I6 \
) Y, V3 Q) }1 z* l0 J小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多# f  U+ I, U/ V; m: J, W( |
monkeybad 大的這份附件, 剛好讓我想到一個問題: h& l! [, e9 b# [: L
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
3 n8 [& F- |+ J  Y' O' l我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確...." n, Y( a6 ?' H& i& b3 f
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同6 [0 h8 J! ?1 T. K9 C7 W( N- _
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
. d6 n7 N1 g& d3 \6 _; n" `# v+ b這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
: T1 Y9 [9 x3 u: ^" R/ ~查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?. J/ V5 s  B& o" E8 R
煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
6 r* ^* q7 R$ X% [% Z  D3 T: H不過通常都伴有 消耗電流 過大的問題% W7 N" e  Z8 e! D

- l. K+ V% q' \: Y嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
$ m- w8 v8 d& D, {* u3 W# d除了 網路分析儀 外- ?+ m3 z, N; |: i/ h
還有一個 小方法 能 簡易評估 1 j, H5 Y/ \/ K% W
: A/ A, \; j& [) n
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了2 j$ e6 F4 U3 k4 X2 l1 ~  L8 V
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
  _  F+ g  J* v1 X小弟我目前遇到一個跟你的第五點問題滿類似的
( v3 q# Q, N1 q9 d我是design一個32.768k crystal osc8 O. {" K1 _! \! n7 |0 u$ h2 y0 p8 N# a
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了7 v8 ]% H* E. u3 o& t5 x, v
所以我就去量測內部頻率輸出32.768k的那一點訊號  h; P! i3 t. O* y7 i) A8 {
我下探針去量測,發現頻率跟波形都正確% V+ R9 ]* D. u: o- F
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
3 g5 ^: m% p: t+ i0 {9 C. P5 T我當下是覺得探針類似有電容的效果4 ?& V/ U8 m2 g/ O! j' k* K3 _
所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
5 f# }4 F2 D$ `( I  W6 I' T4 C8 ]還以為是noise的影響) z% K6 F; E& s' i. z4 a$ Y1 h
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用9 z/ J- E9 j9 [# S' y1 W2 q, d
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
8 [# ^1 L2 Z0 w6 y8 U感謝finster分享
/ E2 `  Z. u2 _' f' C4 E小弟我目前遇到一個跟你的第五點問題滿類似的  L/ Z2 I: @: y6 v! ?# J; N
我是design一個32.768k crystal osc% U' p0 J0 @  C9 {; l6 b9 p+ |2 V
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...

" @) I5 U/ B' P3 }3 }; J* m# y. F2 i0 B/ Y+ }; Z4 }
' Y0 P4 E* J/ e4 C2 p. a9 B
不好意思,因為這一個主題己經有太多人回覆了
9 a' w# k& a& s) y9 c: I所以也就一直沒有留意有沒有人有再提出新的問題來
1 P* |! o; @) Z% C7 O我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
3 p: u6 h- D, H% {; b& x% Z* x) F解法就是加一個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 發表 2 J& ^% D3 C9 @5 g4 W" u* k3 o6 I
7 f8 P5 F" _4 l

3 y5 O% n' D9 R+ \1 N6 w$ f) v2 n, }2 ~& g3 R! o0 a8 g# u& {: ^4 g
不好意思,因為這一個主題己經有太多人回覆了
: J, r# v2 L' s  i所以也就一直沒有留意有沒有人有再提出新的問題來; j+ F9 U7 G2 y& X$ K9 S$ X
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

9 Y5 [4 O/ L+ ?  L( K: l* \) a' k) s& j' Z9 W& Q2 j) Q3 ~. M
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻! Z( w5 p- }7 p2 u' g
到底是什麼阿
/ }" Y$ j  v" N0 @1 P! m有沒有參考資料可以閱讀的
: a" G2 u5 m5 z; a4 j3 y: ~5 _: x或是哪本教科書有提到的% Z& j' a! s- }
我初踏入這個領域什麼都不懂
2 @/ D( U/ ^1 @/ a謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
$ f3 E- y; o8 z  j! `3 J+ M$ C8 Z  x1 J我查了些參考書還有文件後+ `( D0 A. H6 ^
總算對負電阻有些粗淺的了解
% K; e* M3 F$ L! m1 E8 H* N) @9 b9 G4 B
最近老闆要我改良之前12MHZ的Oscillator
, t; I9 f1 P( g! z參考板上的文章後 把前人留下的電路丟下去跑模擬9 C$ n9 T: O9 C; L% f1 J' H' e
算是可以正常起振9 L0 e: y9 [  \
- G- o3 H) T0 m: F
我的經驗是& }% o. K6 m8 _, l6 ?
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長4 J+ K' A; F4 u' \8 c, A) s; {4 i$ ~
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
6 [& U1 n3 ?9 u; }# b然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用( ^6 s- }3 _2 d% `% `8 X- E7 n3 ?
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當8 P6 @" d# D0 L8 s( c7 m
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad# \! [+ _9 o8 ^1 }

0 n- ^3 c0 j- u+ f  U8 [我覺得這樣模擬負電阻的方式有一點點問題! v# {: N0 M) z, O) t: u$ s9 g
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣* ]$ i2 E, B" ?; V9 p& f8 F  V0 ]
你模擬的是並聯的負電阻值  而Philip的是串聯的2 a- K+ c$ M2 K
兩者會有差別" @$ p8 o" |9 |0 w  E/ \; K
& d; Q# `, }. T' B0 m
如果要用並聯的方式討論的話, ]$ n' z& S1 B' y3 p
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
9 o, O* r3 a! ~: d然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)) R& A/ l$ k9 h: A$ n% e: J
應該就可以起振了
6 n$ x7 s0 j$ c  a9 q9 _. Q' W
- U4 e& ~0 y& {" L" q# F另外有個問題" s) r: d+ E5 c6 _+ p! U
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率; o( A/ j- `+ j3 S1 W3 Z4 P" g0 m$ Q
如果把石英拿掉的話
4 Y. {- {; m$ a( F震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級
9 r7 G8 i- a8 J2 e' M: s如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
( z% Z& X/ F1 ]9 d4 c4 e* ~4 a
* c9 A* L( Z5 n  p; y一點淺見
8 @4 K2 g6 D* G1 L" H9 ~3 d有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了3 e; n  S9 v1 k5 f8 f$ Z1 `& Q
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用
& O: H, V: k: c- S. v只是模擬出來的值  跟參考文件上的不一樣7 `$ x) f0 W" B
它其實是Crystal往外看的等效電阻值/ x$ \: K4 V( C; K4 N
所以如果要用Philip文件上的方式判斷的話
3 g2 D1 K! M, F6 m還要把這個電阻值做修正 也就是跟Rp的方法一樣
: ~2 o! m9 ]2 L4 N這樣才可以把並聯的負電阻值換成串聯形式4 o, ]" h' |% v
然後負大於正就可以起振9 x. R* w5 j1 d6 s

" s; T6 R* w3 f另外  我想請問一下monkeybad還有skyboy大大# J& @% q" u' z' a
在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
4 v) g# e9 E/ e我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
# M# f) @8 ?1 z1 K! [不知道這樣合不合理6 {, _( B2 x6 P6 O8 T
謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!$ w9 ?. j5 U2 O4 |+ {
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享
7 Z% C9 G# B3 ~, ?- e& C" a7 e0 b& N6 `1 A! H+ e
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
& L+ e, {' v: D5 pcrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-18 03:36 AM , Processed in 0.143018 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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