登录 / 注册
淺谈IMX294CJK, Datasheet分析
2023-04-03 19:18:22

淺谈IMX294CJK Datasheet (2) 供電PIN
(请用电脑打开本文,手机可能打不开众多关键图片)


這個數字供電為什麼有兩個1.2V也就是說這麼一大堆PIN腳裡其實有超過一半以上都是電源PIN 

Datasheet的​第九頁列出了IMX294的所有PIN腳。我相信大多數人看到這張圖時是懵逼的:

IMX294CJK datasheet分析其實大護法給你們梳理一下就會發現這玩意根本沒啥子複雜的。 所有灰色的方塊都是沒有實際作用的PIN腳(或者只有索尼才知道怎麼用。NC=not connected)。而紅色和亮紫色的都是VDD打頭,深藍和淺藍色全是VSS打頭,搞電路的一看就知道分別是供電和接地,也就是說這麼一大堆PIN腳裡其實有超過一半以上都是電源PIN。而且這裏面還有不少是重複的,比如說四個角落裏都各自有VDD_LCM/VSS_LCM,VDD_LCN/VSS_LCN,VDD_HPX/VSS_HPX,等等。為啥會有這麼多重複的電源PIN呢?我假設你只在晶片的右上角有一個電源PIN,接入3.3V,那麼這個3.3V到達晶片左下角的時候可能就只剩3V了(供電線越長則電阻越大,電壓降也越嚴重),輕則效能下降,重則無法工作。但如果你在左下角也做個電源PIN,然後在PCB上走線把3.3V傳輸到晶片左下角的話,電壓降就會小得多。晶片裡的金屬層寬度是按微米計算的,厚度是按納米計算的,同樣長度下它的電阻值要比PCB 
IMX294CJK datasheet分析
這還沒完。這裏面還有好多PIN雖然名字不同,但其實相互間是短路的,也就是說它們本質上是一回事。這在第20頁的圖片裡一目瞭然:
IMX294CJK datasheet分析
這個晶片實際上一共只有四個供電源,分別是2.9V的模擬供電,一個1.8V的數字供電,兩個1.2V的數字供電。像模擬的2.9V同時通向五個不同名稱的PIN腳,分別是VDD_SUB(substrate基板),VDD_HCP(charge pump電壓泵,用來在電路里生成一個>2.9V的電壓來驅動某些NMOS開關),VDD_HDA(DAC,其實就是鋸齒波發生器,ADC的組成部分之一),VDD_HPX(pixels畫素),VDD_HCM(comparators比較器,ADC的另一個重要構件)。不難看出這個命名其實是非常有規律的,2.9V的第一個字母一般為H(high),1.8V為M,1.2V為L,後兩個字母則是驅動部件的名稱縮寫。如果你對感測器的電路結構比較熟悉的話,基本上看過一兩遍就可以直接背下來了。 

可能有人要問了,這個數字供電為什麼有兩個1.2V,為啥也不直接短路算了?可以看出VDDD3只給兩個模組供電,一個是鎖相環PLL,一個是發射器TX,也就是數據接口(可以是SLVS-EC,也可以是CSI-2)。這裏面鎖相環負責用外部輸入的72MHZ時鐘生成一個2.304GHz的超高速時鐘,並且驅動數據接口往CMOS外輸出資料,也就是說這個電路模組相比其它模組的工作頻率要高几十倍,它會在供電線上產生高頻的擾動,影響其它模組的表現,所以最好是單獨給個電壓源。
從這張圖不難看出還有些PIN腳是專門用來連線片外電阻電容的。這些器件之所以不整合在CMOS上主要兩個原因,濾波電容是因為容值太大消耗晶片面積太多,成本過高,不如做個片外的;電阻則是因為片上電阻的精度不夠。 到這裏你會發現,所有V字開頭的PIN腳我們都已經梳理了一遍了。搞清了供電問題後我們可以順便看一眼25頁的功耗(這其實也是我最感興趣的部分):


