硬件开发笔记(十六):RK3568底板电路mipi摄像头接口原理图分析、mipi摄像头详解
前言
本篇继续分析底板原理图mipi电路原理图、mipi摄像头输入硬件接口详解。
RK3568芯片摄像头接口
查看RK3568的芯片手册,摄像头接口并不支持直接sensor模拟信号输入,只能接收mipi信号,RK3568的摄像头接口引脚如下:

只支持mipi的数字信号摄像头。
本来计划是使用RK3568直接接入sensor模拟信号已达到最低延迟,目前看来是不现实,前面需要一个模数转换接入sensor模拟信号,或者直接接入mipi摄像头,所以这个需要做出来测试下融摄像头输入到输出需要多少ms。
Mipi接口
mipi接口是一种移动处理器接口,因为是由mipi联盟发起的,所以命名为mipi接口,属于一种标准的移动应用处理器接口模式,摄像头、显示屏、基带、射频接口等移动设备上都可使用。
mipi接口能在高速数据传输模式下摆幅,针对功率敏感型应用而量身定做的,灵活性强,同成本低,有效降低了设计复杂度、功耗和EMI,有更高的性能和更小的物理尺寸。
Mipi摄像头电路分析
开发板的底板原理图

下面调整下分析:

然后是电源电路:

所以,输入信号要是MIPI_CSI,40Pin。
内窥镜方案OV426+OV6946(DVP接口)
OV426是用于OV426医疗应用的单芯片解决方案。当OV426与OV6946结合使用时,OV6946使用内置的A/D转换器(ADC),黑电平校准(BLC),AEC / AGC和最终的数字视频并行功能提供集成的模数数据转换 输出(DVP)。
OV426提供了一个标准的SCCB接口以与系统通信并操纵上述功能.OV426在运行期间,通过预定义的通信协议通过ADC同步OV6946的模拟输出。 然后,生成的数字信号将由数字信号处理器(DSP)处理。 最后,标准DVP输出被发送出去。
摄像头传入的模拟信号

单芯片方案模数转换
接入之后,需要模数转化,芯片为OV00426:

查看OV426芯片文档:

Sensor的DVP接口
DVP(Digital Video Port)接口是一种数字视频接口标准,旨在传输和接收数字视频数据。它是一种相对简单和经济实惠的接口,广泛应用于低成本摄像头和一些消费电子产品中。DVP接口通常使用多个并行数据线来传输视频和控制信号,其中每个线路都负责传输特定的数据位。这种并行传输的方式可以实现较高的带宽和较低的延迟,适用于对实时性要求较高的应用场景。
DVP(Digital Video Port)是传统的sensor 输出接口,采用并行输出方式,数据位宽有 8bit、10bit、12bit、16bit 等。


