Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-1-8 02:27:49 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
想要請教前輩們有關 Pipeline ADC 的問題
0 o: b: i% {  m, rADC  每一級為 1.5 bit 的架構做 calibration
+ F, y; n/ e& m4 L晶片下線回來量測,就結果來看/ [' z* T& b% v6 F( V6 F. L  X3 R' }* F
在某些特定的 stage 會有很大的 offset
, l! f5 q/ z. _, b2 |" o2 V/ p造成嚴重的 missing code
* E: }' u( c" e0 u% p1 i有的 chip 發生在第一級 有的 chip 發生在第三級  M. `8 c7 X3 v# Q3 Y+ ~
想不透的是,因為有 1.5 bit 的補償$ v; O' \) C* |' m2 k+ p
理論上應該可以抵抗約 +/- 150 mv 的 offset
/ ^1 y4 \) t, d( ]3 c- ~一直找不到可能掛掉的地方
: S, ]4 n1 G+ _& n- w想請前輩們給一些方向及意見,感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
6#
發表於 2012-2-22 11:06:12 | 只看該作者
似乎是OP 提早飽和掉了,可能是比較器offset太大或residue gain >2 造成. / c+ }( g, A5 h# C1 B$ R$ B( X8 k
比較器的offset 是隨機的(random distribution) ,即使layout相同,但offset 不可能相同.
% b- W% j) x9 s' d! r可以試著加入Voltage source 進入 ADC 的比較器input 端當offset 模擬看看.
5#
發表於 2012-1-11 12:17:48 | 只看該作者
剛剛手算一下,missing code會發生在輸入電壓為:
0 f- b* Q# o9 p; N  q* F
/ b7 d; I5 ^5 m! y# T3 D4 t0.125~0.155. e9 ?+ L7 \7 p) t. q1 S, T/ P0 D

