Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
) R5 V1 `6 b+ V9 a由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!! s( r3 n  }! a( f( u: o
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!9 m  o3 r8 R" q1 H
7 m0 h0 T5 h, X( j" W# C) C
电感初始的电流设置如下所示:) @4 n( x/ y% p  F
L_L1         N11450 N03952  588.873289 IC=1uA   I& ~& Q" y# r0 j6 T( x2 L: ~

" P3 j8 K4 d) V$ P! D$ G5 a注意给电感设置初始值要不能太小!
. N7 ^9 X$ {" _1 phttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
- d' t& k4 w& o# I: j4 J------------------------
: F1 o, O/ P9 G" h* source 100K
$ A: V' S; x; A; H. z6 F) O.PROT
$ p6 r4 e/ m0 z& E.inc 'd:\hs\lib\level3'
; f' j* F* g' v$ v& k( s.UNPROT7 I- l, N& P$ e4 [
C_C4         IN VOUT  1.72169576e-012  0 B  V! c% G7 `% ?
M_M1         VOUT IN 0 0 n
$ Z/ s. |  Y1 K( X; ^+ L=16u  , z6 b  X' h" G4 H
+ W=0.8u          ! o* X: ?& \; q9 o4 n' \
+ M=108 _8 {) ]* e& c* G/ ~+ K! u
M_M2         VOUT IN vdd vdd p
, H; t. K! F5 h  x) l/ _1 K+ L=16u  + P1 u; K" l8 R/ N  H
+ W=0.8u          # @! n# @9 C+ x/ R! S7 \
+ M=220 o5 b# ^. \8 `
R_R3         IN N11450  18.5k  . y0 j; @' Q9 e/ c( d8 a
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
9 B0 t& [6 f1 c( _8 VC_C1         IN 0  5p  
; }2 x; ]$ ^3 B8 cC_C2         0 VOUT  5p  
4 t2 k4 J9 `0 \4 Q- nL_L1         N11450 N03952  588.873289 IC=1uA ; s' Q. }' U- {+ v
R_Rf         IN VOUT  50meg  
' g  [: P2 y8 _+ W( }' dC_C3         N03952 VOUT  4.30423941e-015  
% {. m( i7 v8 l2 g% t6 @! O3 k/ F.tran 1ns 20ms
2 n( Y6 \& p8 g% @9 s. @.probe tran  v(in) v(vout)
4 c# x/ u. n/ y" z7 V1 W' `7 b.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
# k+ B$ J3 Y+ ?% M6 J原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了- _( F% Q: T8 P9 G: [
9 t1 l5 m! s# q$ q$ m' [
看了討論區的文章
4 ~  N; e" p$ R4 |  {同意裡面的講法- A1 O. {% P% X4 R4 u) U3 D
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
. i7 G9 F+ U# f設不好就都掉到ZERO的狀態 而不是震盪的狀態  
4 W8 A: j8 V. D. i" `7 u" S! o所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 ' J! |. B: k: [2 W* }7 B
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...4 }. V/ O1 w6 G: x$ H3 @6 q

  g  O0 R, V$ h( o; O不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端): M% w% I5 ^# ]
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
2 q( C* x7 d) O" R% C$ L1 f* c, Y* ^8 }4 ?
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來! E% N8 i! v( k( P9 S
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
) c- D$ R" p8 _. q6 a就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, ) P+ J$ z) `3 D8 }/ \8 b  M
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) ) s3 x' e- ~3 e5 o; d# G( Z+ q3 K4 \
還可以起震, 跑到 12MHz 時就掛了..
# T! W  x- d/ I2 o; Z3 O5 o8 e* S! p; {/ o2 p) n: L& N
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<; J  j7 F6 s9 S. |
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...): x$ b! H1 o0 M- |: E4 c; Y, i) P
: r. f% p( B& h3 G& H9 a
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
. f" |" w" T/ m; Q小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
7 I7 j" P% F5 U! W9 |& [為一CMOS反向器加上Crystal's model. ( g) r3 X" ~  p
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",
6 A( t  b9 x% C/ W/ v0 U$ W在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.; ~) f$ H: e6 J2 m% h& m- i
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
. H; M* H3 {4 |+ G" y謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.
8 s/ }* p3 v9 o! |" ?& t) D對於電感的初始值要如何設定才會符合真實狀況.
, ^: r. K: ]$ l" x2 [, SIC=1ua,一開始模擬就振的很漂亮.- F8 n* I' `- e% q) C) x8 |& \, w' j
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 5 _" W0 K( J9 Y5 ^9 j9 N; T
昨天晚上試了一下以前在網路上找到的一個方法
7 N! C  a' }% ^6 |: v就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
$ |) a/ Z0 F  o起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零+ ~2 s  b. X0 I0 b0 B
結 ...
* ^3 X/ }  R/ K: o8 A

