Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
1 S: w# ~& z4 F9 p4 O1 P  }; b由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
6 _  s4 c4 n, M( z# q现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!+ F5 T. C6 `; V+ `; M: p  M
9 [5 s, a/ v- e7 I7 ^8 W# _& q# D
电感初始的电流设置如下所示:
6 F# `, |6 K% d0 a# q  U5 WL_L1         N11450 N03952  588.873289 IC=1uA - u9 l6 i: K- Y  k- l1 i& W2 S
1 D$ X3 c, `& p' k
注意给电感设置初始值要不能太小!
) C( H" |" w& g1 ]: t7 B9 C, y" whttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
" N1 t1 D/ h: \* z7 r6 D; B, O------------------------1 w* Y0 Q1 E3 n
* source 100K) H1 K$ ]; P3 V6 i. e+ J
.PROT
  T1 c6 m; B8 b9 M# [.inc 'd:\hs\lib\level3'
0 X1 m2 _$ M+ a.UNPROT6 q2 Y% X. J; H" m  _* H
C_C4         IN VOUT  1.72169576e-012  
0 {% u' ?1 l0 t/ N( _M_M1         VOUT IN 0 0 n
' r( M$ D4 s1 o7 L4 g* ^6 r+ L=16u  / C8 u8 y8 G; [: u
+ W=0.8u         
# ~$ n$ J3 f3 j. u( C+ Y+ M=107 N% S' J5 P1 `5 ~
M_M2         VOUT IN vdd vdd p
8 t5 ~" S! ~! a. [6 z! V& C+ L=16u  1 v& K3 S8 |3 {9 q! P' t- b! n
+ W=0.8u          ) X( n; d; j9 s  @0 |
+ M=22" `% \- I7 K6 l; g! C& Z# k, k. _
R_R3         IN N11450  18.5k  9 Q$ a8 G& `# e* y, D# F) G/ w4 u
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
, T5 E! Y; f6 DC_C1         IN 0  5p  6 ], u9 F8 Q$ c5 S
C_C2         0 VOUT  5p  
# X( `% ?0 U- b3 `& qL_L1         N11450 N03952  588.873289 IC=1uA : l1 ?" S; e0 _( U1 z6 B
R_Rf         IN VOUT  50meg  
3 P8 i' e, C8 z0 jC_C3         N03952 VOUT  4.30423941e-015  
& R  w) O( L2 g$ e8 A8 n.tran 1ns 20ms
- f6 v$ `9 o8 J9 L; u.probe tran  v(in) v(vout)
1 g1 z5 V$ `; _) I+ v0 M.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
/ [- S: O- I4 o2 s1 K原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了5 _: w) r9 [% c$ J# t% j: [

9 u# O! F2 t, v6 ^9 f. P9 }看了討論區的文章 0 |  ?' z! U1 s: ]  A
同意裡面的講法( b5 x% r3 f! b# L' A6 \
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
* j" x+ U2 f& X* m設不好就都掉到ZERO的狀態 而不是震盪的狀態  
7 D6 K' t# `& O; e! A/ _( a; E0 I所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用
# N1 Y, \9 p7 p8 o+ J# X# OHSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...0 Z/ Y& X6 T# x& g( E7 w

) g  @# @3 F3 k/ M: n6 `' s" `1 Q  N不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
( \* l" r3 V# R# B& N/ n" N  D' _縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
+ n' U8 X5 K: _7 K5 [, H/ m9 B; }  O3 Z( R' V
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
; Z7 I) Y8 @8 L到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
+ h! ^6 q% j1 K& F6 y% A7 }% Z6 V, a就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
$ j3 q9 R- S, R: C# _/ }幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) # |4 U- m8 \4 X
還可以起震, 跑到 12MHz 時就掛了..8 @  o2 R8 a; B
# i7 z1 r: v* S: W# C( a
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<2 x: ~" e( ?, R3 _8 \! I
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)) R$ i, R1 M1 n" j! K; @" s. s2 i
3 Q, ~4 n/ u+ p0 \
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.* g) A  B+ k. u4 u1 J  C* L- {% ]4 ]
小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
- e' A# m- w: k! K: P為一CMOS反向器加上Crystal's model. . a, N/ s9 B! y
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",
; \9 a* O0 B6 b6 J在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.: j- g- \6 b& S7 k! W0 y! F# w* o
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
8 h: B# V3 }/ y7 i5 v* U* H謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.2 r( G7 H7 V. ^& R4 [$ E( Y" Q
對於電感的初始值要如何設定才會符合真實狀況.
& B4 Y# p* R/ A2 b7 HIC=1ua,一開始模擬就振的很漂亮.
+ y' b1 F* s+ P; s& _, EIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 9 Z/ C+ ]' t: U* Q; |
昨天晚上試了一下以前在網路上找到的一個方法
5 c$ R2 r% ]- {9 g' U( ]$ P就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬  {- m2 m# U- l7 d' D
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零4 p. v. f$ v4 m; K  h  T$ Z+ v
結 ...
' n3 J+ }4 @; x! X
& W1 i0 j( s- @% Q' `5 G0 U
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多1 B& ~9 }) d  }( b9 _
monkeybad 大的這份附件, 剛好讓我想到一個問題! H" W& \3 B4 Y8 `! e
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd0 b$ i8 C. l# H8 K4 h
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確..../ V) @- M- X2 j
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
7 d0 W3 Q7 @' y) d# ?! y! {/ O但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
. F1 v. _4 A) E! t- P3 N這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
3 T9 C7 l6 C5 _# A查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?$ D$ L5 s8 C' N- o. q6 W
煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
" G- P2 |3 ^  M9 S不過通常都伴有 消耗電流 過大的問題
; {5 a2 _9 M$ u: w
9 Y6 }9 I, m! J  ]5 W嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
1 [3 I  k# Y5 |' F$ ?除了 網路分析儀 外' ?. S/ ^+ ]) e: c  a+ Q
還有一個 小方法 能 簡易評估 * ~. j0 {" n4 E
  i- s# ]( E. t
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了$ M: \* M6 m! q- e% L
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享0 B" r1 o; D, G* ^  c, y  A: S0 g/ T
小弟我目前遇到一個跟你的第五點問題滿類似的
7 |6 d9 Q% r6 |5 h# X我是design一個32.768k crystal osc( I+ N+ P5 U) \9 n
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
- W: y% O1 H5 I3 k) h  X所以我就去量測內部頻率輸出32.768k的那一點訊號
  ]$ x7 j/ A  M  U+ \我下探針去量測,發現頻率跟波形都正確5 W9 \. A) C4 _+ q
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
' [: a# U0 M! o2 H4 B: V7 {6 [: @我當下是覺得探針類似有電容的效果
- C) M4 C  w1 l# `" u  M所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快* P, \; M) R$ B1 n* X4 i1 U/ S
還以為是noise的影響+ D8 C5 v+ J  b
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用
  _# U* r% W% _# W% y) A) k! {, A看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
