《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 瑞芯微 | 攝像頭ov13850移植筆記

瑞芯微 | 攝像頭ov13850移植筆記

2022-11-18
作者: 電子技術(shù)應(yīng)用專欄作家 一口Linux
來源: 電子技術(shù)應(yīng)用專欄作家 一口Linux
關(guān)鍵詞: 瑞芯微 攝像頭

  關(guān)于瑞芯微的文章,之前寫了3篇,鏈接如下:

  《1.瑞芯微rk356x板子快速上手

  《2.Linux驅(qū)動(dòng)|瑞芯微rtc-hym8563移植筆記

  《3.Linux驅(qū)動(dòng) | Linux內(nèi)核 RTC時(shí)間架構(gòu)-基于瑞芯微

  后面會(huì)持續(xù)更新瑞芯微相關(guān)文章,有興趣的老鐵加關(guān)注。

  0、環(huán)境

 微信截圖_20221118140229.png

  一、ov13850簡(jiǎn)介

  1. 產(chǎn)品參數(shù)

  品牌:Omnivision

  型號(hào):CMK-OV13850

  接口:MIPI

  像素:1320W

OV13850彩色圖像傳感器是一款低電壓、高性能1/3.06英寸1320萬像素CMOS圖像傳感器,使用OmniBSI+?技術(shù)提供了單-1320萬像素(4224×3136)攝像頭的功能。通過串行攝像頭控制總線(SCCB)接口的控制,它提供了全幀、下采樣、開窗的10位MIPI圖像。

  OV13850擁有一個(gè)能夠在10位1320萬像素分辨率下以每秒24幀(fps)的速度運(yùn)行的圖像陣列,用戶可以完全控制圖像質(zhì)量、格式和輸出數(shù)據(jù)傳輸。所有需要的圖像處理功能,包括曝光控制、白平衡、缺陷像素消除等,都可以通過SCCB接口進(jìn)行編程。

微信截圖_20221118140104.png

  此外,OmniBSI圖像傳感器使用專有的傳感器技術(shù),通過減少或消除固定圖案噪聲、污跡等常見的圖像污染光源來提高圖像質(zhì)量,從而產(chǎn)生干凈、完全穩(wěn)定的彩色圖像。

  為了提供定制信息,OV13850包括一個(gè)單編程(OPT)存儲(chǔ)器。OV13850擁有最多4車道的MIPI接口。

  OV13850適用于低功耗相機(jī)模塊。

  以下是測(cè)試用的攝像頭&擴(kuò)展板:

  微信截圖_20221118140330.png

  2. 特性

  ●鏡頭尺寸:1/3.06英寸 ●像素大?。?.12毫米×1.12毫米 ●31.2°CRA為6mm z高度 ●可編程控制幀速率,鏡像和翻轉(zhuǎn),裁剪和窗口 ●1320萬像素AT30fps ●雙線串行總線控制(SCCB) ●閃光燈輸出控制閃光 ●支持輸出格式:10位RAW RGB ●支持圖像大小:13.2MP(4224×3136)、10MP(4224×2376)、4K2K(3840×2160)、EIS 1080P(2112×1188)、EIS 720P(1408×792)、more3 ●支持2×2 Binning ●可達(dá)4車道MIPI串行輸出接口 ●標(biāo)準(zhǔn)系列SCCB接口 ●8k bit的嵌入式一次性可編程(OTP)存儲(chǔ)器(見側(cè)注) ●兩個(gè)片上鎖相環(huán)(PLLs) ●可編程控制:增益、曝光、幀率、圖像大水、水平反射鏡、垂直翻轉(zhuǎn)裁剪和平移 ●內(nèi)置溫度傳感器 ●圖像質(zhì)量控制:缺陷校正,自動(dòng)黑電平校準(zhǔn),鏡頭陰影校正,和高度計(jì)行HDR?!癖WC傳感器結(jié)溫:-300C到+850C ●電源核心:1.14V-1.26V;模擬:2.6-3.0V輸入/輸出:1.7-3.0V ●封裝:PLCC40

  3. ov13850引腳圖

  微信截圖_20221118140530.png

  4. ov13850功能模塊

  微信截圖_20221118140627.png

  定時(shí)脈沖發(fā)生器輸出時(shí)鐘來訪問成像陣列的行,預(yù)先填充電荷并且按順序?qū)?shù)組的行進(jìn)行采樣。

  在預(yù)先填充電荷和采樣的時(shí)間間隔內(nèi),每個(gè)像素點(diǎn)的電荷曝光時(shí)減少入射光。

  這是在滾動(dòng)快門的體系結(jié)構(gòu)的曝光時(shí)間。

  曝光時(shí)間通過調(diào)整預(yù)先填充電荷和采樣之間的時(shí)間間隔控制。

  在每一行的像素?cái)?shù)據(jù)采樣后,通過模擬電路(AMP)進(jìn)一步處理:糾正偏移量和將數(shù)據(jù)乘以相應(yīng)的增益。

  模擬處理后通過10位ADC的輸出數(shù)組中的每個(gè)像素的數(shù)據(jù)。

  ISP(image sensor processor)通過圖像輸出接口單元,經(jīng)過mipi接口(MCP/MDP)將圖像數(shù)據(jù)發(fā)送出去。

  5. 像素?cái)?shù)組

  OV13850傳感器的圖像數(shù)組4256列3152行(13414912像素)

  顏色過濾器是安排在Bayer模式

