Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
+ P7 ]  [/ R: M5 g# W" k, G由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
: m# Z: w1 i2 k& N" r; O现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!' e: a4 t4 Q* F2 [: i& E

7 w3 ^& `; u6 ?, N' b/ q" ], T4 v电感初始的电流设置如下所示:
" \2 ^2 e, _5 ~! }  n' F+ n# |L_L1         N11450 N03952  588.873289 IC=1uA + s$ z7 d& m7 \, K/ f5 ]# @: f
8 j" I+ \# j, R; G7 Q% j) ~/ ~
注意给电感设置初始值要不能太小!
- b+ o* O" j0 E0 ihttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)' |" g- T) ]0 B' i) E
------------------------& X& G' }" r4 e
* source 100K3 D8 P% m) a* O' \
.PROT* D4 U9 d. I6 X4 F% q' v" Y
.inc 'd:\hs\lib\level3'
* M  `2 W- z7 E7 H; P$ j) D9 S5 D- \.UNPROT0 U: X0 h1 y  j4 V
C_C4         IN VOUT  1.72169576e-012  
7 a) g# Q6 {: D* W! `& z" h% `M_M1         VOUT IN 0 0 n" [1 A4 V6 [/ S$ h. m! G
+ L=16u  
3 x* R& g) R( V' x2 N) E/ {5 Z+ W=0.8u          / f- }# W( v; G+ {( U3 b. M
+ M=10" G+ K9 r$ l1 _, n; l
M_M2         VOUT IN vdd vdd p
" G# u& {. M$ y5 h+ L=16u  " ~0 E+ U. M7 [' x: w
+ W=0.8u          * ]6 }1 p% e3 s
+ M=22- G  C4 E' W1 w/ F5 W
R_R3         IN N11450  18.5k  
8 o- w0 m9 S8 c. Q: c% gV_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)% V% t1 o8 o. o1 P& R' X; y- p9 g
C_C1         IN 0  5p  % J- c% [% [# b# q" O! {) W% p
C_C2         0 VOUT  5p  2 R* z7 z# ?9 z+ @/ W, d
L_L1         N11450 N03952  588.873289 IC=1uA
1 X( t) m5 F. u9 tR_Rf         IN VOUT  50meg  " a- c9 y0 n8 u& k) q
C_C3         N03952 VOUT  4.30423941e-015  8 k; V1 m$ D+ e
.tran 1ns 20ms # S& Z+ l  D/ u- l" Q/ g
.probe tran  v(in) v(vout)6 _- o3 F: `( V8 V* t, u
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
. p3 m6 D6 y) ?原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了% \/ \2 ^+ U! ^+ i1 Y( m

9 S! m& N0 |/ `- B. Y) |$ M0 D看了討論區的文章 2 V& I4 {) }; Z" u3 e2 b$ c# S- I
同意裡面的講法0 C9 `% g2 [% |1 r) ^% P
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
1 B6 r. O  c& Q4 K8 {( }設不好就都掉到ZERO的狀態 而不是震盪的狀態  
# U( K$ q! s) d+ n( b所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 ( _% @$ Q* F5 B; T) `% \
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
; O1 ]) ?/ I$ K9 k; R' V8 M1 V/ }, i) r  A9 X
不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)4 M# m6 Z* o9 }+ Z! k  A, c
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
  J7 X, F7 e1 @* I% S8 f4 l* G, W! L