IMX294CJK datasheet分析
不幸的是索尼只列出了功耗的最大值而不是典型值(其它廠家如果只列一個數據的話一般都是典型),沒啥參考意義。也就是說這是體質超爛的晶片配上60度高溫測得的功耗,只能說索尼這個廠商有點狂。可以算出最大功耗為1215mW,其中SLVS-EC介面吃掉了83mW,剩下的數字部分(ADC的計數器+ADC的鎖存器+邏輯控制電路)和模擬部分(ADC的鋸齒波發生器+ADC的比較器+畫素讀取電路)差不多一半一半。 

其次CSI-2的串列埠通訊雖然也是3PIN然後再加上若干個用來處理其它事務的XHS週期(比如說至少要有三個XHS用來串列埠通訊) 

解決了供電問題後我們可以開始看看那些真正負責通訊和控制的數字PIN腳了。最重要的資訊在21頁,列出了感測器和外部CPU之間的所有連線:
IMX294CJK datasheet分析
很明顯CPU這側的Data lane 0~7就是用來輸出影象資料的八個SLVS-EC通道。由於是差分傳輸所以每一個通道都要消耗兩個PIN。 再往上的SCK、SDI和XCE是負責串列埠通訊的,而這玩意就是你用來控制感測器的主要工具了。簡單說,整個感測器的工作方式都是由內部暫存器的數值來決定的,比如說有的暫存器管快門時間,有的管ISO,等等等等。所以你想改變感測器的功能/引數時就必須派CPU去相應的暫存器的值,串列埠通訊就是幹這個事情用的。其中XCE是使能訊號,只有XCE為0時通訊才允許進行;SCK是同步時鐘,SDI是你的輸入資料,每一個數據包先寫我想改哪個地址,再寫要改成什麼資料。SCK的最大頻率被限制為36MHz,所以串列埠模組也沒有使用差分傳輸(而SLVS-EC的頻率為2.304GHz)。

串列埠通訊在任何時刻都能進行,但索尼特別給你留出了一個推薦時間:每次按下快門之後,索尼會預留一小段時間專門給你做串列埠通訊,然後纔開始曝光。如果曝光的時候進行串列埠通訊,按索尼的說法是「有可能影響噪聲」。​再看最後的四個PIN。INCK是整個系統的輸入時鐘72MHz,驅動除了串列埠部分以外的所有電路。XCLR=強制重啟​,所有暫存器打回預設值,感測器進入待機狀態。真正有意思的是接下來的XVS和XHS,也就是所謂的Vertical Sync和Horizontal Sync。我們知道,滾動快門的感測器在讀取資料的時候是按照第一行畫素、第二行畫素這樣的順序依次讀取下來的,而XHS和XVS就是負責控制這麼一個過程的。其中XHS=若干個系統時鐘INCK,而XVS=若干個XHS。當感測器接收到XVS後,
首先:
1:等待三個XHS週期,專門用來進行串列埠通訊;
2:從第四個XHS開始,每接收到一個XHS則依次結束一行畫素的曝光;
3:從第N個XHS開始(根據暫存器數值決定),每接收到一個XHS則依次開始一行畫素的曝光。

所以基本上,每隔一段固定的時間你就得給感測器傳送XVS和XHS,而且你得確保這兩個訊號的週期足夠長。其中XHS的最小週期就是感測器完成一行畫素讀取所需要的時間,所以這玩意基本是你ADC的精度決定的;而XVS的最小週期是垂直方向上的畫素數量/ADC的個數。比如說你是6000*4000解析度的感測器,啟用了兩個ADC,那你的XVS至少也得是4000/2=2000個XHS,然後再加上若干個用來處理其它事務的XHS週期(比如說至少要有三個XHS用來串列埠通訊)。

到這裏數字PIN我們就門清了。不過這還只是SLVS-EC模式,我們再回過頭來看看CSI-2:

IMX294CJK datasheet分析

