news 2026/9/2 6:29:52

嵌入式DVP镜头驱动的个人理解与分析(基于杰理SDK纯个人项目实战所得)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式DVP镜头驱动的个人理解与分析(基于杰理SDK纯个人项目实战所得)

镜头点亮链路

硬件工作条件

需要关注的相关端口内容吗,一般把这部分内容写在板级代码当中。

引脚/供电分别是:

配置
主时钟 xclk
复位 reset
掉电 pwdn(我具体项目当中没接)
接口SEN_INTERFACE0,DVP 并行
pclk / hsync / vsync
数据脚 data[9:0]

(10bit DVP)

供电LDOAVDD18/AVDD28/DVDD

media拓扑/相关检测check

​ ​ typedef struct S_ISP_SEN { u8 logo[8]; //sensor标识名 isp_id_t isp_dev;//所在的设备编号 u8 in_format; //颜色解析格式 例如:GRBG.. isp_out_format_t out_format; //镜头输出的数据格式:YUV/RAW sen_mbus_type_t mbus_type; //V4L2总线类型枚举,通知主控csi接收端 u32 mbus_config; //总线配置位 例如:这里用的是并行数据线宽度,时钟采样边缘 u8 fps; //预览帧数配置 u32 real_fps; //最终实际输出帧数,可通过相应接口调用查看帧率,用于补偿 VTS/PCLK 偏差 pic_size_t sen_size; //DVP接口送到CSI的RAW有效像素 pic_size_t isp_size; //ISP输出的YUV分辨率像素 u8 cap_fps; //拍照时的帧率 pic_size_t sen_cap_size; //拍照时的RAW分辨率 pic_size_t isp_cap_size; //拍照时的YUV分辨率 sensor_ops_t ops; //各种操作的回调 } isp_sen_t; ​ ​ ​

check逻辑链路

DVP_CHECK();{

里面进行镜头I2C设备的启动,复位 reset和掉电脚的配置

镜头复位函数DVP_RESET();{掉电脚和复位脚的重新启动,具体延迟见datasheet}

镜头PID和VER的检测DVP_ID_check();

I2C设备的关闭

}

DVP_INIT();{

SENSOR_CONFIG();{输出分辨率的配置

写INIT_REG初始化序列。

写AE_EV_INIT这种效果初始化。//这方面调试相关驱动代码后续给出

配置一下颜色解析格式

}

}

稳定出流

首先在DISPLAY_START中需要打开服务层相关SERVER,服务层给出了DISPLAY接口

struct vs_video_display { u16 left; //显示窗口坐标 u16 top; u16 width; //显示窗口大小 u16 height; u16 border_left; //四边边框 u16 border_top; u16 border_right; u16 border_bottom; u8 camera_type; //摄像头类型,例如NORMAL,UVC,VIRTUAL,JLC,CUSTOM. u8 three_way_type; //三路视频类型 u8 uvc_id; //uvc设备序号 const char *fb; //写到的缓存区 struct imc_presca_ctl *pctl; //IMC(图像拼接/预缩放)控制参数指针,这里传的NULL struct vs_camera_sca sca; //缩放/数字变焦控制 enum video_state state; //本次显示请求的动作 int (*camera_config)(u32 lv, void *arg);//摄像头配置回调,其中可初始化相关的ISP场景 u8 display_mirror; //镜像翻转 u8 win_type; //窗口类型,根据应用自己配置 u8 double720; u8 double720_small_scr; u8 src_crop_enable; //支持通过配置比例对IMC源数据进行裁剪的使能,使用数字变焦需要写1 u8 *sticker_name; u16 src_w; u16 src_h; };

进行server_request请求。

***相关网络出流后面会给出***

***效果和场景驱动的配置会在我写完ISP调试后给出***

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 6:29:29

Epho:用curl命令调用Claude Code的AI编程助手命令行工具

这次我们来看一个能让你用一条curl命令就能运行 Claude Code 的项目:Epho。对于经常在终端里工作、需要快速调用 AI 编程助手,但又不想打开完整 IDE 或 Web 界面的开发者来说,这绝对是个值得关注的工具。它的核心思路是把 Claude Code 的能力…

作者头像 李华
网站建设 2026/9/2 6:28:06

微信小程序云开发实战:校园食堂点餐系统全栈开发指南

最近在开发校园服务类小程序时,发现很多同学都想做一个集点餐、支付、评价于一体的食堂服务平台,但苦于找不到完整、可运行的项目源码参考。网上的资料要么过于零散,要么只讲理论没有代码,从环境搭建到前后端联调,每一…

作者头像 李华
网站建设 2026/9/2 6:27:37

TVA具身智能架构:TVA-World协同感知-动作耦合机制

前沿技术探索:TVA智能体(简称TVA) TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术体系。它有机融合深度强化学习(DRL)、卷…

作者头像 李华
网站建设 2026/9/2 6:25:47

NotebookLM实测:把资料变成可对话的AI工作台

最近我在准备一份跨城市的交通规划调研材料,电脑里堆了十几个 PDF、网页摘要和访谈记录。以前遇到这种情况,我的流程基本是:建一个文件夹,把资料塞进去,然后……就没有然后了。等真正要写综述时,还得重新一…

作者头像 李华
网站建设 2026/9/2 6:25:12

从 FAQ 到 AI 机器人:搭建 WhatsApp 私有知识库的完整思路

把几十份产品文档上传给大模型,并不等于拥有了一个可靠的客服或销售机器人。真正困难的部分,是让它知道应该引用哪条知识、什么时候不能回答,以及答案出错后由谁修正。FAQ 和 AI 机器人之间,还隔着一套系统 传统 FAQ 是给人阅读的…

作者头像 李华
网站建设 2026/9/2 6:22:54

从12306抢票脚本到高并发查询系统:Python自动化与合规实践

简介:这是一份面向Python中级开发者与自动化实践者的12306抢票工具源码包,聚焦于解决春运等高峰期车票秒光场景下的自动化查询与下单需求。资源包含26个文件,以15个核心Python脚本(如ESTrain.py主入口、loginGui.py图形登录界面、…

作者头像 李华