詳解高通camera調試流程文檔

高通camera調試流程文檔

 

 

一.光源篇
1.標準光源
標準光源是指模擬各種環境光線下的人造光源,讓生產工廠或實驗室非現場也能獲得與這些特定環境下的光源基本一致的照明效果。標準光源通常安裝在標準光源箱內,主要用於檢測物品的顏色偏差。
人造的標準光源主要有如下10種類型:

 




2. 真實光源(場景)
在實驗室模擬的光源只是便於測試進而對其進行了簡化,而在實際中場景和光源往往更加複雜。
a. 室外場景
陽光直射,陰影/多雲,半陰影,黃昏/傍晚,夜晚,雪天等等;
b. 室內場景
日光燈,A光源,混合光源,弱光,暗室等等。

 

在調試的時候一定要牢記標準光源,要明確知道某種場景對應某種標準光源,只有這樣,調試的時候才能得心應手,不至於找不到方向。
二.工具篇
熟話說,工慾善其事必先利其器,下面介紹調試的工具:


1. 軟件工具
a. 調試工具:
在調試的時候Chromatix tools 的PC版或是Mobile版本是必備的, PC版本功能很強大,可以調試的很細節,但是比較繁瑣,對調試設備的要求高;Mobile 版本一般適合初步調試,只是截取了PC版功能調試的一部分,當然最大的好處是所見即所得;建議在調試的時候,兩個工具能結合使用,發揮各自所長。
b. 編譯工具:
不管使用PC 還是Mobile工具,最終都要通過Chromatix tools PC端軟件生成頭文件,而此工具目前只有windows版本,爲了避免不同平臺之間切換,浪費時間,一般最好在windows下編譯,然後push到手機中。此編譯工具網上很多,找一個最適合自己的使用。


2. 硬件工具
  下圖列出了所需的工具以及用途說明:

 






3.  輔助工具
Benchmark所需樣機,圖片等。


三.工作流程篇
這裏的流程是根據我們公司實際情況,結合自己調試所做的簡單總結。
1. 工作流程圖:



2. 調試測試流程圖:
7213935_1472434762Ck6Q.pnguploading.4e448015.gif轉存失敗重新上傳取消
                             圖三 調試測試互動流程圖
3. 效果優化以及測試

 四.代碼篇
1. 代碼備份
Camera 在優化的過程中,往往要優化十多個階段,每個階段的代碼一定要有所備份,強烈建議用GIT 備份,追蹤能力強,還原簡單,若每個階段的修改都加了備註,更加會一目瞭然;而SVN追蹤太差,還原能力太弱,在這種頻繁更新的代碼上可操作性會大打折扣;也有的同學習慣用複製複製複製,到最後自己都不知所以。
2.命名規則
  a.新添加模組
 大體上,新添加模組命名規則以IC名稱+模組廠+前後攝 (後攝爲main,前攝省略)爲主,例如:
前攝:gc2365_byd;
後攝:gc2365_byd_man;
b.宏命名規則
由全部大寫,下劃線,數字組成;單詞要能基本表達功能說明,
例如:差值30W到200W   #define INTERPOLATION_03M_TO_2M
         差值200W到500W   #define INTERPOLATION_2M_TO_5M
量產項目後期維護,保持老的規則,新項目嚴格按照新命名規格。
3.代碼整理
在具體項目的時候,往往是同一個IC,不用模組廠家會打樣;而同一個模組,不同項目會用,這樣就造成了代碼之間混用,進而混亂。
針對這些情況,在整理代碼的時候,一定要遵循命名規則;同時兼顧項目分支,比如同一個模組,在不同項目上使用,可能參數會有差別,這樣就可以通過項目分支來解決。


4. 代碼同步及更新
調試過的模組要及時更新,在不同項目、平臺間要及時同步,保證代碼一致性和及時性。
效果一旦確認,代碼上庫後,除非重大bug或是測試部提出的bug,就不要隨意修改,免得混亂不堪。
五.規格書篇
1. IC datasheet
IC Datasheet 是對IC 做了詳細的使用說明的,我們調試模組的時候,先要對照datasheet,檢查幾個簡單要點:
適配電壓;
IIC地址,Driver ID;
數據位/MIPI設置;
最大支持的曝光gain值;
更高階一點的,驅動能力,mirror/flip等等。

2. 模組規格書
檢查模組規格書和代碼中電源、地址、ID、MIPI數組等的指標設置是否和IC datasheet 一致,如若不一致,搞清楚原因;不是必須得100%和IC datasheet一致,比如,大多數情況下,DVDD和IOVDD都需要1.8v電壓,在做模組的時候,這兩個就可以接一起。
檢查模組規格書是否和原理圖一致。
不一致的時候,一定要和模組廠,IC原廠,硬件人員溝通,消除疑惑。