整體上是大差不差的,但是也有幾個微小的區別:
首先輸出介面這塊CSI-2只有四個通道,而且多出了倆同步時鐘訊號DCKP/DCKM,而SLVS-EC就不需要這玩意,因為可以直接從輸出訊號裡恢復出同步時鐘。
其次CSI-2的串列埠通訊雖然也是3PIN,但通訊協議和SLVS-EC的串列埠並不一樣,這個就不展開講了。而且CSI-2模式下可讀可寫,SLVS-EC模式下只能寫不能讀。 


最後也是最重要的:CSI-2下沒有專門的XVS和XHS輸入。從Datasheet之後的內容可以看出CSI-2下的Sync訊號是感測器根據你對暫存器的配置而自己內部生成的,所以乍一看跟SLVS-EC好像也沒什麼區別。然而實際上,CSI-2下你的Sync週期一旦設定好之後,在這一幀內就無法再更改了,比如說你設定了一個2000秒的曝光,那感測器一定要等這2000秒全曝光完纔會執行下一個任務(除非你直接重啟或斷電);相反SLVS-EC因為是外部給的Sync訊號,如果你高興的話可以幹兩件事:提前給一個XVS強行中斷曝光;永遠都不給XVS使得曝光一直進行下去。所以你會發現這份Datasheet裡雖然所有內容都是SLVS-EC一份CSI-2一份,但只有Interruptive Mode Change是SLVS-EC獨有的。或者用更通俗的話來說:只有SLVS-EC模式下你纔有可能做得出B門模式。


淺析IMX294CJK Datasheet (8) 視訊取樣 
畫素合併取樣了所有畫素其中畫素合併提供2合1或者3合1兩種模式 

這是Datasheet系列的最後一篇。 前文說過IMX294預設了15個讀取模式,這裏面有9個都是為視訊服務的,感測器不再取樣全部畫素,而是用畫素合併或跳採來減少資料量/提升幀率。其中畫素合併提供2合1或者3合1兩種模式,跳採則提供2跳1、3跳1甚至9跳7。
合併和跳採雖然目的相同,但是實際出片效果很不一樣,這就有必要先說說摩爾紋的問題。摩爾紋這個東西嗎一言以蔽之,就是訊號的頻率超過了取樣頻率(或者說感測器畫素)的一半。比如說對於一個頻率為f的正弦波,你的取樣頻率至少也得2f以上才能獲得這個訊號的完整資訊:




假如你的取樣頻率低於2f(比如說只有0.5f),那取樣出來結果的還是一個正弦波,但是頻率卻變了,高頻圖案變成了低頻圖案: 


再經過猜色處理之後就變成了五彩斑斕的摩爾紋。

而相機的鏡頭其實就是一個光學低通濾波器,所以感測器能接收到的高頻訊號本來就是受到鏡頭限制的,鏡頭越銳摩爾紋就越多,感測器畫素越高則摩爾紋就越少。假如一塊感測器的畫素過低,顯著低於鏡頭銳度,那就必須在CMOS表面額外加一層低通濾鏡來去除摩爾紋。
回到跳採和合並的問題。無論你是用2合1還是2跳1都會帶來同一個結果:你的取樣頻率突然降低了一半,而且低通濾鏡也失效了。比如說IMX294的低通是爲了掐掉4K以上解析度的訊號而設計的,但是你現在突然變成了1080P感測器,那這個低通就沒有任何卵用了,結果也必然是摩爾紋大爆炸。而畫素合併和跳採的主要區別就是合併相當於自帶一個糊屎級的超級低通,我們來看看索尼在71頁給出的取樣原理圖: 



所謂的2*2合併其實是以16個畫素為一個單元合併裏面的4個同色畫素。由此可以看出合併出來的這四個畫素是相互重疊的,這個原理其實和低通濾鏡是一樣的,只不過一個是把某一點的資訊分散到臨近點上,一個是主動去吸收臨近點的資訊: 


事實上畫素合併的低通效應比一般的低通還要強得多,這就導致最終的成像清晰度非常疲軟。可以說一旦使用跳採或是畫素合併的話,你就必須在兩坨屎裏面選一坨吃下去,跳採是摩爾紋大爆炸,而合併則是糊屎成像。當然你也可以選擇兩坨各吃一半,比如索尼和尼康的24MP相機基本上都是單向低通,IMX294有個類似的功能:水平和垂直方向分別使用不同的取樣模式,例如模式10就是水平3合1、垂直9跳7混合。

