Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad1 f: q) f, M! U( I6 k
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!# W2 j: d. d6 P2 ]5 i: u* F
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!! `3 W' h1 @( _$ g0 H' d2 h8 j

) a9 n+ T, _! Z: n) E电感初始的电流设置如下所示:
# C) r$ V# L8 WL_L1         N11450 N03952  588.873289 IC=1uA + O+ Y+ X) o/ G7 [* Q9 o4 O' O9 }

# |' c; U: Q/ |/ [9 F0 o4 B1 ^4 c注意给电感设置初始值要不能太小!
, ?- H1 w, |8 ?0 N$ X) s* g0 Hhttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)8 y! ^# }! T6 `6 b
------------------------
. |/ L) ]8 C8 u* source 100K
/ R3 P. c/ K' p& x2 n5 L7 u.PROT6 j( O8 d- ~. r3 u" S
.inc 'd:\hs\lib\level3'/ e5 `8 l$ @: W: q% g1 M
.UNPROT" F" A0 _" H: t# i' {
C_C4         IN VOUT  1.72169576e-012  ) x7 r- [$ t6 }& E
M_M1         VOUT IN 0 0 n% {6 D6 A) m2 Y
+ L=16u  
! l0 U: h; y; H+ W=0.8u         
" T$ j6 R0 }; z* D+ M=10
1 d# D, f. {7 Y  p# A& |M_M2         VOUT IN vdd vdd p
9 L3 e8 v7 z4 Q7 v+ L=16u  ) p! f6 L& h" E, J
+ W=0.8u         
- [" J( |  \* Z9 k- \1 E+ M=220 F$ E7 A, ]) ?# l( U# w
R_R3         IN N11450  18.5k  3 S# [  J- ^$ N8 t
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
6 B+ f) n  E" XC_C1         IN 0  5p  
% F, d+ W' z/ A0 h& SC_C2         0 VOUT  5p  
2 l3 O+ d' H+ U# U7 @3 QL_L1         N11450 N03952  588.873289 IC=1uA 8 ?/ V: |# s/ p- E
R_Rf         IN VOUT  50meg  
0 u9 _  {7 f# [7 s4 eC_C3         N03952 VOUT  4.30423941e-015  
' e1 U2 G2 D& X.tran 1ns 20ms
9 _1 S/ b2 `+ m6 R.probe tran  v(in) v(vout)
2 ~# }2 p! N. m. Y1 m0 e7 i.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料' \7 k( S1 q# M- k, N
原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了* n: M: O6 M% Q7 V" v" E
7 r4 y! ]' e8 w' _* C$ l" G% c0 e
看了討論區的文章 : a: K( |) T1 Z
同意裡面的講法$ n! U5 \7 E% b9 Y: z
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧7 o1 y! S, f  e. w6 M$ G1 k
設不好就都掉到ZERO的狀態 而不是震盪的狀態  ) n# I9 h0 Y) _% M2 \- K, K
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 ; v' ~0 t% L4 h3 W
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...! y* Q" L* O" u' h, G. l# R! m

0 ?/ W- W- Y- B5 J- q不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
  f/ ]# v5 S/ M+ V8 _6 G, m% T縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
# I4 l' m9 s  p; t* s
+ B& V: I! P* ~前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來$ p  J2 ^$ C5 i9 X1 p9 w
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
# |# s3 b/ u7 _& S% e/ C就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, 2 t( q2 i7 I0 d( |3 u
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 1 V% y: a! [0 G& I
還可以起震, 跑到 12MHz 時就掛了..& y6 f& w# M$ ^" ^2 s( o- ]
; I+ j! |( I* z+ N4 c3 B
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<5 O# x( B% \; W$ M8 t
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)# l1 h  U3 l$ Q+ O* y

: c# H, v7 ]/ f+ d: ~& p[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.2 u. _# ~' I' _% c% _7 l9 n
小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
. ^$ y, ^3 s+ ]為一CMOS反向器加上Crystal's model.
$ u; b& N- P5 j* c* F小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",5 `; c6 ]% ~& S" n- w) n. X1 `
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.
. g7 f2 w  w' O' |想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??( T/ ]  o/ a4 f! n7 F) c' {
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.4 K+ h4 q& f$ k$ ]% H
對於電感的初始值要如何設定才會符合真實狀況.
( g2 X) ?* z" X- w$ d1 lIC=1ua,一開始模擬就振的很漂亮.* L/ t1 q) p! [7 z6 {0 q6 v
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
" `) f2 ]6 g4 B- g昨天晚上試了一下以前在網路上找到的一個方法* T4 O8 S. B2 w  R8 R1 `& e
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬! e9 k' a3 n0 X- Y5 v
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
* q, @( o0 `8 T1 Q2 O3 n% v結 ...

