Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
1#
發表於 2007-8-22 14:37:19 | 顯示全部樓層
原帖由 monkeybad 於 2007-8-1 04:50 PM 發表
% |% u$ f! C4 C之前有討論過有關CMOS Pierce crystal osc9 j; t" j. ~  T, P  w. Q6 F
現在我的模擬好像有點問題 想請教一下. _) `4 g, }# {8 F* E
圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻% G' E! K: \; R9 Y" y, ~
然後a b兩點再分別接到Crystal的兩端   ^" d! }! R% S3 H. B  y, R
Cryst ...

2 ]& p( n7 M! _- T6 F
$ i% }9 U; W. k+ ~因為最近剛好也要做一個 1MHZ~10MHz 的 X'tal oscillator, 最近這兩篇討論對小弟
  H( h; w) |4 x' ]幫助很大..不過在模擬上有遇到問題, 怕是自己觀念有錯, 想請各位前輩指導...- S- C. @7 l" p8 s* L
( x' K& ?9 M: I2 l6 z4 K
關於負電組的部份, 老實說是第一次看到這個觀念, 研讀了這兩篇討論串所提供的一些
6 g: t  s: t" f6 H) Q1 |文件, 總算有了一點點感覺...在推導的部份 monkeybad 大大提供的 Philips 那份文件# P- n- @' M6 B9 g4 ~  P/ h
有詳細說明, 裡頭推論出滿足負電阻條件時 inverter 最小的 gm 值, 不過就是在這邊
; q" v) ?' M, z# Z- T" R/ W! K8 W遇到一點問題...
  ?+ t+ j$ V' y5 m: n( p
' s! ?* u4 w" }& i. g/ I我模擬的條件為:
( Q; b  \8 H% D7 W10M X'tal model 為: RS=50, CS=0.004pF, L=60039.21315uH, CP=5pF (前人留下的..)* i5 u0 |8 v2 p2 A( H: ^- z! u; m
Inverter size 為: WN=3u, WP=10u, L=0.5u, 偏壓在約 1.65V (VDD/2)6 B6 u- M' m  \* [6 Z( g
RP 為 2E6: C- l) q' T7 j
CX1=CX2=10p (X'tal兩邊的負載電容)
2 A4 z2 C- M% Y7 b2 K0 D8 q
, E( U$ u4 Y, E! o4 p# f3 `假設先不考慮 Cpar 的效應, 根據公式算出來的 gmmin 約為 115u 左右, 用本篇一開始
# y! A) N3 t- [/ E6 y$ T2 Xmonkeybad 大大提出的方式去模擬, HSPICE 模擬出來 NMOS 的 gm 約為 521u, 是理論. x* b2 ^4 E' c( K$ N# g9 h
最小值將近五倍, 然而 AC 分析看到的阻值卻是正的(請參考附圖), 我試著調整參數, 發現: v1 l/ q1 O$ w. c) R+ z; k
將 CX1, CX2 以及 RP 縮小才會得到類似 monkeybad 大提供的圖 (整個從1MEG到10MEG
: b6 F; G# J& T2 n5 P9 p7 S8 W1 S的頻域都是負電阻..) 不過阻值也不大..0 O( c( Q+ }4 k$ }# E$ w
( y6 R% F8 \& [& U3 S; v
另外一個問題是, 根據公式, RP 如果愈大, gmmin 會愈小, 所以我自己的推論是如果 RP 愈大,
5 \  Q$ G2 N0 B+ I% r模擬結果應該會往"更負"的那邊移動, 不過我用 50E6 模擬結果卻與預期完全相反...
1 l9 n5 O& ~, N4 F% Y* c/ Z: \2 h' Y( s3 f' i) V. s% Y( c8 `
研究了兩天實在不知道是哪邊弄錯了, 煩請前輩們指導一下..謝謝..

本帖子中包含更多資源

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

x
2#
發表於 2007-8-24 00:06:30 | 顯示全部樓層
哎哎...負電阻的部分還是參不透玄機...模擬不出來... 3 s; i" u, ?) u5 e8 h
. X4 a9 h* m: b0 i% T8 ^, C: f& w
不過我按照推導的結果確認 gm 值足夠後把整個線路丟進 ADiT 去模擬, 把 X'tal 兩端設成
# J% L4 K' ?5 y/ I, k! c- iSPICE_NODE, 結果是會順利起震的, 可是又遇到另一個問題, 就是用 HSPICE 模擬無法起震, 3 h2 \. A; z) `! P) t
我覺得應該是模擬條件設定的問題, 我有參考了前面 finster 大大提過的技巧, 不過兩個端點
5 t2 n9 y2 q) r9 h# t; G4 X( L最後還是會停在偏壓點 (剛好約 VDD/2) 的地方, 我知道 time step 的設定似乎會影響到模擬
4 `! w. s( f' \會不會起震, 不知有沒有前輩們能分享一下除了 time step 之外還有什麼地方要注意的??5 [& {$ [. k4 s: l0 a2 q% b

5 q6 N3 @% X" ?+ |+ }" W1 b另外再請教 monkeybad 大大, 您提到的 "一開始起始值的電壓用很小" 指的就是 X'tal 兩端的+ v7 |  Z6 a) I( A! N  k
初始值嗎??
3#
發表於 2007-8-27 12:32:26 | 顯示全部樓層
ADiT 是本土公司 (華凱, EverCAD) 開發的一套 simulation tool, 這套 tool 標榜模擬的速度
9 u( v6 ~0 p( D1 h& z& V比 HSPICE 快上許多, 也有提供準確度較高的 spice mode...Mentor 為了加強他在電路模擬4 R9 [' d6 o- u2 _- p
這個領域的 tool, 在去年(前年?? 忘了..)購併了 EverCAD...所以這套 tool 現在也是爆貴...-_-- J0 S; c1 h& o

1 b3 j; g2 `0 d/ b! B1 c以上是題外話....
# P5 P' V7 Y$ Y, t& _1 U! [  O8 f" R, d$ F
X'tal 的 model 似乎不容易要到, 我 12MHz 的 model 是參考 Philips 文件上的...那應該算是
  p; R4 _+ ]5 O/ W廠商的 model 吧??....
