↑
2009年のIISWでのAptinaの発表資料より 画素から列アンプ、及び列AD出力までの等価回路図
上の発表資料は、2009年の
IISWでのものの様です。
前回のblogで採りあげた発表の丁度4年前ということになります。
やはり、
この時の発表資料でも、撮像素子の列ADCは逐次比較型となっており、
そしてこちらにはそのADの概略ではありますが、上の等価回路図が載っていました。
この時の発表資料では、同時に二つのセンサの報告を行っており、その主要スペックが上表にまとめられています。
双方のセンサとも、同じ4.2um□の画素ピッチ(前回のblogで採りあげたNikon1V1搭載センサは画素ピッチ3.4um□)で画素数も概略4K解像度、フレームレートも60fpsで同等となっています。
が、良く見ると、使用プロセス、画素のトランジスタ数、ADの分解能などが異なっており、
明らかに表の右側の”UDTV2”の方がハイエンドを狙った撮像素子であることが読み取れます。
せっかくですので、ローエンド側の素子は無視して、今回はハイエンド側の素子のみフォーカスしようと思います。
↑UDTV2のセンサのブロックダイアグラム
前回採りあげたAptinaセンサのデジタル信号の出力については、
①水平方向に画素を12ブロックに分割し、更にそれを上下方向に分けて計24チャンネル(?)で
② ①を(左右に読み出さずに)そのまま上下の出力pinに読み出している
ように見えました。
しかし、4年前の本件では、上図を見るとその様な気配は無く、
素直にただ上下に読み分けているだけの様です。また、その後も
センサの右側に出力信号をまとめて読み出しており、極一般的でオーソドックスなタイプの様です。
やはり前回のAptinaセンサが、上記①、②の様な形態を取ったのは、
10Mpix、13bit分解能、80fpsという高画素、高分解能、高フレームレートを達成するための工夫の内の一つであったと見るべきだと思います。
↑行読み出しのタイミングダイアグラム ※黄色の部分が同一行の信号の流れを表しているよう
前回採りあげた2013年発表のセンサでは・・・
③ 1行の読み出しに掛けていた時間は、4.58uSec
④ 以下を並列処理して信号読み出しをしていた
画素信号読み出し / AD変換&CDS / メモリからの信号読み出し
4年前の本件では、
③’ 1行の読み出しに掛けている時間は、7.6uSec
④’ 並列処理している工程は、”画素~AD変換~メモリ書き込み”と”メモリからの信号読み出し”のみ
ちなみに4年前の③'の7.6uSecという1行の読み出し時間はどんなものか?
というと、ニコン1V1の11Mpix弱のミラーレスカメラの撮像素子にあてはめると、(列数の差を無視して)単純に行数(2712行)だけ合わせると
48.5fps となり、
仮に、4年前の本件のセンサが製品可能なレベルにあったとすると、今でも十分に高速な部類に属するセンサであると思います。
また、上記④と④’を比較すると、
4年前本件:画素からリセット信号読み出し⇒AD変換⇒光信号読み出し⇒AD変換 と順次行っていたのが、
2013年:画素から読み出したリセット信号及び光信号を都度サンプル&ホールドして、前の行の光信号のAD変換と次の行の画素からリセット信号読み出し、同じ行のリセット信号のAD変換と画素からの光信号読み出し をそれぞれ並列にこなすように進化していることがわかりました。
上記
並列読み出しの強化と、冒頭のNesting scan読み出し方法により、4年間で1行の信号読み出し時間を3uSec程度縮めることに成功した様です。
やはり、時間を追って変化を見ると、どの辺が変わってセンサが進化したのかわかっておもしろいですね(^^)
さて、ここからがやっと本番です(^^;)
そもそも逐次比較型のADというのは、例えばソニーが採用しているシングルスロープ積分型と呼ばれる列ADと比較して、一般的にどの様な特徴があるのでしょうか?
読み出し速度に関するところだけに着目すると、ADの分解能Nビットに対して、変換に必要な時間はそれぞれ
シングルスロープ積分型:2^N乗 に比例
逐次比較型 :N に比例
ピンと来ないかもしれませんが、上記”N”に具体的に12bitとかの数字を当てはめるとすぐにわかると思います。そうなのです、
定性的には変換bit数が増えれば増えるほど、圧倒的に逐次比較型の方がシングルスロープ積分型を採用したセンサに対して、AD変換時間が短くて済むのです。
”え?上記リンクのソニーのセンサの読み出しスピードは劇速だよ?おかしいじゃん?”
そうなのですが、そこを克服したというのが、上記ソニーのセンサのまた凄いところで、
”カウンタに極めて高速なクロックを供給することに成功し、高速AD変換につなげた”というのが、上記ソニーのISSCCでの発表の要旨の内の一つなのです。
話を戻しますと、
”Aptinaが何故撮像素子のAD変換方式に逐次比較型を採用したのか?”
それは、
カメラやビデオの撮像素子の市場を狙う前提だと、
”写真撮影や動画撮影用途は割と高分解能&高速読み出しの両立を要求される分野だから”(だから逐次比較型の方が適切と判断した)
ということだと予想されます。
←冒頭の等価回路図と同じもの
そして、上図の右の方の”14bit Successive Approximation ADC”の点線の枠内がAptinaの逐次比較型の列ADの等価回路図です。
(左上の”Pixel”と中ほどの列アンプはよく見る感じなので割愛)
ちなみに、この図ではAD分解能が14bitとなっていて、主要スペック表では12bit(14bit)と表記されているのは、originalの発表資料を読むと、
”列ADは14bitの分解能を持っているが、その後ろのデジタルの読み出し(←ブロックダイアグラムの図のDefferential Serial Output)が14bit分のデータを60fpsでは読み出せないから”ということの様です。
(
「14bitフル解像度で読み出そうとすると50fpsになる」とあります)
4年後の2013年発表のNikon1V1センサと思われるセンサで、24チャンネルに出力チャンネルを増やしているのは、本件から画素数が2M増えてフレームレートを20fps上げなければならなかったからという事情がありそうです。
で、列ADの動作ですが、上図等価回路図からは、ざっと以下の様な感じかと思います。
1)Vsasの先のスイッチをON⇒OFFして、コンパレータの下側の入力を適当な”Vsas”電圧でリセット
この時のLatchesとの間に並んでいる容量のVsasの反対側はGND=0V
2)
Vref1には列アンプ出力の変換したいフルスケールの電圧振幅値(例えば1V)を入力
※Vref1/2^2には例えば0.25V、Vref1/2^4には例えば0.0625Vを入力 ←Aptinaのセンサはここが特徴的
2)画素信号読み出しに先立ち、RST_ADCのスイッチをON⇒OFFしてコンパレータをリセット
3)画素FDリセット時の信号を列アンプ経由でCshの容量に保持
※この後、”SH”のスイッチを一度OFFするのか私にはわかりません。画素の光信号の読み出しをリセットレベルのAD変換と並列処理する場合はOFFしなければなりませんが、4年前の本件はこのあたり順次読み出し⇒AD変換を行っているため、OFFしなくても良いようにも思います。
4) ( 1)でVsasでリセットされた…(点々)で示されている容量が、恐らく
実際には15個並んでおり、それぞれ容量が異なり、
基本容量をC0とすると、C0が2個(これが右側のVref1/2^4の方)あり、ついで左側に向け1/2C0(←C0の半分の容量値)、C0、仮に以上までがVref1/2^2の箇所とすると、一番左のVref1の箇所の容量で再び1/2C0、C0、2C0(←C0の倍の容量値。以後同様)、4C0、8C0・・・と順次倍々ゲームで容量が増えていき、最後の一番大きな容量は基本容量C0の512倍の大きさのものがついている
ここで、上位3bit目に相当する128C0容量のコンパレータと入力と反対側の端子をスイッチでVref1に切り替える。(この時コンパレータの入力側は今回の例では0.0625V)その後、コンパレータ入力同士の値を比較し、画素リセットレベルの方が小さければ(←画素リセットレベルなので、まあ小さいと思いますが)128C0の端子をスイッチで再び0(GND)に戻し、Latchesに”0”を記録。
5)その後、順次半分ずつ小さくなる右の容量のスイッチをVref1側にスイッチで切り替え、コンパレータで値を比較し、画素リセット信号側が小さければLatchesに”0”を記録し、大きければ”1”を記録し、その際には容量の端子を0(GND)側に戻さず1(Vref1)側のままとする。これを最下位bitのC0容量まで繰り返す
6) 5)の結果を、上図には無い列メモリに”画素リセットレベルデータ”として転送
7)その後、画素の光信号も同様に、Cshにサンプリングし、画素リセットレベルと”ほぼ”同様に、信号レベルと容量側の値を比較し、Latchesにデジタルデータを記録する
※”ほぼ同様”としたのは、光信号の場合は、比較を最上位bitの512C0の容量をVref1に切り替えるところから始まるところが異なるため。
4)の
画素リセットレベルのAD変換時に、上位3bit目から比較スタートするのは、恐らく”画素リセットレベルがそんなに大きな振幅信号を持っている訳は無いから、変換時間が短くて済むように、上記2bitは何もせずに”0”としてしまおう”という思想であると思われます。
8) 6)同様に、図には無い列メモリに画素光信号データとして転送
さて、ここまで読んでくださっている方が何人いるかわかりませんが(^^;)、以上が私が予想するこのAptinaセンサの列AD部の動作概要です。
間違っている可能性も大いにありますが、それはご容赦ください。
で、上記列AD動作概要の二箇所の青字の部分ですが、ひとえに
”列回路の中で容量の占める面積を減らしたかったから”
この様な、イレギュラーなVref電圧と容量値にしていると思われます。
まずこの
逐次比較型ADの変換精度を決める要素は何なのでしょうか?
識者に言わせればいくつかあるのでしょうが、その一つに
”容量の相対精度”
があるはずです。
つまり、今回の例で言うと、2C0はキチンとC0の2倍の容量でなければなりませんし、4C0はC0のキチンと4倍で、かつ2C0のキチンと2倍でなければ、ADの変換精度が落ちてしまうのです。
そうでなければ、このAptinaの14bitと発表している分解能もカタログ上だけのものになり、実際にはそんな高い分解能を持たないということになってしまいます。
ところが、世の中には”寄生容量”という作り込みたくなくても付いてしまう容量や、また多量に量産する民生品用途のセンサでは、量産時の製造ばらつきというものが存在してしまい、論文の机上の理想論の様にはいきません。
上記問題をある程度回避するためには、基本容量のC0を、
・寄生容量より十分大きく
・量産時に容量値がばらついても、変換精度に影響が出ない程度に大きく
するのが手っ取り早いです。
すると普通に今回の14bitの逐次比較型AD用に、列毎に容量を作るとすると、例えばC0を10fF(フェムトファラッド:10^-15乗F)とした場合、小さい方から・・・
10、10、20、40、80、160、320、640、1280、2560、5120、10240、20480、40960、81920fF
・・・最早、最新の高感度に強いデジ一のISO感度の限界設定値的な数字ですね(^^;)
total:163840fF=163.84pF
適当に仮定した数字ですが、163.84pFもの容量を列毎に用意しなければならなくなってしまいます。
ところが、今回のAptinaセンサは、Vref1以外に、Vref1の1/4及びVref1の1/16の電圧を用意しています。
これにより、最も小さな容量を10fFとすると、以下の様に列毎に容量を用意すれば同様のことが可能になりました。
20、20、10、20、10、20、40、80、160、320、640、1280、2560、5120、10240
total:20540fF=20.54pF
これは上で工夫無しに容量を用意したのの実に1/8です。
本センサの画素ピッチは4.2um□。上下にデータを読み出すので、列回路に許されるレイアウト幅は画素ピッチの2倍になりますが、それでも8.4umしかありません。
容量のレイアウト面積は容量値にそのまま比例すると思いますし、本件の列レイアウトにおける容量の面積の占める割合も少なくないと思われます。
そのため、
本件のAptinaの容量の面積が1/8になる工夫は、チップ面積の増大を抑える上で大変意味のあるものだと予想されます。
(
※そもそもレイアウト面積にこだわるのは、半導体チップ価格はそのチップ面積の大小によるところも大きいという背景があるからです)
像面位相差AF画素配置の件もそうですが、成熟期に入る前の技術というのは様々な方式が検討され、その用途に対して(性能やコストなど)総合的に優位なもの以外が淘汰され、最後に一つに絞られて成熟期に入るものだと思っています。
上記が正しいとすると、
撮像素子の列ADの方式も、現状少なくともシングルスロープ積分型と逐次比較型の2種類は存在し(←私が知らないだけで他にももっとあるかもしれません。量産品に限らなければ、
NHKと静岡大学の8K4K120pセンサはサイクリック型という列AD方式を採用してます)、
成熟期には入っておらずまだまだこれからということです。
AD変換技術は、画素技術と並んで撮像素子のS/Nや性格を決定する重要な部位だと思いますので、この分野も
今後ソニーとAptinaに限らず各社の動向に注目していきたいなと思っています。
最後に、備忘録として、本発表資料の特性表も載せておきます。
PR