Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad& [9 i6 D" U) E1 q
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
1 f) l) k. n+ l" s0 r* Z1 D现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!9 B! q3 v" x) c( A: T( k5 N

' v5 p3 H: M" b. H" T) g8 [电感初始的电流设置如下所示:7 D: m6 O: v# f; Y
L_L1         N11450 N03952  588.873289 IC=1uA
. J4 R- A- n7 y& b3 C3 }. ^0 ^  b0 @. G( w4 T& t
注意给电感设置初始值要不能太小!# c& [+ P, }. c- L
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
$ N: T" I0 e3 W9 p4 L------------------------
5 [' c+ D; K3 N# s* source 100K
9 b- ^! }' v: U; Q: C  D.PROT' L- t# S2 I2 O' U% Z# Y* l
.inc 'd:\hs\lib\level3'% ?3 p2 A1 l$ b# x
.UNPROT( g" Y' t/ W% K# p
C_C4         IN VOUT  1.72169576e-012  
. O/ C8 X& A7 L7 ]4 q1 q! |, Z: a+ [M_M1         VOUT IN 0 0 n
6 R! W  v, P( B+ L=16u  
* H# J/ n0 x! b9 ^& m, s3 s+ W=0.8u         
) h* U: O" d1 P) H8 r, T7 p) ~+ M=10
# B' K1 x0 @2 a, eM_M2         VOUT IN vdd vdd p 2 ?. E4 s3 a; L9 _
+ L=16u  / i- k0 N5 O* V; }1 k7 I
+ W=0.8u          ' b7 H/ |- Y' y: O# V- h
+ M=22+ r7 E5 C& l2 J7 \. e+ C* |$ M
R_R3         IN N11450  18.5k  7 m1 T5 {6 [2 L
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)- j5 @) d2 h, }& w! l
C_C1         IN 0  5p  $ o5 n, `3 G/ J1 X" C& q" o" U
C_C2         0 VOUT  5p  : u8 A, a! D0 o2 l8 N" Q
L_L1         N11450 N03952  588.873289 IC=1uA ( E8 B* }0 M4 c
R_Rf         IN VOUT  50meg  
2 N- {# `7 B% s/ v9 N* UC_C3         N03952 VOUT  4.30423941e-015  
+ p: w* ^) x8 m4 z( S.tran 1ns 20ms
  P7 Y% i6 t0 e& @9 z9 K% i.probe tran  v(in) v(vout)
3 G. S, v+ j1 q7 H% c. ?- R.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
$ x8 t2 w$ c. l8 B原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了
' F" }! a* W8 p
# o" Y' p4 N! }- L" y看了討論區的文章
# Q8 D3 J# x- Y9 ?. d! |同意裡面的講法
6 z* d$ i. n. R2 J% e# I! Z) \( R- |1 r* n震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
0 P% ^8 R' w9 ~& u4 V設不好就都掉到ZERO的狀態 而不是震盪的狀態  1 M+ x( q7 R8 k" J1 Y
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 - L+ b, o0 x! E" ^
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...! K; Q# Q) u; V( ^3 g

  P$ b; Q" ~. b" P; G6 z- G不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)* G% H- D3 h+ S  w- ^
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
" ]% D3 J4 r) T# S( @  N7 H/ {. x; t- q" M
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來! K" y# C+ y3 c/ G: h  z: R
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
! l7 H, D# I& R# g! r, }就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
/ q5 ]0 f0 T/ u4 p& ~) i8 v幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz)
' l7 o1 j6 h8 [' n' d/ j: ]- n: C3 ~還可以起震, 跑到 12MHz 時就掛了..
7 l- ~7 {) x) d; h; K" Z
" m! S) l, Y& F2 f  e只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
8 k1 ?% M( r3 t/ X+ y$ V(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
# K7 F. \$ W# I1 }" `+ m4 D( S' ~7 _: s5 h
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
" W$ v% Q# t0 _0 O( N小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
7 q3 t7 m7 L0 J, g$ h3 T, l' Q為一CMOS反向器加上Crystal's model.
, t5 T9 [  i9 N( S+ T小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",$ p. l/ e7 `9 A: l% B" `
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.! q# m5 S# w+ M! `0 f' r
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??: j9 C* X$ ], K( S2 y- s4 V6 l9 d* R
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.; _* f% W* C0 Z( I* L5 K4 Y& k
對於電感的初始值要如何設定才會符合真實狀況.
$ m# ~4 n6 d! p& \( W+ WIC=1ua,一開始模擬就振的很漂亮.
- k1 f! s2 @3 p% A, q0 K0 GIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
2 \3 ^" D1 y2 }昨天晚上試了一下以前在網路上找到的一個方法
; a" S) a0 l! x$ X# P+ N就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
3 y. K1 r% L; c" S& x9 L起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
* H! Y3 n1 O, Y1 O( f結 ...
& i# S3 K) D* X+ ^0 O0 N1 [
; D# \$ y. t2 G
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多
9 m$ P3 G4 x  |: ~0 x  u3 `# ]7 Imonkeybad 大的這份附件, 剛好讓我想到一個問題6 q( N4 m% |1 i8 l
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd+ Y2 h) T% t" y# Q" d
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....5 w& C9 V# I* G8 P* U& u, S6 T
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同+ i% w# j' U9 f5 I6 i
但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
5 o# w# G0 d* ]6 _這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
. k$ ^3 v/ O1 p查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?9 B$ S' K- a9 P
煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例' B  `* R3 }& R
不過通常都伴有 消耗電流 過大的問題
2 [$ I* C: Y& e8 V6 x( Q5 x
4 Z0 w( h0 P  u( }. x4 o嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 / ?' D3 ]5 d4 W! ]; r+ ^. m% j5 `
除了 網路分析儀 外
% |0 H: X" Q5 E  T9 p' z, I還有一個 小方法 能 簡易評估
4 H. C9 M1 M$ v; \& B& f1 O
- d' V' L5 J" F& a缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了
6 D, ^5 H8 c( U1 m对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享" C, F; m+ Y0 b8 c! K* Y9 L' W
小弟我目前遇到一個跟你的第五點問題滿類似的
8 ^- ]3 q2 `1 q  a4 L4 c6 z我是design一個32.768k crystal osc
" V- ~( }6 ^+ _$ \( b8 J" Tic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了! z& z$ r9 H* I/ A' m" a
所以我就去量測內部頻率輸出32.768k的那一點訊號) k- w0 r* [% L# E% Y* i9 h. h. M
我下探針去量測,發現頻率跟波形都正確& ]1 g$ m) z& _( s( a! f. }3 p; ?% G
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
6 u, G  i' G$ b% S我當下是覺得探針類似有電容的效果
  Y: I6 P1 S* F( f  e3 ~所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
2 j. e% Q4 J7 n/ W1 ?還以為是noise的影響$ |: V6 Q- g! y* J5 @
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用4 Y% F3 G" U9 J: [" f* W, x' e! X
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
) i' C8 n7 I% x% s/ `% G4 ~( c4 |感謝finster分享
: c: p1 r* M9 O7 b% r/ G小弟我目前遇到一個跟你的第五點問題滿類似的' D' i, Q6 T; W" f/ r" U+ _$ M
我是design一個32.768k crystal osc
8 I0 {( c# m# y; T5 Q0 ?ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...

( P* a( ?! U; K& ]* z  g. @
! I) h; q% |) A# E! \, e1 M
( ]& W9 |. B' u. S/ i8 X. j& K不好意思,因為這一個主題己經有太多人回覆了* Y% v. e% H0 o
所以也就一直沒有留意有沒有人有再提出新的問題來
! j/ |4 o( w6 G% m8 N我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
+ L& _# m: E. N- A4 T! 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 發表
% x. l- T' i7 j; `: T  o& G1 K
5 K. D4 y+ m. _; ~6 C6 @0 \( Q
4 N  V' {$ s* ~/ Y2 B, t5 ?; ~8 x3 @* Z
不好意思,因為這一個主題己經有太多人回覆了
/ R, c! s7 e  v6 }3 \5 s- j所以也就一直沒有留意有沒有人有再提出新的問題來
) v! `- E$ Z4 v0 [( R9 k8 s2 a我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

8 s' [8 a' c: G4 p+ g" s0 v. N, I5 _  _; \
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻( H0 b1 S  r# \4 q  ], Y; }
到底是什麼阿$ z1 \- S: |" p5 X8 R
有沒有參考資料可以閱讀的
1 i: C  Y$ H. a5 J或是哪本教科書有提到的# Y+ w# R/ B/ n$ d4 f/ Z" ?
我初踏入這個領域什麼都不懂' _/ z, ]4 P( n, O+ `$ m
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題5 r( K* Y- L5 c4 l* r
我查了些參考書還有文件後
4 y9 a  {7 Z  y- Y2 p- v8 ]總算對負電阻有些粗淺的了解. l2 ]  c; R7 R

6 C: c" E4 p/ u( Q' T最近老闆要我改良之前12MHZ的Oscillator
3 c( B4 d: y# w3 ^4 d* x9 s參考板上的文章後 把前人留下的電路丟下去跑模擬
2 x7 ]/ l8 k2 e. n3 }算是可以正常起振
2 u6 X: w' E8 c9 |5 Z: d
' I& O' p. q: @: o我的經驗是
# ?6 D/ j: G( C4 _. C若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長
/ l& Z, S5 e$ F' t! J: J使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
, |3 W9 d& U5 w3 d8 V* [然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用1 x4 d" s" [! a- L& p4 p0 u
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
& _5 Z9 R0 z9 U$ ?以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad( C, ~$ ]! M% D
- o0 M: c' @4 f7 g7 d
我覺得這樣模擬負電阻的方式有一點點問題
9 `, X$ _* x: J1 O, A) q# \你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣8 v" q$ j9 q# N: I* L7 y6 O
你模擬的是並聯的負電阻值  而Philip的是串聯的
5 `  N% @# y: ?) A  I兩者會有差別
. e( Z0 i9 \  ]- u
$ W+ z9 x+ l" F* C% L3 w如果要用並聯的方式討論的話
" j$ m' J- Z5 p可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
! i" r" A/ u1 v9 B然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
4 Y: S& s+ D' [% a2 A+ J2 o1 {應該就可以起振了
2 Q6 c  U5 z6 t) X1 a/ U/ d  U7 T
8 }# m" O: `5 i7 |9 o7 B另外有個問題7 u: M1 M8 C6 @
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率2 a8 J" T+ a$ y7 A
如果把石英拿掉的話# G5 E8 _/ o' O9 N: E) J
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級+ h' L: S- s. v4 l2 V; I
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了7 z8 E+ k! F+ p

5 y8 ]4 j% G' `& Z: K一點淺見
1 B9 l2 \+ j( P+ T5 z有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了! r9 B% x3 b4 g1 i. v" m
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用3 @5 q. o; M8 A' m) a& ~
只是模擬出來的值  跟參考文件上的不一樣6 E/ b8 q/ T( g( Q" T  ]& f9 s
它其實是Crystal往外看的等效電阻值
" B2 Z* N6 r2 ?所以如果要用Philip文件上的方式判斷的話
% N* S% Z) X! d" p% t/ ~  E還要把這個電阻值做修正 也就是跟Rp的方法一樣  B" K, T  u; {6 `: O8 P
這樣才可以把並聯的負電阻值換成串聯形式: t) B3 _4 m, x# N: V
然後負大於正就可以起振
7 X; O) U* x4 K3 w
7 G6 ]* w/ S$ J另外  我想請問一下monkeybad還有skyboy大大
0 v  X2 A" |. o. A$ `7 M8 |在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
! D& L# M6 L, c: Q我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數3 j3 J) n# e* j1 {/ x9 s# w
不知道這樣合不合理
9 @; Z2 z8 y! i3 J6 f# B謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!0 J3 {" y+ ?. X$ C
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享( R- u- f; l' s! w1 ^
* M/ W/ r; P$ Z" c
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
4 J  ^) E) s# P* |' d! r) O/ s9 Ucrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-18 12:12 AM , Processed in 0.143518 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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