& i2 u% M6 ^8 k: i
3 b1 m- l/ n! P3 @/ |2 \小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多4 M+ s( d) ~% t! {3 ^( t
monkeybad 大的這份附件, 剛好讓我想到一個問題/ B' c/ {8 _+ |: {3 r' z/ m, h
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
* J5 V0 v' t/ N8 Z' X/ y  E我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....4 b) B: d8 `2 Q' y
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同* v5 B# Z/ `: i7 x% ~# C! a0 M& ^# V
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?6 p8 R( y1 l* p
這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
+ U4 f4 ^" c4 }7 i  N$ K' Q. e4 }7 K- @查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
! j# u8 B' X# c: ~煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
7 x: j1 f' D8 z* _不過通常都伴有 消耗電流 過大的問題0 ^) g: v" a' `- ~. S" Z7 J" ~! V  n

8 P( Y! y$ y( T" R2 u( o/ ~) o/ p嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
" t' j1 z! Q" t" q. ~除了 網路分析儀 外
5 T2 P& z- T* B0 a, @, _還有一個 小方法 能 簡易評估 5 p! c' W$ b8 X" G
% {! t- [6 v1 u2 a0 S8 l
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了5 o0 Y  v2 g5 g% f: v9 u% @
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享+ T& E% c( F5 T7 b+ ^
小弟我目前遇到一個跟你的第五點問題滿類似的8 r  e( t! N1 E# y, j- T9 u
我是design一個32.768k crystal osc6 `* Z& @7 l! h% {6 o! Z
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了1 C/ r$ G. K% D) D! B6 v
所以我就去量測內部頻率輸出32.768k的那一點訊號
5 H, _. A4 h8 K# I# @: O我下探針去量測,發現頻率跟波形都正確# `  g5 x- |- I$ E0 {7 I. `# w
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
# s6 C' f1 Q" G4 n3 B我當下是覺得探針類似有電容的效果
4 m% c, a0 E& _0 E  M所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快) r9 w! P8 u! v6 ~5 @
還以為是noise的影響; ^4 d* b4 u3 W: _3 f  y3 [
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用; }0 Z) Y( S1 O" p  x9 ~' Q: ?. K
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
) K- }) b3 u( \6 Q4 T感謝finster分享
6 k, P% F: t4 z& V1 l4 p2 ~小弟我目前遇到一個跟你的第五點問題滿類似的
& w+ e, }% [. k2 k3 B: a% [我是design一個32.768k crystal osc, _" e9 s% i9 ~  x
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
& C) q. q: H/ c
. s/ l0 _# \! A3 ]1 _' v

6 `( s4 K2 o) z* s. _( c不好意思,因為這一個主題己經有太多人回覆了
2 t! P) ~) ?6 |# u所以也就一直沒有留意有沒有人有再提出新的問題來$ [0 L1 O+ D2 q
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了/ A8 L4 O% O' o8 r
解法就是加一個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 發表 3 j1 n/ W! S1 G) w1 |' R; C# Q

$ _! H9 f1 i: x5 [- `# ]& t1 q
: K8 D4 P2 i9 l" ?
1 Z% d8 V  ?4 i不好意思,因為這一個主題己經有太多人回覆了
7 u4 t) z/ {, q1 R所以也就一直沒有留意有沒有人有再提出新的問題來5 z5 z' f) Y# y( B( A0 o9 w0 L
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

1 I: ]. f% e7 c
, U6 h( c7 p* _& Q因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
" d4 Z$ L* s: R到底是什麼阿7 B4 w; K$ j7 b) n6 o' E$ V
有沒有參考資料可以閱讀的
; M/ x6 Z! A5 B& [: E0 w, U2 q或是哪本教科書有提到的
. f" U! y! _# X5 \我初踏入這個領域什麼都不懂' }7 f+ C! `3 U( N5 Y
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題( p/ k5 B0 r7 o" j! X
我查了些參考書還有文件後
8 g7 x9 M$ ~5 E3 R總算對負電阻有些粗淺的了解# B; j6 g& g" W. {

& W. ^; g( B7 U& e2 H8 B; F最近老闆要我改良之前12MHZ的Oscillator3 e% }! i: H$ s- U; ]6 h
參考板上的文章後 把前人留下的電路丟下去跑模擬
% n  e2 g; F3 L% x0 [算是可以正常起振$ G* j( Z& `  p0 D! F4 L1 e
8 q2 j+ J& s- Y3 R! d. l
我的經驗是4 q  v6 A: ?1 ?/ q  W
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長1 \6 g$ |3 w8 N- C
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準% }  d. d) r1 ^7 C
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用% L4 ^  t7 B# @* B1 [& G$ d9 t* J
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當( `% B( i1 N% }$ B( ?' D/ j
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad6 o) K) L3 g3 U! d1 ]; a
6 f; Z5 a6 D3 ?7 T' P0 I
我覺得這樣模擬負電阻的方式有一點點問題
5 E6 u0 o# ~9 H5 p4 ?% A0 v你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
: G6 m0 ~! C/ j) Z& _* I% D: m你模擬的是並聯的負電阻值  而Philip的是串聯的# I5 R8 [0 D  O' M) s% m) b
兩者會有差別2 Y. p9 v, z4 m) S/ y0 ?
2 Z5 ?& y" B* r( w/ s) E' y& ?: y4 ]
如果要用並聯的方式討論的話$ r+ I% a( y8 }$ V6 i5 j  U1 p
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
1 @3 K% s% w1 E& ?. }8 _$ v* o7 X' |5 L然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
% i% x7 B5 _+ y, `0 O應該就可以起振了5 t- F! N& q0 O  P) `% W

