Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad
5 O, J/ w' a( x7 u/ ?由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!) m4 k& _* ?( l! G8 k
现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
$ Z7 w% D6 a9 K5 b' R4 y% u% Q  y6 `- D
电感初始的电流设置如下所示:
- z. D$ t& {3 G6 o5 u/ TL_L1         N11450 N03952  588.873289 IC=1uA
- @; R; W: k+ a) _/ N* e. T
. M# v$ G2 S1 Q( p) M9 |注意给电感设置初始值要不能太小!: M; O% Q9 Y5 r- A1 a7 e! M
http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
  o$ s, y; U  R3 ^+ u; I$ [------------------------
/ n% h* f) ?" w) y* source 100K
: ?# M7 p6 X8 g4 P, V& {.PROT0 H6 g5 E& Q$ ?0 k1 i$ p: L! Z( T
.inc 'd:\hs\lib\level3'
! @6 ?% O' G2 m6 ?! x& u. u.UNPROT
1 K4 |1 g6 u: _) Q8 QC_C4         IN VOUT  1.72169576e-012  
8 ^# Z3 k4 \. J1 l4 l9 c7 fM_M1         VOUT IN 0 0 n
; ^# E+ K! r2 R+ x+ L=16u  
% E6 y- I$ p/ Q; M4 `+ W=0.8u          - A% \' m" Z+ a
+ M=102 c: ?. ]7 W8 j2 Y$ u3 j0 v" B
M_M2         VOUT IN vdd vdd p
8 p) C0 T7 y& o* c+ L=16u  $ r# z. W) H' L' e
+ W=0.8u          5 X4 n$ O& n8 Y$ ~; n; D
+ M=22
7 f# F; C( U" kR_R3         IN N11450  18.5k  
1 @5 m5 Z3 F. i8 x7 sV_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
5 w+ }. G2 `. vC_C1         IN 0  5p  
2 W2 x( H, e# g8 p* W4 \. q. UC_C2         0 VOUT  5p  
6 _* I4 g6 m8 q  H  \3 ]3 K, ~" }* }L_L1         N11450 N03952  588.873289 IC=1uA
4 V; Z* u6 f' l. t0 o  b) FR_Rf         IN VOUT  50meg  
( z5 y: o5 M' y+ }6 sC_C3         N03952 VOUT  4.30423941e-015  
# U. z" r! k3 d0 Z.tran 1ns 20ms , }+ s# b' d; Q8 g5 f9 N6 R
.probe tran  v(in) v(vout)
; V/ w0 x, w( `% Q3 s- L' o  r.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料& W5 G8 _% L* e& W7 C1 R
原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了; _" \: f: P% _1 w) J
3 Z; w' Y* V  [3 T
看了討論區的文章 # N6 E' c4 V% N% _( F8 Y
同意裡面的講法  H( B3 f3 C( R4 n" e8 i
震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧9 c4 o$ ~0 Z3 n$ C+ h4 i# t& z  e
設不好就都掉到ZERO的狀態 而不是震盪的狀態  
9 H+ U$ q$ n. m8 h8 [/ {- Q7 o5 w所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用
3 D- F4 y3 F0 C4 B, i4 jHSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
' t0 [6 g) Y6 I
6 }0 `7 ~1 a$ a# F不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
9 S- k$ j, k6 i, T- t/ y1 E縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...5 ~# j; O& r1 u' t6 r& W7 k8 z
1 s! R/ J# K+ K9 r8 x: X2 M
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
4 z  X( ^( s! f1 i6 s到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT ) c1 _4 u* H( F8 o- s* w9 {
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, ) r$ ?: ^0 B9 v/ u
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 7 F# S- W& T  T, E
還可以起震, 跑到 12MHz 時就掛了..
( l1 _" T5 U! N/ o8 t. x; ?- c- n! x) I8 f
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
7 w+ o" \- m3 D$ o" g! W6 U9 I, ?* W(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)/ O7 s- b, i% ?" A7 ]

! L4 `# E7 x9 s7 k$ ][ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
# d# l  U+ p1 q8 {0 q1 l小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,# ~1 a' H7 d! z2 s0 H
為一CMOS反向器加上Crystal's model. ' X: {8 _/ C, j2 E9 H8 f+ A
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",
5 g- G! k( H: P! U3 n. \在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.5 t8 y! w! f6 W
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??* s9 O) I4 t7 \6 r
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.% [9 N  F" i* ^! X& k6 T
對於電感的初始值要如何設定才會符合真實狀況.; }4 x& M' {2 j, j
IC=1ua,一開始模擬就振的很漂亮.0 e" ~0 b# l3 b3 D% H
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表
( l6 u# `& [& `" [6 h- @昨天晚上試了一下以前在網路上找到的一個方法0 x* v' k( R6 S  ?
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬! B2 C+ T' b) b, a3 q) z
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零* }* t: t6 v6 Z( v, p
結 ...

& g$ l- Z( E/ N6 V; i. s, _
8 p# @. ~: ~% f& X! H+ C小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多5 t! v2 P+ q  |' ]$ A. P2 N0 y
monkeybad 大的這份附件, 剛好讓我想到一個問題
/ f  r& [, |$ x1 j( b在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd3 m. ~8 D1 d( R/ [
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....7 u! T/ K4 L0 M6 Q& L! E
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
# h1 S" B% u- V) m7 V1 \但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?7 x/ F9 q+ h8 v' H6 ~  f
這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
  r. p4 x4 T  T2 }6 p* P: a查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
0 c% \1 W# I3 B" p$ ~% |) k煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例' q( O4 m8 i; V# |
不過通常都伴有 消耗電流 過大的問題
5 q! \& R6 n$ q4 O, d
( b# x4 v2 Y7 c( }嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 0 ?5 r( r1 `) H3 s- {5 E0 X/ J. o
除了 網路分析儀 外
! s) M3 j+ a0 K1 Q3 V* j還有一個 小方法 能 簡易評估
- o! _* `  P0 i  N& V. y  f
; M8 d5 b) H+ M( p缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了
5 F) H9 }: O7 N, P. r# r) |对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
5 L- J0 l' Q7 c. Y1 m* M/ ?, K小弟我目前遇到一個跟你的第五點問題滿類似的1 P4 V- g3 {0 U5 q
我是design一個32.768k crystal osc# U" U: m& {0 ?/ n. [% R+ A3 t
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
5 D4 Z. p* F/ O1 y所以我就去量測內部頻率輸出32.768k的那一點訊號' ^4 h2 {* ?# Z2 Z
我下探針去量測,發現頻率跟波形都正確' f. o& O4 I3 Q! v( Z5 }% G& h
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)$ D+ M1 H6 S' P( j8 d
我當下是覺得探針類似有電容的效果* N" P/ v! E0 l7 @) P1 H$ s
所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
- F3 O- O. n! l. [還以為是noise的影響9 ]. s& ^- y0 u2 j9 S! R
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用4 _9 i5 ], M( l& g! t
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 / v( m9 v' r5 |1 C) q
感謝finster分享
) g, }- J' h: ^4 @小弟我目前遇到一個跟你的第五點問題滿類似的9 U; A9 L. j, X2 e/ ^- G
我是design一個32.768k crystal osc
: l# o, z9 g! r  Fic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
5 E5 H. h( S) }2 T2 B# W

9 W6 Z* K: T* }% y% E: a
, t# s/ Z; N$ H* Y# F* S不好意思,因為這一個主題己經有太多人回覆了
3 V5 t" z; I7 @' U/ Z所以也就一直沒有留意有沒有人有再提出新的問題來
5 t. p4 k* ]' g. `我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了' }! a4 U+ W! `5 o# V: a
解法就是加一個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 發表
  g4 P: ]2 n) [/ ~6 Z5 H% F& K! m# h1 u* S3 H
. z$ D3 Y/ S  G3 n4 g3 j% L

! v8 r+ p- n& F3 Z2 S不好意思,因為這一個主題己經有太多人回覆了; y! F) v- u8 N- v3 q! y
所以也就一直沒有留意有沒有人有再提出新的問題來
0 g* b3 n# Q+ j  C; G我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

& a/ A" o. Z+ B0 k8 f$ t3 `
0 t/ q7 X7 b6 Q; J0 g因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
- X  K1 q! p. S/ N% U到底是什麼阿& `7 I. A% M$ f  ?( w" Q6 {
有沒有參考資料可以閱讀的
! E2 @# J: N; w. D8 [# m或是哪本教科書有提到的
- q9 z( a4 l) W: T+ \  U我初踏入這個領域什麼都不懂0 x9 P9 A- ^" s) i( F! f
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題
' l; F0 x- R! Q4 g9 k5 M7 G9 S我查了些參考書還有文件後
/ L5 H! D- S/ R3 |: D! U* \總算對負電阻有些粗淺的了解
% ]) ]- z. ?4 _/ @; G: S
% A1 ?5 w! X7 Q" @; v% {最近老闆要我改良之前12MHZ的Oscillator
/ g- J/ X; v! |( `% R+ J/ T參考板上的文章後 把前人留下的電路丟下去跑模擬- F& r9 \( K+ Q
算是可以正常起振
8 p, e; r% R) W" c5 f5 H! D+ j
3 J- W5 R) O: h& k我的經驗是) M8 @6 Y( j4 S" c1 [1 N6 |9 P7 t" C# X
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長
- n# [( D1 o5 u$ g6 i使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準
. W& c  o# Z+ S7 N; f: j然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
2 i6 M! K5 E. o: g% Y但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當: s, n; g' u; ^& U; G; v; H5 M7 J
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad0 o- |6 V6 ~% P4 p3 B: D

1 L. G4 [& W! C* A6 w9 Z我覺得這樣模擬負電阻的方式有一點點問題; b8 u0 }1 A! [, g  v  g
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣
% S- s! a% b1 k' y你模擬的是並聯的負電阻值  而Philip的是串聯的
9 X% c) q1 c) r  k1 b/ |5 H兩者會有差別
: h: C3 L4 f% [  n' k) x! {4 L1 f9 l' D" f9 x$ H1 C" H6 z
如果要用並聯的方式討論的話
% f5 g) N+ U; m# b# R8 p可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣3 M* ^! c& a. Q9 v4 I! F5 B
然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)  |+ {! G% {0 q! y/ Y
應該就可以起振了
* |; c6 v1 a: |3 X$ {( n' Z% {7 ~; z6 Y+ f
另外有個問題) X& H; |6 n6 [" Q
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率" x- z9 ^4 Q5 y6 b4 {
如果把石英拿掉的話2 _7 s9 Z/ @* U+ s( {
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級
' Z% w4 S2 F+ r- {5 l& S如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
. ~5 ?8 ~1 P( ~0 ~' W- s3 z2 `$ y. ?. @4 a) n6 Z/ B% G
一點淺見
6 J! M2 a6 d: `; t- E$ f! |/ |有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了+ k# {7 E' O$ u! h
我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用" ]5 W$ }2 S6 L" x  g/ [
只是模擬出來的值  跟參考文件上的不一樣5 d9 K0 H! l' M+ M0 Z7 T5 K
它其實是Crystal往外看的等效電阻值
" U  X+ x+ `5 S* V3 {所以如果要用Philip文件上的方式判斷的話
. \9 F0 c: C; I% t0 Y, C6 J6 N還要把這個電阻值做修正 也就是跟Rp的方法一樣( }; ?. g6 I: t% J
這樣才可以把並聯的負電阻值換成串聯形式
; ?6 _2 h6 l! O5 w( L" o8 {然後負大於正就可以起振
# m4 a0 X6 c" }& e5 ^1 n% R/ {9 Q* B' l9 Z' \! j
另外  我想請問一下monkeybad還有skyboy大大
  Y2 k' C1 ?1 [( h; O/ s" ]在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值! N2 m. ~9 \/ |3 ^& [
我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數; [7 y% ?. H7 X- E3 F2 u
不知道這樣合不合理. ], V# e: i6 D! V/ Q4 u3 g/ b1 D
謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!: D9 L! D* L9 y' e  c/ |
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享7 I- M" q. K! t

+ K  K. X6 c7 |' `Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验0 `- _: Z6 g# W: }& V6 {2 V
crystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-2 06:44 AM , Processed in 0.138017 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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