. U0 ~4 H) q9 n# z) k前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
" g! m9 V$ U# v4 r到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT 4 W; G1 o2 c" c4 B" r
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, 1 w$ X- H5 i; q  y
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 4 z+ R& L" V5 X; ]* A7 f2 h3 E
還可以起震, 跑到 12MHz 時就掛了..
( r3 F) W- [$ C/ |  I( Z; f( D9 l# e+ ~
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<" S7 _7 Q. h( F1 G* `' b& v0 |
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
3 U4 v+ k! f8 K# A6 S; \! P- \6 W* }% J. n" h# M
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.1 A; u, E, G+ T5 V/ w9 u
小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
6 v4 r% m/ B3 O2 p  ?為一CMOS反向器加上Crystal's model. & L4 l! Y; ^6 `1 G6 f8 L4 v: M/ O
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",/ P, ]3 Y8 Q1 d. w" ?
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.
+ q# k- o0 L; U, o7 b想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
4 k, O* m( M6 D8 N! j謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.+ u% C! g8 a* B* a
對於電感的初始值要如何設定才會符合真實狀況.
6 O' k3 r# F3 j1 TIC=1ua,一開始模擬就振的很漂亮.
) {- F( x9 [+ wIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 : |9 O: A' f& G6 I7 F
昨天晚上試了一下以前在網路上找到的一個方法( j* g3 _, N0 y- q& L
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
1 v# A0 A% l, d* u1 N3 C9 k起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
5 X$ |, R. n& M7 |- o+ |4 ^% c結 ...

3 h8 @4 a( F) g8 L' o; `8 x
- V8 n5 Q; k/ p+ \' s& _9 a9 _小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多
: E' J& t! ]1 T: Emonkeybad 大的這份附件, 剛好讓我想到一個問題
, @/ k/ ^$ u3 b$ N在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
* E. r3 v* c2 a& j+ ]5 a我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確..... L8 U0 U8 |( }4 j* y
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
7 u2 R5 G" ?6 ~  Y  [: ^( @  a但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
8 H8 h3 M2 L- x這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
" T, F* T1 A9 ]% x+ y查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
& ^; T2 E, [- Y) X9 K9 D煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
: r) t# j, X1 Q2 B( f不過通常都伴有 消耗電流 過大的問題9 o& Z8 X# w# i6 `  A& J1 n! H
# W! `, F# |; a" a- I, ^" b/ e7 S( R1 ?: m
嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
* B+ E% C2 ]) I+ |除了 網路分析儀 外
8 [' K5 N) `5 s還有一個 小方法 能 簡易評估 8 R% w9 H, f3 R  B) A
% m: S+ F2 ?( C' o1 m
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了1 O; U  Z% ]4 R- R" K6 v# S
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
2 ?! R' a* A5 e6 n1 X3 \小弟我目前遇到一個跟你的第五點問題滿類似的/ e- x9 z8 ]- i6 a
我是design一個32.768k crystal osc3 P+ }5 F" u* q% f/ i3 T, m* T
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了; R5 D4 z: E, ]3 m2 o) b( O, Q
所以我就去量測內部頻率輸出32.768k的那一點訊號
4 |8 E8 Q  ?+ y- U我下探針去量測,發現頻率跟波形都正確
+ \& F8 M1 H+ ^( L2 X0 v但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)- x. [7 g& N- v# }0 Y
我當下是覺得探針類似有電容的效果
* }7 C* J; N. S所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
' J  p8 D' F, J( ]' m還以為是noise的影響
  I9 P* ~  Z7 Y9 ?1 n看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用
2 _3 C+ N+ h- T看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 : R% }6 ^( W7 c' j2 Z* l) a. W. Y
感謝finster分享
5 ?  n/ w6 Q% Y6 E小弟我目前遇到一個跟你的第五點問題滿類似的4 }* G: t! r5 Q5 j  \6 R/ v
我是design一個32.768k crystal osc
  T/ z! n( l# c: y' Jic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
1 b% T" V# P) }

9 V4 R( X& B' Z6 ]  d
4 V  U1 Y% b* [5 h  W不好意思,因為這一個主題己經有太多人回覆了) ?- l9 V; h( z* h4 `4 H
所以也就一直沒有留意有沒有人有再提出新的問題來
+ J+ ?5 D, k4 L我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
0 Q$ H* w& w) N1 j* H; i( h! M9 C解法就是加一個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$ |8 k' @  ^* l# N3 l( C
0 N9 Q2 {6 t% v

) y  [  K% _$ n) f/ ]* ?$ y) Q2 B: a* i4 q! ]# |( \: B1 A' H
不好意思,因為這一個主題己經有太多人回覆了% V# V9 l1 g3 L" O& ~
所以也就一直沒有留意有沒有人有再提出新的問題來( `5 O6 j  l5 @  C9 s0 P1 `4 ^
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

6 r9 w; e, o* o& a0 y- ?) R: H! j
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
: K0 E0 h+ R  j- l- ?" w& ?( H到底是什麼阿
! H$ l8 W0 {; v5 C有沒有參考資料可以閱讀的- p# j4 U# z" W4 h
或是哪本教科書有提到的
2 }2 S8 J2 E/ R# k! m, E6 E我初踏入這個領域什麼都不懂& X! a7 T8 \# B( H6 a
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
( }  @. x" T0 r" d$ G) t我查了些參考書還有文件後
" u' O/ [* c( k8 X/ g  Y總算對負電阻有些粗淺的了解: ?+ ~6 q/ v& s! J* u' ], [# o, m

5 c0 K1 a. W* D, R; q; s. N! r* y最近老闆要我改良之前12MHZ的Oscillator! u! \+ u4 G- Z8 t
參考板上的文章後 把前人留下的電路丟下去跑模擬
3 r* w/ L, \- ^! r3 ~6 q6 M算是可以正常起振
8 z4 c# x$ ^( ~- b4 N- F/ t2 D
1 m$ v/ g( @  f我的經驗是4 D8 J3 w- F7 z. p: v
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長4 x& I; ^. D5 Z( F0 p
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準, V8 @4 C# k5 d$ J  x
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用! g- U5 l% H9 P) O# h
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
8 a  T" J# r" n以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad
% _1 t. [7 L0 I) j
: ~( b7 ~9 M8 Z# n$ F) t我覺得這樣模擬負電阻的方式有一點點問題2 ?& d; f2 G. U! s
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣! |1 A" f2 J. k
你模擬的是並聯的負電阻值  而Philip的是串聯的
3 R" ]' h' j8 ^! s兩者會有差別
; l& P  [7 L( z" D1 E
, i" L' m3 c) X; d( N/ \如果要用並聯的方式討論的話5 X' j4 s/ E! G; s+ [
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣* ~& F) l/ o# F
然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)0 S0 r) ~2 S8 k3 _
應該就可以起振了
4 n% S9 o3 F; h) j) C. `% f0 X! i0 K! s2 `
另外有個問題2 s# |7 x$ a5 d
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率$ N" w) h/ f7 j3 [; u7 J& F$ h# a
如果把石英拿掉的話
7 I5 s5 g" b' U震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級( W. ^% N7 l; d8 ~( i
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了" d4 V3 K. N- }& R0 h7 z6 {
- k1 O2 G3 N4 N3 @# C3 x
一點淺見
9 u' H& a! o! p8 d& A有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了
* y& G, l9 R% K! N2 b0 c7 y+ t我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用0 o- _! [4 V2 i5 i0 i
只是模擬出來的值  跟參考文件上的不一樣: l* y  d) L: X0 x( B7 {
它其實是Crystal往外看的等效電阻值! v, G$ E/ N$ a* P, K% @: Z
所以如果要用Philip文件上的方式判斷的話
% \5 D7 C( Q  Z還要把這個電阻值做修正 也就是跟Rp的方法一樣
: u# A- N, a& c- X; E$ D這樣才可以把並聯的負電阻值換成串聯形式
) [6 [/ k4 C( M9 U+ b然後負大於正就可以起振
- W6 E& |, W! j. d
$ f9 _# X" M1 w! z% ^1 [另外  我想請問一下monkeybad還有skyboy大大
" b2 }) A# C  i& r1 h9 T+ D; \. L* B在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
' y0 R3 g- c, N  y我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數6 [/ J8 l) l( H' w
不知道這樣合不合理
- q4 z  f  J7 X# O9 i+ n謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
7 b) \+ f0 l, O9 n, a/ y% a, X4 q   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享
4 @  s* V6 u$ M1 N) o& W9 V6 N3 Q& A1 |+ t9 o% Y
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验2 r. R4 ?; R6 T- ^2 T9 d
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-17 08:54 AM , Processed in 0.153520 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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