Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad# }% l# x9 F" r% @7 W% X  ?
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!4 Y) W! l  y  l9 S/ q
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!$ e) s5 v2 n! }. e0 f$ t& c

$ s3 e* X1 r9 I& T! j电感初始的电流设置如下所示:5 b$ l. R1 k/ m+ n- ?: [
L_L1         N11450 N03952  588.873289 IC=1uA 5 `. }( I. H9 N% R! l

0 x  J' h! D  n注意给电感设置初始值要不能太小!
: [* _& x# M" I% e# v0 Jhttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助): B) K, B  a, Z7 p% {0 o
------------------------$ x" \, Z* n; ^2 j
* source 100K) z! L8 o( z! Q- s* m
.PROT1 Q% W: u* e, @; q! _
.inc 'd:\hs\lib\level3'
- z2 q$ T* j1 A8 k, o" m3 u% v" K.UNPROT
! G% Q  o* Y, T- ^: wC_C4         IN VOUT  1.72169576e-012  
0 Z3 U* i* W$ LM_M1         VOUT IN 0 0 n
& Y% k7 l9 I: U4 W" `$ q+ L=16u  8 ~& z4 @: w6 @1 b% R
+ W=0.8u         
* H+ l7 W0 C+ h0 H+ M=10- v. g! h$ C! ]. g& i7 K
M_M2         VOUT IN vdd vdd p : n/ E5 b% t& v3 W9 [
+ L=16u  ; W7 ~1 p& q6 ~0 e3 D" o
+ W=0.8u         
5 N' a3 P- N+ w- O4 A6 @4 W+ M=22
% z# j. ~7 h6 G& S, A; L- NR_R3         IN N11450  18.5k  6 d. a: n& h6 Z& v
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)  B4 g* f- }: a: F: H
C_C1         IN 0  5p  - v. R1 E4 U) V+ R! n
C_C2         0 VOUT  5p  1 }! z9 b% s' \* b$ D7 T
L_L1         N11450 N03952  588.873289 IC=1uA 1 D0 y' e2 G" n' R
R_Rf         IN VOUT  50meg  * D& b4 h* K8 O6 L/ C: K5 z1 G
C_C3         N03952 VOUT  4.30423941e-015  / M( A. W& `, e2 S
.tran 1ns 20ms
7 V8 h% ^& R: B# C  F2 b# \.probe tran  v(in) v(vout)) ~6 l' e0 L' B- {1 M
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
) t8 Q/ \  g1 T; d: i$ v3 b原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了
3 S+ Y0 k& W( ?4 Y! f
* H  A& m8 G4 r% J/ m看了討論區的文章 7 Q/ t8 u, S  |3 r, {; I% f
同意裡面的講法
0 v1 X) T# M2 k  N! c( C震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
7 m; S0 W, M& `設不好就都掉到ZERO的狀態 而不是震盪的狀態  2 e9 _- O, D1 x, y3 A
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 * \& Q: j9 V# r7 t+ b
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
9 l6 m6 i4 |% U# q
; b0 T8 |  }; V5 R( F不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)( D- k- L' W* t
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的..." J: M" ^+ i8 I, \* k! G& k* p
( U% w. v# m2 l2 q" `  @1 S# X2 `
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
6 @) @, Z2 m, F9 X到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT 9 R. s- s+ u% Q
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
0 M% l1 W4 ]. x: l, T% f幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz)   A$ s: g  e! u( ~% m5 W7 r
還可以起震, 跑到 12MHz 時就掛了..) e- n0 n! A. s! t1 P' |
! d; I8 }4 H* q8 i. u
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
, ^6 I. `4 L% k4 n(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
( u9 J8 S- j0 c2 K7 f
0 p& |2 I2 [; j, c. 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.
' g* Q0 q* D+ w/ X$ X! m小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
# O" M3 X  X' p8 d. v! d為一CMOS反向器加上Crystal's model.
+ I/ o1 E) ]  i2 @4 r* C) [小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",( G' a+ v9 k  J' ^5 h
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.# M" j1 R. l( R3 a. T% p% S$ }# ?
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??( o+ ^8 X) h% m0 @. _! {& F
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.
- O  b2 {( h5 k2 O對於電感的初始值要如何設定才會符合真實狀況.; G4 Y/ x# @3 y( r( z& {/ T) M
IC=1ua,一開始模擬就振的很漂亮.- z( I% \$ z3 {9 h+ F1 {
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 3 K! p+ Y7 b, f9 d/ v
昨天晚上試了一下以前在網路上找到的一個方法# b/ J; s3 R% V
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬& }- h5 b3 @  y- |1 Q5 K4 ]
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
1 b1 G1 r' B. c8 W& M0 n) S結 ...

8 |9 w* [" G7 P3 m6 n" h
8 }, w- y. q" L, E3 c+ u小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多/ ^2 \7 `" g" V5 h; J. C
monkeybad 大的這份附件, 剛好讓我想到一個問題/ \- C4 A9 ?( l+ `0 r
在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
, r5 M2 ?. T5 h我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....5 k8 F- N; t& z
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
  B8 [: R* V. l! N3 F: ^但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
* C: I4 X0 q, }! x. y6 C' J; p這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?& ~* Q1 V' \- f" L" \; A& z2 C
查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
; A, g% [3 q4 d1 k6 A# X煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例" d: y8 A. a; @$ a0 {+ V* t, o
不過通常都伴有 消耗電流 過大的問題" K& a1 `( C6 O3 g' \7 Q8 I
0 k0 v5 G1 g* ~* h0 h' X
嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻
0 g: _) y$ q2 s5 x除了 網路分析儀 外
2 V  ]1 H' G% R- s3 i$ p還有一個 小方法 能 簡易評估
% B: {) r& f; g! w9 K( `) G" \0 J: B' z7 Q' _" H
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了) o$ U9 u& |, m
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享* f. R1 H; {. Y& S
小弟我目前遇到一個跟你的第五點問題滿類似的
2 I# u  C: V# i我是design一個32.768k crystal osc/ H& j6 ~" O  C2 y- q$ T0 i
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了1 i. E- c5 `  f, b+ r! M! w3 Q
所以我就去量測內部頻率輸出32.768k的那一點訊號- c0 U8 k3 b1 ?1 \8 \& t+ f% p
我下探針去量測,發現頻率跟波形都正確
; f* A* v: s( k) F6 I+ o. X( e+ P1 K* }但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)
3 a* y8 P; o4 D# Y' L9 p我當下是覺得探針類似有電容的效果
5 S- ~1 n) \5 [所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
3 b. t1 y& m# Y7 a+ D, ]1 w還以為是noise的影響' N8 K  d3 Z- x% K; y
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用) ]' T+ z$ p& y0 \8 ~/ _: q
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
! V+ C; b! U7 Z* J% I% D4 u; t感謝finster分享
* j9 y$ [* a: s) g; K! \小弟我目前遇到一個跟你的第五點問題滿類似的
# i/ F4 c- e  u- v4 A" E我是design一個32.768k crystal osc
( \$ D. W1 K% L9 T1 mic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
! M* Q0 T# i% B  g. y2 }
. I: }' K0 R! S+ Z4 P

