女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于RK3576開發板的MIPI-CSI攝像頭使用

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-05-06 14:58 ? 次閱讀

1. MIPI攝像頭簡介

1.1 MIPI CSI2接口簡介

MIPI (Mobile Industry Processor Interface):ARM, Nokia, ST ,TI等公司在2003年成立的一個聯盟所定的接口。目的是把手機等移動設備內部的接口如:攝像頭、顯示屏接口、射頻/基帶接口等標準化,從而減少手機等移動設備設計的復雜程度和增加設計靈活性。

工作組(Work Group):MIPI聯盟下有許多的工作組,不同的工作組負責定義對應設備的標準。其中包括有:Camera工作組、Display工作組、高速多端鏈接工作組等十幾個工作組。

MIPI CSI-2接口是由MIPI聯盟下的Camera工作組指定的CSI(Camera Serial Interface)的第2版接口標準。硬件層面:最大支持4個虛擬通道(Lane)傳輸數據,1個Lane在硬件上體現就是一對差分信號線(見下方原理圖),每個Lane的最大通訊速率為2.0Gbps。軟件層面:MIPI CSI-2協議棧主要由應用層、協議層、物理層組成,其中協議層又可以分為:像素/字節組包/解包層、底層協議層、通道管理層。

1.2 硬件接口資源介紹

EASY EAI Orin-Nano開發板具有2路MIPI CSI-2接口。每路引出了4個Lane。位置定義如下所示。

wKgZO2gZs4KAbr_RABw4ismG-rg053.png

EASY EAI Orin-Nano默認搭配IMX415單目攝像頭。同時配有一根0.5mm間距的40pin FPC反向線

反向線:兩端的藍色標識不在同一側面。

同向線:兩端的藍色標識處于同一側面。

wKgZPGgZs4OAS_15AACcBKX2kqQ544.pngwKgZO2gZs4OAQpXjAA-oqUP_00o343.png

1.3 接線說明

wKgZPGgZs4OAdvlXAADdNgPRzl4118.png

* 接線必須在斷電時進行操作。

* 采用反向線連接IMX415攝像頭與Cmaera1接口。(注意:用錯線會燒壞攝像頭或者核心板,因此在接線時務必要小心。)

* 接線端子卡扣與FPC線的藍色塑料標識必須位于同一側。如下圖所示。

wKgZO2gZs4SAMoUWAAshZ-QQ0GM270.png

1.4 查看設備情況

可以通過dmesg命令,檢查MIPI-CSI2接口模塊是否正常工作。

dmesg | grep "csi2-.phy"

攝像頭正常掛載的情況如下所示。可以看到:

dcphy0接口上有一個sensor型號為:imx415的攝像頭,MIPI-CSI2地址為:4-0036;

在dphy0接口上有一個sensor型號為:imx415的攝像頭,MIPI-CSI2地址為:5-0036。

wKgZPGgZs4SACNOKAAFbT3nnLpE549.png

當沒能出現目標camera節點時,就需要檢查FPC排線是否正常連接,請檢查排線的連接是否與“1.3接線說明”一致。

1.5 尋找可用的設備節點

rockchip平臺,一個MIPI-CSI接口會對應20多個video節點(設備樹定了就會生成這么多個),如下圖所示。

wKgZO2gZs4WAb2egAADRX9WYbXI906.png

注意:但CSI0并不一定是對應著video0~24,這個要根據設備樹的實際情況對應生成。

而且MIPI-CSI camera對應的節點,會在修改內核設備樹的時候固定下來(即:內核配好了MIPI-CSI Camera個數,無論MIPI-CSI攝像頭是否有接上,它的video節點情況都是不會根據MIPI-CSI Camera的接入情況而【動態】改變)。

因此,用戶需要找到這些節點所對應的描述信息是什么。Linux的v4l2框架會把這些節點的描述信息統一放在/sys/class/video4linux/目錄下,如下圖所示。

wKgZPGgZs4WABa58AACvsPL6vQU346.png

隨便進入一個描述,如video22。

wKgZO2gZs4WAM2KvAACOnXJH04Q405.png

通過cat命令,可以用查看這個name的內容是什么。rockchip芯片定義:如果這個name是mainpath或者selfpath。則這個“video22”就是可用節點。

在終端任意目錄執行下面這條命令,可以快速掃描所有的節點的“name”描述。

grep "mainpath" /sys/class/video4linux/video*/name
wKgZPGgZs4WAd7ZaAADwIRpYk8Y430.png

因此,/dev/video22和/dev/video23都是MIPI-CSI0的可用節點。

2. 快速上手

2.1 例程源碼下載

到【百度網盤】上下載相關的單例程序:

鏈接:https://pan.baidu.com/s/1RXHMGpmGSEfFy0rb1VkXSg?pwd=1234

