Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
0 Z+ \: h1 A* M由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
5 H* c5 l3 i1 {0 l$ I/ L现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
$ w7 O/ G; f" m, w/ @% {; {
8 _+ I+ S; j3 D; v电感初始的电流设置如下所示:  e) T! k) q2 V
L_L1         N11450 N03952  588.873289 IC=1uA - n! y( ^( Q2 q+ N- @
' Z- ~) X9 ]: Z1 Q; e1 ?) m6 ?
注意给电感设置初始值要不能太小!5 M9 M/ f: q. n% z3 F7 L
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)2 M( ^  S. _2 c* S( g6 u0 R
------------------------5 c2 V& p: P3 B* d8 K( @  m
* source 100K
) I7 a4 K$ C/ v1 b# x' g5 o.PROT
$ }( A! l, R4 i9 G3 y( u) o" I8 |.inc 'd:\hs\lib\level3'5 y8 J/ ]# v% i3 Y
.UNPROT
1 G2 W  s9 P$ U  t6 dC_C4         IN VOUT  1.72169576e-012  & b& {) l. x. R0 l5 l* Z( P. a+ E
M_M1         VOUT IN 0 0 n
. o! Y+ ]$ T$ m! s% i: A! h+ L=16u  / V& N6 ^# c5 Z$ m
+ W=0.8u         
7 m& A8 }3 F6 k: ^  o* T+ M=109 M) v& K  c% W0 f* L
M_M2         VOUT IN vdd vdd p 2 d1 x4 j0 G2 c7 S/ ]! U- F
+ L=16u  
, L/ i. X, V' F6 r2 \& y+ W=0.8u         
0 m8 j- L/ g' b, A7 a" P- D, s+ M=22
% O, w6 ]& t5 e; z0 ?5 _* x% cR_R3         IN N11450  18.5k  
& U8 Y: h, ]/ d/ ~( n4 Y4 B' L. gV_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
0 F1 b  X. c$ fC_C1         IN 0  5p  7 l- p$ \& a- g- K% Y% ?2 f
C_C2         0 VOUT  5p  
- [4 K& W. M3 J: aL_L1         N11450 N03952  588.873289 IC=1uA
2 t2 C+ s) Z2 |: |* f# `( g# LR_Rf         IN VOUT  50meg  1 V  w; W5 S+ W. I, t; A2 b# d$ e
C_C3         N03952 VOUT  4.30423941e-015  : m- _+ p( a/ I7 L0 }: }" W9 }
.tran 1ns 20ms
3 }' i" [, g- k3 [3 }4 Q.probe tran  v(in) v(vout)
! k2 F) v0 W% i' M) g( S.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料' S. e! n, M6 Q4 s' U8 g
原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了
. y( k! d+ ^. x) T# M0 d! ?2 h) h! f; b' B
看了討論區的文章
. w8 A& F' Q7 P2 W同意裡面的講法+ n& D. ]' J: V  W- q0 @* g
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧: Q0 u6 A: Q5 E# R  J' v$ M: |. a
設不好就都掉到ZERO的狀態 而不是震盪的狀態  ! F5 q; h' `1 X. X( s5 B; K3 q( b# @
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用   e8 |1 R! U" c% s' `" T/ Q( _7 C! \! B
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
3 n9 f8 \4 {1 f  y; N
' ~  g4 }$ U" H: U7 }不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)  g: `% o# G3 l! ?( H! J
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的..." I& ^+ [& k& k

( X. m1 O3 j8 j8 B# Z! c前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來, S' l5 E$ m4 [& n
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
* h; }' G8 W4 U6 I. ~3 Y就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
" b( k1 F6 B" v+ q, U% I" y幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz)
/ R7 o3 s9 U0 k+ l' [4 T還可以起震, 跑到 12MHz 時就掛了..) D( _6 i% T5 T/ J7 R3 S% H8 \
% x2 N1 T6 B0 y* `" s- [
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
+ C& J6 z* S3 q' q(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
, o9 c# ?! c. Y  e% c! j! W+ e! P0 G: H& v4 s( [' R
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
/ w0 ^# k' K5 H- M+ O+ p6 v小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,; U& F$ k4 K2 Q, m: K
為一CMOS反向器加上Crystal's model.
5 q" H/ V8 L: [! b* ^小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",% d; h, S4 H3 l3 N( s( h
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.
* N/ p+ y1 I+ S1 H; S- N& m" c想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??
6 B) G, i0 f' I6 m$ F$ @謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.0 }& q4 r9 y( O) C; e
對於電感的初始值要如何設定才會符合真實狀況.
$ s$ |9 ]  X  ZIC=1ua,一開始模擬就振的很漂亮.+ e" |9 q* A& c1 Z2 s
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 7 |. p' Y- B( z8 ~# \& c
昨天晚上試了一下以前在網路上找到的一個方法3 d) R5 R9 T+ i+ e. @
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
2 w+ _) a; \  y& S: s起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
  k8 D/ p* ^  Z' @" R  q結 ...