: Y; x! O3 E' D3 a! I不好意思,因為這一個主題己經有太多人回覆了0 d7 y8 g( ^1 {7 ?* p
所以也就一直沒有留意有沒有人有再提出新的問題來: L  X2 x# j+ C$ U/ G
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了+ a0 \4 L1 f( X6 e! }3 R% T
解法就是加一個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 u- N! X* s# H4 _
: h# t! p1 u) p- b$ |) T2 f% K# k

+ f9 ^2 A+ \) ?3 i/ q, |  N' |  E& I1 Y' Q! N2 Q2 c
不好意思,因為這一個主題己經有太多人回覆了5 [3 Z8 F) o4 D3 q" @& Y
所以也就一直沒有留意有沒有人有再提出新的問題來! U1 A" r# e1 Q, L2 U9 Q3 z8 |
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
5 C+ X5 ~* a$ v4 P3 p+ k

* W& \1 E& A8 T0 h9 g因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
  R2 j7 B' l3 V' g1 j5 M% ^2 |到底是什麼阿
: ~8 e, A5 Q8 K有沒有參考資料可以閱讀的
$ ?* E6 A& U# E9 t或是哪本教科書有提到的
  }' X( I) J; k6 f5 z我初踏入這個領域什麼都不懂
! G- `! J$ l9 h& Q謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
* }5 y! u( P& K" Y! N- i" g+ z6 v我查了些參考書還有文件後9 O8 G4 M1 T! T/ b. _
總算對負電阻有些粗淺的了解
" O. ~, o6 k$ [2 e  S7 m& U8 W- o4 a% c% |$ t) H' C/ ?
最近老闆要我改良之前12MHZ的Oscillator
9 B0 i% J) E, @  `, _參考板上的文章後 把前人留下的電路丟下去跑模擬
; H, e  U' m: v7 Y* N  s7 w# k. i算是可以正常起振1 g/ z  j$ F. q