/ Z6 m2 ~( X2 g  L6 l另外有個問題
& b% @/ f' [1 m0 [" b) K0 ~+ M+ w不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
6 G& c+ G+ Y$ z$ B5 D如果把石英拿掉的話, D) |" h: I) ~  G2 c8 q) ^
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級0 W) u. w+ r3 x1 R4 W
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
7 r( f5 R& C( e  ^
5 F& \1 ]# v5 {7 M) o一點淺見
1 a9 i, m2 \# w9 g3 f有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了
& W" |* t  F' [我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用% c* U8 ?* k: H7 {
只是模擬出來的值  跟參考文件上的不一樣
4 k3 o1 \' `3 p9 W- V% b3 ?它其實是Crystal往外看的等效電阻值
4 J% y2 ^3 z" z3 E4 p4 B所以如果要用Philip文件上的方式判斷的話* Y4 `( W0 m3 w2 P( C2 |0 j' T
還要把這個電阻值做修正 也就是跟Rp的方法一樣: t. d' q+ p: |3 ?9 X' q
這樣才可以把並聯的負電阻值換成串聯形式
# d$ q7 S" T  E) z然後負大於正就可以起振9 |( Q' T0 B9 f; I* z- A7 d  K
+ t6 \% \0 |7 a, G/ S# a
另外  我想請問一下monkeybad還有skyboy大大
7 Y1 i( c* a) C. w在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值* f2 V7 @9 ^! m" n" k: ]9 [
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
. x3 u+ u$ y1 X不知道這樣合不合理
6 f9 v4 ^1 F) g4 C8 u謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
! a  }8 y/ C" a4 x& L( r   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享# s+ Z6 U' t% f4 k& r% x! f

2 @+ c/ j4 P, UThanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验, n( D  y+ a4 B5 M& ?0 f
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 10:44 AM , Processed in 0.148019 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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