! a6 H! t6 e- [0.25~0.28
! J2 u1 G, U- {/ b# G( }. F: C! c5 W9 g
0.375~0.405
5 j: X8 Z6 h7 t$ Y- I3 O; N) o/ u; V# k2 f
0.5~0.53
0 o2 c+ C, V! C' D& B
7 e( o5 }- u: ?: V: [2 [9 ~0.625~0.655
, n  _. r. l( j. c+ Z2 w8 u, P: j: Q
0.75~0.78$ U2 o6 p) O! a, m5 e& H
3 p6 j, v% D7 B! B1 d) @( W
0.875~0.905
( X4 R8 L0 l7 y; y- v5 M
4 U5 T0 s3 c' t# W- ?1 [8 V你先往這方面去跑一下模擬~~~~3 v: g, Y5 p# L$ V
7 n) E$ G7 x. z) v! a7 r8 Z
應該可以還原一些~~~~
4#
發表於 2012-1-11 12:08:20 | 只看該作者
你的Calibration有沒有bypass功能阿???看起來你的ADC是沒問題的~~~~
6 Q/ `/ K& P* O: }# a- y+ W3 U+ ~3 {$ x
建議你先關掉Calibration功能,再看看有沒有missing code~~~* a% t! i* T6 ~# G5 @

- L0 {, h2 N4 ]: B你也可以用Digital code反推一下你的輸入電壓,
& Q5 `2 R2 a# p" H/ {7 N; Z* O& {
- g: ^* v+ @9 m可以先算出輸入電壓是多少會發生,在我的想法我會想到
9 I% @4 E1 Y* ^5 u% g% W+ n9 p1 d9 J( J
127===>0001111111
! V) a" Z9 K( _# y9 N, T' M2 C& u1 ~
255===>00111111117 p  a9 b) B& c/ c4 Y

6 t  Q4 S5 \9 `383===>0101111111+ T5 ~6 W: n, B3 v1 \

: x8 A. B# I9 E1 B5 Y$ s5 L0 O5 E......etc" Q/ E2 w: w/ m- K
  P" P; d7 _2 B7 O1 d
你是前四bit做Calibration嗎????建議你去看一下Calibration.....# V0 Z) a* J, @* L0 [" u7 U1 c& r) p

1 e9 i- x7 F# X% V: r另外你的pre-sim跟post-sim都有含Calibration去模擬嗎????
( P! S) Z* i3 l4 R8 _; _. z3 l' t/ i" Y; y
因為Calibration是屬於數位電路部份,. ?. V8 W+ ^* e$ J$ Q2 |

  N/ e2 R6 T$ C, p所以你可以透過verilog sim來驗證一下你的數位部份,$ |3 \5 [1 K! J

6 U. w" L7 A8 P% \. E! \但是你要針對ADC部份寫behavior model來驗證會比較快~~~~  G9 R6 S3 y- g1 n
( |. ^4 j5 K3 d# }
Good luck
3#
 樓主| 發表於 2012-1-10 23:16:46 | 只看該作者
Dear Ichuang 大大( Z# X2 h- g9 v, U  l8 \
不好意思,請問您指的 OP 是指 Reside 上的 OP 嗎?( E  n. N$ A3 Y" b- b/ H' F
積分器的 OP 我有 check 過 error 穩定時的 error 有小於 1/2 lsb/ ~( K4 O& r! j4 y
所以我才會傾向懷疑是 comparator 的問題
! L# @9 b' L3 b$ V1 {! J% j8 c  |- K2 L- i9 I2 X7 |0 h0 {. f* C- P/ s: X
當然,若第一級輸入的訊號有問題,後面的數值都沒有參考意義  b# D# z( B% J- ?. `& q
因為不會貼圖,我用文字說明一下我目前的量測結果
% r) E+ G3 B. @0 w8 u! U; s9 z$ [ADC 為 10BIT Swing 為 1v Common Voltage = 1.4v
. t1 n( O8 r  k$ l9 X我輸入一個 ramp 得到的結果為
1 S- q. X) l# V, hIdeal Code : 1,2,3,4,5.......126,127,128,129......158,159,160.......255,256,257....286,287.." n" |9 z/ v  v- A+ X$ z
實際輸出       : 1,2,3,4,5.......126,127,127,127......127,159,160.......255,255,255....255,287..
; d0 d& X: \1 L: ^4 h0 Y5 R此現象會重覆出現在 127, 255, 383,511,639,767,895 等 level
0 K) K# e' y3 M- ?. Z因此懷疑是第三級的比較器出問題
* w! U/ `! T- e, m5 Z' s  R5 S不過每一級的比較器電路和 layout 都相同
% z; v3 }1 L8 \, T) \4 m若單單發生在某一級又很令我困惑5 l% ]. e" o& p8 m6 Z$ W1 M  l% q
所以想請求大大們給予一些方向找答案,謝謝
2#
發表於 2012-1-10 16:23:49 | 只看該作者
==================================================* s2 t5 _$ n: {& X* F' l) }
' }' B6 C+ G% ]! X! O
有的 chip 發生在第一級 有的 chip 發生在第三級
5 z5 _6 a3 Z) g) I( r
* J$ ^# n8 N+ [% {* v% n想不透的是,因為有 1.5 bit 的補償( l) e/ w3 ?# r: P
; f: _9 F: o5 f' C" Z; q
理論上應該可以抵抗約 +/- 150 mv 的 offset  l' n  u; R/ Y8 ?% H$ \# P

+ W" N# ^( ?! x8 E/ F==================================================
# W$ M, G: D3 f; o; H* r; \* y2 Z4 Y! p2 Z2 `5 Q, k/ v
以上部份原文我個人認為作者你可能搞錯了1.5 bit的offset抵消的觀念了,! b' x  y. T+ P
; P) f8 Y! f  G) x6 h
所謂的+/- 150mV指的是比較器的offset.....並不是你所謂的OP offset唷~~~~* F! D; S9 ~" S+ Z, L
: C* m2 r5 ~6 }% b- |3 S" C' k
另外就是一般做Pipeline ADC都會著重在前四級(以12bit、+/-1V輸入電壓),* O) {" c) g' I' j) s- \0 f

7 Q9 h2 w' m% K. F那麼第一級的OP所產生的error就需要壓在"0.25mV"以下才能達到................7 O+ U& F* p. h( \0 p1 [
; U5 W2 x4 ?' P
所以你可以先提供一下你的ADC規格,大致才會知道這個ADC的關鍵在哪........
$ v9 r* L: ?& ~" t/ F9 F
  ~2 _; [+ i# K5 B/ |/ U3 O至於你所謂的miss code會發生在第幾級......其實以pipeline來說,只要第一級毀掉....* z5 K4 ?! \6 X
+ g, \) B# v+ e  Y7 F) b) ?* A
後面的幾級我想都不會好到哪裡去......../ f( L0 m6 F9 s3 }& t; C

2 i) P: o) M$ t9 d: T所以pipeline的第一級OP是最重要的,你可以去檢查一下第一級的error(Pre-sim and Po-sim)~~~
4 V  X0 q' m6 T3 G3 C( g( K* ~* I  M
Good luck
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-20 12:22 AM , Processed in 0.167010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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