3.來料整理
這個小標題並非是指生產來料,而是指從外界獲取的資料。
一般來講,我們會從模組廠獲取模組規格書,PCB,原理圖;從IC原廠哪裏獲取IC datasheet,驅動源碼。所有這些資料,一定要整理成單獨的文件夾,方便查詢。

 

六.驅動篇
由於Chromatix參數文件變動很大,本驅動規則說明以驅動配置爲基準。
1. 代碼添加規則
a. device-vendor.mk
此mak中需要添加camera驅動文件名稱,原則上sensor驅動 和效果參數,包括AF參數、驅動要放在一起,這樣整體性就很好,不至於散亂,如下:
# kingsun beck add
MM_CAMERA += libactuator_dw9714_byd_8m
MM_CAMERA += libactuator_dw9714_byd_8m_camcorder
MM_CAMERA += libactuator_dw9714_byd_8m_camera


MM_CAMERA += libmmcamera_ov8856_byd_main
MM_CAMERA += libchromatix_ov8856_byd_main_common
MM_CAMERA += libchromatix_ov8856_byd_main_preview
MM_CAMERA += libchromatix_ov8856_byd_main_default_video
MM_CAMERA += libchromatix_ov8856_byd_main_snapshot

 

b. sensor_init.c
在此文件中加載camera模組,如下所示:

 

#define BOARD_SENSORS \
  "ov8856_byd_main", \
  "gc5005_cxt_main", \
  "hi553_byd", \
  "gc2365_byd_main", \
  "gc2365_byd", \
  "gc0339_8909",

 

如上例所示,應秉承由大像素到小像素,由後攝到前攝的原則。
2. 註釋規則
a. 常用註釋
如修改鏡像,就可以添加:/*bk20160706  modified for camera mirro/flip*/
總之,要求用語明確,具有可追溯性。
b. Camera 模組全註釋
示例如下:

 

F4_6.0:
front 30-to-200W GC0339  0x42 0xc8          chengxiang FF  C00300A
back 200-to-500W GC2365  0x6e 0x2365     helitai FF  UGX2432M 
F6_6.0:
front 500-to-800W HI553 0x40 0x0553   helitai FF  BOCP553-HI8310M
back 800-to-1200W GC8024  0x6e 0x8024 chengxiang FF  C00303A

 

原則上要求明確,項目,前後攝,差值,模組IC,地址,ID,模組廠,定焦/聚焦,模組名稱等信息。
3. Xxx_lib.c 基本配置
a. 上電規則
先系統電壓,再控制信號。
b. Camera 方向
Camera的方向關係到成像的方向,不僅僅是camera 應用,很多用到攝像頭的應用都會應用得到,如QQ,微信,易信等等;也許你設置成270,camera應用預覽方向是對了,但是別的應用就不一定了,所以必須按照規則設置。
規則如下:
後攝:.sensor_mount_angle = 90
前攝:.sensor_mount_angle = 270
c. 曝光設置
在sensor_lib_ptr 結構體中,必須註釋掉.sync_exp_gain = 1,否則會有曝光異常。
4. 冗餘代碼
Debug所用的冗餘代碼,要及時清理;如果是後續還有debug用的,建議加入宏來管控。
5. camera缺省值設置
設置如下:

 


a. hal層
硬件抽象層HAL(初始化,第三方等沒有顯式調用的時候生效),代碼位置如下:
     hardware/qcom/camera/QCamera2/HAL/QCameraParameters.cpp
b. SnapdragonCamera應用
我們的源代碼應用SnapdragonCamera (顯式調用生效),代碼位置如下:
packages/apps/SnapdragonCamera/res/value/qcomstrings.xml (qcomarrays.xml定義值)




六.如何快速檢驗camera
     在項目進度的壓力下,一般往往要先確認模組是否可用,所以一定要學會如何快速檢驗camera,方便採購。
在把sensor點亮,預覽正常的情況下,檢查:
1. 清晰度:
如果畫面很模糊的話,一般來講,通過調試參數也不會好太多,換模組試試,如果換了多顆模組還是如此,那就聯繫模組廠,果斷換鏡頭。
2. 炫光:
在室內對着燈管或是白熾燈轉動手機不同角度,看看是否有炫光,炫光是否嚴重。
3. 鏡頭畸變:
看菱角分明的物體或是特定測試圖紙,看是否有畸變。
4. Camera開孔是否匹配:
檢查預覽窗體是否有被觸摸蓋板遮擋,和結構或是硬件確認問題。
5. 電噪:
手離鏡頭一到二釐米,擋住鏡頭,看是否有電噪;如果有的話,找硬件確認電源穩定性;如果硬件沒有問題,看是否模組有問題,和模組廠溝通解決。
6. DVDD是否正確:
手離鏡頭一到二釐米,擋住鏡頭,看是否有橫條紋,如果有一般是DVDD不對,請硬件幫忙確認。

轉載自   http://blog.chinaunix.net/uid-7213935-id-5750645.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章