Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad4 W9 {' ^4 i( ]$ e0 a; e
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
; ?/ H4 }- U7 I3 `* ^# V, M现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
1 [! Y# D! v8 G& ?, P3 J9 ^& D, T: J8 [0 u8 @* C  Z
电感初始的电流设置如下所示:
. q# R& N0 Q: c5 O- ?L_L1         N11450 N03952  588.873289 IC=1uA # R! N' R- b" {; a$ w' l% u
6 u; H" M9 S3 V8 J0 ^6 J+ g
注意给电感设置初始值要不能太小!
3 q3 D7 K7 f6 @* ]  Nhttp://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)
* L: _5 B9 X" }------------------------! r* ~. D$ W. J- T* ]( v8 b
* source 100K9 b( V9 ?4 Y' h3 W! X
.PROT
8 _; ~  ~0 I0 R3 T7 v: n.inc 'd:\hs\lib\level3'
) Y. P, I$ |( d( A) D5 m' D/ m.UNPROT, z# f  {; ~& _, X* l
C_C4         IN VOUT  1.72169576e-012  
, S+ N& u7 D4 V. LM_M1         VOUT IN 0 0 n1 u; r6 ^! K. ^) S3 U
+ L=16u  
0 r& P* s+ p$ {: }/ z1 N3 ^; S+ W=0.8u         
; Z, F' N) w  Z+ M=10! g! i' O' A; m; C5 c3 j( v
M_M2         VOUT IN vdd vdd p
9 [4 N5 d1 h& F* g/ o) ~& h+ L=16u  
* _1 h7 j  N9 ^; f# s+ W=0.8u         
" T9 N* z- N% w+ H* l; \+ M=22  f- p' o$ ?4 |: d( o1 `
R_R3         IN N11450  18.5k  9 L4 w; m( I! B/ N2 B! T
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)
, h5 D& j% c) QC_C1         IN 0  5p  
4 }7 W/ ]# ?# pC_C2         0 VOUT  5p  
$ U. C# M% D/ Q' C, P; {L_L1         N11450 N03952  588.873289 IC=1uA
0 T; U8 v7 a, H, H* e3 [2 eR_Rf         IN VOUT  50meg  
; ^& J0 _7 C- q! ^; `3 aC_C3         N03952 VOUT  4.30423941e-015  
2 _# K6 _7 s+ o.tran 1ns 20ms
% C) ?/ {6 M, P0 d1 x3 |, B.probe tran  v(in) v(vout)
: g! ?; `( Q& y. u( T# V.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料
0 y- t9 N) v) f5 O$ q% c0 `; F原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了$ O! A% y# F5 Q0 r! Y5 z* D6 {7 {

7 P8 B3 X) Q) T+ e看了討論區的文章
2 b2 V9 c" Q( o2 f8 u6 Q同意裡面的講法
/ N2 M% `$ {: \$ W震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧4 u9 B% g1 Y+ `. @" u
設不好就都掉到ZERO的狀態 而不是震盪的狀態  
, |* M/ F9 k( ^: n7 f所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用
) s6 m% L& i# e7 t! A; DHSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
5 i7 e0 i. }0 v; `; N. c# I: u' m2 H5 h1 T
不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
  `' Y. F' _, a0 ~4 ?& H5 s縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...
/ t, e3 n2 D  j( X6 a4 H8 ~( j2 J  l7 D% c5 ]' d
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
! j6 p  h8 f, c' |到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT ; `: `' x+ B' f% ?& R; k
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, - m5 ?( p; P" }0 H; W: f! Y" J
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) ' @- k1 j& e# o6 ?3 O9 e4 X
還可以起震, 跑到 12MHz 時就掛了..
$ n1 M# h0 I+ j5 F6 X( |. k* b+ q# z$ B# R
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<2 s! L/ Y) H& Z
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)
8 ^8 v6 _6 Z+ _+ Y, B8 Z
3 c2 L/ k; _+ e- `/ a[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
6 J) Q; s. u- V0 l9 j小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,! S9 T' C  g) X# _& O! j6 g
為一CMOS反向器加上Crystal's model. - Q: J3 X6 T  Q" n9 [! T6 Y( R
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",+ u# d% a' W( q4 G
在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的." F6 A5 j5 w4 t* @% Q5 H
想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??1 j3 \! |/ ^; K/ w/ w
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.
( @$ I1 c$ z. R$ }8 g5 ?對於電感的初始值要如何設定才會符合真實狀況.* X+ x, D* ~; K3 p
IC=1ua,一開始模擬就振的很漂亮.
0 N, |0 o2 c7 M4 ^) s4 T, XIC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 - z' O( G3 K; O0 K+ X$ s# Z
昨天晚上試了一下以前在網路上找到的一個方法
1 q/ W4 c6 z% Q% P+ e/ r( k' l就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬0 I/ Y! V( r1 D3 X# Q$ a
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零8 {0 n4 N! U  p6 V* e7 n
結 ...
% y) k' g+ p* o2 A! N% V! L* g% L9 o

% Y; O, n+ t& m& G/ G$ u5 p0 y小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多
3 ~2 [! P3 G* [( @monkeybad 大的這份附件, 剛好讓我想到一個問題
* U! c' J/ O) k; {在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd4 y0 I9 x8 s4 i
我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....3 z' C) i1 N4 h  }. U
Xtalin > Xtalout還可以理解, 畢竟兩端的loading不同
, ]0 p- ^" ?* q9 S6 ^8 s但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?' d$ K( g5 `5 a. O1 C' s! |; @8 d
這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?" L6 @3 t  {* y" W  F) _
查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
3 U% k2 @! b# W) N( |6 {0 M1 O7 o煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
5 l6 `$ ]/ h2 r% ?8 g5 n; H% Y不過通常都伴有 消耗電流 過大的問題
" r/ v# X/ {; w1 J- `1 `) T6 U; `2 i6 D: ?7 {! y
嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 . i. G4 s- ?! r$ F% M( T. O
除了 網路分析儀 外
' Z/ G5 C  K6 d- t還有一個 小方法 能 簡易評估 # A$ S! S2 I9 R

9 |. s8 D5 T1 N" e( @缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了4 E: z; i1 l; G. s, U% |- h$ ]0 e  J
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
; T4 k0 `! w$ ^5 c& @% G2 Q小弟我目前遇到一個跟你的第五點問題滿類似的
+ H# z1 d+ S4 g我是design一個32.768k crystal osc- ]" w0 ^% l, q8 F; o6 r
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
6 D+ [; @6 g$ w: d' t, T, q- y2 }所以我就去量測內部頻率輸出32.768k的那一點訊號( o5 Z7 q" m; q- {
我下探針去量測,發現頻率跟波形都正確& g" }. E# d2 J0 [5 q( M
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)' k/ R; B& ?* P$ M+ j9 t* u, v
我當下是覺得探針類似有電容的效果. S, ^; R; w/ V
所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快
# R2 m& H5 W1 Q7 P2 ?2 M還以為是noise的影響" q7 k% T* E9 L- k; Y" o# P
看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用
$ I& s6 Z/ r% J; I看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
" t. n, c5 j8 c1 b/ u感謝finster分享; C0 e! m  O& H, f
小弟我目前遇到一個跟你的第五點問題滿類似的/ O, W1 ~+ U( a5 y. |' \* P
我是design一個32.768k crystal osc4 X" |0 l: _# s7 w( ?6 m/ G
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
$ Y1 n( T7 y9 K. Y  ?
! Y8 I3 U" B) w4 X/ ~$ c
* E# n. _+ V- B/ S
不好意思,因為這一個主題己經有太多人回覆了* A+ L6 i+ y  }6 X5 H+ D8 p# E
所以也就一直沒有留意有沒有人有再提出新的問題來( z8 H4 s9 |" ^0 v* j- {+ B* s
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了& W. ~0 W* n1 e$ n& D7 f( I4 {9 R/ L- 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 發表 + {1 T6 A# t% k

7 V  N& ?& c& M( c0 W
( N) ~' Q' Q: t6 N
7 q% K8 _5 }" {: C不好意思,因為這一個主題己經有太多人回覆了
6 u$ I9 a! a- S1 {! d所以也就一直沒有留意有沒有人有再提出新的問題來: E  x6 Q& t* b6 R' [: ?
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...
" [. X8 D' L( {# c
3 {/ n6 n* @: b/ I) X" A
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻
9 A3 E! r& ?; S! C到底是什麼阿
9 M/ ]! H# P. P& \有沒有參考資料可以閱讀的$ K4 ~7 S; h" g7 T5 M
或是哪本教科書有提到的2 w; O+ {3 c2 s3 b4 }
我初踏入這個領域什麼都不懂
; I) c8 P! c5 O. z' F) w+ w  G謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題' D; ]  P6 E5 ~* b& J  W
我查了些參考書還有文件後7 V4 C  D9 @! k. }
總算對負電阻有些粗淺的了解
( B0 J' F+ C$ [5 ]* \  x& e! |9 h# I, E# E# L, G; Y, X5 X
最近老闆要我改良之前12MHZ的Oscillator
0 q( f0 ~* a# T5 q+ r3 g參考板上的文章後 把前人留下的電路丟下去跑模擬9 K6 f/ a( E, p* A! S) D, U9 I
算是可以正常起振6 R+ j( L4 y# G. s

! G9 f, m* a/ l. v我的經驗是
$ j0 u" z$ e, ]/ q0 f5 U若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長& q0 T- }# M  }9 [
使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準9 T& ]9 r' M, ~
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用
5 Y4 j* x; ^. }但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當
6 c9 M2 d9 {0 N1 b! e; {( }3 K5 A以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad
* C3 R! _/ P9 J7 l7 z5 ~* `9 m. P" }6 m, }& c( b
我覺得這樣模擬負電阻的方式有一點點問題% ?$ y% P2 N3 n8 R4 l4 I
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣( r4 h' _4 j% V7 I/ c7 c; R* ?
你模擬的是並聯的負電阻值  而Philip的是串聯的/ t: ?9 G# j* d4 r
兩者會有差別$ T- M9 F& ?2 H% L* Q& o' Q

  M& x& i% ?% V8 C+ e, D如果要用並聯的方式討論的話4 }$ }; I( `" D# A9 R
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣/ q6 s! Y7 D' V' ~# _1 [" r
然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)
6 {/ O; @/ }: p4 G+ d/ K$ I  P應該就可以起振了# I9 E+ n0 E& G/ @" a: ?

1 [9 o9 ~! h% ^. C2 k另外有個問題) B! C2 O" u% H
不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
9 L- O. d, @3 O4 a如果把石英拿掉的話
. [* K% {# |- H震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級
, f9 L! Q6 H+ h5 c& Z/ x如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
! _. W6 o8 h; b) s! U7 @  t+ e6 M9 X! y
一點淺見. b/ ^2 ~! t/ |* O
有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了
4 Q+ c( p  c; R" p! S我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用
4 f6 e& l8 r5 h2 ~: H" z9 o% G只是模擬出來的值  跟參考文件上的不一樣# N9 j  e$ P" d
它其實是Crystal往外看的等效電阻值/ h9 Z* P2 ]& S0 l7 L1 Z
所以如果要用Philip文件上的方式判斷的話9 ~3 a/ J: h& K, K; y" ^
還要把這個電阻值做修正 也就是跟Rp的方法一樣
: V9 V# M: l; \1 H7 N! ~這樣才可以把並聯的負電阻值換成串聯形式  Z( [4 t0 {3 ]* o0 J* K* @- y4 Q
然後負大於正就可以起振- I$ z/ j- M! O

& r, f7 c& o9 F* D* t另外  我想請問一下monkeybad還有skyboy大大
$ o3 {+ |2 }) R0 C; u在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
9 H8 w  c3 U4 @9 @% \我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
; k: r5 i. P; ]. r0 q不知道這樣合不合理
5 s5 b2 J9 q/ @# t/ i. @謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!0 f  Y  O, U) |* ~+ I; {
   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享
; O6 g6 P- V" v
0 d1 |7 K* l4 ]- J7 }. b+ ~Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
- p, h* _; p, c0 u- I" R* \  E: X7 pcrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-8 11:24 AM , Processed in 0.136008 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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