Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 105042|回復: 82
打印 上一主題 下一主題

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-1 16:50:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
之前有討論過有關CMOS Pierce crystal osc$ v; l( ]5 ], \8 r& `4 A8 i/ |
現在我的模擬好像有點問題 想請教一下
4 Y* `6 u; C7 `5 X* @8 s! T圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻
& ~. }7 R; K& s/ t1 K然後a b兩點再分別接到Crystal的兩端 : b/ w  T3 U' U# p% z
Crystal用的model是一個L, C, RS串聯在並連一個CO 震盪頻率為32.768K
7 ~# ^) X1 k4 z, P8 D1 f這是要for時鐘用的
% v6 \4 r6 l* t' Q7 M# H& \以下是我模擬的值 這個是從網路上面抓的一組值0 K. p; b3 ^& j4 ?- G# X6 Y
L=7000, C=0.003p, RS=200K, CO=1.7p+ f0 x" J$ O9 m( d4 M
RBIAS=1E7,( m8 N$ i0 K9 T8 [# h/ ~
C1=1.2p, C2=1.2p4 O. ^: e6 ~6 ~0 d
CMOS INVERTER: MN W=0.22U L=10U 4 R( l7 k- R$ V5 _# h" l' `
                         MP W=0.22U L=10U
+ Q4 i* k/ W5 m* \  n, N  q- ^$ SVDD=3.3V
! C# }9 b* w+ y# _根據理論 圖二看進去的負電組值 也就是電壓值實部的絕對值 要大於Crystal Osc裡面的寄生電阻RS
6 j* d$ s+ g/ t% x* @( l; A就是負電阻加正電阻要為負 才會震盪
7 f# t- y# {% z! A0 C" k2 x" i; x# B; o; g& x& g- n. n
圖二是我模擬負電組的電路 " y" h* e+ {9 w
aa和bb電壓偏在Inverter飽和區裡面 V(aa)=V(bb)=1.3V
8 B1 u! o" p6 ?( G2 e6 v我在aa bb這兩點加一個電流源 hspice的指令為  B/ S5 ~8 y- _- _: B( k
Iin aa bb ac=1, F1 L1 E6 Q8 [& i8 h2 D! a, p
然後我跑.ac模擬
- Z% S1 J" \- c2 I3 \, a0 t  `.ac DEC 1e5 1k 40k
6 U2 `* o* L0 X  B/ I; w/ r再下" J& y( a  T2 m% n
.probe VR(aa,bb)
# Q8 Z1 e  p9 S2 ]- L顯示aa,bb電壓的實部/ i5 B- t6 S- {' V; q
看ac的圖 在Avanwaves裡面叫做Volts Real的圖 看VR(aa,bb)
. r; y" \7 M2 k/ P; Y1 L- \然後發現在32.768K左右的時候 大約是-520K左右
$ i2 w3 V3 O0 X! |請問一下這樣模擬負電阻的方法對嗎?
* S. Z$ K- b& h6 g+ p4 G* a4 H* {- ~7 _6 S
假如是正確的 那負加正小於零應該會起震才對5 m/ f. x" G5 |$ j' M' t, ?, n9 Y1 n
9 ^. h7 |  L6 c$ V: }- v8 c3 y
在跑.TRAN模擬! p( v  `% Y% `1 [, o
我的初始值設定為" F/ h+ d! }' s. A0 S; c, Y
.ic V(A)=0 V(B)=1 V(C)=0 V(D)=0
6 q0 Y8 X% o/ I- n7 |9 K6 d) t可是後來發現一開始有震盪 但是越到後來振幅就越小 到最後整個衰減掉了 電壓收斂在1.3V/ S; f  ~" K- w$ z% y8 P. U% \
請問是哪裡模擬出了問題呢?

本帖子中包含更多資源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 頂27 踩 分享分享
推薦
發表於 2007-8-7 22:09:14 | 只看該作者
來補回答我的經驗/ T) A' ^( J  |
我之前是做0.18um的RTC的32.768KHz的Crystal Oscillator,條件規格是整體的Crystal Oscillator + Buffer + I/O PAD的current < 3uA,工作電壓要從1.2V ~ 1.95V7 e( k+ P( \5 v) V

% M9 B/ N! [$ o1. 首先,要做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才行,這點非常重要,因為它會直接影響到起振與否的問題) w  M9 q2 s- D5 W3 j
. ~0 r& U% b# z: d
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,這個並不好作,必需不斷地試  f! P* D$ G0 M( n% y) ^- p: b- D
$ X( q$ p7 i5 K% X
3. low current Crystal Oscillator的外接兩端電容要非常小,我當時的外接電容方式是用可調的架構(類似1991年IEEE Conference paper那種,不過這兩個電容我是做在內部),我當時試過,外部電容不能超過10pf,否則會因為外部電容過大而無法起振,那時我只用3-4pf的電容(有考慮到封裝廠的寄生電容,I/O PAD的寄生電容,板子上的電容以及實際量測時probe的電容),另外,因為本身兩端的電容值很小,所流過的電流也異常地小,故而只要有稍大的noise或者leaking current,都會造成Crystal Oscillator無法起振
9 n" F7 P+ Z6 A6 E6 c5 m- Z: R* I. f2 p
4. 連接在XTAL IN和XTAL OUT兩端的回授電阻要很大,最好是50M ohm以上,而這是為了low current Crystal Oscillator而特別考量的,用MOS電阻即可
* ^% q' W6 l% x4 }5 V# y
& J0 C# y9 i1 i. \! e9 h5. 最後一點,這是經驗談,當初我負責的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 非常感謝這麼詳細的回答!學到不少!

查看全部評分

推薦
發表於 2007-8-7 09:13:35 | 只看該作者
先給你幾篇我之前作RTC Crystal Oscillator的參考paper
# ~- K4 |' O# u4 U. h% N找之前也做過類似的circuit,而且current只有3uA7 e0 L; D! w  a1 c* u+ @
1. 1999, IEEE conference paper, An improved low power crystal oscillator
5 Z* _1 o3 u4 ~/ z7 k+ }( K2. 1997, IEEE Journal paper, A 2.1MHz Crystal Oscillator Time Base with a current comsumption under 500nA2 X& S: o# {8 y" A0 V9 F) A
3. 1995, IEEE conference paper, Low Power and Very low EMI high efficiency high frequency crystal oscillator9 s4 K+ N7 M3 Q" s1 N
4. 1991, IEEE conference paper, A Cell Based Suer low power CMOS crystal oscillator with "on chip" tuning capacitors
% G4 l8 H: h: k+ l/ m這幾篇的架構可參考看它們的架構和方式
6 \7 P  o6 r  y* J" ?: A6 ^晚些再分享一下當初我做的經驗以及遇到的相關問題和要注意的事項

評分

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

查看全部評分

2#
 樓主| 發表於 2007-8-1 16:51:27 | 只看該作者
圖二為負電阻模擬1 g; G/ r; G3 a7 g; Y2 U

+ V" @! Z5 d0 O- W3 _  h8 [圖三為負電阻模擬結果0 U- L+ r; k; a' R
4 W. Y7 H5 a: K: l8 H
圖四為b點電壓 .TRAN的模擬結果 發現振幅一直變小
( r( \3 P. Y, q& X4 W
* z' t) F# L8 J# L+ ?[ 本帖最後由 monkeybad 於 2007-8-1 05:03 PM 編輯 ]

本帖子中包含更多資源

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

x
3#
發表於 2007-8-1 18:59:25 | 只看該作者
方法上,应该没有问题。
' ~% E) c% A5 g9 _; O* C试一下:L=10.88KH, C=2.17fF, RS=30.9Kohm, CO=980fF.
+ N. a$ t% G# T9 W3 L( H1 w' e7 vC1=C2=15pF.  RBIAS=1E7," Z8 O! E: k( X" |

) I% w% m% W) `& o建议可以先用一个10uA的电流源下面接一个nmos管的结构,nmos管gm设在40u.3 v/ d0 }8 @+ c" C2 s7 f$ H
你可以用spectre仿真吗?

評分

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

查看全部評分

4#
發表於 2007-8-1 22:48:58 | 只看該作者
在原本的invert處多串一個invert,並且把CO的aa端接到此invert的輸入端,再配合capacitor之調整就可以了。4 V, E, r6 i# O  U" Y+ v
一般invert之Length較小 width較大,你的設定值怪怪的,也可能因此造成驅動能力不佳而衰減。

評分

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

查看全部評分

5#
發表於 2007-8-4 11:02:13 | 只看該作者
"我的初始值設定為' Y, M$ c6 B* O- B& O
        W8]@8n3FlU.ic V(A)=0 V(B)=1 V(C)=0 V(D)=0"- v% N) K8 o/ P7 C$ `% q: m5 m
这样的设置没有多大的用处,直接给电感设置初始电流,而且初始电流也不能太小,一般在ua级比较合适!

評分

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

查看全部評分

6#
 樓主| 發表於 2007-8-6 18:08:14 | 只看該作者
For adele:& l$ ]# H$ I" T; i  l4 _8 p
有試過你給的值 而且用一顆NMOS gmN=44u 上面用定電流源PMOS來偏壓 I=37uA2 }6 b. ?$ ]- D5 D7 i4 u
可是好像還是不會震耶 6 b5 K0 b5 i/ N- X
另外我是用HSPICE模擬的 我這邊沒有spectre耶0 m9 e8 c6 ?, T7 h7 L
% {( z% _3 p7 n2 [
For m851055$ d' y5 y% J6 ?6 |/ u
因為要做RTC(Real Time Clock)的OSC, 所以要求非常省電, Inverter的W/L值才會設這麼小. p2 y+ l2 i3 ?( V$ \; Q( P

! K$ P7 V% s+ j$ I7 M' r% S4 mFor wwm101 :
- i! \; Q' [+ R6 H% _' q那要怎麼下指令去給電感初始電流? 還有初始條件要怎麼設才恰當?
1 R8 ?) \/ `1 }( y5 j8 f- d, }! T7 j% U/ s* O1 k: U- L3 L, F/ d
有沒有人有經驗的能指導一下 感溫感溫!4 X0 b4 t: o0 V
) R0 z9 b$ O; g
[ 本帖最後由 monkeybad 於 2007-8-6 06:17 PM 編輯 ]
9#
 樓主| 發表於 2007-8-8 14:08:22 | 只看該作者
感謝finster大大提供這麼寶貴的經驗 真是造福人群 功德無量* R1 _* ?5 _7 l5 z0 N: n4 a
請受我一拜!
10#
 樓主| 發表於 2007-8-9 10:01:00 | 只看該作者
昨天晚上試了一下以前在網路上找到的一個方法4 B5 ~" _4 d. B; x: O# X. `6 J
就是在一開始的時候 串聯一個起始電壓源來加速Hspice的模擬' X0 ]2 N3 r* M/ J
起始電壓源為一個sine波 頻率設為crystal的震盪頻率 然後要加入damping factor 讓起始電壓慢慢衰減到零
& ], f7 {, r0 z4 o結果神奇的事情發生了2 A7 F9 u$ }6 Q. v/ j4 M1 F
Crystal Oscillator到最後居然開始震盪了2 f: G* j2 |* B' |) x  z
好感動喔!
4 _- b- [1 N7 V% c9 I趕快來跟大家分享一下!
* d. b1 Q; e; Z* I7 @  c" J3 z! N# S& x1 _! B; u7 \9 p7 G1 u
電路仍然是之前的Inverter電路
* D; u& b$ L+ ]' }( A. ?; p4 S在d點加入起始電壓1 _7 {4 ^0 _- `3 p/ R* D
VK d1 d2 sin ( 0V 800V 32K 0 1e5)
+ @' z4 a3 c8 j+ K模擬時間約400ms
/ j" f% L" n4 b" Z.TRAN 0.01u 400m
' k; t1 X& z8 }- I到最後就看到震盪器開始震盪了! 8 i0 x0 L$ ]' P5 g! {

: s0 h6 S* ^" d- M後來又試了另一個類似的方法 就是在電路另外並聯一個電流源
3 o% ~7 U3 _' |1 H. i2 S; Q$ ?! u# U也是同樣的sin波然後慢慢衰減到零 結果也是能讓電路起震
- X4 Y0 Y8 t, p% u  d, U
! |2 V" G. \% g/ z& F# }; n另外好像模擬時間的間隔不能設太大 設太大好像也不會起震
0 M6 Y0 ?4 d4 }, R! J. c7 A) }
8 l4 |3 P3 ?" [9 V8 q& E# K附件為網路上找到的文件
- V* D: I, W/ ^& K* u2 g  s, @  W) R3 l; v3 \" W
[ 本帖最後由 monkeybad 於 2007-8-9 10:14 AM 編輯 ]