除了銳度和摩爾紋表現以外,畫素合併取樣了所有畫素,而跳採只採樣了一小部分畫素,那麼兩者的高感表現顯然是不同的。不過畫素合併也不一定總是取樣全部畫素,比如說3*3合併就是64個畫素作為一個單元,合併9個同色畫素,一共只採樣了36個畫素,損失了43%的高感。

在這兩個方案外你還有一個選擇,就是像5D4/EOS R那樣直接裁切,但也要承受視角變小和高感孱弱這兩個缺點(高感上合併>跳採=裁切)。IMX294由於具備橫向/縱向自由裁切功能,所以不需要專門的讀取模式就可以實現裁切視訊。至於超取樣本身就是輸出全部畫素,和拍照其實沒啥區別,所以更不需要任何專有模式。

IMX294比較有意思的地方是其畫素合併和一般的妖豔賤貨還不太一樣,叫「加權合併」,從合併公式裡可以看出每個子畫素還有不同的加權係數。我在友商的感測器上沒有見過類似的功能,索尼能進行加權合併的除了IMX294以外,我能找到的也只有最近才釋出的兩款中畫幅感測器IMX411和IMX461,可能是個比較新的功能。從效果上來看,加權合併相當於削弱了低通,效果介於跳採和普通合併之間,當然也會損失一部分通光量。我比較好奇的是這個功能到底是怎麼實現的,由於畫素合併是直接把多個畫素的電荷直接傳輸到同一個FD裡再進行AD轉換,在這個過程中照理來說是不能引入任何加權係數的,也就是說一般的感測器還實現不了加權合併功能。我的第一反應是IMX294這種Quad Bayer感測器的每個畫素是四個小畫素拼成的,所以可以只取裏面的若干個小畫素來成像,不過四等分的情況下依然實現不了下面這個公式:

6*R=3*R1+R2+1.5*R3+0.5*R4

我的第二反應是也許四個小畫素並不是四等分的。不過目前採用Quad Bayer的感測器裡,iPhone6和6Plus是有感測器顯微圖的,明顯是四等分。華為是0.8微米最小尺寸畫素,除了四等分外也沒有別的可能。鑑於Quad Bayer還有長短曝的功能,這個加權合併也有可能是四等分配合長短曝實現的(R2和R4的曝光時間為R1和R3的1/3),當然這個也只是我瞎猜了。

最後再說說跳採、合併和裁切對感測器幀率的影響。由於感測器內部的基本結構是一個ADC管一列畫素,不能去取樣別的列,所以只有縱向上跳/合/裁的時候才能提升速度,橫向上你去裁切的話等於把ADC也給裁了,對速度完全沒有提升——當然這裏面也有例外,比如三星的28MP殘幅就可以借用相鄰列的ADC。理論上來說,畫素合併是可以呼叫全部ADC的,比如像下圖這樣: 





然而從IMX294的Datasheet來分析,索尼並沒有採用這種設計,所以感測器速度基本上只跟三個因素有關,第一是你ADC的精度,第二是你在縱向上做了什麼操作,第三是索尼有沒有給你施加額外的限制。比如說IMX294每列都有兩個ADC,但是15個讀取模式裡只有6個可以把兩個都用上。從106頁可以看出,幀率最高的三個模式分別為:

模式9:10bit取樣(取樣消耗520個時鐘週期),橫向3合1,縱向3跳2,輸出畫素數1364*720,呼叫兩個ADC,所以取樣完所有列需要720/2=360個週期,加上一些雜七雜八的一共379個,最終幀率為72MHz時脈頻率除以520除以379=365FPS,也就是說感測器最大輸出720P360P的10bit視訊。輸出時使用4個SLVS-EC通道(總共8個通道)。

