Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad  S. T0 ~, G( a# B3 V/ G( V# ^# B) L
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
6 c# l# [# N1 l- }) x+ d- t1 \# l现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
4 i9 a9 b9 l. L2 x! x6 K" h9 p1 ?8 p4 V; u6 I  P) E
电感初始的电流设置如下所示:
& m( l+ f8 K) m  l8 FL_L1         N11450 N03952  588.873289 IC=1uA ! p8 ~' E% ?1 r% e7 f* |7 j

! @. K, e' ]& n2 u( M3 K注意给电感设置初始值要不能太小!' c" \: G+ q% ~& U
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)2 f5 \" S  z1 Y  {- a' m6 i
------------------------
  F( ]$ x6 t5 D+ d. A% C* source 100K( `) s( V/ L- [) F
.PROT
: u) x8 ]. ?6 l- s( F- O.inc 'd:\hs\lib\level3'4 t4 t* K5 v0 f& {! S
.UNPROT+ M! f( n( u! n  Y8 k
C_C4         IN VOUT  1.72169576e-012  
/ [2 w9 n/ x" b/ C  SM_M1         VOUT IN 0 0 n
: l* r, i. V: [+ U+ L=16u  * _' P2 X) D) K: m7 m
+ W=0.8u          ! `8 Y+ {! P+ g# T2 w
+ M=10
9 ^/ _6 Z$ o3 qM_M2         VOUT IN vdd vdd p
7 A* h' E4 x' }; g+ L=16u  ; N6 x1 T' m- @! X8 m5 Q- ~4 E
+ W=0.8u          9 T2 K9 p, b/ d( s* W0 a
+ M=22/ Q7 f! R  R) B  V! q0 Q
R_R3         IN N11450  18.5k  # ^6 K/ O" l+ b+ w* k* J" \. F$ Y
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)0 z! J! H+ x7 a4 D
C_C1         IN 0  5p  2 `9 {0 b/ X+ D3 x
C_C2         0 VOUT  5p  5 I' o; c7 u' ~- j
L_L1         N11450 N03952  588.873289 IC=1uA
& Z. d, w; H5 A/ y' i, s7 @R_Rf         IN VOUT  50meg  
+ B. C. W: v1 g; W& l3 ?5 a& lC_C3         N03952 VOUT  4.30423941e-015    h6 `5 g1 J! g9 a' ?, S! K% c+ G
.tran 1ns 20ms : F& D$ n! U/ G. |
.probe tran  v(in) v(vout)3 L8 J* o5 U9 u1 S
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
4 l( S! w- d5 v原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了
* q& P% W) M2 R; X+ v4 U, i) i$ v! Y- S- p+ A% ]! Q3 S% g: S
看了討論區的文章 ( }4 y' J! Y, r0 `8 h) r
同意裡面的講法
/ Q7 p' [8 m' _震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
, s0 f2 g7 G7 H9 t- f4 a8 l1 q設不好就都掉到ZERO的狀態 而不是震盪的狀態  7 z6 ^0 s  m" ]+ @7 _( J  S
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 4 U- w. Y9 o3 u3 H. p5 k
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...5 P2 y8 B' c6 h& V; |" Y. |! O7 G* t
8 D+ q) f6 c: z9 \
不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)" X, C% |# _. o  N2 |$ H
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
; t" D4 t. d3 ?  T% O3 E+ W. ?8 e8 q8 F; C% Z- q* @
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來) p3 `+ \  G5 x0 Y: |5 ?; n
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
3 y9 ?) A- E# ?# x就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, ' U' Z% i, y- o; g, W  j0 m
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 6 v; }- W' G0 F0 X2 |( p
還可以起震, 跑到 12MHz 時就掛了..7 K6 |' }/ q- f0 g; X

5 {* D( L( b8 [只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
7 K# ~$ _  s: |' A' @/ U(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)6 a3 v7 q" ~3 R5 s) ?, P1 o
6 H' \. J* w; s3 G
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
/ T# D1 J0 g. L5 {' L小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,% }. h8 h# J' i* e  J
為一CMOS反向器加上Crystal's model. : J) J7 `4 W4 {/ w; d0 y
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",
) V2 r) A' W) q' @在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.' {3 O8 v9 _8 W
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??9 E* n5 s: J  H5 X9 j
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.' j: I; ~, _! \% e( s1 t9 P: C
對於電感的初始值要如何設定才會符合真實狀況.' h( e; _3 Z5 l% R: r
IC=1ua,一開始模擬就振的很漂亮.  O3 s' P* z9 x. t* j9 X+ i
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
- ~3 j$ I. u+ G6 f  ~: I2 x6 v: z1 ]昨天晚上試了一下以前在網路上找到的一個方法0 t3 j, ~' a" {% g1 {
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬7 w, Z$ Z1 c8 m7 c* s1 H- T
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
9 h9 t; K: s0 u- f結 ...

