Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

回復 #20 monkeybad 的帖子

to:monkeybad: ^2 A- W8 M4 p& D0 g3 W( N
由于最近不常上chip123,所以现在才回答您的问题,表示非常抱歉!
# e9 W2 _5 t: ^$ O; X4 F8 s, l" J; f现在是我稍早前仿真的一个振荡电路,希望对您有所帮助!
# v/ @5 ~4 o) P" f
9 D% t5 p; L6 ]* T电感初始的电流设置如下所示:
; z6 Y8 c, X$ H$ iL_L1         N11450 N03952  588.873289 IC=1uA - [9 s! P, _/ M
  X' W  [) m7 e4 ~# I
注意给电感设置初始值要不能太小!
6 u4 z8 S$ L. X( Z1 ^( \http://www.eetop.cn/bbs/thread-58028-1-1.html(这是我在eetop的一个讨论贴,希望对您有所帮助)$ z# [" W: ?: _# n$ W3 X6 L  V
------------------------
: o- X$ ?! b6 D- N* source 100K& \- Y+ Y( y2 `' V4 D' [
.PROT4 T# g' O7 ~' V% `# ^6 p5 K
.inc 'd:\hs\lib\level3'+ ~8 v8 E( D* T6 {% k) [8 l
.UNPROT
9 ?) k! d! i7 L: w" ?C_C4         IN VOUT  1.72169576e-012  / ~1 S  @0 [8 X1 b: K1 [
M_M1         VOUT IN 0 0 n7 F, J# y! E: \5 B2 s4 I3 h
+ L=16u  6 x3 A; {: Z( o2 U
+ W=0.8u          / m) ]+ L4 a  N" r
+ M=10
; {- R) }$ t  r1 \2 GM_M2         VOUT IN vdd vdd p 9 Y+ @* I9 @) A" R0 K
+ L=16u  
4 ~2 B$ o; m7 e: }+ W=0.8u          " r' f$ Z+ ^# \2 }: F# Y
+ M=22
8 m3 I" ~. n  X) R; o+ cR_R3         IN N11450  18.5k  ) G. i) B# y3 e# `. u
V_V1         vdd 0 pwl(0 0,10us 3Vdc,20u 0,30us 3vdc)! S: q3 a9 c1 `/ }+ G' g2 y
C_C1         IN 0  5p  
: @) s) h! Y: n8 [; k9 m) HC_C2         0 VOUT  5p  6 r) E' G' W' t% L
L_L1         N11450 N03952  588.873289 IC=1uA ( m6 g2 O: E# M
R_Rf         IN VOUT  50meg  $ z5 s4 r7 G: m/ p
C_C3         N03952 VOUT  4.30423941e-015  
/ u- p9 y7 L- o7 J- D0 j4 l0 ?) k.tran 1ns 20ms
* U0 ?0 y. \0 g3 u.probe tran  v(in) v(vout)( A: `" N) j+ f; M8 {/ H
.end

評分

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

查看全部評分

22#
 樓主| 發表於 2007-9-8 16:44:00 | 只看該作者
感謝wwm101提供這麼詳細的模擬資料9 G2 t( g7 s/ C
原來設電感初始值只要加 IC=1uA 就可以了 又學到一個指令了7 o0 y: e+ z4 e1 @. ]6 e
3 E/ w' a1 s) E
看了討論區的文章 # P1 J: c( V% F. K3 Q
同意裡面的講法
7 n  J& r2 q9 k7 t5 A+ c$ e2 _震盪器模擬應該跟初始值有關 可能是模擬軟體本身的收斂問題 可能跟演算法有關吧
" Y+ D; L) N+ X% b8 n, C9 R設不好就都掉到ZERO的狀態 而不是震盪的狀態  & ?- A% [1 r. j: P$ x' L+ o7 U0 G
所以應該要設初始條件 尤其是在模擬電源start-up的情形 初始值沒設好 好像也不會振說
23#
發表於 2007-9-9 14:38:59 | 只看該作者
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 ( A% E8 I! Q# o5 b, X& n2 a
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...7 R7 R( A( X/ n* \/ D6 b0 t9 ^7 _3 c2 z

5 J0 Q$ t/ W. J) n不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
4 D- f1 j$ j' Y& C$ t縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...1 |* I, E* b) Q

# D1 C) H0 w" H4 y  }6 I8 A: _前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
. e& g# a* a, j7 m/ q2 u; N4 X3 [到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
, Z$ j* Q4 b& K+ |' q就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
* Y' e4 I0 f4 O: P2 _' N0 _& e幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) ) Q' Z) H9 V. h! n" V' w# X
還可以起震, 跑到 12MHz 時就掛了..
! l( J; ?4 @) w. p8 \; W; q
' w: X& g, }5 M0 d只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<) r2 E8 C5 m! Q) O# \8 [
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)9 ]+ C0 k0 ?6 I

  }0 O7 R: l6 E+ d  \; u+ t$ E[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

24#
發表於 2007-9-10 14:39:39 | 只看該作者
各位前輩, 不知大家是否模擬過Crystal oscillator的phase noise.
2 N# E, u; W! e3 r小弟最近在模擬20Mhz的Crystal oscillator, 架構和上述討論的一樣,
- g: I9 \/ S& G+ n9 U+ F為一CMOS反向器加上Crystal's model. 1 `: f. @3 |! Z& J; s9 q9 @
小弟使用Spectre RF 模擬, option中, Integration method parameters設為"gear2only",
) z# D, ]; ~5 H: f( F/ q0 d在pss 模擬時, Crystal oscillator 無法振盪, 但是transient 卻是可以振盪的.
/ ?% d* g0 ?/ m& L想請教各位前輩, 不知是否有人模擬過Crystal oscillator的phase noise??! d. C# ]1 |/ }. U/ @9 y. B
謝謝!!
25#
發表於 2007-9-10 18:24:26 | 只看該作者
感謝各位前輩提供的資訊.1 k* ^. a! S8 i* r  b% ^
對於電感的初始值要如何設定才會符合真實狀況.
; S3 v1 ^; E0 ~2 V/ oIC=1ua,一開始模擬就振的很漂亮.4 q3 @* {& H& e- Y
IC=0.1na,也可以振,只是起振時間拉長.謝謝.
26#
發表於 2007-10-7 12:50:25 | 只看該作者
原帖由 monkeybad 於 2007-8-9 10:01 AM 發表 $ F/ C2 `# a& E9 r- O
昨天晚上試了一下以前在網路上找到的一個方法% t  j7 E5 x4 o! [
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
  F6 j' G/ [0 A- W) i起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零9 J3 A* S2 o( q& E; f. b
結 ...
* n1 R/ T& g8 M
+ i# H" v2 ]  K: K
小弟最近也在研究crystal oscillator circuit, 這個討論串讓我穫益良多: ~2 ~8 g, G) L/ }7 R5 B
monkeybad 大的這份附件, 剛好讓我想到一個問題
0 v4 B/ w+ T# N$ O) g在這篇附件裡 figure 2的模擬結果顯示, Xtalin的振幅會大過Xtalout, 而Xtalin振幅甚至會超出 Vdd&Gnd
# v/ |/ U$ p! v: S- k% r我自己在模擬的時候也看到同樣的現象, 但不知如何解釋才正確....
1 I0 U& g& m/ `# @; D$ oXtalin > Xtalout還可以理解, 畢竟兩端的loading不同
; a' r9 q4 y) J) ^5 Y& v6 w) z  P3 g但是Xtalin的振幅是否真的會超出supply rail? 還是只是模擬上是如此?
9 W! G0 [. U0 M$ X5 [4 O$ q0 k+ _這個現象讓我聯想到DC-DC converter~ 不知道是否是電感所造成的效果?
) B$ y6 j  d+ G: G& j* C查了幾份application note都沒討論晶體兩端振幅的問題, 不知道這個振幅有沒有辦法去計算或調整?
9 B( O1 T; j3 T* P煩請各位前輩指點了, 感謝!!
27#
發表於 2007-10-8 00:29:48 | 只看該作者
實際 IC 確實有振超過 vdd 的案例
9 h/ ^. k4 {& A+ J+ I- O3 D不過通常都伴有 消耗電流 過大的問題
! A0 _8 Y/ v! G2 R+ m$ I' W
. c$ g" T- ~; {7 k/ v2 v嘗試降低 負電阻 試試
28#
發表於 2007-10-8 00:33:36 | 只看該作者
實際量測IC 負電阻 2 R! a% A- B4 i4 u
除了 網路分析儀 外  ^( f5 @% v9 c2 W4 h
還有一個 小方法 能 簡易評估 % t) o- u0 ^7 Z: D- O; l! Y7 R
8 w/ h( p0 [7 ^/ C( K! N9 d
缺錢 賣10代幣吧  有人要買嗎 ?
29#
發表於 2007-10-27 10:17:47 | 只看該作者
受教了,我也遇到晶振振不起来的问题了8 p; I3 c, r2 \/ }& P, k" Z2 j
对于负电阻还是不太理解
30#
發表於 2008-1-15 00:33:08 | 只看該作者

回復 8# 的帖子

感謝finster分享
$ \; z7 ^' F2 |0 n2 u7 S! j  s小弟我目前遇到一個跟你的第五點問題滿類似的* B/ ^; R1 T7 Y
我是design一個32.768k crystal osc2 g( V6 Y/ Q( s3 n5 i# t& D) ?& D; I
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了
4 o( Q4 {& Y2 M0 B" G  g* U8 d所以我就去量測內部頻率輸出32.768k的那一點訊號3 ]1 H/ M! R6 s0 u- S
我下探針去量測,發現頻率跟波形都正確1 @" p' X- F2 C/ Q7 s- a* v( D
但是當我探針離開輸出那一點時,頻率又變快了(有接led燈,所以感覺的出來閃爍變快)/ I. w( p9 m1 a* F) `6 z" t6 _6 j
我當下是覺得探針類似有電容的效果
3 |% J8 z- O3 W所以當探針下去時會有濾波的效果,所以頻率會正常,當探針一離開則頻率會變快  q1 P# B( G* D  @
還以為是noise的影響
1 D9 ]  R& }. B  T看到你的第五點分享,現在想在我的輸出端再加上一個smitte trigger,然後再接給後面的digital counter來使用0 x  ?: r8 q/ d( L+ l  Y0 `( h
看看問題是否可以獲得解決
31#
發表於 2008-1-18 09:26:07 | 只看該作者
原帖由 markcheng 於 2008-1-15 12:33 AM 發表
2 j( t! b/ H( k/ @感謝finster分享3 g- [/ j% a: U. X' b: ^
小弟我目前遇到一個跟你的第五點問題滿類似的
6 `( S" T' I) N' t我是design一個32.768k crystal osc. K6 V0 w8 d! V; I0 b& e
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...

  s4 j  A; G2 }8 A9 A# |) q3 P( J4 N. T+ {) f. j
7 k& Y# E+ [/ f
不好意思,因為這一個主題己經有太多人回覆了) O( g7 |+ f( B2 S# b- d2 {
所以也就一直沒有留意有沒有人有再提出新的問題來# y9 `6 C( n4 E) W1 A; X4 A
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
9 ]8 M5 j" h% z9 w. B- ?9 F解法就是加一個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 發表 * m8 z5 h4 g/ I) Q* `, Y$ @" ~0 g& p

2 E3 n1 Y" {( _. o
8 ?3 a% B+ T% A3 [: A# q' O& q. L  {2 x9 I7 c
不好意思,因為這一個主題己經有太多人回覆了: A$ U8 {. {/ ]$ m& q' M
所以也就一直沒有留意有沒有人有再提出新的問題來, L% E" D- W* d( m0 T
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crys ...

* B, r% R5 R8 i, J2 G' i# o+ ]) n/ E* e
因為我的電路裡面還有另外一個12M的OSC....其實電路上是大同小異的...但是12M卻沒有這個問題...我想應該是它速度太快了...因為12M一個cycle大概是80n...而32k768大概是30u....這個差距就差很多了...難怪rising跟falling影響後者比較嚴重...因為counter大概反應時間也都是 n sec 等級的...最後還是感謝分享經驗
33#
發表於 2008-1-24 15:07:03 | 只看該作者
我想請問一下  之前一直提到的負電阻: m9 O" S8 c& e( C
到底是什麼阿
# l! K, S# p8 g1 ?* u- X" ?有沒有參考資料可以閱讀的$ g" v, A1 [& v" J
或是哪本教科書有提到的
. z) c5 O6 D2 y( y' h+ j, z我初踏入這個領域什麼都不懂$ V& ?7 y, i# e% Q, Y
謝謝大家了
34#
發表於 2008-1-31 11:33:38 | 只看該作者
很抱歉之前問了個小白問題" l- ^; r7 _8 b9 x0 X
我查了些參考書還有文件後
  C& G0 {& I2 L' R$ Q$ L. ]% x總算對負電阻有些粗淺的了解
! ?) i+ L' E) j8 Y4 D
7 `' H& D. [+ F. x+ u% }" n最近老闆要我改良之前12MHZ的Oscillator
8 W. ]8 N0 r7 C! d& \# o9 G8 I6 J參考板上的文章後 把前人留下的電路丟下去跑模擬2 C/ h. J* t0 q" x$ d% x
算是可以正常起振
1 V4 A, K6 F. r* c, y1 o4 _8 {/ i. l) e
我的經驗是7 ?) _' l8 L& O+ a9 I4 u& ~
若是使用HSPICE的話 Time Step 設太小 模擬時間會拉的很長
/ Y4 s, `$ X! [/ G. u$ h* z6 u使用ELDO則可以大幅縮減模擬時間  可是要注意要下 .option tuning = accurate/VHIGH 的參數 不然模擬結果會非常不準) y$ C) Z: F, Y& a4 Z
然後ADIT模擬時間最短  但是算是最不準吧  粗淺的測試可以使用! ?# h1 j) m+ a) s+ d
但是到最後的驗證的話  還是要用HSPICE跑一下比較妥當: U! J/ u" [% S- @: R6 O9 r
以上
35#
發表於 2008-1-31 16:39:37 | 只看該作者

回復 2# 的帖子

給monkeybad3 M" H7 o3 U. s: C& _
- L* f/ E% Z7 ?7 t( g* m
我覺得這樣模擬負電阻的方式有一點點問題0 L# f6 D5 x& @$ N, Q  S
你這樣所看到的阻值 與你所提供的Philip AN97090文件裡面的值不一樣# O/ A1 ]4 Q7 D5 F9 ^
你模擬的是並聯的負電阻值  而Philip的是串聯的
; p6 e2 @8 \4 H5 X兩者會有差別
. x1 B% A7 i  s( ?, n* c2 p0 W7 c* G$ x* H( U1 S
如果要用並聯的方式討論的話. ^( C- @+ w6 I" C( q
可能要把Crystal裡面的Rs換成並聯形式  就像是Razavi P.497推導的一樣
, w4 y. q) m: U) l' N# w" T  T& v然後負加正大於0 (因為是並聯形式  所以要相加大於零) (Razavi P.504)$ ]" J, V- _, T5 ^
應該就可以起振了
( W% B: b$ @5 O7 F* c
& u1 B9 n! t$ W$ y8 l/ u. F: H另外有個問題
' }; D8 F! ?7 L6 `1 O  W) P" _不知道在圖二你是用什麼方式把頻率鎖在震盪頻率
- G0 o+ m) U2 L' x& o* H如果把石英拿掉的話: v0 B' B  R# k, x. F9 p5 [
震盪頻率應該就是Inverter Delay的倒數  大概都是G的等級1 n, O' `$ \$ p/ I6 V
如果沒有鎖住的話  那模擬出來的負電阻就跟震盪時的負電阻不一樣了
: X$ Y, r( F: M4 M
; U$ B& S- e- U, }  A3 p3 i一點淺見
/ J! y2 ?% [% p0 T有錯請不吝指教
36#
發表於 2008-1-31 22:41:07 | 只看該作者
抱歉 我又來囉唆了
1 E) \+ L7 F. G4 H" x, k我剛剛模擬了一下 monkeybad大大模擬負電阻的方式確實可以用
1 T+ {6 x$ \+ M7 V只是模擬出來的值  跟參考文件上的不一樣( q2 i2 @* `' O  v% |4 r
它其實是Crystal往外看的等效電阻值
4 r& T/ `6 T) v1 r) \所以如果要用Philip文件上的方式判斷的話
3 K/ b3 l5 @+ {0 U# Y還要把這個電阻值做修正 也就是跟Rp的方法一樣
' y1 a- s6 y9 W/ G這樣才可以把並聯的負電阻值換成串聯形式$ J, K$ j7 u1 L1 W; S# M
然後負大於正就可以起振9 s$ X& ?$ Y9 C4 ?0 \
3 C  s: p9 u+ \+ u! _' k* l, c
另外  我想請問一下monkeybad還有skyboy大大
8 h  `* c. E6 \+ h在做負電組模擬時 要怎麼設定aa和bb的直流偏壓值
# k; Z, b) U5 L: M5 E我自己的方式是把Inverter的平衡點社在中間  然後下電流參數的時候 不給直流參數
. u7 o. e9 k. Y不知道這樣合不合理
, I# p8 d5 E5 @# B謝謝
37#
發表於 2008-8-19 13:30:06 | 只看該作者
這一篇的討論真的很不錯!!
* c$ D+ f6 _  C* ^% t; ~) g   受益良多...
38#
發表於 2008-12-22 18:27:46 | 只看該作者
真是很棒的分享# T7 z$ U/ M1 s

! `" J- R& i- D6 o0 U) r+ Y% s, [Thanks for your input!
39#
發表於 2008-12-22 20:23:13 | 只看該作者
谢谢f分享经验
/ f$ M3 s; ]  @0 w' n, t# A, A4 z6 a4 jcrystal的等效模型各位是从哪得到的?
40#
發表於 2008-12-24 20:38:47 | 只看該作者
嗯~~多謝大大的提供~~小第也在做振盪器~~~謝謝囉~~~大大
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-16 01:01 PM , Processed in 0.195012 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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