模式10:10bit,橫向3合1,縱向9跳7,輸出畫素數1364*240(注意9跳7模式其實是和2合1結合的,18行畫素裡取樣了4行,但是又2合1成了兩行,所以最終輸出畫素只有240,具體見72頁)。理論上這個模式由於縱向僅輸出240畫素,速度應該是模式9的三倍,但是索尼幹了兩件事情:第一每取樣一個畫素需要743個週期,而其它的10bit模式只需要520個,原因不詳;第二每列只允許呼叫一個ADC。所以最終幀率是72MHz時脈頻率除以743除以267=362FPS。可以看出這個模式的輸出畫素數跟黑卡4上開始出現的960FPS模式高度近似,後期再插值成1920*1080的解析度,畫質非常感人。而且索尼給IMX294上了兩道人為限制強行降速到了360FPS,否則的話做個1000FPS也是小意思。該模式下僅僅使用兩個輸出通道,資料量其實非常少。

模式7:10bit,橫向2跳1,縱向2跳1,輸出畫素2048*1080,呼叫兩個ADC,幀率為72MHZ/520/559=247FPS。這也是畫質比較有保障的1080P240P模式。四通道輸出。

至於輸出資料量最大(8個通道全部派上用場)的模式有三個,而且都是正常取樣,分別是4:3畫幅下的模式0(14bit,3704*2778,29FPS),模式1(12bit雞血模式,3704*2778,71FPS),17:9畫幅下的模式2(12bit雞血,4096*2160,125FPS),相當於是這塊感測器的高畫質模式、高速連拍模式和4K120P視訊模式。

​​​​ 

淺析IMX294CJK Datasheet (5) 畫質

我們說過感測器是靠讀取邊緣一條全黑畫素的讀數來矯正整個感測器的暗電流那就是索尼感測器畫質就是好 
22頁到29頁沒啥子好看的,都是供電啊、輸入訊號的脈衝寬度/上升時間/下降時間等等電氣特性,我們直接跳到30頁的畫質部分。​

很不幸的是除了頻譜響應以外,剩下的部分非常讓人蛋疼,該有的資訊一概沒有,沒什麼卵用的反倒有一大堆。一般來說索尼的論文都要公佈下面這些畫質引數:​
滿阱容量/讀取噪聲/暗電流/敏感度/動態範圍/Conversion gain

我們稍微複習一下。在可見光頻譜範圍內,感測器每吸收一個光子可以激發出一個電荷,所以畫質引數一般用電荷(e-)作為基本單位。 其中敏感度=感測器激發出的電荷/實際接收到的光子數之比,所以非常類似於quantum efficiency,單位一般為e-/(lux*s),也就是說入射光的總量相當於感測器不帶鏡頭裸體在1 lux照度下曝光了一秒,反映了相機的高感畫質。 


滿阱容量表示一個畫素能儲存的最大電荷數,直接決定寬容度或者說低感畫質,單位一般為e-。滿阱容量除以畫素面積反比於相機的最低ISO。滿阱容量除以讀取噪聲(單位也是e-)則可以得到大家喜聞樂見的動態範圍(dB)。用dB的數值除以6之後可以得到更喜聞樂見的EV。

暗電流指感測器沒有任何輸入(比如蓋鏡頭蓋)時產生的和曝光時間成正比的輸出訊號,單位為e-/s。

Conversion gain是指一電荷的輸入產生多大的輸出電壓,說白了就是FD電容值的另一種表述(詳情見我以前寫的4T結構簡介)。CG越小滿阱容量越大,CG越大讀取噪聲越小,於是又誕生了各取其精華的Dual CG感測器。

那麼我們再回頭看Datasheet的31頁,這裏面除了滿阱容量(saturation signal)、暗電流(dark signal)和敏感度(sensitivity)以外基本上屁都沒有,而且這幾個引數的單位都是digit,也就是ADC模數轉換後的結果。像saturation signal寫了個4095,這不完全就是屁話嗎,12bit ADC的最大值那可不就是4095?由於不知道1 digit等於幾個e-,可以說從這份datasheet裡使用者幾乎得不到任何有意義的畫質資訊。至於友商的感測器,我們來看看COMSIS: 



要啥有啥。
至於索尼那麼多頁都寫了啥呢,我們來一條一條過一遍。

