高通摄像头调试(OV8856)
http://blog.chinaunix.net/uid-7213935-id-5749314.html
一.硬件分析
在調試的時候,一定要拿到電路圖,模組規格書,SENSOR IC datasheet。
下面是主 camera 電路圖:
由上面電路圖我們看樣看出,此模組有以下主要線路:
1.電源:結合 OV8856 的 datasheet 可知,AVDD:2.8;IOVDD:1.8;DVDD:1.2V;
2.控制訊號:RESET,POWERDOWN;
3.通訊訊號:IIC 通訊,CLK,DATA;
4.數據通訊:一組 MIPI CLK 信號,4 組 MIPI data 信號;
5.其他信號:MCLK,ID_PIN,GND。
副 CAMERA 和主 CAMERA 的電路圖類似,差別在于,副 CAMERA MIPI 通訊組多寡而
已,同時控制信號 RESET 和 POWERDOWN 則是單獨控制的。IOVDD 和 AVDD 一般都是固
定的而有些模組的 DVDD 是有差別的,比如 OV 的高像素 SENSOR 一般是 1.2V,而格科微低
像素 SENSOR 的電壓為 1.8V,極少數為 2.8V;所以在調試的時候一定要先確認這個電壓,否
則輸出不了圖像。
另外由電路圖和模組規格書上可知還包括其他兩部分(單獨電路圖省略):
1. 聚焦馬達:電壓 AF _VDD:2.8V;使能 AF_EN;
2. 閃光 FLASH: CAM_FLASH;
二. 軟件代碼整合
如何添加 camera 模組
Camera 驅動代碼的添加主要是兩個部分,一個是 kernel 層,一個是 vendor 層。
1.Kernel 部分
主要是配置 dts 文件,供 msm_sensor.c 讀取。
a. 確認配置 menuconfig
在 qcom 平臺上,已經弱化了 menuconfig,但是有的也需要配置下,如各種傳感器等等。對
于 camera 部分,主要檢查以下配置既可:
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEOBUF2_MSM_MEM=y
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_MSMB_CAMERA=y
b.dts 部分
dts 的配置,調試部分會有詳細說明。
2.Verdor 部分
而實質性的代碼一般都放在 vendor 下,這部分是高通自己實現的 daemon 進程和 kernel 層
以及 hal 層進行通訊的框架代碼;另一部分是效果代碼。
a. 配置 config 文件:
vendor\qcom\proprietary\common\config\device-vendor.mk
b.添加適配 string
模組之間都是通過名稱是適配的,所以名稱的選取和一致性就尤為重要。
在此文件中,對應 camera probe 加載:
vendor\qcom\proprietary\mm-camera\mm-camera2\mediacontroller\modules\sensors\module\sensor_init.c
#define BOARD_SENSORS \
"ov8856",\
#endif
在此文件中,對應 camera probe 加載:
vendor\qcom\proprietary\mm-camera\mm-camera2\mediacontroller\modules\sensors\module\sensor_init.c
#define BOARD_SENSORS \
"ov8856",\
#endif
boolean sensor_init_probe(module_sensor_ctrl_t *module_ctrl)
{
….............
for (i = 0; i < ARRAY_SIZE(sensor_libs); i++) {
ret = sensor_probe(sd_fd, sensor_libs[i]);
…..............
}
c.sensor,actuator 基本驅動配置以及效果參數文件
三 .驅動調試
1. dts 配置
在 msm.c 和 msm_sensor.c 中,高通已經幫我們寫好了軟件架構,一般不用修改代碼,主
要是配置 dts 文件:msm8909-camera_sensor-skuc.dtsi。
2. sensor_lib_t 結構體
在 sensor lib 中,有 sensor 基本驅動,主要是添加 sensor_lib_t 結構體:
3. Chromatix 參數
對于 Chromatix 參數驅動工程師要和模組廠或是 ic 原廠工程師溝通調試驗證,他們給
出參數后,驅動工程師在 merge 的時候也要特別注意,對齊,回車等等一定要注意,否則可能
會出現編譯出錯的現象;當然聚焦馬達要有由高通來調試。
一般情況下,按照上面操作,sensor 都可以有預覽出來,在此基礎上,例如圖像翻轉
180°,顏色 rgb 反調等等,都是可以通過 init reg 做簡單的調試既可;驅動工程師整合調試好基
本版本了,就要和 ic 原廠或模組廠聯系以及配合調試效果了。
當然在有些情況下,fae 也不是萬能的,比如 OV 的 fae,基本不會搭理你的;而有
些問題 FAE 也不定能解答,很多時候是時間上不允許;這個時候就要大力發揮驅動工程師
的能動性,高通的海量調試信息就會派上大用場,后面我會寫一篇關于 tuning 的文檔,作
為此文檔的補充。
四 效果驗證
vendor 下的編譯,根據 andriod.mk 和 makefile 文件,一般 mm 即可,在編譯終端下
看生成的 so 的目錄和具體文件,然后把生成的 so 文件 push 到相應的目錄下,重啟即可(效
果參數沒有必要重啟)。
高通或是模組廠調試好后,效果參數給到我們,一定要確保編譯沒有問題。
在驗證的時候,要考慮不同光源下的情況,由于我們沒有特定的光源實驗室,一般情況
下,驗證四個(正常情況,暗處,強光(窗口,日光燈),逆光情況)即可。
在驗證的時候自己一定要多使用,多場景下切換,同時 prevew,capture,video 都要測試
到。
總結
以上是生活随笔為你收集整理的高通摄像头调试(OV8856)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MT6580启动流程
- 下一篇: 主流TTLCMOS电平介绍