樹莓派是一款功能強大且價格親民的微型計算機,廣受開發者、創客和科技愛好者的喜愛。它適用于網站搭建、智能家居控制、游戲開發以及編程學習等多種應用場景。
艾利光科技針對樹莓派開發板集成GMSL相機的需求,推出了適用于樹莓派5的GMSL相機接入套件,支持多路GMSL攝像頭同時接入。本文將介紹該套件的應用場景、硬件連接方式及軟件配置方法,幫助您快速完成安裝與設置,助力您的創新項目順利開展。
應用場景
艾利光科技為樹莓派5推出的GMSL相機接入套件提供三種不同的組合配置,用戶可根據自身項目需求靈活選擇。該套件的核心組件是艾利光科技自主研發的轉接板,通過該轉接板可實現GMSL相機與Raspberry Pi 5開發板之間的物理連接。
型號 | 內容清單 |
AKT-R48A-000 | 轉接板*1 FPC線束*2 |
AKT-R48A-200 | 轉接板*1 FPC線束*2 8MP攝像頭*2 Fakra線束*2 |
AKT-R48A-400 | 轉接板*1 FPC線束*2 3MP攝像頭*4 Fakra線束*4 |
轉接板目前可適配艾利光科技2款GMSL攝像頭,分別為:
ISX031系列3M(1920*1536)30fps攝像頭
- OX08B系列8M(3840*2160)30fps攝像頭
并提供驅動支持。
GMSL相機接入套件滿足以下典型應用場景:
1. Master 應用
Master模式是指GMSL相機在數據傳輸和控制過程中處于主導地位的工作模式。在該模式下,轉接板支持單邊接入1路或2路相機,最多可同時連接4路分辨率為3M(1920×1536)、幀率為30fps的攝像頭。
連接示意圖
2. Slave 應用
Slave模式是指GMSL相機在數據傳輸與控制過程中處于從屬狀態,需根據主設備的指令進行數據響應或傳輸。在此模式下,轉接板通過Trigger信號接口與Raspberry Pi 5開發板的GPIO接口相連,可接收外部觸發信號,實現最多4路相機的同步曝光控制。
連接示意圖
硬件連接指南
1.電源連接
連接轉接板電源適配器、Raspeberry pi 5開發板電源適配器。
2.CSI接口連接
Raspeberry pi 5開發板CSI接口支持2路4Lane MiPi信號輸入,通過艾利光定制的FPC線束,可實現轉接板與開發板連接,連接示意如下圖:

接口示意圖
注意:圖中標注的 CSI0 和 CSI1 為軟件定義的接口標識,與軟件參數配置相關。請務必按照示意圖所示方式進行連接,若采用其他連接方式,可能會導致軟件無法正常運行。

最終連接效果圖
3.RST和PWR引腳連接
轉接板配備了 RST(復位)和 PWR(電源控制)兩個引腳,其中 RST 引腳用于相機的復位操作,PWR 引腳則負責相機的電源管理。為了實現在一次通電周期內,通過軟件對相機進行重復配置與重啟,只需將這兩個引腳連接到 Raspberry Pi 5 開發板的 40 針 GPIO 接口上,即可實現對相機的靈活控制。

接口示意圖4.外部觸發連接
轉接板配有 RST(復位)和 PWR(電源控制)兩個引腳,分別用于相機的復位操作和電源管理。如需在單次通電過程中,通過軟件對相機進行重復配置與重啟,只需將這兩個引腳連接至 Raspberry Pi 5 的 40 針 GPIO 接口,即可實現對相機的靈活控制。

接口示意圖

最終連接效果圖
軟件配置指南
1. 驅動加載
驅動加載分為兩個部分,第一部分是設備樹的加載,另一部分是Driver的加載。
1.1 設備樹的加載
① 將DTBO文件置于相應路徑
樹莓派支持成熟的 Overlays 機制,即通過 DTBO(設備樹覆蓋層)對設備樹進行動態補丁。這種機制與特定內核版本關系不大,只要設備樹結構未發生重大變化(如節點名稱變更),編譯生成的 DTBO 文件通常具有良好的通用性。
因此,我們只需將 Git 倉庫中的文件:
max9296\bin\6.6.31+rpt-rpi-2712\dtbo\max9296.dtbo
復制到樹莓派的 /boot/firmware/overlays/ 目錄下,即可完成配置。
參考指令:
sudo cp/mnt/nas_share/raspi_image/overlays/max9296.dtbo /boot/firmware/overlays/
②執行加載DTBO到設備樹
這里需要在config.txt文件中添加max9296.dtbo的支持,參考指令:
sudo vim /boot/firmware/config.txt
并輸入傳感器參數,這里我們以艾利光科技攝像頭為例,添加以下參數:
dtoverlay=max9296,sensor-type=ISX031_MAX96717_2CHdtoverlay=max9296,cam0,sensor-type=ISX031_MAX96717_2CH
最終config.txt中的配置如下:
[all]#dtoverlay=max9296,sensor-type=0X08B MAX96717 1CH#dtoverlay=max9296,cam0,sensor-type=0X08B MAX96717 1CHdtoverlay=max9296,sensor-type=ISX031 MAX967172CHdtoverlay=max9296,cam0,sensor-type=ISX031 MAX967172CH#dtoverlay=max9296,sensor-type=ISX031 MAX96717 1CH#dtoverlay=max9296,cam0,sensor-type=ISX031 MAX96717 1CH#dtoverlay=max9296,sensor-type=ISX031 MAX96717 2CH#dtoverlay=max9296,cam0,sensor-type=0X08B MAX96717 1CH
重啟后,可以通過執行以下指令來驗證Overlay是否已成功加載。若系統中出現名為max9296的設備節點,則表明Overlay加載成功。
cd/proc/device-tree/axi/pcie@120000/rp1/i2c@80000/max9296@10