( j2 g- ^; K% }( U% \: i# k2 B我的經驗是
+ Y3 ]( ?/ _" X3 ~9 Y: L5 D若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長- i+ ?+ H; r0 }7 b
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
2 l; q" F% \& W; i5 T! k然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
' ^8 D7 R1 N; N& X8 W1 F: L但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
/ e# d5 E) B: d: R0 P  a7 U以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad0 H, L1 p% F# S4 q3 E) y2 Y
" N$ }) m9 S$ _1 P" G
我覺得這樣模擬負電阻的方式有一點點問題
- Y, @' h( r) d& @- p9 R- F你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
0 h/ v# A3 ~$ L2 l7 l你模擬的是並聯的負電阻值  而Philip的是串聯的
) g, v; I8 }" f1 Q兩者會有差別1 m9 E/ n; N/ d! ?) A$ G& }% `  `+ v

2 K2 e5 s0 _! U6 C* f如果要用並聯的方式討論的話
+ b" ?) U7 U6 v+ m/ |) C1 }可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
8 _0 p: X/ P* Z8 h) h然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
; ~! Q- [5 I! d; V' E/ \/ K& O應該就可以起振了. |: q# \$ [( z4 r4 r: R6 c9 E
* y! y- p# w. z+ _4 ~
另外有個問題
" W: b: C# q$ d$ T不知道在圖二你是用什麼方式把頻率鎖在震盪頻率- E( a! }% i- X; ~2 @
如果把石英拿掉的話
" [+ [. c$ [( D3 I震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級! q# n+ [0 B. ]: Q' T
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了/ A+ c$ i% v3 N3 m0 D
" I3 d+ \8 K9 z
一點淺見
: k) x( g9 ]8 o' l# T: D. X有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了5 ^7 R9 {+ ~( ?+ S5 D
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用( R" h9 D( N6 h9 N$ u
只是模擬出來的值  跟參考文件上的不一樣2 ^: _2 H  L: A$ G
它其實是Crystal往外看的等效電阻值6 T# f" B0 e8 d. N+ t
所以如果要用Philip文件上的方式判斷的話+ U8 s; I4 a2 o. d9 K6 k
還要把這個電阻值做修正 也就是跟Rp的方法一樣
) H3 e% Z+ k! u4 v$ ]: N' p這樣才可以把並聯的負電阻值換成串聯形式
2 g; Z# o/ c+ ?  L2 \3 N6 O然後負大於正就可以起振
& L& M. l2 X, \5 \6 u" Z- [& t$ Z0 u' G& H/ q: b, [, ^
另外  我想請問一下monkeybad還有skyboy大大
" A* `  M& p" `3 M在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
% k' y& H" P) x; C4 @- U/ q我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
3 C5 F% p, `: }, b+ K不知道這樣合不合理* a  _# C7 S, x8 K& R8 X
謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!& i( O+ x5 D* W/ Z. @' Z
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享  Y9 N1 p/ W0 a! O0 K) h. M" c0 u

' ~6 d) v* p9 J! ^# r4 \Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验& g3 K$ v8 J9 _: [) J
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-2 12:56 AM , Processed in 0.137517 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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