“芯”知识 | 匠芯创Luban-Lite DVP使用指南

描述

在嵌入式开发和多媒体终端领域,摄像头数据采集堪称“核心技能”——无论是智能设备的实时预览、安防摄像头的录像存储,还是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(视频编码器)无缝配合,轻松实现“采集→显示”或“采集→编码→存储”全链路。

dvpdvp

DVP的硬件框图

dvpdvp

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凭借高效的硬件设计、灵活的参数配置,已经成为嵌入式摄像头开发的“宝藏模块”。只要按照上述步骤完成驱动配置,再结合实际开发板的硬件参数微调,就能快速打通摄像头数据链路!

如果在调试测试过程中遇到问题,欢迎留言或联系匠芯创技术支持。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分