基于海思soc的智能产品开发(camera sensor的两种接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        对于嵌入式开发设备来说,除了图像显示,图像输入也是很重要的一部分。说到图像输入,就不得不提到camera。目前camera这部分,除了之前说过的usb camera之外,还有一种方案就是soc和camera sensor进行直连处理,而不是通过usb预处理一下。

1、usb camera的使用

        我们看到的usb camera,其实内部已经经过mipi、isp、uvc处理三个部分处理过了。mipi是连接sensor,isp是图像内部优化,uvc是usb输出。所以这个时候看到的图像,已经是处理过之后的图像。如果现场对sensor要求不高、或者没有特殊的要求、也没有特殊场景的调试需求,这种情况下是可以考虑usb camera的。但如果要求比较高,比如帧率、夜视、分辨率、大小、价格方面有自己的需求,最好是soc直接控制sensor。

2、sensor数据传输接口

        从数据传送的角度看,一般分成mipi接口和dvp接口。它们的控制接口都是i2c,这一点上没有区别。i2c主要就是给sensor进行参数设置,大小、数据格式、分辨率、帧率、曝光等等。真正数据传输还是要通过mipi或者dvp来进行。

3、mipi接口

        如果对sensor传输速度要求比较高,一般都是使用mipi传输。mipi本身采用低压、差分传输,很容易可以把速度提上去,这方面dvp是没有办法做到的。通常而言,以500万像素作为分水岭,500万以上只能用mipi,500万以下可以用mipi,也可以用dvp。

4、dvp接口

        dvp接口是另外一种常用的sensor接口。通常而言,camera sensor都会同时支持mipi接口和dvp接口。从pin脚来看,mipi引脚少一点,而dvp接口和vga接口特别像。两者都有行同步、场同步、数据时钟、数据信号。如果大家还是不太理解,可以找一些vga的资料对比着看,这样就会理解得更加深刻。

 

5、点sensor只是开始

        很多时候,我们所说把一颗sensor驱动起来,就是配置在linux上面配置好设备树,写好sensor的i2c驱动。这种驱动一般都会参考厂家的手册去进行处理。至于mipi、dvp,这些驱动soc厂家都会提前写好,我们会配置即可。因此,所谓的点sensor,主要还是编写i2c的驱动代码。

        当然写好驱动,配置好设备树,camera可以正常出图,这只是第一步,难的是isp调教、v4l2调试、uvc输出、视频编解码、ffmpeg整合、rtsp送出等等。所以说,点sensor只是第一步操作。

6、学习sensor的另外一种方法

        很多soc厂家对自己的camera驱动都讳莫如深,常常让人不知道该怎么学。这个时候,其实可以学学mcu怎么点sensor驱动的、怎么实时显示到lcd屏幕的。比如stm32 mcu,里面就集成了dcmi接口,专门可以处理sensor dvp信号。此时加上对应的iic代码、dcmi代码、dma代码和lcd代码,很快就知道是怎么回事了。

        至于isp,这部分一般的mcu是没有做的,倒是可以看看一些自带isp的sensor,上面的寄存器是如何配置的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/948677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网安入门之MySQL后端基础

数据库 (Database) 数据库是指长期存储在计算机中的,有组织、可共享的数据集合。它通过表、列、行等结构来组织数据,目的是使数据可以高效存储、检索和管理。数据库通常包括多个表,每个表存储与特定主题或对象相关的数据 数据库管理系统 (D…

概率基本概念 --- 离散型随机变量实例

条件概率&独立事件 随机变量 - 离散型随机变量 - 非离散型随机变量 连续型随机变量奇异性型随机变量 概率表示 概率分布函数概率密度函数概率质量函数全概率公式贝叶斯公式 概率计算 数学期望方差协方差 计算实例 假设有两个离散型随机变量X和Y,它们代…

w139华强北商城二手手机管理系统

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

LLM大语言模型中RAG切片阶段改进策略

切片方法的特点和示例: Token 切片 适合对 Token 数量有严格要求的场景,比如使用上下文长度较小的模型时。 示例文本: “LlamaIndex是一个强大的RAG框架。它提供了多种文档处理方式。用可以根据需选择合适的方法。” 使用Token切片(chunk…

Earth靶场

打开靶机后使用 arp-scan -l 查询靶机 ip 我们使用 nmap 进行 dns 解析 把这两条解析添加到hosts文件中去,这样我们才可以访问页面 这样网站就可以正常打开 扫描ip时候我们发现443是打开的,扫描第二个dns解析的443端口能扫描出来一个 txt 文件 dirsear…

Kafka 消费者专题

目录 消费者消费者组消费方式消费规则独立消费主题代码示例(极简)代码示例(独立消费分区) offset自动提交代码示例(自动提交)手动提交代码示例(同步)代码示例(异步&#…

重庆大学软件工程复试怎么准备?

重大软件复试相对来说不算刁钻,关键是对自己的竞赛和项目足够了解,能应对老师的提问。专业课范围广,英文文献看个人水平,难度不算大,整体只要表现得得体从容,以及充分的准备,老师不会为难你。 …

Hadoop•FinalShell连接VMware免密登录

听说这是目录哦 FinalShell连接VMware🌤️解决重连失效FinalShell的使用 免密登录⛈️能量站😚 FinalShell连接VMware🌤️ 保持虚拟机的开机状态,打开FinalShell,如果虚拟机关机或者挂起,连接就会断开。 …

List-顺序表--2

目录 1、ArrayList 2、ArrayList构造方法 3、ArrayList常见方法 4、ArrayList的遍历 5、ArrayList的扩容机制 6、ArrayList的具体使用 6.1、杨辉三角 6.2、简单的洗牌算法 1、ArrayList 在集合框架中,ArrayList 是一个普通的类,实现了 List 接口…

通过串口通信控制led灯的亮灭

初始化led灯的gpio接口控制灯的亮灭 初始化uart1串口 将gpio9和gpio10设置为复用模式进行串口通信 通过串口的输入输出函数实现串口通信控制led灯的亮灭

git知识点汇总

git init 初始化一个git仓库,后面可以加仓库名,在当前目录下创建指定名称的目录并在该目录下创建仓库,若不加则直接在当前目录下创建仓库。git仓库的三个区域:工作区(当前目录)、暂存区(.git/in…

电子电气架构 --- 中央HPC架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

让 Agent 具备语音交互能力:技术突破与应用前景(16/30)

让 Agent 具备语音交互能力:技术突破与应用前景 一、引言 在当今数字化时代,人机交互方式正经历着深刻的变革。从早期的命令行界面到图形用户界面,再到如今日益普及的语音交互,人们对于与机器沟通的便捷性和自然性有了更高的追求…

L27.【LeetCode笔记】2 的幂(五种解法)

目录 1.题目 2.自解 方法1:调用log函数 代码 提交结果 方法2:循环 提交结果 3.优解 方法3:位运算n & (n-1) 0 代码 提交结果 方法4:位运算lowbit 代码 提交结果 4.投机取巧的方法 代码 提交结果 1.题目 https://leetcode.cn/problems/power-of-two/?env…

第0章 机器人及自动驾驶SLAM定位方法全解析及入门进阶学习建议

嗨,各位同学大家好!笔者自985硕士毕业后,在机器人算法领域已经深耕 7 年多啦。这段时间里,我积累了不少宝贵经验。本专栏《机器人工程师带你从零入门SLAM》将结合下面的SLAM知识体系思维导图及多年的工作实战总结,将逐…

密码学原理技术-第十一章-Hash Functions

文章目录 总结Why we need hash functionsDigital Signature with a Hash FunctionBasic Protocol for Digital Signatures with a Hash FunctionPrincipal input–output behavior of hash functions Security propertiesThe three security requirements of hash functionsWh…

Docker 远程访问完整配置教程以及核心参数理解

Docker 远程访问完整配置教程 以下是配置 Docker 支持远程访问的完整教程,包括参数说明、配置修改、云服务器安全组设置、主机防火墙配置,以及验证远程访问的详细步骤。 1. 理解 -H fd:// 参数的作用(理解了以后容易理解后面的操作&#xff…

单元测试3.0+ @RunWith(JMockit.class)+mock+injectable+Expectations

Jmockit使用笔记_基本功能使用Tested_Injectable_Mocked_Expectations_jmockit.class-CSDN博客 静态变量直接赋值就好,没必要mock了 测试框架Jmockit集合junit使用 RunWith(JMockit.class) 写在测试案例类上的注解 Tested 在测试案例中,写在我们要测试的类上…

vue数据请求通用方案:axios的options都有哪些值

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。 在使用 Axios 发送请求时,可以通过传递一个配置对象来指定请求的各种选项。 以下是一些常用的 Axios 配置选项及其说明: 1.url: (必需)请求的 …

MySQL 08 章——聚合函数

聚合函数是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值 MySQL中,目前不能对聚合函数进行嵌套 一、聚合函数介绍 (1)AVG和SUM函数 举例:只适用于数值类型的字段(或变量…