1.2Driver的加載
基于 Raspberry Pi 官方發布的鏡像版本,我們為每個內核版本預先編譯了對應的驅動程序,并上傳至 GitHub,方便用戶下載使用。您只需根據當前系統所使用的內核版本,將 GitHub 中對應的 .ko 驅動文件復制到 /lib/modules/{內核版本號}/ 目錄下即可。
{kernel version}可以使用以下指令獲?。?/span>
$uname-r6.6.31+rpt-rpi-2712
然后執行,并分析驅動依賴:
sudodepmod
最后輸入以下指令:
sudomodprobe max9296
當驅動加載成功后,dmesg命令會輸出相應的日志信息。若日志內容中未出現任何錯誤報告,則表明驅動已成功加載。

注意:
在此場景中,我們選擇使用 modprobe 而非 insmod 來加載驅動,主要原因是 Linux 下的 V4L2 驅動框架結構復雜,且依賴多個內核模塊。modprobe 能夠自動解析并加載所需的依賴模塊,確保 V4L2 驅動完整、正確地加載和運行,而 insmod 則無法自動處理這些依賴關系。
2. 配置media pipe在Raspberry Pi 5的原生CFE(固件環境)驅動中,CSI2和CFE并未直接串聯。因此,需要手動重新配置pipe(管道)。
為此,我們已在 Git 倉庫的 max9296\script\ 路徑下提供了相關腳本。請將其中的 aili_run_camera.sh 文件復制到 Raspberry Pi 的任意目錄,然后執行以下命令運行腳本:
./aili_run_camera.sh csi_channel width hight deserdes_channel
參數解析:
csi_channel :表示指定使用的CSI(Camera Serial Interface)通道。所有可配置參數如下:
csi0-- 使用csi0,參考硬件連接的示意圖csi1-- 使用csi1,參考硬件連接的示意圖all -- 同時使用csi0和csi1
width :表示當前該CSI通道所連接的Sensor(傳感器)分辨率的寬度。
height:表示當前該CSI通道所連接的Sensor(傳感器)分辨率的高度。
deserdes_channel:用于指定是使用一個還是兩個deserdes通道。當僅使用一個通道時,需使用LINKA,配置參數如下:
1ch-- 使用deserdes的一個通道,LINKA2ch-- 使用deserdes的兩個通道
注意事項:
1. 參數 width 和 height 必須與所加載的傳感器驅動類型相匹配:
當使用 ISX031_MAX96717_2CH 或 ISX031_MAX96717_1CH 驅動時,width 應設置為 1920,height 應設置為 1536;
當使用 OX08B_MAX96717_1CH 驅動時,width 應設置為 3840,height 應設置為 2160。
2. 在加載 OX08B_MAX96717_1CH 驅動時,deserdes_channel 只能配置為 1ch(單通道)。使用示例:
./aili_run_camera.shall 192015362ch//
表示同時使用csi0和csi1,分辨率設置為1920x1536,deserdes的兩個通道同時輸出,即同時采集4路圖像。
執行完畢后,若控制臺顯示已執行的指令且未報錯,則表明操作已成功完成。
3.使用gstreamer顯示圖像
您可以使用位于 max9296\script\ 目錄下的腳本來同時顯示圖像。請將其中的 aili_review_camera.sh 腳本文件復制到 Raspberry Pi 的任意目錄中,并在該目錄下執行以下命令,即可啟動圖像顯示功能:
./aili_review_camera.sh csi_channel width hight deserdes_channel
參數解析:
csi_channel :表示指定使用的CSI(Camera Serial Interface)通道。所有可配置參數如下:
csi0-- 使用csi0,參考硬件連接的示意圖csi1-- 使用csi1,參考硬件連接的示意圖all -- 同時使用csi0和csi1
width :表示當前該CSI通道所連接的Sensor(傳感器)分辨率的寬度。
height:表示當前該CSI通道所連接的Sensor(傳感器)分辨率的高度。
deserdes_channel:用于指定是使用一個還是兩個deserdes通道。當僅使用一個通道時,需使用LINKA,配置參數如下:
1ch-- 使用deserdes的一個通道,LINKA2ch-- 使用deserdes的兩個通道
注意事項:
1. 請確保此腳本的參數與./aili_run_camera.sh腳本的參數保持一致。2. 該指令必須在具備圖形用戶界面的本地控制臺執行,無法通過遠程SSH連接執行。
應用示例
示例一:4路3M(1920*1536)攝像頭應用

采用4個艾利光ISX031系列攝像頭
config.txt 配置:
依次執行指令:
./aili_run_camera.sh all 192015362ch./aili_review_camera.sh all 192015362ch
執行結果:

示例二:2路8M(3840*2160)攝像頭應用

采用2個艾利光OX08B系列攝像頭
config.txt 配置:
依次執行指令:
./aili_run_camera.sh all 384021601ch./aili_review_camera.sh all 384021652ch
執行結果:

示例三:3路攝像頭應用

采用2個艾利光ISX031系列3M(1920*1536)攝像頭及1個艾利光OX08B系列8M(3840*2160)攝像頭
config.txt 配置:

依次執行指令:
./aili_run_camera.sh csi1 192015362ch./aili_run_camera.sh csi0 384021601ch./aili_review_camera.sh csi1 192015362ch./aili_review_camera.sh csi0 384021601ch
執行結果:
-
計算機
+關注
關注
19文章
7657瀏覽量
90691 -
攝像頭
+關注
關注
61文章
4973瀏覽量
98257 -
樹莓派
+關注
關注
121文章
1997瀏覽量
107389
發布評論請先 登錄
評論