Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
1#
發表於 2007-8-22 14:37:19 | 顯示全部樓層
原帖由 monkeybad 於 2007-8-1 04:50 PM 發表 8 f* ^  p9 e' T3 b5 g
之前有討論過有關CMOS Pierce crystal osc
7 R7 k! j$ X3 L9 _5 j# Q" X2 G5 Z+ `現在我的模擬好像有點問題 想請教一下
. y$ j1 e1 Q, `; c2 O) B' r圖一為我簡化後的Model 基本上 就是一顆CMOS Inverter 然後並連上一個偏壓電阻
7 u- Z% F0 I' j; I然後a b兩點再分別接到Crystal的兩端
: u1 t" [0 X! j. S! `Cryst ...
- a" J; r8 K4 ^& [( C
. R6 ~/ w+ k  b, b
因為最近剛好也要做一個 1MHZ~10MHz 的 X'tal oscillator, 最近這兩篇討論對小弟: w1 O9 {( |' t' h" l9 ~
幫助很大..不過在模擬上有遇到問題, 怕是自己觀念有錯, 想請各位前輩指導...
& z& l7 q; b1 ~& N% q0 v
" T' e5 _+ `6 W. ?* f( Y關於負電組的部份, 老實說是第一次看到這個觀念, 研讀了這兩篇討論串所提供的一些5 Z! ?1 z$ {- o& O, @, J
文件, 總算有了一點點感覺...在推導的部份 monkeybad 大大提供的 Philips 那份文件' z6 @3 r! C: G) j
有詳細說明, 裡頭推論出滿足負電阻條件時 inverter 最小的 gm 值, 不過就是在這邊+ b1 L8 }/ _& a: F
遇到一點問題...
1 H) M( n4 S" G  G" n; [
6 `( }$ c( Q* C; Z5 X9 w7 ^3 p我模擬的條件為:
, w7 o7 ^+ N* C# a10M X'tal model 為: RS=50, CS=0.004pF, L=60039.21315uH, CP=5pF (前人留下的..)
. C* A: t& {. a/ TInverter size 為: WN=3u, WP=10u, L=0.5u, 偏壓在約 1.65V (VDD/2)- _. M2 z+ V/ q
RP 為 2E6( t7 u, \. H9 `
CX1=CX2=10p (X'tal兩邊的負載電容)# T" H. w8 \* K  r
6 h3 b# O( I6 j8 o6 N3 H' {' H
假設先不考慮 Cpar 的效應, 根據公式算出來的 gmmin 約為 115u 左右, 用本篇一開始
' y% S8 u& T+ Vmonkeybad 大大提出的方式去模擬, HSPICE 模擬出來 NMOS 的 gm 約為 521u, 是理論; @8 `8 x- n7 L2 h
最小值將近五倍, 然而 AC 分析看到的阻值卻是正的(請參考附圖), 我試著調整參數, 發現
( U' l' [5 w1 i0 J* E將 CX1, CX2 以及 RP 縮小才會得到類似 monkeybad 大提供的圖 (整個從1MEG到10MEG
/ D/ C- o6 l0 a$ w; d8 \的頻域都是負電阻..) 不過阻值也不大..
# }) V$ N# [, U# f( y% v/ Q2 \( ]( Q3 z( n( A
另外一個問題是, 根據公式, RP 如果愈大, gmmin 會愈小, 所以我自己的推論是如果 RP 愈大,
" E9 r! D5 Z7 p! E模擬結果應該會往"更負"的那邊移動, 不過我用 50E6 模擬結果卻與預期完全相反... 1 z* U: @: p, q3 r" Z, ^

. J2 c4 }7 l6 z研究了兩天實在不知道是哪邊弄錯了, 煩請前輩們指導一下..謝謝..

本帖子中包含更多資源

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

x
2#
發表於 2007-8-24 00:06:30 | 顯示全部樓層
哎哎...負電阻的部分還是參不透玄機...模擬不出來...
! Z0 L; o' K. k
- [1 }7 E; u: ?' v' M0 P& o不過我按照推導的結果確認 gm 值足夠後把整個線路丟進 ADiT 去模擬, 把 X'tal 兩端設成
+ t6 d0 |6 M1 z+ n% C' r8 T$ aSPICE_NODE, 結果是會順利起震的, 可是又遇到另一個問題, 就是用 HSPICE 模擬無法起震,
# o7 J7 c3 R8 o' P我覺得應該是模擬條件設定的問題, 我有參考了前面 finster 大大提過的技巧, 不過兩個端點' |; X1 g  Z# P' G% |
最後還是會停在偏壓點 (剛好約 VDD/2) 的地方, 我知道 time step 的設定似乎會影響到模擬  p* `, Q  b- k- x" O, Z2 t
會不會起震, 不知有沒有前輩們能分享一下除了 time step 之外還有什麼地方要注意的??# f3 G: }% O. Y( x
9 Z6 a% v) |  F3 |
另外再請教 monkeybad 大大, 您提到的 "一開始起始值的電壓用很小" 指的就是 X'tal 兩端的
% a+ Y: l! k: `3 d3 G初始值嗎??
3#
發表於 2007-8-27 12:32:26 | 顯示全部樓層
ADiT 是本土公司 (華凱, EverCAD) 開發的一套 simulation tool, 這套 tool 標榜模擬的速度. I, p: |4 Q7 L) |# |8 r4 ?
比 HSPICE 快上許多, 也有提供準確度較高的 spice mode...Mentor 為了加強他在電路模擬
7 Q' U, E  g) o這個領域的 tool, 在去年(前年?? 忘了..)購併了 EverCAD...所以這套 tool 現在也是爆貴...-_-: ~' E! `1 N% `5 Q9 C; O

  M. |' h% T% |% h# e$ x' r以上是題外話.... 1 o4 g  M& d3 k$ T/ K3 M8 R3 x
$ m8 B3 [* M' M+ b
X'tal 的 model 似乎不容易要到, 我 12MHz 的 model 是參考 Philips 文件上的...那應該算是
1 P$ I1 D3 E( P0 s! O0 z. i廠商的 model 吧??....) r' \& _# _7 G: s) P. c' g8 a

! S- q. n1 o8 h6 c! A" D我去看了不會起震時 C 點的波形, 初始值是參考 finster 大大的建議, 震幅與操作點一開始從
4 z/ O" w1 S, Y. r接近 full swing  衰減, 然後隨著 VDD 逐漸上升, 當 VDD 到 3.3V 時 C 點會上升到偏壓點附近,
9 H4 U4 t% y0 r& |4 f* a接著就是維持著約 350mV 的振幅到模擬結束...:f33 試過調整 time step 與 VDD ramp up' m+ \% ]; z$ k4 o, u4 o5 o: M
的時間, 看來都沒有什麼關係...; Z; f; ]6 V9 G$ T9 y
% ^7 A3 a. e0 j9 \+ K3 n
我還沒有試過 monkeybad 大提供的外加 power 的作法, 不過在網路上找資料時有看到大大
  [2 E. J- q) H" c9 v提供的那份文件, 只是如同 finster 大所說, 這是一個不存在的電源, 總覺得這樣模擬可能不是, Y  Z& G- K/ m" Q
很正確...: `' G0 |4 r& H, Q: f3 M

8 \1 _+ [( l3 }1 N/ @1 I不知道是哪邊設錯了, 請各位前輩能再指導一下...
4#
發表於 2007-9-9 14:38:59 | 顯示全部樓層
最近一直在嘗試, 本來因為 schedule 的關係想先擱下, 以前做這個線路的同事說就是用 : a  C1 n# j3 Z: b2 J) T- _
HSPICE 跑不起來才換 ADiT, 是還沒有遇到說 real chip 不會動的情況...
: P# X. e( h: Q3 B+ H
: P) H* T. i+ @! _不過最後一次的嘗試讓我看到它起震了, time step 要縮小到 0.1ns, CX1(inverter輸入端)
& l8 O5 v6 l+ F0 J( @縮小到 4pF (是任意挑一個較小的值, 沒試過其他的..CX2 仍為 10pF), 不過還是有點怪怪的...7 M* p7 G( v! j% B

, g; i6 h) {& z# {# `6 f1 Z前面討論有提到, 起震時在 X'tal 內 CS 的端點會看到振幅漸增的震盪, 我用 ADiT 跑出來  B; n/ B" A# x
到穩態時震幅是 +/- 2.x KV, SPICE 跑出來只有900多V, 另外 CX1=CX2=10pF 時 ADiT
* |# j- G" H+ }$ d: i3 K2 C8 }就可以很順利的起震, XG/XD 的振幅是 full swing, SPICE 的話會看到 XG/XD 的振幅很小, % k  d2 l9 A, Z, y/ W
幾乎就是在 INV 的操作點附近, CS 端點的振幅也只有幾十V, 頻率慢一點 (ex. 2MHz) 5 ~# W6 s, k/ r3 x. d
還可以起震, 跑到 12MHz 時就掛了..
% s7 I+ u  L/ U' N2 k# W, m6 q) h  s9 ?) h
只是 time step 設到 0.1ns 用 HSPICE 跑 12MHz X'tal 要好久....>_<) l* J3 s( W+ c' N9 x" I2 k
(當然比起前面 finster 大說的 32KHz 跑一個禮拜是好多了...): c* C8 V6 T7 ?& r: r9 _

/ X0 Z( r3 F) r& i4 U+ }# y[ 本帖最後由 skyboy 於 2007-9-9 02:51 PM 編輯 ]

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-5-20 01:23 AM , Processed in 0.105014 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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