9 H7 h7 K! i* X' A0 Z! m5 z. j& ^- K6 U
我去看了不會起震時 C 點的波形, 初始值是參考 finster 大大的建議, 震幅與操作點一開始從
" d  _  _( Y$ r+ L. b) K( D接近 full swing  衰減, 然後隨著 VDD 逐漸上升, 當 VDD 到 3.3V 時 C 點會上升到偏壓點附近, 6 o: i; }9 e6 M
接著就是維持著約 350mV 的振幅到模擬結束...:f33 試過調整 time step 與 VDD ramp up  F+ s$ h" _- Q
的時間, 看來都沒有什麼關係...6 Z: e0 Y; y* r) {. S0 z

$ [1 A$ i# o: f) C- A3 Q. _我還沒有試過 monkeybad 大提供的外加 power 的作法, 不過在網路上找資料時有看到大大
: I. z' n" {0 s提供的那份文件, 只是如同 finster 大所說, 這是一個不存在的電源, 總覺得這樣模擬可能不是
5 b( x" T; G! U! v) q- c! f很正確...4 P3 w/ `8 Q4 P2 g6 A2 G0 {0 B
, @5 I: ?" ]/ g5 i3 h
不知道是哪邊設錯了, 請各位前輩能再指導一下...
4#
發表於 2007-9-9 14:38:59 | 顯示全部樓層
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 4 w' ?# U+ ^9 \" h# J- C8 d( _+ Q
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
" ?! E6 S- V7 b* {/ p$ U2 ]" V) C; f* ~
不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)' k/ J) t  R$ l
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...5 H" k: u/ o9 L; ~  Z* s

  b6 B9 v9 b; E! j前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
6 E. @0 L  j/ |( a: @" r到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
* \% L1 p. G7 M就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, ) O* m  w! N. L; ~
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz)
- {3 ^8 |0 W4 ^% H9 A9 Y還可以起震, 跑到 12MHz 時就掛了..) j/ p0 Q/ m* s- j0 X& j
* c0 T5 @5 G5 i! C$ c
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<8 L5 r9 x: J2 j' I
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)$ K: _1 {! ~; d1 u7 g; g: z
! w& R) ^. V+ r" [
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-5-7 09:29 PM , Processed in 0.104006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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