本帖子中包含更多資源

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

x
11#
發表於 2007-8-9 19:36:40 | 只看該作者
建議你採用這個方式來試
& [. M0 f7 {- z% TVDD   VDD    0    PWL(0 0  10ms  3.3)% [/ ?  |+ @* B; P) ?% d  l7 l; a4 [

+ T7 @, {7 u, l並加入initial voltage
. s; v- T# f$ B5 ~& i4 w.ic v(A)=3.3 v(B)=3.3. d' d. E& ?. l0 \- j) E& l( f7 l
& O$ R2 n& l1 ?# {. x% D, O
將電壓源採用ramp的方式來作,那是因應實際電壓源皆是從0慢慢爬升到穩定的電壓源+ b4 w' f" e' I5 z
再者,將crystal model兩端設初使值為3.3V,最主要是因為inverter會將0-->1-->0-->17 S0 L% I: ^5 }# x- a
inverter的兩端若皆為3.3,那在一開始時,inverter的output會因為input為3.3而讓output由3.3-->0,當inverter的input受到回授電阻的緣故而讓input由3.3-->0,又會讓output由0-->3.3,如此循環下去就可起振,當然,這要在crystal能夠起振才行; J4 U' R" [& R' i  }
如果一開始就是設v(A)=0, v(B)=3.3,或者v(A)=3.3, v(B)=0,那對inverter而言就會是一個穩定的狀態而不會進行起振的環境條件
- H) T2 `9 i7 ]! X/ I6 L
6 ?/ \) B0 p$ b: d6 v- b+ s最後,實在不建議你用電壓源來作初使值的起振方式* `1 a" r# v: }0 g1 U/ I( M
crystal能不能夠起振,端看整個loop有否達到起振的條件
& {" n8 x& W1 ]設初始值只在HSPICE一開始模擬才有效,真正在模擬時己經脫離初始值的狀能,設初始值是能夠幫助HSPICE在計算時有收斂的成效& v, o* E9 s6 u' H  B
而使用電壓源或者電流源來作初始值的起振條件,相當於我們外加一個信號源來讓電路動作,但實際卻沒有這個信號,這對實際chip的環境而言是不對的,再者,用電壓源或者電流源作初始值要持續一段時間,而這種現象對crystal整體系統而言,無疑干擾了整個loop的運作

點評

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

評分

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

查看全部評分

12#
 樓主| 發表於 2007-8-13 15:32:02 | 只看該作者
恩 這種加起始電壓的方法的確怪怪的 因為實際上晶片沒有這種起始電壓
1 F4 O3 W! N9 r% Y應該是要用正統的加起始值以及VDD上升等條件一起模擬才符和實際的情況( X- ~7 N& F6 O- e7 {" t7 i) i% M
  K# D* `' T! J
看參考資料裡面是說 在晶體震盪器模擬都要花費相當長的時間 這種方法可以加速模擬的時間
0 W/ w% ^# m8 T7 f8 @5 w( S$ n因為時間過很久後起始的電壓還是衰減到零了 對電路沒有影響 所以最後假如電路還是可以震盪的話" T0 `3 i1 H0 m5 C
我想OSC的設計應該是會震才對
: s8 i9 r% f/ i2 m! ?4 X- R9 D# @# t2 [6 s" \
我覺得這種方法只能表示最後會不會震盪 不能模擬剛開始的時候會不會起震 另外就是可以節省模擬的時間. x; P6 B4 t' J1 u: D) @
: g' }" Y' w7 r$ y3 c8 R
[ 本帖最後由 monkeybad 於 2007-8-13 03:35 PM 編輯 ]
13#
發表於 2007-8-22 14:37:19 | 只看該作者
原帖由 monkeybad 於 2007-8-1 04:50 PM 發表 5 Z+ c7 @, M4 Z# D
之前有討論過有關CMOS Pierce crystal osc  G6 C' r) y! M! N* @  Y' {& ]4 {& p( x
現在我的模擬好像有點問題 想請教一下/ q+ X$ a( ]& f4 T* i6 J/ g) _/ j5 I5 E
圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻
$ r# `- ?) L5 B! p3 D$ U2 e然後a b兩點再分別接到Crystal的兩端
0 m7 A* y6 b# ~1 x+ h. J; SCryst ...
# R& Y, U" p1 _2 K7 I
+ e* o& S6 F  ^; o' \
因為最近剛好也要做一個 1MHZ~10MHz 的 X'tal oscillator, 最近這兩篇討論對小弟
$ O1 [% n7 j. G/ p1 \幫助很大..不過在模擬上有遇到問題, 怕是自己觀念有錯, 想請各位前輩指導...
0 }7 f7 m" @5 z
2 L  k- ~$ j9 }關於負電組的部份, 老實說是第一次看到這個觀念, 研讀了這兩篇討論串所提供的一些
/ r2 w: \& U$ I& L9 j文件, 總算有了一點點感覺...在推導的部份 monkeybad 大大提供的 Philips 那份文件9 q* Y  t& X+ ?. P4 b# Q3 |2 m
有詳細說明, 裡頭推論出滿足負電阻條件時 inverter 最小的 gm 值, 不過就是在這邊
" g3 T& G# [2 U) d, S' g遇到一點問題...
6 c& c& ]$ d7 U' y& \6 l0 |1 t# Y9 |% E" }. b; h, V
我模擬的條件為:( |: A# M# }5 N$ G& a5 ?0 ^% v$ P. s- ?( ^
10M X'tal model 為: RS=50, CS=0.004pF, L=60039.21315uH, CP=5pF (前人留下的..)# z! A  n' \- C! d0 M) [
Inverter size 為: WN=3u, WP=10u, L=0.5u, 偏壓在約 1.65V (VDD/2)7 T/ h" y+ A* v2 A9 D$ `, V
RP 為 2E6
* l5 ~9 U. E5 w/ `, vCX1=CX2=10p (X'tal兩邊的負載電容)
' c( L& q) i7 m5 ~  N# C# a5 c& {! [4 L7 l" ], T2 `5 B+ m5 x
假設先不考慮 Cpar 的效應, 根據公式算出來的 gmmin 約為 115u 左右, 用本篇一開始 ( O- N/ e" s& Y! ]- o
monkeybad 大大提出的方式去模擬, HSPICE 模擬出來 NMOS 的 gm 約為 521u, 是理論
8 ]) n+ e) A$ S最小值將近五倍, 然而 AC 分析看到的阻值卻是正的(請參考附圖), 我試著調整參數, 發現
/ n# i; r* H; W9 F% A. R% b將 CX1, CX2 以及 RP 縮小才會得到類似 monkeybad 大提供的圖 (整個從1MEG到10MEG3 `; G6 I7 a% y
的頻域都是負電阻..) 不過阻值也不大..
: @8 S. U: e0 c, N( H. g! ]
$ F  Q$ h) ^4 I# C; m另外一個問題是, 根據公式, RP 如果愈大, gmmin 會愈小, 所以我自己的推論是如果 RP 愈大,
3 r2 M' u' [" N2 ]模擬結果應該會往"更負"的那邊移動, 不過我用 50E6 模擬結果卻與預期完全相反... 7 W# D; j$ ~' s2 w$ q' n( ?! ]" k
) ^" G- z" W* e, x$ s5 Y& {  s
研究了兩天實在不知道是哪邊弄錯了, 煩請前輩們指導一下..謝謝..

本帖子中包含更多資源

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

x
14#
 樓主| 發表於 2007-8-22 15:10:49 | 只看該作者
根據推導的公式 RP應該是越大 所需要的gmmin會越小  這應該是沒錯
  Y; N& v0 \1 P# q1 R% O' _& [- F8 w* M1 Z4 U/ x& n) o7 {: w- \
另外說實話 我模擬負電阻時也有遇到全部變成正的情形 但是我也不知道為什麼 我猜可能是相位的問題吧 Hspice把他反過來了
- k$ m# `. w, L6 f+ U7 N' c- h9 U所以我後來就直接根據推導的公式去計算 就是之前那份Philip的文件 移項一下就可以得到正電阻跟負電阻的計算公式
8 n- X9 @9 t1 C. u" Y然後至少負電阻絕對值要大於正電阻 根據之前網友的說法是說要大五倍比較保險/ k0 y, d9 l% @4 O2 _% f

- l9 a- g0 P% H' |. T2 G然後在時域上面去模擬 有一個可以參考的方法來驗證你OSC會不會震 就是一開始起始值的電壓用很小
8 v5 b+ F- I* s  @6 m; r然後你去看震盪器裡面的波形振幅 如果振幅慢慢被一直放大 則表示你的OSC是會震盪的
/ M! m5 U/ M. Q, S% K$ i$ E因為表示負電阻的力量是比較強的
' G4 W% U3 _4 d/ `: A* Q' b5 F7 r; X
  S1 e' }8 D8 ?+ z1 ]& W) f" u若是要看steady state時的波形 就把起始值加大 加速他transient的時間7 \& ?7 [$ t- [0 k8 J5 o/ w8 J

1 X8 U' e; M& a5 m3 v1 K! F另外注意好像.TRAN時間間隔也不能設太小的樣子 不然也不會震 目前我模擬是設0.01U 但是你頻率比較快 可能在設小一點吧

評分

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

查看全部評分

15#
發表於 2007-8-24 00:06:30 | 只看該作者
哎哎...負電阻的部分還是參不透玄機...模擬不出來... 3 p' j. a; b8 ^/ E# p& x

5 q1 ~' @' T! \; p不過我按照推導的結果確認 gm 值足夠後把整個線路丟進 ADiT 去模擬, 把 X'tal 兩端設成
6 @, @3 n% E2 o2 l" Z7 S2 OSPICE_NODE, 結果是會順利起震的, 可是又遇到另一個問題, 就是用 HSPICE 模擬無法起震,
! w$ c! K" l! f  Z我覺得應該是模擬條件設定的問題, 我有參考了前面 finster 大大提過的技巧, 不過兩個端點
, x, @2 s4 i$ Q; x/ e最後還是會停在偏壓點 (剛好約 VDD/2) 的地方, 我知道 time step 的設定似乎會影響到模擬. b) M" y3 E6 i. G
會不會起震, 不知有沒有前輩們能分享一下除了 time step 之外還有什麼地方要注意的??0 f) i- D7 j$ d5 n
5 h7 X% a' }0 h  q; J& |% @- V
另外再請教 monkeybad 大大, 您提到的 "一開始起始值的電壓用很小" 指的就是 X'tal 兩端的: [2 x* R! C; N0 `; ^
初始值嗎??
16#
 樓主| 發表於 2007-8-24 17:03:57 | 只看該作者