提取碼: 1234

比如在windows環境中,就把單例程序下載到:此電腦D:BaiduNetdisk (無規定,用戶可自主選擇),如下圖所示。

wKgZO2gZs4aAQeu6AACHqgp0ox8886.png

然后把例程【復制粘貼】到nfs掛載目錄中。(不清楚目錄如何構建的,可以參考《入門指南/開發環境準備/nfs服務搭建與掛載》)

wKgZPGgZs4aADEWPAADwZgkWvLg880.png

2.2 例程編譯&運行

通過adb shell進入開發板環境,執行下方命令定位到demo目錄,并且執行編譯操作。

cd /home/orin-nano/Desktop/nfs/02_camera/
./build.sh
wKgZO2gZs4aAYUnOAAPNJJfqlG4766.png

編譯成功后,相關的demo會生成在Release目錄下。

執行下方命令以運行demo,如下所示。

sudo ./Release/test-mipiCam 22  ##需要root權限

注:輸入參數22為MIPI-CSI0所對應的video索引,本固件camera1~2默認對應video索引分別為:22、31(若用戶按需對設備樹進行過修改,這些索引將會有所變化)

執行效果如下所示。

wKgZPGgZs4aAIcGgAAERTWXUB9M801.png

然后把/tmp/photo拷貝到當前目錄下的Release內

cp /tmp/photo ./Release/

再通過組合鍵【Ctrl+Shift+T】創建一個新窗口,定位到nfs服務器的對應位置。

wKgZO2gZs4eARuvHAACKiBD90sU711.png

最后使用mplayer工具播放圖片,命令如下所示。

mplayer -demuxer rawvideo -rawvideo w=1920:h=1080:format=bgr24 ./Release/photo -loop 0
wKgZPGgZs4eALxs0ADK8R6YHANk004.png

例程默認分辨率為1920x1080,故w和h的參數對應填入1920和1080。當出現圖片異常時,說明分辨率等不太對應于手頭的攝像頭,所以需要調整mipicamera_init()的分辨率,例如640x480。

3. MIPI攝像頭測試案例

示例代碼路徑為:02_camera/test-mipiCam/main.c。MIPI Camera API的測試案例代碼邏輯流程如下所示:

wKgZO2gZs4iAPOeVAABS0UzDR_g028.png

3.1 源碼說明

int main()
{
	int ret = 0;
    if(1 == argc){
        printf("nerr: Missing parameter!n");
        printf("================= [usage] ==================n");
        printf("example:n");
        printf("t%s n", argv[0]);
        printf("--------------------------------------------n");
        return 0;
    }
    
	char *pbuf = NULL;
	int ret = 0;
	int skip = 0;
	FILE *fp = NULL;

	ret = mipicamera_init(CAMERA_INDEX, CAMERA_WIDTH, CAMERA_HEIGHT, 0);
	if (ret) {
		printf("error: %s, %dn", __func__, __LINE__);
		goto exit3;
	}
	pbuf = (char *)malloc(IMAGE_SIZE);
	if (!pbuf) {
		printf("error: %s, %dn", __func__, __LINE__);
		ret = -1;
		goto exit2;
	}
	//跳過前10幀
	skip = 10;
	while(skip--) {
		ret = mipicamera_getframe(CAMERA_INDEX, pbuf);
		if (ret) {
			printf("error: %s, %dn", __func__, __LINE__);
			goto exit1;
		}
	}

	/* tips: 可以在Ubuntu下用mplayer播放錄制圖像
	*	adb pull /tmp/photo
	*	mplayer -demuxer rawvideo -rawvideo w=1920:h=1080:format=bgr24 photo -loop 0
	*/
	fp = fopen("/tmp/photo", "w");
	if (!fp) {
		printf("error: %s, %dn", __func__, __LINE__);
		ret = -1;
		goto exit2;
	}
	fwrite(pbuf, 1, IMAGE_SIZE, fp);
	fclose(fp);

exit1:
	free(pbuf);
	pbuf = NULL;
exit2:
	mipicamera_exit(CAMERA_INDEX);
exit3:
    return ret;
}