4 |0 t- \' H! G! l9 c
, W% M8 c( l7 [6 k, `6 v
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多8 R  U( W; x4 N) C& |8 t  d9 n" r
monkeybad 大的這份附件, 剛好讓我想到一個問題, X( Z3 L' }: N- m9 ]4 L: F
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd( L6 }# a4 ^1 j" I& |+ P: G4 |" e
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....+ c  Y) q. o% q
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同- J/ j! c. l+ N# g' R+ B
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?3 G  K) I  l  @) b/ Q
這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
# h) r! g2 Q: d: b5 e' J& Q查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?/ {6 V4 S1 I4 _& P+ ]6 X- N
煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例% a+ r. l7 T3 X% R' w* h. W
不過通常都伴有 消耗電流 過大的問題
% K( |6 z2 V8 ]. R' O1 Y" W
  o9 F. w, l9 B/ ~9 Y嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
. W, _( o1 Y- w* I0 S除了 網路分析儀 外6 m, T9 e" R" \3 c8 Z4 r
還有一個 小方法 能 簡易評估
# m% d% p+ l4 Y2 F+ v
3 l4 [$ c! w/ j" u缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了2 c2 Q/ }& A% O* b; P
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享4 k& b0 j# @. c( p. m
小弟我目前遇到一個跟你的第五點問題滿類似的& l- P; R& O* y1 j
我是design一個32.768k crystal osc2 t( U* x+ k! _4 R
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
  F9 {0 t6 j' ^' _) |1 J所以我就去量測內部頻率輸出32.768k的那一點訊號
# K6 K  z# Z  m" `5 w( i" I我下探針去量測,發現頻率跟波形都正確
% q3 q8 j8 g; I5 K7 v4 V! G7 B6 A但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)4 P( r. |+ G! }% e
我當下是覺得探針類似有電容的效果
7 V- s9 z, n4 Q; }( ]" W. p( k/ k( r所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快, E- q! b( B/ s  n2 {
還以為是noise的影響
" z0 {: b5 P# j. u看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用# v# L- j$ j. k! O6 Q# s* f. z7 s
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
+ e* n0 T( k. K% s+ Z7 h感謝finster分享
6 c5 \) y5 H9 C* O- @- d! o: A小弟我目前遇到一個跟你的第五點問題滿類似的
4 O& e1 Z, X3 S/ b我是design一個32.768k crystal osc& L* J8 D9 l+ A9 _" \" C
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
5 x0 f. e3 x# X" _& [0 q

) h: Y- r- T4 n% s9 i" G1 l- I$ r; z
不好意思,因為這一個主題己經有太多人回覆了* Y  u& g: E  v2 |9 |
所以也就一直沒有留意有沒有人有再提出新的問題來! _/ K% P* o, y5 [# h
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了* F7 w9 K# p: f1 M  }
解法就是加一個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' |. ]# o- v9 M0 N  |3 v3 J$ N( E& d- o& k$ f' {

- z5 a* M2 o) o- Y* w
; h  M, J) _. ~2 Y5 j) T不好意思,因為這一個主題己經有太多人回覆了8 u, X0 n: C) u0 Y3 x) j
所以也就一直沒有留意有沒有人有再提出新的問題來
( n0 ]1 h( w7 T8 ^" [) ?3 ]. t6 ]3 f我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

$ V& X9 S) Q# g
0 ?* {; ^" [, g因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻( E5 y1 S4 }5 F4 h7 t. b+ W
到底是什麼阿
  K0 [3 W! O) p3 a" P6 E有沒有參考資料可以閱讀的
/ l4 P! g. ?$ f7 \0 B: b或是哪本教科書有提到的+ n& b! o; v/ I
我初踏入這個領域什麼都不懂- I. ^5 ]$ X2 w3 z) S! C0 F( }
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題' V- u" V, [: o. x
我查了些參考書還有文件後! t0 D; s6 W; }. o3 J
總算對負電阻有些粗淺的了解% m) D) y9 T! T' E* c- ?
* q3 a* ^3 f: \6 X! S
最近老闆要我改良之前12MHZ的Oscillator
* v  h: q* b& v. ^& z參考板上的文章後 把前人留下的電路丟下去跑模擬$ \  h2 Q$ D7 y! W/ s, [
算是可以正常起振2 j1 S* \  l$ V& w' o: W
5 `6 b. A/ \, Q8 ]( n+ z
我的經驗是6 B4 Z7 e; ~: u6 F8 K
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長: j- e# ^# R8 H* n' y: E& _
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準, P' S+ _( }3 a& K, o
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
5 V, {, N" U! o但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當" `8 h" H. X, W5 Z# `" X1 P
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad& W6 ~0 w7 _  _
" O& d) |; u0 U' P6 ?
我覺得這樣模擬負電阻的方式有一點點問題
* ^( |5 Z* \. r* N+ ~6 S- Q- G你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
2 u( i3 S" J$ O+ i; ]1 N你模擬的是並聯的負電阻值  而Philip的是串聯的& M8 y8 s9 l) y. V; G5 X( c, J, I* z
兩者會有差別1 Z/ P: Z% X: }3 h

  O6 [* Y8 d7 U) t如果要用並聯的方式討論的話* L: y' j2 M# I* f3 ~
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
: b9 d: R2 ~) \3 W4 {1 }2 ^然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
2 H' a4 k; @- ^# `應該就可以起振了
0 g2 C) ]6 `2 @- R* C8 l
2 {2 ^) M, b2 K$ Q另外有個問題
. O5 b2 H- X% {4 r不知道在圖二你是用什麼方式把頻率鎖在震盪頻率* N9 D: q2 ]0 F0 s* H
如果把石英拿掉的話! L' J3 O- D* G6 [
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級
- c* z' X0 G& T如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
4 b( v( @4 K, z8 V( T( J) ?) J, q& W) D& f+ g& L
一點淺見4 C" a3 P7 a) [1 o* {5 u4 ~
有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了
1 E6 P- A3 O0 K- R/ N/ D我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用2 j" `) i: V/ c4 r% K
只是模擬出來的值  跟參考文件上的不一樣
  v9 K8 h2 z8 L2 M它其實是Crystal往外看的等效電阻值
; L3 E6 G& b( {) F+ M9 Y所以如果要用Philip文件上的方式判斷的話
8 O! H: B+ I$ g: q2 q還要把這個電阻值做修正 也就是跟Rp的方法一樣9 h; s3 Y3 |- }! j8 X
這樣才可以把並聯的負電阻值換成串聯形式
- e: z8 Q" X' x( R2 [/ ?然後負大於正就可以起振
6 w( `' p0 |0 r: `3 D# b4 {) O4 W! l" h% D& y
另外  我想請問一下monkeybad還有skyboy大大
* W1 D: {' O2 G7 P' o  @4 y8 x在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值5 n- K6 T5 V8 }% a. P- H$ [: Y
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
- C- z; H: E+ b$ _+ O- r不知道這樣合不合理' o+ Z  g( C* {! }$ p) E6 s9 |/ B
謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!& i" b4 N$ M% [9 u
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享1 A* Z" l- y+ O2 o- V5 s  p
9 `' H6 i9 h, F. a
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
3 n4 H7 ^* N# w* V2 }% Q/ Mcrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-17 03:56 AM , Processed in 0.155520 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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