請問一下ADiT是什麼呀3 Y# I. s6 a6 |. b

; |/ B9 V2 H% Y& l7 Z另外Hspice模擬中 我是參考之前的附件裡面設的起始電壓 就是原來附圖中的d點加入一個起始電壓
0 |% M( b* W0 k. Z% HVK d1 d2 sin ( 0V 800V 32K 0 1e4) 其中d拆成了d1 d2$ H  `2 f( ], ~+ c( |+ I3 T# G
那起始電壓用小一點的話 就是sin的震幅用小一點 例如設成50V這樣
- @; d" z* t; o: D% p' V用這樣設起始條件模擬時間會比較快一點* P, T" K  a" T7 y5 d* e
3 h: O$ p5 J! L
另外再模擬起震時 參考finster的設法 VDD用ramp模擬上升 另外V(A) V(B)就設成3.3V
/ q$ W8 x9 R2 C那因為crystal從零一直到起震需要很久的時間 所以一開始你會看到XTALIN XTALOUT兩端都會被拉到VDD/22 D0 G5 b; K9 X5 e& y
但是你去看crystal model裡面的c點 應該會開始震盪 而且會慢慢變大 ! k+ a% J/ y4 \8 X! s
根據穩態模擬的結果 震盪到穩態時電壓振幅都會到上百V至上千V
/ s& _3 h: J8 q  }0 ^
8 o- u" m: x  ]5 l! @* t另外我看你crystal model最好是去找看看 實際上廠商在用的model參數下去設7 X  I+ Q9 A' F& |

* d2 b* J. K$ J( P  G[ 本帖最後由 monkeybad 於 2007-8-24 05:09 PM 編輯 ]

評分

參與人數 1 +3 收起 理由
skyboy + 3 感謝啦!

查看全部評分

17#
發表於 2007-8-27 12:32:26 | 只看該作者
ADiT 是本土公司 (華凱, EverCAD) 開發的一套 simulation tool, 這套 tool 標榜模擬的速度
3 J+ o- I! d5 C2 u5 ^1 w5 ~& f比 HSPICE 快上許多, 也有提供準確度較高的 spice mode...Mentor 為了加強他在電路模擬
0 h& L, {" a" g7 C) O+ m; z/ r* h這個領域的 tool, 在去年(前年?? 忘了..)購併了 EverCAD...所以這套 tool 現在也是爆貴...-_-6 l3 G. F1 l/ R  |2 [/ [; D
( m6 C3 \% l1 G& h; [6 L0 X
以上是題外話.... $ q) \' [4 f# h

8 u$ V) e$ z0 [' v3 V* nX'tal 的 model 似乎不容易要到, 我 12MHz 的 model 是參考 Philips 文件上的...那應該算是% M7 Y7 K: N) E" `+ x& {7 ^- n
廠商的 model 吧??....
8 }6 v: g( m+ Y& h+ l4 G; `+ s$ \- t- C6 g; \' A8 W
我去看了不會起震時 C 點的波形, 初始值是參考 finster 大大的建議, 震幅與操作點一開始從
0 D+ l4 w  e: q3 w1 p6 B$ t接近 full swing  衰減, 然後隨著 VDD 逐漸上升, 當 VDD 到 3.3V 時 C 點會上升到偏壓點附近, 8 @9 C$ p  `7 ^0 k* \
接著就是維持著約 350mV 的振幅到模擬結束...:f33 試過調整 time step 與 VDD ramp up9 e$ h3 N. _; x# N( J  O- f$ R
的時間, 看來都沒有什麼關係.... r4 _7 k% B+ D! U: M
8 R$ h% z7 N9 L
我還沒有試過 monkeybad 大提供的外加 power 的作法, 不過在網路上找資料時有看到大大4 j% ]- X, Z8 ?. E, w
提供的那份文件, 只是如同 finster 大所說, 這是一個不存在的電源, 總覺得這樣模擬可能不是
) G- A  b. J3 t3 F% Z/ Z- U' a很正確...  a7 j) t; p5 m: g1 {