其中mipicamera_init(),mipicamera_getframe(),mipicamera_exit()是對v4l2接口調用的易用化封裝。具體實現于02_camera/commonApi/mipi_camera.c。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 攝像頭
    +關注

    關注

    60

    文章

    4937

    瀏覽量

    97528
  • 開發板
    +關注

    關注

    25

    文章

    5445

    瀏覽量

    101407
  • MIPI
    +關注

    關注

    11

    文章

    319

    瀏覽量

    49419
  • rk3576
    +關注

    關注

    1

    文章

    134

    瀏覽量

    507
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式RK3576開發板MIPI-CSI調試——通路解析

    本文介紹了RK3576處理器的Camera通路,以及如何配置MIPI-CSI攝像頭的不同輸出格式。
    的頭像 發表于 07-19 13:43 ?2529次閱讀
    飛凌嵌入式<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的<b class='flag-5'>MIPI-CSI</b>調試——通路解析

    基于RK3576開發板的TF卡槽使用說明

    RK3576開發板使用TF卡槽
    的頭像 發表于 05-07 09:24 ?471次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的TF卡槽使用說明

    基于RK3576開發板的PWN使用說明

    RK3576開發板使用PWN教程及Demo
    的頭像 發表于 05-07 14:07 ?1069次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的PWN使用說明

    基于RK3576開發板的RTC使用說明

    文章主要展示RK3576開發板的RTC信息和快速上手例程
    的頭像 發表于 05-07 15:04 ?510次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的RTC使用說明

    基于RK3576開發板的人臉識別算法

    RK3576開發板展示人臉識別算法例程和API說明
    的頭像 發表于 05-07 16:48 ?1090次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的人臉識別算法

    如何通過RK3576配置MIPI-CSI攝像頭的不同輸出格式

    支持5路攝像頭的輸入。 本篇內容就通過OK3576-C開發板為大家介紹一下RK3576處理器的Camera通路,以及如何配置MIPI-CSI
    發表于 07-25 09:56

    【米爾RK3576開發板評測】帶你初步了解米爾RK3576這塊開發板

    這幾天剛收到米爾郵寄過來的米爾RK3576開發板,收到板子的拆箱的第一感覺就是驚艷。巴掌大小的一塊開發板上集成度非常高,布線很合理,元件布局也很整齊,黑色的板子也非常高端。 給大家看一下收到
    發表于 12-18 20:35

    【米爾RK3576開發板評測】+項目名稱【米爾RK3576開發板評測】一個視頻和你共同認識一下米爾RK3576開發板

    收到米爾RK3576開發板后,也對米爾RK3576開發板進行了了解,米爾這款開發板真的很不錯,下面是官方的一些參數介紹: MYC-LR
    發表于 12-18 20:50

    米爾瑞芯微RK3576實測輕松搞定三屏八攝像頭

    推出的MYD-LR3576開發板開發了一個三屏異顯,8路攝像頭輸入的DEMO, 實測下來,RK3576輕松搞定了該任務。 MYD-LR
    發表于 01-17 11:33

    國產開發板的端側AI測評-基于米爾瑞芯微RK3576

    HDMI、DP、DSI、CSI等。所以基于RK3576這顆SoC的核心可以應用于像商業顯示(多屏顯示)、智能家居(多攝像頭采集)、邊緣計算(AI)等領域。
    發表于 02-14 16:29

    新品發布 ▏全網首發!瑞芯微RK3576開發板:智能設備革新的AI核心引擎

    近期,合眾恒躍繼推出HZ-CORE-RK3576核心后,再次發布了HZ-EVM-RK3576開發板,該開發板集成了
    的頭像 發表于 08-29 13:59 ?1688次閱讀
    新品發布 ▏全網首發!瑞芯微<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>:智能設備革新的AI核心引擎

    米爾RK3576開發板特惠活動!

    近日,米爾電子發布基于瑞芯微RK3576核心開發板RK3576作為國產熱門處理器,其高性能數據處理能力、領先的AI智能分析、強大的擴展性與兼容性受到廣大
    的頭像 發表于 11-12 01:00 ?650次閱讀
    米爾<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>特惠活動!

    RK3576有多強?實測三屏八攝像頭輕松搞定

    的MYD-LR3576開發板開發了一個三屏異顯,8路攝像頭輸入的DEMO,實測下來,RK3576輕松搞定了該任務。MYD-LR
    的頭像 發表于 01-16 08:06 ?502次閱讀
    <b class='flag-5'>RK3576</b>有多強?實測三屏八<b class='flag-5'>攝像頭</b>輕松搞定

    基于RK3576開發板MIPI-DSI使用

    MIPI DSI接口是由MIPI聯盟下的Display工作組指定的DSI(Display Serial Interface)的接口標準。rk3576開發板使用
    的頭像 發表于 05-06 16:11 ?179次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的<b class='flag-5'>MIPI</b>-DSI使用

    基于RK3576開發板的網絡攝像頭方案

    本地RTSP拉流的操作指南,并詳細說明了代碼組成、調用關系及開發指南,包括CMakeLists.txt文件解析和build.sh編譯腳本的使用。整體方案旨在幫助用戶快速上手并實現四路MIPI-CSI攝像頭的流媒體輸出。
    的頭像 發表于 05-12 17:54 ?130次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發板</b>的網絡<b class='flag-5'>攝像頭</b>方案