G Sensitivity: 綠色通道敏感度。別人的敏感度都是e-/lux/s,簡單明瞭,索尼的是:在我們設計的測試環境下(用F5.6鏡頭拍攝亮度為706cd/sqm、色溫為3200K的目標,見P32),綠色通道的數值達到了1768digit。我特麼……

注意這是索尼少有的把min/typ/max給標全的引數,而且極限值和典型值差了有20%。造成這種偏差有兩個可能,第一是你滿阱容量和別人不一樣,那抽到min值說明你這個機器非常牛逼;第二種可能是你QE和別人不一樣,那抽到min說明你高感比別人差20%,非常悽慘。一般來說min和max都是typ加減6個sigma,也就是說一個sigma大概3%左右,或者翻譯成人話就是有大約1/6的使用者的感測器的低感或者高感比另外1/6的使用者牛逼6%以上。


Sensitivity Ratio一看就懂沒什麼好說的。Saturation signal純屬屁話。Video signal shading是感測器中心和外圍的亮度差,相當於感測器本身貢獻的暗角(由光線入射角的變化引起)。

Dark signal從33頁的計算公式看是(一次長曝的零輸入響應-一次短曝的零輸入響應)/時間差,那麼得出的結果其實就是暗電流,只不過單位又是沒啥卵用的digit。

Dark signal shading一般來說是指暗電流在感測器的某些區域區域性增加的現象,或者說暗電流空間分佈的低頻特徵。我們說過感測器是靠讀取邊緣一條全黑畫素的讀數來矯正整個感測器的暗電流,但假如整個感測器上都有明顯的區域性差異的話(類似下圖),那這個矯正的效果就大打折扣了。但是這是 dark signal shading 的一般定義,如果你以前不瞭解這個概念的話,從33頁含糊不明的說明裏你是完全看不懂索尼對這個引數到底是怎麼定義的。



至於Dark signal difference從索尼的說明來看應該是指暗電流在加上了矯正之後的讀數。

最後的Line crawl就非常神奇了。本人從來沒有聽說過這個概念,研究了一番之後發現除了索尼各種感測器的datasheet以外只能在一些早期關於CRT電視的書籍裡找到這個詞,意思是指電視訊號為隔行顯示時,觀眾在特定觀看距離下可能看到電視機上一條上下移動的橫線。喵喵喵?這跟感測器又有什麼關係?從索尼給的公式來看,Line crawl還真就是在測試單數行綠色通道和雙數行綠色通道之間的差異,所以好像和隔行顯示還真有那麼半毛錢關係。不過索尼的很多命名其實都跟CCD和CRT有千絲萬縷的聯絡,最典型的如一英寸為什麼對角線只有16mm,可以說也是一種(文藝小清新理解不了的高階)情懷。

不管怎麼說,假如我決定做一臺相機的話,索尼給的這些畫質資訊基本都是廢物,我掏錢時只能抱著一個堅定的信仰,那就是索尼感測器畫質就是好。但是假如你非常、非常蛋疼的話……那還是可以從datasheet裡算出一些名堂來的:

首先索尼用的是706cd/sqm的光源+F5.6的光圈,可得感測器的曝光量為706*Pi/4/5.6/5.6 = 17.68lux。而光源色溫是3200K,根據黑體輻射公式可以把lux換算成可見光範圍內的單位時間/單位面積內的入射光子數。但是鑑於我數學不好,所以我直接找了份換算表,表上說3200K光源直接用lux除以60,於是得出入射光子數為17.68/60=0.294微摩/秒/平方米=1.77E17個光子/秒/平方米。由於曝光時間是1/30秒,畫素尺寸是4.63微米,所以一個畫素接收到的光子數是126469個。從30頁的頻譜響應可以看出綠色通道的總通光率大概在40%左右,同時假設QE和其它感測器差不多,平均為60%,鏡頭通光率假設為90%,那麼感測器能實際轉化的光子數126469*0.4*0.6*0.9=27317個。由於綠色通道敏感度為1768,那麼這麼一大通騷操作+假設下來,我們得出滿阱容量大約為27317/1768*4096=63287e-。我只想說……  