- t# p9 S6 E9 I  m0 j2 M不知道是哪邊設錯了, 請各位前輩能再指導一下...
18#
發表於 2007-8-29 13:51:43 | 只看該作者
如果說Crystal Model沒有問題的話,有用Power ramp和加入初使值的設定而依然不能夠起盪的話! r6 z! p+ X* f/ Z5 H0 S$ h! L
那我只能說應該是你電路本身的問題: K0 o3 C6 ^6 T" B; v

3 r8 S0 v$ H" B  B0 W5 g假如是用hspice在作模擬的話,32.768khz的要跑上一個星期是常有的事
9 j  e0 G( B' |2 N4 ^如果是使用spectre來作模擬的話,大概半天到一天應該就會有結果出來4 M0 q5 q1 w/ x
建議你兩個方向試試看
0 {+ M1 R" X0 z9 S# E一是先測試一下反相器的輸入電壓對輸出電壓的關係,你說你的偏壓大約在VDD/2,但我看了一下你反相器的size再對應映到你的反相器的轉換電壓卻似乎並不在這個區間,先單獨對反相器作模擬,如果你的輸入電壓並不在這個範圍的話,那你的反相器根本無法作出反應,也根本無法起振
! f  ?. z" D0 o先讓反相器的輸入電壓可以在接近VDD/2作出反轉,然後再試著加大size試試看  M1 R7 ^( }! t1 M  G! G  B
另外一個作法則是加大回授電阻,建議你觀察一下回授電阻和兩端電容的電流值及Crystal Model兩端各為多少以及流向,這點純粹是個人經驗,當然,這必須是在上面那個建議改了之後仍然無法起振才用這個,而這點也是當初我在作極低low current crystal oscillator時所觀察到的現象6 E1 ]& _7 v$ M8 ~

0 ~; Y% T. p) r' s2 V2 w) x& Y5 o. _, a1 ~$ |# ?& I6 e; F  h
' k* C3 ~7 w5 I0 w& S& e

