Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 請教前輩們有關 Pipeline ADC 的問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-1-8 02:27:49 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
想要請教前輩們有關 Pipeline ADC 的問題* d2 G5 M; \2 h& e/ n8 G
ADC  每一級為 1.5 bit 的架構做 calibration
3 i0 t* L( P) Z  w% v晶片下線回來量測,就結果來看
8 o) Y9 W' C& x& y# Y% n& c在某些特定的 stage 會有很大的 offset9 `8 B* d  q: d2 ~$ @- \
造成嚴重的 missing code
2 |( I2 C* M, g& A5 G( X6 x有的 chip 發生在第一級 有的 chip 發生在第三級+ w3 O# R* W/ T0 }+ y8 g, e1 m
想不透的是,因為有 1.5 bit 的補償
$ W7 ^1 ?( a' f: A" d理論上應該可以抵抗約 +/- 150 mv 的 offset
+ P. ]/ R! Z* {# C. }一直找不到可能掛掉的地方
" \/ {' T% ^1 G想請前輩們給一些方向及意見,感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
6#
發表於 2012-2-22 11:06:12 | 只看該作者
似乎是OP 提早飽和掉了,可能是比較器offset太大或residue gain >2 造成. ( M' ^, g6 U1 K2 ~% s" E
比較器的offset 是隨機的(random distribution) ,即使layout相同,但offset 不可能相同.' L: _9 F# J. A8 R
可以試著加入Voltage source 進入 ADC 的比較器input 端當offset 模擬看看.
5#
發表於 2012-1-11 12:17:48 | 只看該作者
剛剛手算一下,missing code會發生在輸入電壓為:/ e& ^6 d( D/ O

) @1 o4 e% p1 d" \  D) Q4 s0.125~0.155, J( S" l  I5 ~3 G0 h7 {3 S

+ k% a+ R7 K' ~  L# ~7 Q3 f1 Q0.25~0.28) d& f7 I+ m1 r. a
9 E, m* ~: G: c: x2 A: e+ c
0.375~0.405& p" T+ g/ _2 ^7 B9 I3 G* T8 {5 j' l
2 y+ K. l6 D! H1 A' M# E8 Q
0.5~0.53
& q- H4 g# Z; D0 y. v
$ f8 a! ]& a6 [0.625~0.655
! Z( R, W( b9 {, \; y  z. _' i  d: S3 _. r
0.75~0.78( y' a4 v/ k+ x# T7 L2 L  ]$ r
4 m, T/ j' d( v. L0 ^/ |; U
0.875~0.9056 {0 R7 {1 M* ?5 ]  ~

, V# s$ P9 r- ?- A$ v9 i1 K你先往這方面去跑一下模擬~~~~% i" r! J: n% m" s- W! J. I

1 |. Z- M( m/ X4 p1 ]" H4 n應該可以還原一些~~~~
4#
發表於 2012-1-11 12:08:20 | 只看該作者
你的Calibration有沒有bypass功能阿???看起來你的ADC是沒問題的~~~~
" ^, ?5 Y8 F6 D7 W2 A/ }
6 R) w& e8 U& r1 i# b建議你先關掉Calibration功能,再看看有沒有missing code~~~
/ ~7 j( {$ A+ \, H: y" x
, \- S2 l8 N; I5 Y. A, {你也可以用Digital code反推一下你的輸入電壓,
2 m* O2 R2 x, v) Y0 C4 V2 |2 O& E8 C- h
可以先算出輸入電壓是多少會發生,在我的想法我會想到
0 X& ]4 x6 Y0 R2 b8 p1 I8 L
/ g5 m# e* W/ \5 R+ a% m: z: v* O1 i127===>0001111111
' w+ V( e, Q" w
' ^' [7 ~: u3 ^$ u3 o7 [255===>0011111111. |: F+ g! ?1 P4 x0 t" h7 |6 }
9 Y) I! Y! |. g8 v2 a8 H/ L: e
383===>0101111111, P& \: n# z2 L. K% ^: x! l/ y6 U
. f' ?) a1 F, O6 }' ]
......etc8 Y5 V& h  F8 n5 w8 \% T7 ^

5 H, S) Z$ V+ a. _你是前四bit做Calibration嗎????建議你去看一下Calibration.....( }; u4 |- e# W# n8 k) w/ `
2 m4 z/ ~" ]. i
另外你的pre-sim跟post-sim都有含Calibration去模擬嗎????
8 B) E. B4 U! S! e+ D4 D. s- E1 B: |+ }
因為Calibration是屬於數位電路部份,
6 n; F0 o% f* c+ b4 W  O* S5 @; c% X. a3 z. `* Q* q9 i; M' I  }' X
所以你可以透過verilog sim來驗證一下你的數位部份," I1 V5 _+ i" b' f& _1 a
/ C: ]7 o3 B% z& \, d- i
但是你要針對ADC部份寫behavior model來驗證會比較快~~~~
$ A7 }; f: e0 I
) I8 U, N5 I- x) `: h+ HGood luck
3#
 樓主| 發表於 2012-1-10 23:16:46 | 只看該作者
Dear Ichuang 大大
8 W# `' z. C: t: p不好意思,請問您指的 OP 是指 Reside 上的 OP 嗎?
7 K5 D8 K, d5 [, p" T& N0 D0 m積分器的 OP 我有 check 過 error 穩定時的 error 有小於 1/2 lsb: @! X9 z( X* k+ w8 m' n0 F; b
所以我才會傾向懷疑是 comparator 的問題" |: V0 h' l+ w5 S+ t2 |% A0 G' ^' D

6 K: Q5 N6 L) O1 q0 t5 ~: X8 {8 c當然,若第一級輸入的訊號有問題,後面的數值都沒有參考意義
, l# m2 P' p& Q: E) U& l9 \4 T) s, N因為不會貼圖,我用文字說明一下我目前的量測結果
8 J" h) |$ r- J, ^! o1 hADC 為 10BIT Swing 為 1v Common Voltage = 1.4v
" \4 C! v# o7 W5 t/ w: J我輸入一個 ramp 得到的結果為
+ Y6 K( o4 E) |; `; w+ G9 B# ~Ideal Code : 1,2,3,4,5.......126,127,128,129......158,159,160.......255,256,257....286,287..
+ ]7 T; @7 E/ \( A! o實際輸出       : 1,2,3,4,5.......126,127,127,127......127,159,160.......255,255,255....255,287..: @# d. o  p6 L, ?8 \+ `
此現象會重覆出現在 127, 255, 383,511,639,767,895 等 level  d2 t; P" m5 @6 A# j
因此懷疑是第三級的比較器出問題( i/ i1 ^4 G; }$ F, @+ L
不過每一級的比較器電路和 layout 都相同
8 a1 D* k& d/ }+ `8 W若單單發生在某一級又很令我困惑7 p4 k: [2 Q6 _( N* `* \
所以想請求大大們給予一些方向找答案,謝謝
2#
發表於 2012-1-10 16:23:49 | 只看該作者
==================================================
( K+ D4 C% W7 Q: l/ O; b
$ k% L8 h. s7 J3 b, v1 `有的 chip 發生在第一級 有的 chip 發生在第三級9 t8 Q& @& r- o% E
/ v2 [- q' m* U( [5 c" p/ l
想不透的是,因為有 1.5 bit 的補償
: ]$ S( D" M  \) o# U6 g
3 x  j, d2 C! M! {0 @% e$ q0 f理論上應該可以抵抗約 +/- 150 mv 的 offset1 ~5 l3 ~) V8 Q/ R

- c9 ?- m3 }/ t& d# C1 V- n( u& [- s==================================================
$ Q6 @5 E# j3 d! I( k
9 {+ V! y; U: X' S4 [以上部份原文我個人認為作者你可能搞錯了1.5 bit的offset抵消的觀念了,5 h3 o) l3 B* |: {) }

2 {: b4 r( \; t% c! X所謂的+/- 150mV指的是比較器的offset.....並不是你所謂的OP offset唷~~~~
8 ^4 [7 V  d6 F/ V! d
+ C- h+ @1 A+ x$ V- ?" S$ \另外就是一般做Pipeline ADC都會著重在前四級(以12bit、+/-1V輸入電壓),
" H$ O6 @1 ~4 P& ]# V
% B, }' t. P( Q( d; K; Y9 Z那麼第一級的OP所產生的error就需要壓在"0.25mV"以下才能達到................+ _3 v4 p' b& W4 |
/ ?4 C! m; r; E# S
所以你可以先提供一下你的ADC規格,大致才會知道這個ADC的關鍵在哪........
- n1 r( n6 w; ~; {& n, P. k1 @$ v' c3 J
至於你所謂的miss code會發生在第幾級......其實以pipeline來說,只要第一級毀掉....5 ~* V# E; c' ~- H! N
0 J* H% y& j  c
後面的幾級我想都不會好到哪裡去........6 i% B% j: G- ?: t

  ]+ S7 N$ F/ b所以pipeline的第一級OP是最重要的,你可以去檢查一下第一級的error(Pre-sim and Po-sim)~~~9 u* ?1 L; m! b+ m0 s5 q
* g4 j% S* ~# ]  Q
Good luck
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 09:10 AM , Processed in 0.120015 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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