在嵌入式开发和多媒体终端领域,摄像头数据采集堪称“核心技能”——无论是智能设备的实时预览、安防摄像头的录像存储,还是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文章
1107浏览量
52381 -
dvp
+关注
关注
0文章
17浏览量
9339
发布评论请先 登录
芯海科技通用 MCU 应用笔记: CS32F103 FOC 电机评估板使用指南
芯海科技 MCU 应用笔记: CSU3AF10 EVB移动电源 用户使用指南
芯海应用笔记:CS32G020移动电源EVB用户使用指南V1.0
【匠芯创科技】D13X-DOC
【匠芯创科技】D12X-DOC
[匠芯创]D12开箱初体验
[匠芯创科技]匠芯创AIUIBuilder工具使用初体验
【新品体验】匠芯创D133CBS KunLun Pi开发板试用体验
匠芯创发布新版GUI开发工具 新增多国语言设置等功能
【免费试用】匠芯创D133CBS KunLun Pi开发板试用体验

共谱开源华章 | 匠芯创荣获“开源生态战略合作伙伴”奖

所见即所得——Luban-Lite VS Code插件让开发实现“命令行自由”

匠芯创M6801SPCS闭环步进控制设计方案:工业自动化的精密导航仪

智能伺服,精准控制:匠芯创科技M6800系列方案助力工业升级

评论