! P+ b  R+ t* u0 Y" l5 }
原帖由 skyboy 於 2007-8-27 12:32 PM 發表
  h3 N7 P5 K  N. r# aADiT 是本土公司 (華凱, EverCAD) 開發的一套 simulation tool, 這套 tool 標榜模擬的速度
  \: P1 @( `5 X! a7 y/ m比 HSPICE 快上許多, 也有提供準確度較高的 spice mode...Mentor 為了加強他在電路模擬
: y: d  O/ \1 D# U6 \3 q這個領域的 tool, 在去年(前 ...

評分

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

查看全部評分

19#
 樓主| 發表於 2007-8-30 14:32:14 | 只看該作者
哇 32768的crystal OSC模擬要一個禮拜喔!
: j# g8 t( }* `, E5 ?原來要這麼久 難怪我跑模擬過半個小時去看 怎麼感覺都一樣勒
20#
 樓主| 發表於 2007-8-30 18:51:19 | 只看該作者
另外附帶提一下 RTC晶片規格裡面 要求非常省電
! R& c" \) R3 P! _# C因為可以延長電池的壽命 或是外掛的精電容可以撐的比較久 $ |0 j* a0 R  f) F# o/ J2 a7 h1 ?
目前我找到比較厲害的是seiko 還有一家瑞士做的 兩個差不多強
& t- A6 {2 s8 E# {& o! s7 ^time keeping current=0.25uA, VDD=5V-1.3V
- H0 t5 S$ v1 z" `7 q; e" N
/ `) o" o5 X+ {真的能做到這麼省電 而且VDD可以吃這麼大的範圍的電壓嗎?
' p% x5 n* Z. b* S( ]4 e' D. r# K
7 h; Y1 E. B2 z+ E這種規格實在很嚇人0 L' ~3 @3 l: d
0 c' l7 A! I  I6 V- f* g* W
猜想是不是他先內建一個LDO把電壓降下來 然後再用這個LDO Vout去做類比和數位的電路的power嗎

本帖子中包含更多資源

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

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

本版積分規則

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

GMT+8, 2024-5-19 07:10 PM , Processed in 0.135017 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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