Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
14#
 樓主| 發表於 2007-8-22 15:10:49 | 只看該作者
根據推導的公式 RP應該是越大 所需要的gmmin會越小  這應該是沒錯
7 w! Y( q: g! @% ?: o7 x! n3 w! g% W1 A8 \  ?+ u
另外說實話 我模擬負電阻時也有遇到全部變成正的情形 但是我也不知道為什麼 我猜可能是相位的問題吧 Hspice把他反過來了
  Y" v% f( Z- r2 W; f所以我後來就直接根據推導的公式去計算 就是之前那份Philip的文件 移項一下就可以得到正電阻跟負電阻的計算公式
: r6 h+ r. I0 m8 n( P然後至少負電阻絕對值要大於正電阻 根據之前網友的說法是說要大五倍比較保險, D% R$ ^; {& N- c5 V* J' \
2 P! [0 k" q" k7 k
然後在時域上面去模擬 有一個可以參考的方法來驗證你OSC會不會震 就是一開始起始值的電壓用很小+ F6 Y" @: c5 C8 V: Y- D
然後你去看震盪器裡面的波形振幅 如果振幅慢慢被一直放大 則表示你的OSC是會震盪的( K& ~: T  S, [5 p- q  k3 e2 G3 p
因為表示負電阻的力量是比較強的
+ f1 L! p' C& l, s9 {7 g6 L7 r6 _* r2 w4 m5 `
若是要看steady state時的波形 就把起始值加大 加速他transient的時間
8 u8 v- h  n" u5 O. l  t
7 k1 K+ N9 U0 `: l$ K; H另外注意好像.TRAN時間間隔也不能設太小的樣子 不然也不會震 目前我模擬是設0.01U 但是你頻率比較快 可能在設小一點吧

評分

參與人數 1 +3 收起 理由
skyboy + 3 很受用!

查看全部評分

13#
發表於 2007-8-22 14:37:19 | 只看該作者
原帖由 monkeybad 於 2007-8-1 04:50 PM 發表 7 @, T! l8 d  @3 w! l3 M& @; Q" }
之前有討論過有關CMOS Pierce crystal osc
/ m6 L& T, v' a7 p9 P9 w. I現在我的模擬好像有點問題 想請教一下4 e# e, E& Y; a# H' @# y8 @
圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻8 B( ~3 v  B+ W/ {7 [
然後a b兩點再分別接到Crystal的兩端
0 {" U$ |2 B" J+ S+ t( H9 H7 t) zCryst ...
' l3 C9 T4 O+ d" g$ [1 B- g

: K; H) ~9 J5 ?/ }2 L# O: X# E! n' n因為最近剛好也要做一個 1MHZ~10MHz 的 X'tal oscillator, 最近這兩篇討論對小弟
& ^" c; M& T& x7 E' x5 ?8 c) H# a幫助很大..不過在模擬上有遇到問題, 怕是自己觀念有錯, 想請各位前輩指導...$ Z$ n+ w2 \- G- x7 ?- O( ?

: l& p( |% X% j' J1 P3 Y關於負電組的部份, 老實說是第一次看到這個觀念, 研讀了這兩篇討論串所提供的一些
( j' q* N0 W1 N+ O文件, 總算有了一點點感覺...在推導的部份 monkeybad 大大提供的 Philips 那份文件( V: y3 I8 `; l' `/ Y: C
有詳細說明, 裡頭推論出滿足負電阻條件時 inverter 最小的 gm 值, 不過就是在這邊: K' o! ]; z1 G9 e5 \" O
遇到一點問題...
$ T6 M2 z5 U# _6 h0 V; |2 a9 i  Z0 M1 ^5 Y# R
我模擬的條件為:
* L# O3 _; g; g0 }1 g10M X'tal model 為: RS=50, CS=0.004pF, L=60039.21315uH, CP=5pF (前人留下的..)7 s% _( J" A/ e* n
Inverter size 為: WN=3u, WP=10u, L=0.5u, 偏壓在約 1.65V (VDD/2)* a5 P+ v1 V+ N. h- N3 G) F4 Q
RP 為 2E63 A* U" X/ b2 E0 |6 l/ S) x
CX1=CX2=10p (X'tal兩邊的負載電容)8 _4 S: y$ z. a; K

& U; q% }3 C2 z" d假設先不考慮 Cpar 的效應, 根據公式算出來的 gmmin 約為 115u 左右, 用本篇一開始 3 J4 F1 a( \# M0 i. I; M, J, `; W- d
monkeybad 大大提出的方式去模擬, HSPICE 模擬出來 NMOS 的 gm 約為 521u, 是理論9 P' u: s) e- c) s; |
最小值將近五倍, 然而 AC 分析看到的阻值卻是正的(請參考附圖), 我試著調整參數, 發現) P* I0 n- @% ~0 H) w& k
將 CX1, CX2 以及 RP 縮小才會得到類似 monkeybad 大提供的圖 (整個從1MEG到10MEG, @$ \8 @+ n" \: d% ~
的頻域都是負電阻..) 不過阻值也不大..
6 J  s6 r. O& b/ T# U/ [$ m! z2 s3 ?
另外一個問題是, 根據公式, RP 如果愈大, gmmin 會愈小, 所以我自己的推論是如果 RP 愈大,
9 l7 k: G0 }1 j模擬結果應該會往"更負"的那邊移動, 不過我用 50E6 模擬結果卻與預期完全相反...
; ^$ R  y3 R" p8 ?
7 g. G  r5 Y5 b' [! G$ w研究了兩天實在不知道是哪邊弄錯了, 煩請前輩們指導一下..謝謝..

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
12#
 樓主| 發表於 2007-8-13 15:32:02 | 只看該作者
恩 這種加起始電壓的方法的確怪怪的 因為實際上晶片沒有這種起始電壓* I; ~% E( K' h, P0 _# x. r  J
應該是要用正統的加起始值以及VDD上升等條件一起模擬才符和實際的情況
$ S2 n5 R( R( m# W  L: K
: I  b( j$ k  {7 k看參考資料裡面是說 在晶體震盪器模擬都要花費相當長的時間 這種方法可以加速模擬的時間
! I, w6 E( z' u3 u% O因為時間過很久後起始的電壓還是衰減到零了 對電路沒有影響 所以最後假如電路還是可以震盪的話
% x, C- C0 j4 J: `! Q我想OSC的設計應該是會震才對 2 G! _. i" ^0 X; n8 Q6 z# p2 B: {- Y
" \8 k/ r2 o& J/ m( u1 r
我覺得這種方法只能表示最後會不會震盪 不能模擬剛開始的時候會不會起震 另外就是可以節省模擬的時間
7 B; i0 b/ W, Z" a' P) q( Y' x1 u' V0 c# }
[ 本帖最後由 monkeybad 於 2007-8-13 03:35 PM 編輯 ]
11#
發表於 2007-8-9 19:36:40 | 只看該作者
建議你採用這個方式來試: K- s* Q5 K7 K8 Z
VDD   VDD    0    PWL(0 0  10ms  3.3). N0 k* G! b. c9 N* Z( }) R, C
. Z# e, d2 s. C  Z* S
並加入initial voltage
, }6 f/ F, `- L8 F.ic v(A)=3.3 v(B)=3.33 w; r% f1 K) t; w
3 F1 |2 S! _! I. C# s1 n
將電壓源採用ramp的方式來作,那是因應實際電壓源皆是從0慢慢爬升到穩定的電壓源
/ e# ]" }2 B/ w3 U9 z6 }) P* j再者,將crystal model兩端設初使值為3.3V,最主要是因為inverter會將0-->1-->0-->1
, A4 Q5 `( ?, I! Yinverter的兩端若皆為3.3,那在一開始時,inverter的output會因為input為3.3而讓output由3.3-->0,當inverter的input受到回授電阻的緣故而讓input由3.3-->0,又會讓output由0-->3.3,如此循環下去就可起振,當然,這要在crystal能夠起振才行+ ^  L4 k& H' h7 J
如果一開始就是設v(A)=0, v(B)=3.3,或者v(A)=3.3, v(B)=0,那對inverter而言就會是一個穩定的狀態而不會進行起振的環境條件# o# b* O& q0 l9 h$ n
' _* O2 W$ G% b
最後,實在不建議你用電壓源來作初使值的起振方式9 J' Z0 L( i0 W+ V9 ?6 \( q* J
crystal能不能夠起振,端看整個loop有否達到起振的條件2 p+ `/ d1 n1 F! o* m6 l
設初始值只在HSPICE一開始模擬才有效,真正在模擬時己經脫離初始值的狀能,設初始值是能夠幫助HSPICE在計算時有收斂的成效
% ]& l+ l+ z4 ?$ L而使用電壓源或者電流源來作初始值的起振條件,相當於我們外加一個信號源來讓電路動作,但實際卻沒有這個信號,這對實際chip的環境而言是不對的,再者,用電壓源或者電流源作初始值要持續一段時間,而這種現象對crystal整體系統而言,無疑干擾了整個loop的運作

點評

非常詳細!  發表於 2020-12-25 04:09 PM

評分

參與人數 2 +6 收起 理由
skyboy + 3 學到不少!
monkeybad + 3 感謝指教啦!

查看全部評分

10#
 樓主| 發表於 2007-8-9 10:01:00 | 只看該作者
昨天晚上試了一下以前在網路上找到的一個方法
. x" x! X' i" i9 c" l就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬
. Q$ l6 o, c  v/ P# A; Q$ r- [2 f& A起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
# M" ~0 e1 u; @# H3 O9 x$ n, L結果神奇的事情發生了
# I4 {6 ~  Z' o. `Crystal Oscillator到最後居然開始震盪了/ U6 C) w8 @0 U% h, |: J
好感動喔!) I( c) X. ^4 O/ s
趕快來跟大家分享一下!3 v2 L; m' Q: e0 v3 y% Q& c
" w3 Y7 F. \7 N( o
電路仍然是之前的Inverter電路8 q# f: Q7 ]. z& d# m& k) n2 K. p* H
在d點加入起始電壓
. w( I8 R3 X, X1 EVK d1 d2 sin ( 0V 800V 32K 0 1e5). C$ `2 U5 U$ l" h, c, c1 E; j
模擬時間約400ms
( `! [2 [; Q  u( \2 u! g.TRAN 0.01u 400m- R3 o% a, D9 @1 X. }7 e) ~
到最後就看到震盪器開始震盪了!
4 P& b$ w' u. ?- P: D: H+ @- g7 F
- `7 G: ?* _& x' o0 D後來又試了另一個類似的方法 就是在電路另外並聯一個電流源
: l; _0 n) {+ q) M4 ?也是同樣的sin波然後慢慢衰減到零 結果也是能讓電路起震
4 V. X0 h6 A- u# w5 Y9 L% c$ `" I8 v" j' q
另外好像模擬時間的間隔不能設太大 設太大好像也不會起震2 e  m" U' y5 K$ o. {
  C8 e7 R7 P) D: u( a2 ~- n
附件為網路上找到的文件
- j; \- T& K0 H
$ X. V8 I- f4 T; }0 m8 j[ 本帖最後由 monkeybad 於 2007-8-9 10:14 AM 編輯 ]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
9#
 樓主| 發表於 2007-8-8 14:08:22 | 只看該作者
感謝finster大大提供這麼寶貴的經驗 真是造福人群 功德無量
6 L* r% q. U" z- o請受我一拜!
8#
發表於 2007-8-7 22:09:14 | 只看該作者
來補回答我的經驗
' d3 |4 R/ U6 y  O. ~我之前是做0.18um的RTC的32.768KHz的Crystal Oscillator,條件規格是整體的Crystal Oscillator + Buffer + I/O PAD的current < 3uA,工作電壓要從1.2V ~ 1.95V; g! f5 ?9 ?  b# ?$ g" C+ e

2 h3 R& p4 w+ T, }) ?# \( ?1. 首先,要做low current Crystal Oscillator時,要把I/O PAD給考慮進去,我之前在設計時,Crystal Oscillator設計一段時後,模擬及電流均在規格內可以動了,但在加入I/O PAD後,Crystal Oscillator卻不會起振了,後來追了快一個星期才發覺到因為整體current非常小,但因為I/O PAD本身的leaking current過大,導致Crystal Oscillator無法起振,所以,low current Crystal Oscillator無法使用Standard I/O PAD(leaking current會過大),必需使用額外的I/O PAD才行,這點非常重要,因為它會直接影響到起振與否的問題
& z1 L% F7 N. {& S- c; r- c; r2 l8 Z/ A1 Y$ X7 T# f
2. 要作到low current Crystal Oscillator,本身的inverter不能使用單一個PMOS和一個NMOS,必需採用Bias voltage control的方式才行(架構有點類似1999年IEEE Conference paper那種,但需要再變化一下),同時,為了low current,本身的buffer以及送出clock的buffer需採用long channel的方式,而之所以要採用Bias voltage control的inverter架構,乃因要作到low current Crystal Oscillator,本身在XTAL IN和XTAL OUT兩端點的信號並無法達到rail-to-rail的幅度,故而若採用standard inverter方式,並不能在大的工作電壓中起振,再者,因為要low current,所以在XTAL IN端點的信號幅度會很小,所以,利用Bias voltage control方式來限制住inverter兩端點的voltage level,這個並不好作,必需不斷地試& I3 k9 j, G9 V
: l5 G6 n5 O; m5 {/ h2 }. m. d
3. low current Crystal Oscillator的外接兩端電容要非常小,我當時的外接電容方式是用可調的架構(類似1991年IEEE Conference paper那種,不過這兩個電容我是做在內部),我當時試過,外部電容不能超過10pf,否則會因為外部電容過大而無法起振,那時我只用3-4pf的電容(有考慮到封裝廠的寄生電容,I/O PAD的寄生電容,板子上的電容以及實際量測時probe的電容),另外,因為本身兩端的電容值很小,所流過的電流也異常地小,故而只要有稍大的noise或者leaking current,都會造成Crystal Oscillator無法起振8 Q' G, T: |9 }" G- v

, a: ^/ F+ y9 i9 Q6 Z4 Q4. 連接在XTAL IN和XTAL OUT兩端的回授電阻要很大,最好是50M ohm以上,而這是為了low current Crystal Oscillator而特別考量的,用MOS電阻即可1 |3 ^0 d! X, N! ], c% H

% W/ k2 v/ P) u8 J5. 最後一點,這是經驗談,當初我負責的chip回來,量測function正常,量測到的current約在4uA左右,可是後來整合到digital counter時卻出現問題,追了快兩個星期,才發覺到因為是low current Crystal Oscillator,所以其送出外面的Buffer也是使用long channel,故而它的推力很weak,造成rising time/falling time會有過長的現象,而對digital counter而言,過長的rising time/falling time則會有重覆trigger的問題,以致兩個個別電路均沒有問題,但整合在一起時卻出現錯誤計數的問題,建議你,在送到digital counter時,請他們加一個schmitter buffer,以確保因為low current的緣故而產生過長的rising time/falling time的問題不會造成digital方面的誤判

點評

非常感謝  發表於 2016-4-18 03:18 PM

評分

參與人數 5感謝 +8 Chipcoin +5 +15 收起 理由
tzjyddozue + 2 很詳細
chris020 + 2 很精闢..學到一課
chrishit + 4 好詳盡的分享阿
skyboy + 5 感謝經驗分享!非常祥細...
monkeybad + 10 非常感謝這麼詳細的回答!學到不少!

查看全部評分

7#
發表於 2007-8-7 09:13:35 | 只看該作者
先給你幾篇我之前作RTC Crystal Oscillator的參考paper8 G6 N' ~+ h, B
找之前也做過類似的circuit,而且current只有3uA' l4 p. Z- V: c# z; \0 U
1. 1999, IEEE conference paper, An improved low power crystal oscillator' y( C1 E1 I# T/ m0 c
2. 1997, IEEE Journal paper, A 2.1MHz Crystal Oscillator Time Base with a current comsumption under 500nA4 @: \% z  P7 _8 |  t9 G
3. 1995, IEEE conference paper, Low Power and Very low EMI high efficiency high frequency crystal oscillator
- g+ h  U, ]4 [4. 1991, IEEE conference paper, A Cell Based Suer low power CMOS crystal oscillator with "on chip" tuning capacitors
$ \' u$ U/ J* S! b這幾篇的架構可參考看它們的架構和方式: ]1 |' {/ e9 I' D% B5 f# n
晚些再分享一下當初我做的經驗以及遇到的相關問題和要注意的事項

評分

參與人數 2Chipcoin +2 +5 收起 理由
skyboy + 3 很受用!
monkeybad + 2 + 2 感謝指教啦!

查看全部評分

6#
 樓主| 發表於 2007-8-6 18:08:14 | 只看該作者
For adele:; W* ?4 T# U4 l; s2 g5 I' W, }4 Z% E
有試過你給的值 而且用一顆NMOS gmN=44u 上面用定電流源PMOS來偏壓 I=37uA! F+ C4 q6 o! J% O( A! H
可是好像還是不會震耶
1 `: {5 y5 W) o0 |另外我是用HSPICE模擬的 我這邊沒有spectre耶  j8 Z5 H* X$ _- s8 M% u  R

- y' e8 a1 _/ g8 sFor m851055. z" u: H& ~/ b* r6 Q0 f0 e
因為要做RTC(Real Time Clock)的OSC, 所以要求非常省電, Inverter的W/L值才會設這麼小
  F$ N7 l9 V1 Z+ G& V; i
* w* O* Y  W0 n- p9 nFor wwm101 :8 Z! e* F* ~8 `* [
那要怎麼下指令去給電感初始電流? 還有初始條件要怎麼設才恰當?
9 L3 H3 E1 C. K% n7 p; T
/ p2 k% D" L7 z$ e! x" M: J有沒有人有經驗的能指導一下 感溫感溫!
% L0 d; }4 @, O9 p
' J1 u3 c9 B1 M- @. z- N1 ^[ 本帖最後由 monkeybad 於 2007-8-6 06:17 PM 編輯 ]
5#
發表於 2007-8-4 11:02:13 | 只看該作者
"我的初始值設定為
% |$ b0 i; s+ X5 w) V        W8]@8n3FlU.ic V(A)=0 V(B)=1 V(C)=0 V(D)=0"& P" q( V! ~; V/ f
这样的设置没有多大的用处,直接给电感设置初始电流,而且初始电流也不能太小,一般在ua级比较合适!

評分

參與人數 1Chipcoin +2 收起 理由
monkeybad + 2 多謝補充! 我再試看看!

查看全部評分

4#
發表於 2007-8-1 22:48:58 | 只看該作者
在原本的invert處多串一個invert,並且把CO的aa端接到此invert的輸入端,再配合capacitor之調整就可以了。; b# c$ n  l* S, v4 ]
一般invert之Length較小 width較大,你的設定值怪怪的,也可能因此造成驅動能力不佳而衰減。

評分

參與人數 1Chipcoin +2 收起 理由
monkeybad + 2 多謝補充!

查看全部評分

3#
發表於 2007-8-1 18:59:25 | 只看該作者
方法上,应该没有问题。
. h( ^  {# E" E试一下:L=10.88KH, C=2.17fF, RS=30.9Kohm, CO=980fF.- _$ g4 s: h/ W2 }+ W" x
C1=C2=15pF.  RBIAS=1E7,6 {: M0 n7 ?! a0 A: s4 e! D

( w% h# V1 b% E, ^5 }+ M建议可以先用一个10uA的电流源下面接一个nmos管的结构,nmos管gm设在40u.
$ S& c. \- C+ C" W5 Z; l7 w' B你可以用spectre仿真吗?

評分

參與人數 1Chipcoin +2 收起 理由
monkeybad + 2 感謝指教啦!

查看全部評分

2#
 樓主| 發表於 2007-8-1 16:51:27 | 只看該作者
圖二為負電阻模擬
# Q( A9 @/ \' T4 }& b, w/ P2 e5 |+ b7 d: t
圖三為負電阻模擬結果* D1 ]( O; p, M* g# M, z  x8 H
7 @  R8 Z: E4 ?5 J! ]/ H" M  E
圖四為b點電壓 .TRAN的模擬結果 發現振幅一直變小
& u1 X! O7 {; t4 [' z( K  b
- {0 L& T% Z) V' X[ 本帖最後由 monkeybad 於 2007-8-1 05:03 PM 編輯 ]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-28 10:53 AM , Processed in 0.124016 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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