DVP接口和MIPI接口区别
尺寸不同
mipi接口是一种面向移动设备的高速串行接口标准,物理尺寸更小。相对于dvp接口,mipi接口采用了串行传输的方式,通过少量的数据线来传输视频和控制信号。这种串行传输方式大大减少了线缆的数量和复杂性,有助于提高设备的可靠性和减小尺寸。
电气特性和协议有区别
dvp接口使用的是LVDS(Low Voltage Differential Signaling)电气接口标准,而mipi接口则采用了更先进的低电压差分信号传输技术。这种差分信号传输技术可以有效地减少信号干扰和功耗,并提高数据传输的可靠性和稳定性。此外,mipi接口还支持更多的数据格式和功能,例如物理层扩展、图像信号处理和摄像头控制命令等。
应用场景
dvp接口通常被用于一些低成本和相对简单的应用场景,例如一些传统的监控系统、低分辨率摄像头和一些老旧的消费电子产品中。由于其成本较低,dvp接口在一些价格敏感的市场上得到了广泛应用。
mipi接口则在高性能和高分辨率摄像头领域中得到了广泛的采用。智能手机是一个典型的例子,由于mipi接口具有较小的尺寸、较高的带宽和较低的功耗,它可以满足手机摄像头对于小尺寸、高画质和高帧率的要求。此外,mipi接口还支持一些高级功能,例如相位对焦、HDR(High Dynamic Range)和实时视频传输等。
电源线
dvp接口通常需要使用更多的电源和地线来支持高速数据传输。这使得dvp接口的设计更为复杂,并且需要更多的空间来布线。相比之下,mipi接口的设计更为简单,并且可以使用较少的电源和地线来支持高速数据传输。
总结
RK3568芯片自带的是MIPI-CSI接口,若想尝试OV6946等相关方案,则需要搭配DVP转MIPI-CSI信号转换器,单独这个转换器涉及到高速模拟信号转换又是一大块,水挺深的。
硬件开发笔记(十六):RK3568底板电路mipi摄像头接口原理图分析、mipi摄像头详解的更多相关文章
- 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...
- Qt开发技术:Q3D图表开发笔记(一):Q3DScatter三维散点图介绍、Demo以及代码详解
前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的. 其中就包括华丽绚烂的三维图表,数据量不大的时候是可 ...
- ArcGIS API for javascript开发笔记(四)——GP服务调用之GP模型的规范化制作详解
感谢一路走来默默陪伴和支持的你~~~ -------------------欢迎来访,拒绝转载------------------- 在之前的利用Python分析GP服务运行结果的输出路径 & ...
- OpenCV开发笔记(六十四):红胖子8分钟带你深入了解SURF特征点(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- OpenCV开发笔记(六十九):红胖子8分钟带你使用传统方法识别已知物体(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- S3C2416裸机开发系列十六_sd卡驱动实现
S3C2416裸机开发系列十六 sd卡驱动实现 象棋小子 1048272975 SD卡(Secure Digital Memory Card)具有体积小.容量大.传输数据快.可插拔.安全性好等长 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- Django笔记十六之aggregate聚合操作
本文首发于微信公众号:Hunter后端 原文链接:Django笔记十六之aggregate聚合操作 这一篇笔记介绍一下关于聚合的操作,aggregate. 常用的聚合操作比如有平均数,总数,最大值,最 ...
- iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解
iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件.如iOS回顾笔记(02)中的"书" ...
随机推荐
- [转帖]Linux—解压缩命令总结(tar/zip)
https://www.jianshu.com/p/1ad5d852d13b 1 tar 1.2 tar介绍 tar命令是linux系统中对文件和目录解压缩命令.tar命令可以用于对后缀名为.ta ...
- [转帖]kvm web管理 webvirtmgr
https://www.jianshu.com/p/8fd2ddadebe9 reference https://blog.csdn.net/yangshihuz/article/details/10 ...
- [转帖]【JVM】JDK命令行工具
在JDK/bin目录下我发现了许多命令行工具 这些命令有哪些作用呢,接下来我就来详细介绍一下 常用JDK命令行工具 命令名称 全称 用途 jstat JVM Statistics Monitoring ...
- [转帖] Linux命令拾遗-文本处理篇
https://www.cnblogs.com/codelogs/p/16060413.html 简介# 这是Linux命令拾遗系列的第二篇,本篇主要介绍Linux中与文本处理相关的命令,如xargs ...
- 文心一言 VS 讯飞星火 VS chatgpt (186)-- 算法导论14.1 3题
三.用go语言,写出OS-SELECT的非递归版本. 文心一言: 下面是使用Go语言编写的OS-SELECT的非递归版本: func OS_SELECT(T *Node, k int) *Node { ...
- js循环之map在工作中的使用
map函数会返回一个全新的数组哈(重要 在实际中很有用) map循环空那个数组时,不会报错的. 使用map的优势 可以返回一个全新的数组 可以用于过滤 ps==>:map里面不要有判断,否者会返 ...
- Leetcode 92题反转链表 II(Reverse Linked List II) Java语言求解
前言 反转链表可以先看我这篇文章: Leetcode 206题 反转链表(Reverse Linked List)Java语言求解 题目链接 https://leetcode-cn.com/probl ...
- 手撕Vuex-添加全局$store
经过上一篇的介绍,了解到了 Vuex 的实现本质就是一个插件,所以要做的事情就是实现这个插件的代码编写即可. 本篇文章主要是实现一个全局的 $store,这个 $store 是挂载在 Vue 的原型上 ...
- 深入浅出Java多线程(二):Java多线程类和接口
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第二篇内容:Java多线程类和接口.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代计算机系统中,多线程 ...
- 深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介.DeepLabV3深入解读创新点.训练策略.主要贡献 0.DeepLabV3深入解读 1.DeepLab系列简介 1.1.Dee ...