& ?" B0 B/ R, L% O1 I& i0 m1 b6 \# L" r9 r
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多
7 X3 q0 K) ?& k" P2 j1 l- ~0 A, f1 Lmonkeybad 大的這份附件, 剛好讓我想到一個問題: D5 O; q: g$ e+ g6 [
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
! q+ n5 C( U1 B) l8 o  }+ ~我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....* v1 _7 X! U4 A8 ^  ^  ]- S9 l
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
+ M/ h' V9 w, L% q/ J但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?1 ^- q9 q& T: s# \* o9 o% U/ f4 M
這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
  K+ q' {# o6 r% Z1 z( h& _查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
9 `" U3 `4 b3 C: f0 O6 S: S  I煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
) J6 l; q2 c5 [. @, d6 [不過通常都伴有 消耗電流 過大的問題
- A7 L0 E4 m. @3 s1 q1 Z# V3 j% h2 g9 r1 T' z3 C+ O
嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
' Z1 z! Z& r" J0 M/ H除了 網路分析儀 外
5 h' ^+ A" F, U還有一個 小方法 能 簡易評估 6 h6 H1 _: s' M* J

) `- U% z# n. ?' K3 s  U' O: v( v缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了1 p: j9 M4 V: S( _$ A* L! B, p
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
+ g2 J9 n  d5 x8 F0 Y7 K小弟我目前遇到一個跟你的第五點問題滿類似的
% \( {% P" u, P$ P3 E! A& L我是design一個32.768k crystal osc
; _: ?3 K/ a, gic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了: D. ^. H! N9 a" j/ ]8 P  W  N7 j/ w
所以我就去量測內部頻率輸出32.768k的那一點訊號$ }- c1 @' ~5 m6 y4 n! Q
我下探針去量測,發現頻率跟波形都正確. Z9 K1 _9 p* m1 ]! n, _* e$ b7 h
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)1 Y8 m  T9 ]: P! z: Z8 K: {
我當下是覺得探針類似有電容的效果
9 y# [8 w  H8 ~+ Q4 w所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
8 c' x2 p/ c3 {5 e還以為是noise的影響
$ w' a6 \3 U) _9 L' T0 H5 O看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用9 A' d! s1 E: K( k8 U2 {
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
! |, w& X- O+ ^+ I  h感謝finster分享9 k. ^% S8 o( g: @' X7 @0 O8 g( G
小弟我目前遇到一個跟你的第五點問題滿類似的
/ l* X( _& J% l我是design一個32.768k crystal osc
/ }! ?; D- ~7 Q$ Fic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...

7 |/ D& k7 R6 M. f+ E7 x; I& ^" Z$ B" I

$ ~: ]8 m/ \( z# E" J' M, [6 ]不好意思,因為這一個主題己經有太多人回覆了9 [0 {2 o2 C( p; A
所以也就一直沒有留意有沒有人有再提出新的問題來
( c: N# x2 g' B! {8 p我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了4 ^/ X) ]5 F- l. 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 發表 7 p1 m( k0 [$ H1 u1 A

+ J+ `  U4 U: x' ?9 [) W3 B' I* L; b

: h9 ^0 b* j$ h  B不好意思,因為這一個主題己經有太多人回覆了
, f/ c3 z- p( }! m* ?' v( r9 G所以也就一直沒有留意有沒有人有再提出新的問題來
: _+ k, C$ X# ?+ r+ s我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

4 P6 _$ L& J. R2 i3 X0 v
8 F) ]- n' {  N# U& n0 R* f) u因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
: c5 m# J4 v4 M/ Y到底是什麼阿
0 P) o6 g8 `6 A( b) \3 H6 a5 p有沒有參考資料可以閱讀的8 b  K- r. h1 g" O3 w# n. T
或是哪本教科書有提到的6 r9 S  E$ c" N) k* d6 H
我初踏入這個領域什麼都不懂* E8 r) f% ~/ H( i3 p$ y+ i
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題' `- j8 S: a2 ?
我查了些參考書還有文件後
7 ^/ X( @% h! x* l總算對負電阻有些粗淺的了解7 F6 F0 k3 y& ?- B2 F; y- w4 l

) W  p" D% R" A+ X# V5 V; ]2 t最近老闆要我改良之前12MHZ的Oscillator
1 Q8 y3 W5 k0 |; `參考板上的文章後 把前人留下的電路丟下去跑模擬
# d3 x# t/ n% |8 t0 ]算是可以正常起振9 u4 k  m" J* {
! q- }9 b! S! ^* }) d
我的經驗是
( m# R" K3 D+ [2 T: l, ^" b; p若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長& J/ A% G0 D7 U* i, p- p
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
( E- R8 c! I, v- N: i2 m然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
5 d+ S/ ~9 c$ \但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
$ Y3 ~0 Y& C: n8 o- {' M以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad, x; ]7 |) S2 H

( ^( \& p( u: p4 g( N8 k+ x我覺得這樣模擬負電阻的方式有一點點問題
. I- I- }( m; _6 f你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣. h  E6 f% L& V9 y4 G
你模擬的是並聯的負電阻值  而Philip的是串聯的
4 E$ q  e- w4 ?& l: T) C& I5 _兩者會有差別
& M5 Q1 B' H( P* W/ o8 J
8 o" g& O  L2 ^& V( _如果要用並聯的方式討論的話
0 X1 Y) I- c# {# A可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣% e' ^# {  a$ T+ p  c
然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)8 ^5 ~* ?/ o5 o6 l
應該就可以起振了) Z& M0 t5 |9 ~- j( i! D
7 A- Q: G- Z, ]+ i+ V" ^% }8 k
另外有個問題2 S7 v  H. E' S  r2 `0 @
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
# M& c! P) f8 ~+ `! P9 c如果把石英拿掉的話( t; b2 D4 v$ V. N4 q; `3 z
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級' s* a' k7 ]5 n  V2 h/ O5 x- l
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
: I" p5 O! ^* f+ X2 `5 p" q' |
/ v2 E& u4 p" e! W, Y: j, T一點淺見
8 M0 g: i# ]$ u, f, C* D有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了# [, S) ?& A% H  f) m# Q4 _
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用& \5 H& L" e2 k: u1 c9 e
只是模擬出來的值  跟參考文件上的不一樣
) E. X. Q! d8 d) q  `6 S+ x' t+ S它其實是Crystal往外看的等效電阻值1 W; p! x+ \: B* Z  O
所以如果要用Philip文件上的方式判斷的話
) d8 Z7 M: c/ f還要把這個電阻值做修正 也就是跟Rp的方法一樣) z) h- x. V# d' [0 U
這樣才可以把並聯的負電阻值換成串聯形式8 v3 x! Z' i4 _
然後負大於正就可以起振
7 o; I- P3 h- x! n* |' H" y8 P: ?( i) C! }9 e1 l, R1 R; y
另外  我想請問一下monkeybad還有skyboy大大- v7 e6 Q: Q' ~" o
在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
3 g  z8 ?& ?: o% r! u我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
+ p: b0 W, I7 n: t不知道這樣合不合理
+ G* E- A, a4 W謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
9 ]4 ]9 T! B; u; a6 ^: B* X3 C. `   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享
; l) O# H6 Y5 ?3 w' X$ i4 t2 B( e1 F) j4 j) M
Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
# z6 b7 d; g+ ?* \6 Jcrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 10:58 PM , Processed in 0.136518 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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