Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
1#
發表於 2007-8-22 14:37:19 | 顯示全部樓層
原帖由 monkeybad 於 2007-8-1 04:50 PM 發表
9 o& ~' ?- ]4 D- Q  F  R/ _之前有討論過有關CMOS Pierce crystal osc0 n* h7 e8 \6 s9 f5 w/ P4 z
現在我的模擬好像有點問題 想請教一下" X6 D# W) d+ {/ [
圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻( q) F! k" C5 ?* K
然後a b兩點再分別接到Crystal的兩端
) ^1 r+ i0 h7 {# y$ e6 mCryst ...
9 [$ S7 R$ m, X* ^7 V$ x

# V3 ]0 H; O! a) t( |% T5 r  V因為最近剛好也要做一個 1MHZ~10MHz 的 X'tal oscillator, 最近這兩篇討論對小弟# D( g: s2 y0 c/ Q$ s
幫助很大..不過在模擬上有遇到問題, 怕是自己觀念有錯, 想請各位前輩指導...0 J7 s  @$ l$ ]4 j5 P, }

" F. H! d& Z* G關於負電組的部份, 老實說是第一次看到這個觀念, 研讀了這兩篇討論串所提供的一些9 N! o2 r) j( _0 h3 v. O
文件, 總算有了一點點感覺...在推導的部份 monkeybad 大大提供的 Philips 那份文件
# z7 x+ p. e4 q, a* r$ q有詳細說明, 裡頭推論出滿足負電阻條件時 inverter 最小的 gm 值, 不過就是在這邊& r% Q: |% M4 c/ Y
遇到一點問題...
3 B; L9 |0 ~5 ^/ z9 Z+ D& L6 c: R- M" p
我模擬的條件為:5 h! ?) S7 R4 a7 A. g9 d
10M X'tal model 為: RS=50, CS=0.004pF, L=60039.21315uH, CP=5pF (前人留下的..)# m) U! a; E9 x4 Y( D! [% U: d2 [
Inverter size 為: WN=3u, WP=10u, L=0.5u, 偏壓在約 1.65V (VDD/2): Q. a6 t  G/ w% M" E
RP 為 2E62 W/ o: y/ q5 w8 x
CX1=CX2=10p (X'tal兩邊的負載電容)8 h# A. p: C7 m/ c2 R
6 z- ?1 E2 _! Z- R& a9 K
假設先不考慮 Cpar 的效應, 根據公式算出來的 gmmin 約為 115u 左右, 用本篇一開始
( i# y: D" i6 T7 I7 Y+ Ymonkeybad 大大提出的方式去模擬, HSPICE 模擬出來 NMOS 的 gm 約為 521u, 是理論! b# R" p9 A+ D1 n% e
最小值將近五倍, 然而 AC 分析看到的阻值卻是正的(請參考附圖), 我試著調整參數, 發現2 i( h8 Q/ L0 _
將 CX1, CX2 以及 RP 縮小才會得到類似 monkeybad 大提供的圖 (整個從1MEG到10MEG, o+ _. L1 _! \* {2 z: `
的頻域都是負電阻..) 不過阻值也不大..
  q  l: g; y& K9 \; E
' d, Y( F: O* m( ?8 A另外一個問題是, 根據公式, RP 如果愈大, gmmin 會愈小, 所以我自己的推論是如果 RP 愈大, , ]5 L" Y; s: {
模擬結果應該會往"更負"的那邊移動, 不過我用 50E6 模擬結果卻與預期完全相反... 6 i0 r( S! V: Y7 n& S

) v$ j- K8 I3 P) c  J研究了兩天實在不知道是哪邊弄錯了, 煩請前輩們指導一下..謝謝..

本帖子中包含更多資源

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

x
2#
發表於 2007-8-24 00:06:30 | 顯示全部樓層
哎哎...負電阻的部分還是參不透玄機...模擬不出來... - c+ n, B2 m+ z

' C- |: ]: z& n! ^- J" H  M不過我按照推導的結果確認 gm 值足夠後把整個線路丟進 ADiT 去模擬, 把 X'tal 兩端設成; |4 P- Y1 O/ B+ G
SPICE_NODE, 結果是會順利起震的, 可是又遇到另一個問題, 就是用 HSPICE 模擬無法起震,
9 a7 _$ `: n5 j, u我覺得應該是模擬條件設定的問題, 我有參考了前面 finster 大大提過的技巧, 不過兩個端點
3 i' }! [: K6 X4 z3 `最後還是會停在偏壓點 (剛好約 VDD/2) 的地方, 我知道 time step 的設定似乎會影響到模擬
) F# `9 b- T0 Y' L5 a  K2 g: @會不會起震, 不知有沒有前輩們能分享一下除了 time step 之外還有什麼地方要注意的??
. x/ t8 \/ T! z, L0 Q/ I4 _, l/ H! `' `2 }! q5 S
另外再請教 monkeybad 大大, 您提到的 "一開始起始值的電壓用很小" 指的就是 X'tal 兩端的& K) O' M1 X1 x
初始值嗎??
3#
發表於 2007-8-27 12:32:26 | 顯示全部樓層
ADiT 是本土公司 (華凱, EverCAD) 開發的一套 simulation tool, 這套 tool 標榜模擬的速度
% c6 M" b1 |7 _  g+ e) }' o: Z比 HSPICE 快上許多, 也有提供準確度較高的 spice mode...Mentor 為了加強他在電路模擬
" R: T) j0 `! E這個領域的 tool, 在去年(前年?? 忘了..)購併了 EverCAD...所以這套 tool 現在也是爆貴...-_-0 t# N- d3 ~% C5 S& Y) B
5 k3 _2 w) q) f1 ?
以上是題外話.... ' ]' h! u. b- C- y( W
0 q) F( y+ Y/ H+ P) d9 v, S
X'tal 的 model 似乎不容易要到, 我 12MHz 的 model 是參考 Philips 文件上的...那應該算是
( y( b  V7 E4 O" a* V3 |1 P廠商的 model 吧??....
% S% M3 g$ ^3 C, z/ N' Q4 F" |/ |5 \6 z4 G7 M0 `
我去看了不會起震時 C 點的波形, 初始值是參考 finster 大大的建議, 震幅與操作點一開始從% J5 w+ m! c" s7 t5 \; ~3 @
接近 full swing  衰減, 然後隨著 VDD 逐漸上升, 當 VDD 到 3.3V 時 C 點會上升到偏壓點附近,
$ W1 [' h' \9 K$ m5 d接著就是維持著約 350mV 的振幅到模擬結束...:f33 試過調整 time step 與 VDD ramp up. r7 a4 p% U8 d9 A" {# K
的時間, 看來都沒有什麼關係...; y6 }5 J3 E2 Z
) R' _4 c8 y3 C) e* ^! l. n
我還沒有試過 monkeybad 大提供的外加 power 的作法, 不過在網路上找資料時有看到大大
& @: J# [+ V0 Q+ J9 }! z. `- N提供的那份文件, 只是如同 finster 大所說, 這是一個不存在的電源, 總覺得這樣模擬可能不是
) e# p$ W+ Q6 \. @' p很正確...6 e2 @! D& G) F; O6 ?
8 G* u* H4 o7 G# N' k# U
不知道是哪邊設錯了, 請各位前輩能再指導一下...
4#
發表於 2007-9-9 14:38:59 | 顯示全部樓層
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用
  }" K% U# O5 z* n" A1 DHSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...4 l5 h; x4 ?4 p3 M- K* N

& a( t5 K# U% N9 \: |. K6 a9 F不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)9 Q' K2 V- }- s* D6 M3 g* o
縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...6 t8 v& y! a6 K4 E+ u) b, n
& r2 U; n7 u( @. R) g0 {8 j
前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來
" @4 m$ \  i( _0 ]: J9 B到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT ' \. ~* J( }+ L- J
就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小,
: p! e' T" q/ N8 n6 `8 b6 Z幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) + o( _8 F+ g4 ~. Y
還可以起震, 跑到 12MHz 時就掛了..
2 z4 ~' [! k1 f& ]3 ^- J( C: `$ r& ]1 I/ S
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<
6 e' v( ^  {& Q" ?- i! Y(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...)6 [' V) }, U% ^" f/ k8 E2 `7 E! S
7 y; a7 B( F  i" e/ }2 Y2 ?
[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-5-28 03:55 PM , Processed in 0.109513 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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