在嵌入式開發和多媒體終端領域,攝像頭數據采集堪稱“核心技能”——無論是智能設備的實時預覽、安防攝像頭的錄像存儲,還是AI終端的視覺分析,都離不開它。今天要給大家介紹的匠芯創Luban-Lite DVP(Digital Video Port),它支持高速格式轉換、靈活裁剪,還能直接將數據寫入DRAM,是嵌入式攝像頭通路的“效率擔當”。
Luban-Lite DVP
核心優勢
高兼容:支持YUV422、BT.656雙數據格式,BT.656還兼容隔行模式,最大8位輸入;
高規格:錄像最高1080P@30fps,拍照支持500萬像素(5M),滿足主流視覺需求;
高靈活:支持行/列獨立裁剪,適配不同Sensor的分辨率差異;
多適配:已適配OV2640、OV5640等主流Camera,還能兼容TP9950(TVI/CVBS解碼)、GM7150(NTSC/PAL解碼)等特殊芯片;
強協同:與DE(顯示引擎)、VE(視頻編碼器)無縫配合,輕松實現“采集→顯示”或“采集→編碼→存儲”全鏈路。

DVP的硬件框圖

DVP應用的數據流
4步配置DVP
輕松打通攝像頭通路
想讓DVP“跑起來”?關鍵是配置驅動模塊+適配硬件參數。跟著以下步驟操作,新手也能輕松搞定!
Step 1:激活MPP VIN
DVP的運行依賴MPP(多媒體處理平臺)中的VIN(視頻輸入)子模塊,所以第一步必須激活它!
操作路徑:進入Luban-Lite根目錄下→執行scons →menuconfig→按以下路徑勾選:
Local packages options --->
ArtInChip packages options --->
[*] aic-mpp --->
[*] Enable Video Input interface
(1843264) Size of Video Input buffer
注意!這里有個緩沖區大小的關鍵參數(Size of Video Input buffer),需要根據攝像頭的分辨率和數據格式計算。舉個例子:
如果用YUV422格式、640×480分辨率的攝像頭,緩沖區大小=640×480(像素)×2(YUV422每像素2字節)×3(緩存隊列深度)=1,843,200字節。
另外,為了滿足CPU緩存訪問效率(Cacheline對齊,通常64字節),需要在緩沖區尾部多留64字節。
Step 2:啟用DVP
Board options --->
[*] Using DVP
這一步相當于給DVP“通電”,讓它進入工作狀態。
Step 3:連接Camera
Board options --->
[*] Using i2c2
Camera Support --->
[*] Using camera device
Select camera device (Using camera OV5640) --->
(2) The No. of I2C channel
(PE.14) The reset pin of Camera
(PE.15) The power down pin of Camera
硬件適配小貼士:
不同開發板的Camera接口可能不同,需要根據實際電路設置以下參數:
連接到哪個I2C口;
Reset pin使用的是哪個IO;
Powerdown pin使用的是哪個IO。
Step 4:配置CLK_OUTx
Camera需要SoC提供時鐘信號才能正常工作,這一步要在menuconfig中啟用對應的時鐘輸出接口(CLK_OUT),操作路徑:
Board options --->
Clocks options --->
[ ] Enable CLK_OUT0
[*] Enable CLK_OUT1
[ ] Enable CLK_OUT2
[ ] Enable CLK_OUT3
小知識:匠芯創不同型號支持的CLK_OUT路數不同,具體選哪一路要看開發板原理圖。
測試指南
快速驗證攝像頭通路
環境準備
硬件:驗證板+DVP子板+攝像頭(如OV5640)。
軟件:串口終端工具+測試Demo test_dvp。
test_dvp 測試
配置OV5640:參考Step 3設置I2C及引腳。
啟用測試命令:
Drivers options --->
Drivers examples --->
[*] Enable DVP driver test command
進入 RT-Thread Shell
以采集 1000 幀圖像數據,并且先旋轉 90 度再顯示為例,執行下列操作:
test_dvp -c 1000 -a 90
查看幫助:
test_dvp -h
輸出示例:
Usage: test_dvp [options]:
-f, --format format of input video, NV16/NV12 etc
-c, --count the number of capture frame.(0 means infinity)
-a, --angle the angle of rotation
-h, --usage
Example: test_dvp -f nv16 -c 1
Luban-Lite DVP憑借高效的硬件設計、靈活的參數配置,已經成為嵌入式攝像頭開發的“寶藏模塊”。只要按照上述步驟完成驅動配置,再結合實際開發板的硬件參數微調,就能快速打通攝像頭數據鏈路!
如果在調試測試過程中遇到問題,歡迎留言或聯系匠芯創技術支持。
-
智能設備
+關注
關注
5文章
1159瀏覽量
53432 -
dvp
+關注
關注
0文章
18瀏覽量
9548 -
匠芯創
+關注
關注
0文章
58瀏覽量
193
發布評論請先 登錄
【匠芯創科技】D13X-DOC
【匠芯創科技】D12X-DOC
[匠芯創]D12開箱初體驗
【新品體驗】匠芯創D133CBS KunLun Pi開發板試用體驗
【匠芯創D133CBS KunLun Pi開發板試用體驗】《匠芯創D133CBS RISC-V KunLun Pi 》 開箱及搭建vscode開發環境
【匠芯創D133CBS KunLun Pi開發板試用體驗】2、SDK下載+環境搭建
【匠芯創D133CBS KunLun Pi開發板試用體驗】+環境搭建
【匠芯創D133CBS KunLun Pi開發板試用體驗】介紹、環境搭建
所見即所得——Luban-Lite VS Code插件讓開發實現“命令行自由”
“芯”知識 | 匠芯創Luban-Lite DVP使用指南
評論