微信截圖_20221118140750.png

  Binning mode 2x2 binning

  Binning mode 通常用于低分辨率

微信截圖_20221118140829.png

  6. mirror 和 flip

  OV13850提供圖像mirror(左右翻轉(zhuǎn)) 和 flip(上下翻轉(zhuǎn))模式

微信截圖_20221118140911.png

  二、驅(qū)動(dòng)移植

  瑞芯微支持的攝像頭,有個(gè)support list,

  此次從該list中選擇了ov13850

  1. 驅(qū)動(dòng)源文件及對(duì)應(yīng)腳本

  默認(rèn)sdk里面已經(jīng)將支持的所有攝像頭驅(qū)動(dòng)都添加到了內(nèi)核,所以不需要移植該驅(qū)動(dòng)了,

  但是還是要確認(rèn)下移植驅(qū)動(dòng)對(duì)應(yīng)的一些信息

  微信截圖_20221118140937.png

  

  2. 設(shè)備樹

  1)典型ov系列攝像頭鏈接示意圖

  微信截圖_20221118141004.png

  ov系列攝像頭與SOC連接的主要的引腳有:i2c、rst、pwdn、mclk、MIPI Clk、MIPI DATA

  這幾根線是驅(qū)動(dòng)工程師必須捋清楚的

  2)電路圖

  本次我們直接將攝像頭插在公版的視頻接口,用的是通道0,使用了4個(gè)lane【不知道具體硬件信息就問硬件工程師】

微信截圖_20221118141134.png

  由電路圖可知,幾個(gè)關(guān)鍵引腳關(guān)系:

  reset信號(hào):GPIO3 B6

  power down信號(hào):GPIO4 B4

  I2C通道:4

  clock:cif

  3)設(shè)備樹節(jié)點(diǎn)

  參考sdk中其他平臺(tái)的ov13850節(jié)點(diǎn)來填寫

  微信截圖_20221118141223.png

  設(shè)備樹的信息最終轉(zhuǎn)換成i2c_client,并傳遞給ov13850驅(qū)動(dòng)ov13850_probe()compatible = "ovti,ov13850";與驅(qū)動(dòng)的of_match_table 保持一致

微信截圖_20221118141258.png

  關(guān)于攝像頭驅(qū)動(dòng),

  彭老師后面會(huì)繼續(xù)更一篇文章講解。

  3. 安卓配置文件

  在以下兩個(gè)文件增加對(duì)應(yīng)攝像頭信息,

 微信截圖_20221118141812.png

  一口君直接參考的其他文件,

  然后找一個(gè)相近型號(hào)的攝像頭修改的

  三、查看攝像頭相關(guān)信息

  1. 開機(jī)log

  移植成功后,確認(rèn)下對(duì)應(yīng)的驅(qū)動(dòng)log

  微信截圖_20221118141842.png

  2. 查看ov13850設(shè)備

  驅(qū)動(dòng)加載成功后,會(huì)有以下信息

  查看攝像頭設(shè)備節(jié)點(diǎn):

  微信截圖_20221118141903.png

  3. 查看sys文件系統(tǒng)中文件信息

  內(nèi)核會(huì)為攝像頭在目錄/sys/class/video4linux下分配設(shè)備信息描述文件

  微信截圖_20221118141938.png

  4. 查看拓?fù)?media-ctl -d /dev/media0 -p

  微信截圖_20221118142012.png      微信截圖_20221118142032.png微信截圖_20221118142113.png

  從entity70信息中可以看到:

  該Entity完整的名稱是:m00_b_ov13850 4-0010

  它是一個(gè)V4L2 subdev(Sub-Device) Sensor

  它對(duì)應(yīng)的節(jié)點(diǎn)是/dev/v4l-subdev3,應(yīng)用程序(如v4l2-ctl)可以打開它,并進(jìn)行配置

  它僅有一個(gè)輸出(Source)節(jié)點(diǎn),記為pad0

  它的輸出格式是[fmt:SBGGR10/4224x3136],其中SBGGR10是一種mbus-code的簡(jiǎn)稱

  它的Source pad0 鏈接到"rockchip-csi2-dphy0"的pad0,并且當(dāng)前的狀態(tài)是 ENABLED。

  三、拍照測(cè)試

  1. 抓幀