7 O+ @! a$ \2 s, C) Q+ L小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多7 r) D; K5 o9 D# S. T9 Z8 X
monkeybad 大的這份附件, 剛好讓我想到一個問題
# R" A( r. x8 c/ X! i* G) Q在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
9 Y) \* v% S9 A1 @8 i) ?我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....
9 N4 X& t4 k5 ZXtalin > Xtalout還可以理解, 畢竟兩端的loading不同2 v4 b+ \0 w2 M7 {
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
% V* _& G8 d( q* V  O& [這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
) a1 ~4 q. }7 Z8 e% P3 l3 T查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
/ I5 C; N) I" S& \6 A煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
. b# \7 u& k* ~7 }不過通常都伴有 消耗電流 過大的問題
, c) c) s' m( w5 Q8 D0 T
: g* D! W  B9 w: T嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
$ `9 @0 z$ f2 ~4 i5 g除了 網路分析儀 外) J: _% n+ i2 O7 D) y; M
還有一個 小方法 能 簡易評估 9 O7 C* W: P; t# o: s- z
1 ]2 h8 o9 W" Q& c
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了* b! N, a& M$ T3 D' }
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
2 N+ k; ]  V) ]! L5 I小弟我目前遇到一個跟你的第五點問題滿類似的
( m) `# r# Y5 Z4 u我是design一個32.768k crystal osc
- s' M  @1 `  }! uic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
) U" ]- Y, {' c! ~1 N所以我就去量測內部頻率輸出32.768k的那一點訊號
6 s* U; p3 V: Z1 y我下探針去量測,發現頻率跟波形都正確
! [, t6 h5 ~+ M2 u9 k+ b1 q( s) _但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
1 x1 c( Y- x3 ^: i( d! l' C我當下是覺得探針類似有電容的效果
& q4 ~9 f3 y9 \6 J: L4 n7 J, N所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
9 q5 T3 ?0 e% b; X還以為是noise的影響$ i: N4 D) f& b7 L
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用
6 b: u! b) m( q2 ?4 v7 G& C看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
6 `) {1 g5 C3 F0 ^. T. ?2 u* D感謝finster分享7 u4 A7 Q1 v3 A7 P$ |0 l6 |
小弟我目前遇到一個跟你的第五點問題滿類似的
7 e5 F. f& E5 E& M0 P我是design一個32.768k crystal osc5 }4 j% i1 \* u5 g5 n; e, R
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
! |! W* z9 S' O
! d- g7 `9 l& ~$ s' `
& A/ y0 a: E: w2 b
不好意思,因為這一個主題己經有太多人回覆了  V. W3 l1 P! {! t, B
所以也就一直沒有留意有沒有人有再提出新的問題來
# e; P& F% G' |# h- I( ?7 q# i我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
1 B6 r1 G+ V2 o" T2 @3 q7 [2 M0 n! T解法就是加一個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 發表
% W6 J1 t; H: y, p! j# U; a. f' l; e7 |  m- M

$ s' u/ B% F* F8 l, g0 ^: o% B' e
9 M+ C! I/ j$ \不好意思,因為這一個主題己經有太多人回覆了; Y& T/ j+ K7 `! B' {8 o% E
所以也就一直沒有留意有沒有人有再提出新的問題來2 U; ~/ D* |9 r' q8 \( k0 R5 h
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
5 c/ g+ V. A8 d

2 {7 Z/ X- ?2 W1 A) s因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻9 b) h( H4 N6 T. a
到底是什麼阿
, `2 Y5 E; s; m. L有沒有參考資料可以閱讀的( N/ ~- R4 u! n2 }# `$ e/ v9 ^
或是哪本教科書有提到的  T. Z) C# N# U  j
我初踏入這個領域什麼都不懂
9 ?" _7 z! P. \- f# E" N% _1 r謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
8 p1 o9 u& a2 \! w- g+ F- |2 ]我查了些參考書還有文件後
2 T/ r4 N& j/ N0 w總算對負電阻有些粗淺的了解
0 F+ F% k$ G/ P% F- X3 a. d( j  L) {# L3 D& {
最近老闆要我改良之前12MHZ的Oscillator- z  A$ \2 [. v
參考板上的文章後 把前人留下的電路丟下去跑模擬! ?# F) M' _5 m9 D
算是可以正常起振
" N! {( [3 p( a8 Z$ }, o( B* z
: I5 W9 M* @) c& o我的經驗是% [5 q( y  d  J3 g) ~
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長
# V' Q. j! r; a0 J1 J% K使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準( a+ ^) U4 ?+ [7 f
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用( q* H7 N- a7 K% A) Q
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當" B4 F0 o  ~( B8 S' a6 j
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad! P- m) ]% P2 p' u0 q
; L; s" x0 d+ M9 c: N. f" h
我覺得這樣模擬負電阻的方式有一點點問題/ F0 i& [9 k; c
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
( A; r+ L4 Q' @9 h+ I) T& f你模擬的是並聯的負電阻值  而Philip的是串聯的
; z! J+ U) f- @- K4 a9 r% b2 E9 F兩者會有差別% _8 a  H* r, S0 o. c4 U; L

$ G: f  g( s, f3 H" R& y1 H如果要用並聯的方式討論的話8 C3 l% t" d+ X) P1 h, M; A
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
+ r) i+ g, F& e, o& d然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)5 o' M8 k, _7 A+ \7 t# |: {
應該就可以起振了
7 Z& x" f4 j! w0 _, s
. E( r$ {  D. s/ D' m3 N另外有個問題
' O! Q, q# e& o9 N  U不知道在圖二你是用什麼方式把頻率鎖在震盪頻率# e5 M9 Z7 v: f8 p0 S7 Y
如果把石英拿掉的話
7 s7 `* W' F4 ?3 V: s震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級/ T) _. A: \" ^9 K: l; [: f
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
8 n( W" k& H7 F* p( F) M. x3 _, c7 X3 x& Y
一點淺見3 {' x6 b. r! G+ V6 l
有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了4 ^" F/ ~% U8 Q* J
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用* m  h5 X0 I8 R- e* T# X2 \, a3 Z
只是模擬出來的值  跟參考文件上的不一樣' \( e" j4 c6 E* E1 }; w
它其實是Crystal往外看的等效電阻值5 p' K: h6 ~; ]3 h1 t! _6 T
所以如果要用Philip文件上的方式判斷的話4 {8 V, Q" u# L3 f+ ~5 e. C( r. F) U0 k
還要把這個電阻值做修正 也就是跟Rp的方法一樣" d6 F' p$ p; J$ ]
這樣才可以把並聯的負電阻值換成串聯形式
; X& K# M; x0 a9 r然後負大於正就可以起振
6 l( ^; j! Z0 h8 |( l; y" I  ?
. s2 k- c, T$ G6 X& S7 @  u另外  我想請問一下monkeybad還有skyboy大大
/ b: s& y4 ], I8 k在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值  d1 C4 U; K; h
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
5 J* _. H, B) B: L7 d不知道這樣合不合理
1 v9 l. W# m0 Y  t6 \謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!4 c" a; B( R; n2 l1 N. E5 N4 {
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享
7 h1 J7 u7 {" X6 i- W% z6 y1 K( b- j  c, w& R
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验* e* `0 x9 E* b+ O5 h
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-17 02:43 PM , Processed in 0.141018 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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