索尼我曹你乃乃啊! 你這datasheet是給人用的嗎! 

當然還有個更簡單的方法就是直接偷別人的測試資料。這是ASI294的參數列: 



這是QHY294:



兩家給出的滿阱容量一個是65ke-,一個是63.7ke-,大差不差。特別是ASI這套一看就是自己測的,可見索尼很可能真的沒給這些資料,尼瑪喪心病狂啊!兩家的讀取噪聲也有一定出入,其中QHY把時脈頻率降低了不少,所以噪聲表現更好也比較合理。而這個噪聲——對感測器來說至關重要的資訊——你光看索尼datasheet的話就是有通天的本領也算不出來。事實上,假如DXO測試過這個感測器的話,你從DXO資料裡能得到的資訊都比索尼這破玩意多得多。

淺析IMX294CJK Datasheet (6) 暫存器 
一切功能都需要你利用索尼提供的15個讀取模式配合裁切等暫存器來實現每一個暫存器都在控制感測器的某項功能 

Datasheet的34-67頁花了大量篇幅來介紹串列埠通訊協議和暫存器配置。每一個暫存器都在控制感測器的某項功能,我們來看個例子:控制感測器模擬增益的暫存器PGC(programmable gain control):

根據索尼給的公式,PGC的數值越大則增益越大,取最大值7a5h/1957d(後面跟著個h說明是16進位制,d=十進制,b=二進制)時增益為22,也就是說這塊感測器的原生ISO最大也只有ISO2200,這就非常悽慘了。不過如果你對放大器懂點皮毛的話就能想到每個暫存器其實都對應著反饋電路里的一個開關電晶體,所以1957這個最大值是非常無厘頭的,實際的最大值明顯是PGC的上限2047,那麼最大ISO就是二十萬,這才比較符合近年來ISO動輒百萬的趨勢。索尼騙你說最大1957可能是因為只有這個範圍內才能保證增益的準確性,超過1957後ISO具體是多少可能就是抽獎模式了。另外可以看出,感測器在低ISO狀態下的調整步進是非常小的,比如說ISO100的下一檔其實是ISO100.05,再下一檔是ISO100.1…… 



然而很不幸的是,索尼並沒有像解釋PGC這樣詳細的解釋每個暫存器的功能,而是再一次發揚了「使用者,我是你爸爸」的風格。 

這裏索尼給使用者設定了15個最基本的讀取模式,每個模式都是一套不同的功能組合,比如說ADC精度,輸出位寬,高/低噪聲模式,高/低功耗模式,視訊取樣模式。然後索尼再告訴你:想要使用模式1(或者說組合1)的話,你就必須把暫存器A改成數值x,暫存器B改成數值y……如此一來就成功的隱瞞了每個暫存器所對應的具體功能,把使用者困在了自己預設的15個模式裡。比如說吧,索尼規定了只有畫面比例是4:3時纔可以使用14bit取樣精度,17:9時就不給用了;而這塊感測器的原始畫面比例其實是3:2,但是15個模式裡沒有任何一個允許你使用3:2。那麼除非你能根據索尼的配置表來破譯出到底是哪個暫存器在控制畫面的比例和ADC精度,否則你甚至都無法發揮出這塊感測器的最大畫質——只有索尼自己纔可以爲所欲爲。

從Datasheet裡的一些描述來看,假如你非常想實現某個功能的話,跟索尼的銷售聯絡一下說不定人家也會大發慈悲的給你對應的暫存器設定。

索尼把自己想隱瞞功能的這些暫存器全部命名爲了MDSELx(x從1到16),而不是PGC這樣通俗易懂的名稱。我簡單瞄了一眼各個模式的配置表,大概可以猜出MDSEL13和14是用來控制ADC精度的,MDSEL3用來控制畫面比例(設為0是17:9,設為2是4:3,至於3:2是多少?這個暫存器的位寬是8bit,你就自己慢慢試吧),MDSEL6和16用來切換高噪聲/低噪聲,MDSEL5切換高/低功耗。但還是有大量功能我看不出來是怎麼控制的。從QHY294的參數列來看,國產廠商至少成功解鎖了全畫素14bit輸出模式。

