Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
4 n  E  ^) i- w" b由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!: s! u# B- ~' S. F8 d" C
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!$ e- g" j0 g( g) w+ Z2 ]8 c
' i2 U7 |4 q, R0 ?* i
电感初始的电流设置如下所示:
  z; V5 e6 G" C( J7 _L_L1         N11450 N03952  588.873289 IC=1uA 6 |7 w; `. `# ?. f8 a, ~) h

' j7 V- _/ r; Q, F: M注意给电感设置初始值要不能太小!% `& I. j; ?4 @! Q2 H5 O
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
: N. p* P+ s  p% f------------------------
* j- A* l! V3 r* source 100K/ B! ]& ^( V: \' |) K. ~. m% S
.PROT3 v9 J' \( t: f% ]6 k
.inc 'd:\hs\lib\level3'
- U7 R- ?' N/ H7 O5 {! O.UNPROT
: L; ^( I1 q/ d  bC_C4         IN VOUT  1.72169576e-012  
' S/ C! l# Q. J3 G+ H. p: D! o  PM_M1         VOUT IN 0 0 n
8 E. q* ?6 V2 q6 F' p- w# u5 ^% l+ L=16u  
* D; B6 j7 Q1 }$ R7 R+ W=0.8u          5 G. N! ?3 p" n' W4 Q0 |9 E
+ M=10+ E" z& M" E  X; r; X; ]7 I3 s. ~& Z
M_M2         VOUT IN vdd vdd p
7 U* y0 g2 v% }3 v& R. ?+ L=16u  - |& H2 `4 j* P9 h  ^# e) h+ f
+ W=0.8u          . |: R$ M# `/ I0 G( {: T& v
+ M=22  l8 I8 w3 x9 i2 K
R_R3         IN N11450  18.5k  & g$ y! V: q: o# v, X
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
" F4 S$ j  X0 H" Y7 rC_C1         IN 0  5p  * f4 j' F: T7 t7 A7 u
C_C2         0 VOUT  5p  ! V/ I% h; t  `( B0 r: Y1 P
L_L1         N11450 N03952  588.873289 IC=1uA : w1 c3 w9 A% O+ H! I, o
R_Rf         IN VOUT  50meg  
. s; g% m( X( ^C_C3         N03952 VOUT  4.30423941e-015  
8 p% ^% p: ]( l' G8 d$ K; j' ]4 n.tran 1ns 20ms   ?$ O; H6 K9 T! R
.probe tran  v(in) v(vout)* `& y/ Z; ], B  Y0 V* H- ]
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
! R  c, O3 q4 v  o原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了
+ B  ]3 }4 Y: b' G$ A5 U' X0 t/ O/ |0 c$ h6 ~' ?
看了討論區的文章
! c4 |1 @" L8 H6 X+ _, w( ^同意裡面的講法
" X1 H' W, f* v4 h震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
' ?  Q. E7 B4 D3 {" D& ^( [! A9 P設不好就都掉到ZERO的狀態 而不是震盪的狀態  
! u# x/ ]2 q( F! C4 R  ^) R9 E! Q所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 ) V$ u- ?8 q. m$ @
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...) n0 ~, O2 U$ f# V0 Z9 B
7 l& a7 {  \& J! X7 }- [& @
不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)" @1 u, j$ E3 u( h( t2 T% \" i7 X
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
  z0 I6 x( N; H
8 _8 ~8 g3 J/ P! U/ m前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
, {4 [' x: x9 v4 ~3 |+ ?到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
$ z) g( p* O3 v! Z就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, + @% U# E4 j7 H4 v. u! a! z
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 8 ]+ ]' Z8 Q6 l5 v, r/ o
還可以起震, 跑到 12MHz 時就掛了..  Y( I4 H9 L7 Q; P) L7 S: g# `

% m0 g; e8 Q# Z+ M只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
1 Z, c0 C8 `' ~' w(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)* z# D# A& z5 V3 }! n
  a; @, {7 d$ O4 E
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
# ^& k. R! a1 q0 c" r3 o小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,& v# C( F6 V4 T! b$ W! |5 e
為一CMOS反向器加上Crystal's model.
9 }+ G# ~5 Q" f6 v# a. c小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",. G5 K* g! E  _5 U
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.9 m7 ~$ _& |$ v# c$ X) q& V9 P
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??$ z& C% G* _# v" G! ]4 X
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.
( u, y1 Y3 o2 p對於電感的初始值要如何設定才會符合真實狀況.( d' K$ T, d* [! |; x
IC=1ua,一開始模擬就振的很漂亮.
$ C7 r* V) C) [8 \IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
' r9 N) |3 |# D昨天晚上試了一下以前在網路上找到的一個方法* f, x5 O( M) [$ m9 Z1 p8 @- m
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
# F* S3 N% b  ?) h起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
( @% b9 V( C5 x3 W9 j' h4 b, G結 ...

$ y4 P: f- y  p
  |2 H( F3 M3 i小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多% A+ \/ O: h" d+ h* J7 b' M* v- z
monkeybad 大的這份附件, 剛好讓我想到一個問題
) `  E+ K* }* }3 [% E在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
+ E5 P" D5 z0 o, h我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....4 u1 k8 O2 @9 O9 Z) z7 @7 Q& i
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同1 i# J# F- V% b: [( }
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
  k# v' b5 l8 n. ]% U  s$ r這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?+ L9 \7 [/ u6 r  k8 ~& v7 Z
查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
; c2 k. Q0 k$ i煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
4 g1 U* k" t' m) g1 `& n! L6 x不過通常都伴有 消耗電流 過大的問題( A, _8 z! g, `
2 m0 u6 L3 \+ z
嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 $ ^1 F8 w* m- K" B3 Z9 h
除了 網路分析儀 外
" u, |7 K3 i, N+ Y還有一個 小方法 能 簡易評估 - G( F) d* h& K% U
, E5 `) Y' D) s3 s  w& Q
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了! B  {3 Z, _1 T9 @; m1 A
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
" P& B8 a. _  b/ m0 Y3 t- T小弟我目前遇到一個跟你的第五點問題滿類似的
4 o1 |' n4 B) U3 N/ E我是design一個32.768k crystal osc; A8 e$ R3 u+ W6 |( J5 q
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
3 \# j: h8 `; l$ m+ L) F: P# X/ W; q所以我就去量測內部頻率輸出32.768k的那一點訊號
6 r2 ^) H- w# W% ^3 v6 e我下探針去量測,發現頻率跟波形都正確
) R2 _: }- y4 ~+ s9 Y但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快), Z$ O0 s3 x( w
我當下是覺得探針類似有電容的效果
4 H5 f) Q$ e; L% \) L3 Z; m所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
6 `6 w- r3 X. \: l還以為是noise的影響4 d8 f$ ^! \' {2 a# P, c5 P, H
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用5 x* {5 x8 Q% r$ |$ V  E- a( j
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 : Q% L+ Q3 ^! O: @
感謝finster分享$ W) H8 L' r8 ~8 M+ O* f
小弟我目前遇到一個跟你的第五點問題滿類似的$ @  Y9 f8 y6 h4 s  v9 @; p
我是design一個32.768k crystal osc
, @1 `( F, L* X. `$ m8 w* ~8 e+ iic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...

, \% J& c) L( l, m; r5 T
2 z, ~/ V' a0 O# \) Q- S
2 B$ i- P/ S( q3 v* ]不好意思,因為這一個主題己經有太多人回覆了- A0 O* T% {. h4 ?
所以也就一直沒有留意有沒有人有再提出新的問題來
! p& ^) r  ?  C' z* U我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
& \, m5 G7 G" \3 T) D解法就是加一個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 發表
8 ^+ b3 C5 f, e& U8 B5 w* K/ F
  c4 i4 c$ Z7 Q9 y! ?3 \' T# a- G0 k. d- A
0 f/ J& w9 `( t" F3 V
不好意思,因為這一個主題己經有太多人回覆了0 @' k. w# p! n6 M& Y7 |
所以也就一直沒有留意有沒有人有再提出新的問題來
! `' A7 l, D7 K. C我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
2 _; x' _  |' O  q3 z

$ V- |. j  `% C8 j$ E4 q8 I因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻% \; U+ }; Y, O3 p+ M
到底是什麼阿
+ H4 L, [6 D& z1 t1 E有沒有參考資料可以閱讀的
8 T/ l1 e  q" J' O! u2 E4 x或是哪本教科書有提到的, a) `9 k: J+ w( c
我初踏入這個領域什麼都不懂, n* e8 c4 J" r
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
# X3 i( @0 g# l: C: @6 c9 f$ j" Q$ J9 ?我查了些參考書還有文件後
/ ?5 y! ~; o3 j2 q7 |2 P5 s總算對負電阻有些粗淺的了解$ N. I- u/ e; y1 W+ X; f) M
/ z# {9 o' |  A0 W3 U
最近老闆要我改良之前12MHZ的Oscillator
3 ^6 i. P  Z7 P: F$ u7 N/ J參考板上的文章後 把前人留下的電路丟下去跑模擬1 I+ h" S( W4 F3 x% b
算是可以正常起振8 [$ z% R* D' u. Y' X1 T
, |( m6 |  E" G2 M4 f5 s; G4 N6 n
我的經驗是$ a  _6 ^2 a% _. p9 G4 _% w
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長( b! ^' v8 C' m5 W/ u$ z
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準1 v2 M* L6 u/ t$ x1 o8 Z( o( _
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用) ]3 p1 `! {# H% e5 ?9 F
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當' M; b( [! z) R
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad
9 @/ N/ s  r  c8 ~8 _1 F& ]5 h+ X8 Q4 U+ j8 m: p3 l
我覺得這樣模擬負電阻的方式有一點點問題
! n* ?( C7 Y9 B你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣& z3 p/ k. `: q
你模擬的是並聯的負電阻值  而Philip的是串聯的
; r% Y6 x, B8 H% H, J8 C( p. J兩者會有差別& g4 \/ t4 i, o. W9 r9 H; Y

- Q7 U* S* r* Z4 D如果要用並聯的方式討論的話% u0 r9 ~9 w8 X6 _! n8 R
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
8 M/ t0 n+ b% Z$ i然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
6 p2 V1 p* o) C9 ^( P' `) {" C應該就可以起振了
% @, v' k; v; r: [# B! R4 S/ v6 h; a; t: P2 Y% c
另外有個問題& O( ^6 L: y3 _5 U9 r
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
% B6 z4 m  |8 ^7 A0 {: r如果把石英拿掉的話
5 q# u  k9 z& g5 o0 w) b震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級, V% u# F1 ]8 W. }2 h) i
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了. S& t9 w8 S) s: _0 T
8 Z: A% f* a$ M; h- s
一點淺見) S! @) s2 g9 _/ S
有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了" e+ _( f0 A; v" C. y! c4 C7 m$ s. Z
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用
* P8 \; i0 k5 l) q) ^* o只是模擬出來的值  跟參考文件上的不一樣
3 e! q, A. Z! L$ @5 H& r  H它其實是Crystal往外看的等效電阻值
# h8 |/ E. [. M( ^, I所以如果要用Philip文件上的方式判斷的話& i) o: U0 W1 T* S. v9 p. r& m& `
還要把這個電阻值做修正 也就是跟Rp的方法一樣6 m  q! ?0 U8 x# M
這樣才可以把並聯的負電阻值換成串聯形式7 W2 ?  Z  y+ U' U# e9 {
然後負大於正就可以起振, E* M: P) U$ c) I

& ~1 I3 w( }  {! x: U. ^另外  我想請問一下monkeybad還有skyboy大大7 c8 m0 x- `0 }' `) y7 s
在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
& N, z; N5 M* s- a我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
9 ~) I7 H. [! [4 l8 G* W/ [- V  u不知道這樣合不合理
6 R2 i( b/ }9 O# n1 b5 w! ?謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
1 _* t' M- Y+ ?" @   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享: _: R; D- }: c  K7 D3 T2 _

) j8 q( t. O+ F) l) Y5 O6 j  U* yThanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验2 U2 i8 f, I% \% m5 T; u( h
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-5 02:49 PM , Processed in 0.146519 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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