微信截圖_20221118142154.png

  【看到<<<<<<<<< 7.51 fps 說明成功】

  參數(shù)說明

  微信截圖_20221118142237.png

  2. 顯示圖片:

  將文件**/sdcard/out.yuv從板子通過adb pull**命令拷貝出來,

  微信截圖_20221118142301.png

  再拷貝到ubuntu中,執(zhí)行以下命令顯示圖片【用其他可以打開yuv格式圖片的工具也可以】

微信截圖_20221118142333.png

  【拍照時(shí)選擇其他較高分辨率會(huì)出錯(cuò),暫時(shí)還沒解決這個(gè)問題,有知道的可以聯(lián)系我:yikoupeng】

  四、參數(shù)設(shè)置

  1. 顯示攝像頭參數(shù)

 微信截圖_20221118142406.png

  2. 增加曝光exposure

  exposure值區(qū)間為:  4-3324 命令實(shí)例:

  微信截圖_20221118142428.png

  3. 增加圖片亮度analogue_gain

  analogue_gain用于設(shè)置顯示的圖像的亮度

  analogue_gain值區(qū)間:16-248

  命令實(shí)例:

  微信截圖_20221118142457.png

  analogue_gain=244現(xiàn)象【效果非常明顯】

微信截圖_20221118142522.png

  4. 測(cè)試顯示信息test_pattern

  參數(shù)test_pattern,可以用于測(cè)試顯示圖像

  0:攝像頭

  1-3 測(cè)試圖片 命令實(shí)例:

 微信截圖_20221118142612.png

微信截圖_20221118142632.png

微信截圖_20221118142647.png

  5. 修改Entity的format、size

  舉例一,GC2053攝像頭支持多個(gè)分辨率的輸出,默認(rèn)為1920x1080?,F(xiàn)將輸出分辨率改為640x480:

  微信截圖_20221118142710.png

  五、遇到問題解決

  1.  解決閃退

  主要是camera3_profiles_rk356x.xml和camera3_profiles.xml這兩個(gè)文件中沒有ov13850的信息

  所以找到這兩個(gè)文件,增加相對(duì)應(yīng)的攝像頭信息 改文件位于sdk的目錄如下:

微信截圖_20221118142735.png

  文件camera3_profiles.xml參數(shù)的說明,瑞芯微官方有相應(yīng)的說明文檔

  2. app 提示沒有權(quán)限連接&打開設(shè)備失敗

 微信截圖_20221118142807.png

  同時(shí)將設(shè)備樹文件 將mipi_in_ucam0里的reg修改為1,如果有其他攝像頭信息,一次往后填寫或者刪除。

  微信截圖_20221118142841.png

  【這個(gè)reg是什么意思,有知道的老鐵可以給我留言】

  3.  APP打開設(shè)備失敗

  從log看,沒有任何permission問題,攝像頭也打開了,但是就是連接失敗,主要是xml文件的sensorType 設(shè)置不對(duì)

  微信截圖_20221118142904.png

  六、后續(xù)

  后面還有一些工作需要進(jìn)一步研究:

  目前只調(diào)通了1個(gè)攝像頭,后需要會(huì)再增加1個(gè)2lane的攝像頭

  視頻顏色還有點(diǎn)發(fā)綠,還需要進(jìn)一步調(diào)試

  有一起玩瑞芯微平臺(tái)的老鐵,后臺(tái)猛戳我

 更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg

微信圖片_20220701092006.jpg

電子技術(shù)應(yīng)用專欄作家 一口Linux

原文鏈接:瑞芯微 | 攝像頭ov13850移植筆記


 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。