對於這些索尼藏著掖著的暫存器我們就不多廢話了,還是看看意義比較明確的那些。首先,這塊感測器不僅有模擬增益,還有4bit的數字增益DGAIN,最大值為3,實際增益=2的DGAIN次方,也就是說這塊感測器相當於原生20萬ISO,可以額外擴充套件到160萬。至於一個最大值只有3的暫存器為什麼需要4bit,我表示我也不是很懂,鬼知道索尼還隱藏了什麼。 


MCOVGAIN控制著感測器的conversion gain。從33頁可以看出這塊感測器的高增益差不多是低增益的4.5倍。

SVR和SHR這兩個16bit暫存器控制著感測器的曝光時間。不過這裏面的機制挺有說頭的,一兩句話寫不完,我們留到之後再講。

橫向裁切和縱向裁切各有三個暫存器,分別控制:是否啟動裁切模式,從哪裏開始裁,裁多少。這兩個功能非常重要,比如說放大對焦和反差對焦都需要靠裁切才能更高效的完成。基本上IMX294是不提供所謂的取景模式測光模式或對焦模式的,一切功能都需要你利用索尼提供的15個讀取模式配合裁切等暫存器來實現。不過這裏面又有個非常莫名其妙的問題:在垂直方向上索尼不允許你裁切超過一半。比如說這塊感測器在17:9模式下的解析度是4200*2184,那麼索尼不允許你做小於1092畫素的裁切。如果你是在做單點反差對焦、只需要取樣50*50的畫素的話,那這個1092的最小值限制很顯然嚴重影響了你的對焦速度。至於水平方向上索尼允許你最小隻裁36個畫素,比垂直方向慷慨得多,不知道這個設計是在幹毛。當然我相信索尼自己願意的話那是愛裁多少就裁多少。

一個引人好奇的問題是假如我給暫存器配置個「非法」數值的話感測器到底會有什麼反應。是屁事沒有照常工作呢(也就是說Datasheet裡的所有限制都只是口頭嚇唬人),還是感測器有某種自檢機制會直接罷工?我司的通常做法是用串列埠協議給使用者反饋個警告,但至少索尼的Datasheet裡沒有任何關於警告的內容,所以使用者即使接收到任何內容也只是一串看不明白的1和0而已。當然這個問題也只有擁有這塊感測器的人才能解答了。

還有個比較有意思的暫存器SMD是控制感測器全域性復位還是滾動復位。滾動復位顯然是給電子快門提供的,復位速度和讀取速度一致,而全域性復位是給機械快門用的,可以確保更高的快門延遲。至於電子前簾這個功能在Datasheet裡完全沒有提到。所謂電子前簾其實就是讓復位速度和機械後簾保持一致,而且這個速度還不是恆定的。感測器每接收到一個XHS訊號(忘了XHS是幹啥的請回頭看本系列第三篇)就復位一或兩行畫素(取決於呼叫ADC的數量,這又是個不知道怎麼用暫存器調整的謎之引數),所以基本上你根據機械後簾的速度不停的調整XHS的週期就可以,雖然費事但也不是辦不到——但是這僅僅限於SLVS-EC介面,在第三節裡我們說過CSI-2介面下的XHS週期是直接通過暫存器HMAX來配置的,而不是通過CPU傳送外部訊號。問題是索尼的暫存器還有個重要屬性叫Reflection timing,意思是說你通過串列埠傳送過去的配置到底什麼時候纔會生效,有些暫存器是立即生效,有些是一幀後生效,有些是兩幀後生效。而HMAX就屬於一幀生效的暫存器,也就是說當前幀結束之前,HMAX的值無法被改變,那麼電子前簾自然也就不可能實現了。


上一篇:CCD时序整理:ICX285AL/ICX205ALDemoKit 性能与功能简介
下一篇:AM1X5,史上最快的最高帧率的CMOS图像传感器