: O/ I% V3 V2 a, d感謝finster分享
4 t8 g5 q) B' n5 `( C1 F) q" w小弟我目前遇到一個跟你的第五點問題滿類似的
4 H+ c0 M4 u' C+ @我是design一個32.768k crystal osc3 W7 f) _$ n& u/ f: M8 l
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
" M) c1 T% k& k1 W) Q7 E' o
4 v9 c8 W: t4 y
$ A* |. {. f8 P- i" n
不好意思,因為這一個主題己經有太多人回覆了$ O6 p! ]2 [/ R: k+ i
所以也就一直沒有留意有沒有人有再提出新的問題來" A3 p" }4 i* j; R% U
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了0 b% W5 P* P) {! r+ E4 K/ V
解法就是加一個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 發表
! w) }; C0 t, U: T+ t  X9 L* G, Q& \) Z$ |+ Y
1 k" N7 P4 O; m" H! p& i

3 `' `8 a5 [: \! j不好意思,因為這一個主題己經有太多人回覆了
2 `! o7 N$ V. V" Y' _9 O6 t& W所以也就一直沒有留意有沒有人有再提出新的問題來
  i! V- G" F; E, L( r$ J6 ?我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
1 D5 D  Q7 {; L$ P" f) N0 f# ]' M4 N
2 D( w8 z- }7 ~
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻) U3 a, c2 ~+ F
到底是什麼阿+ J( N5 q) B' b0 H0 J
有沒有參考資料可以閱讀的2 s0 t, d0 v+ A
或是哪本教科書有提到的
% j7 D% a9 ]# t; @! b我初踏入這個領域什麼都不懂. f: b" i6 C* H, ?
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
! e) _: S( D# p8 c2 x我查了些參考書還有文件後* v8 G2 A7 S. Y. W" z- K
總算對負電阻有些粗淺的了解. A$ E5 v4 B, `. r& v2 ?
" B+ T4 A4 ?/ K! T0 w# @; o9 [6 r% f
最近老闆要我改良之前12MHZ的Oscillator
7 O! Y/ p9 P& D參考板上的文章後 把前人留下的電路丟下去跑模擬
, Y) d% z# u. f1 a算是可以正常起振
1 o- i, e# l+ y0 b2 V
3 w9 v! b/ r; _$ x! L5 I/ f& x我的經驗是
/ l9 k& Z+ M9 H若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長! p) L" u( R7 O9 x# C5 n1 U5 E
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準* w+ [# ]) I+ A7 q
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
0 Z) f. E4 I; L9 G! J但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當+ `% |: t. ?$ u- @" R: k, G
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad* b, c% `% B; Z" ]
# O: l' T+ E+ a. g, N
我覺得這樣模擬負電阻的方式有一點點問題
, Q% M6 p" u5 m你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣. A' A+ P- p1 t: K$ a
你模擬的是並聯的負電阻值  而Philip的是串聯的. X2 @) j; ~: l+ {
兩者會有差別" {* P6 u' U1 H1 F7 I5 b* `

$ h- D# K) C( g, \) b如果要用並聯的方式討論的話
) v5 ^7 m/ K0 N+ J/ h1 j: E可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣% b) c; x+ _8 X$ X3 z5 C. W
然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)2 l8 L# v( f3 y2 B1 Z1 f  D* l
應該就可以起振了7 E: d, u* n1 a" D7 v
! K( E% K7 d; Q2 q! u
另外有個問題! }3 q" E4 Z. P; k0 I5 l
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
1 c" n$ ]4 m  Y6 B2 A6 p如果把石英拿掉的話6 P5 Z" G) e- |$ D) ~; [8 [
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級
8 [0 b, a) b4 R3 X+ \如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了8 x  W" {; R" j* W6 Y6 E/ ?, C: M
% F% W( D4 p" k/ Z: \, U- ]. n8 \
一點淺見
) }  I0 a0 ^: `% m; Z有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了! r" z7 P1 [$ J& G. h( m% Z6 g6 J5 z
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用* N" j: x* A% x
只是模擬出來的值  跟參考文件上的不一樣
$ U. h) n  }6 R8 z# k7 i它其實是Crystal往外看的等效電阻值
& }- j( F6 Y1 w5 d+ |所以如果要用Philip文件上的方式判斷的話
- }( l/ K8 s3 }- n) E還要把這個電阻值做修正 也就是跟Rp的方法一樣. |2 g' n9 m4 x' W
這樣才可以把並聯的負電阻值換成串聯形式$ J. K' X( O5 `, z
然後負大於正就可以起振
0 l; j' n- ?7 H; f+ t
, Z% @1 d, N9 ~另外  我想請問一下monkeybad還有skyboy大大
2 f1 Z. `( `$ v2 I在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值( p: h! e3 ]5 a4 q4 N
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數( s% }3 Y7 }4 x
不知道這樣合不合理* @! Z7 N) p' W
謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
, {4 O& I! o! j2 v' ~   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享. z( T: l" d0 e7 j( n! E
7 c/ ]5 b* p2 y
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验* P$ S; i: ?& j, Z
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 09:54 AM , Processed in 0.146519 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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