Linux camera驱动开发(特殊的cpu+fpga芯片)

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

在soc前面添加一个fpga开发板,专门用来对接sensor。然后再用fpga对接soc,这不是一个新鲜的做法。只是现在有一种soc,它内部本身就集成了fpga,这样fpga和soc里的cpu本身就可以直接通过总线直接沟通,非常方便。

1、集成fpga+cpu的优势

**fpga和cpu集成到一个die里面,最主要的优势,就是总线通信速度快、方便。**如果没有总线的集成,那么fpga和soc大体上只能通过类似mipi csi2 rx/tx这样的接口进行通信。如果是简单的应用,fpga拿到图像之后就可以直接送给lcd/hdmi,非常方便,soc的cpu部分做一些简单的配置即可。

复制代码
https://ax7010-20231-v101.readthedocs.io/zh-cn/latest/7010_S2_RSTdocument_CN/22_OV5640%E6%91%84%E5%83%8F%E5%A4%B4%E7%9A%84%E9%87%87%E9%9B%86%E6%98%BE%E7%A4%BA%E4%B8%80_CN.html

2、集成fpga+cpu的缺点

相比较分离式的fpga、soc,如果两颗die集成在一起,本身的soc的选项要少不少。因为假设是分离式的模式,fpga可以任意选择,soc也可以任意选择。但如果是集成在一起,不管是国产品牌,还是外资品牌,选择的面要少很多。

另外,从价格方面来说,一般集成fpga+soc的芯片要贵不少,尤其是fpga资源比较多的soc,这方面表现得特别明显。此外,为了尽量减少芯片面积,提高性价比,很多soc会阉割掉很多soc功能,比如说isp、编码、解码、npu,这样一来处理就不是很方便。

3、优先dvp接口处理

一开始用fpga处理sensor的时候,不妨用dvp的形式进行处理。dvp相比较mipi,物理意义比较明确,配置相对简单不少。等到可以独立设置dvp接口的时候,再转到mipi,也是可以的。

4、没有isp如何处理

前面讨论到,很多集成fpga的soc内部是没有isp的,这种情况下就可以用这两种方法处理。一种是,前期选择sensor的时候,就尽量选择带isp的sensor,这样后期数据处理的时候,就不再需要isp追加处理了。另外一种,就是可以考虑用来处理一些不需要isp处理的场合,比如带全局快门的工业相机,这样哪怕没有isp,也不是很大的缺点。

5、多摄像头处理

fpga相比较cpu,除了延迟低,速度快之外,另外一个优点,就是它可以支持多摄像头处理,数量上没有限制。在工业场景里面用的比较多的双目摄像头,就是其中很明显的一个代表。本身这类集成fpga的芯片,cpu性能就不是很高。这个时候就可以通过对接多个sensor,直接网络送出去的形式来处理。因为这样一来,不仅速度快,还可以有效解决cpu效率低的问题,把芯片当成是一个放大版的多sensor处理器即可。

复制代码
https://ax7010-20231-v101.readthedocs.io/zh-cn/latest/7010_S2_RSTdocument_CN/23_OV5640%E6%91%84%E5%83%8F%E5%A4%B4%E7%9A%84%E9%87%87%E9%9B%86%E6%98%BE%E7%A4%BA%E4%BA%8C_CN.html

6、自定义算法加速

和分离式fpga一样,集成式的架构也可以做一些算法的加速。**由于本身就集成了cpu,因此一旦发现效率不ok,就可以把算法快速迁移到fpga侧来完成,重新搭建一下框图即可。**整个过程要比分离式的结构,容易、便捷很多。对于图像这类应用,能迁移到fpga,就尽量用fpga处理,cpu本身对算法做一些补充即可,这是我们喜欢用fpga处理图像的根本原因。

相关推荐
Terasic友晶科技3 小时前
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
fpga开发·de23-lite·terasic·qspi flash
zhangfeng11337 小时前
CodeBuddy 是否支持 SDD(Spec-Driven Development 规范驱动开发
人工智能·驱动开发
国科安芯10 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
AomanHao11 小时前
【阅读笔记】彩色转黑白Real-time Contrast Preserving Decolorization
图像处理·isp
LateFrames11 小时前
CT(DCM)外轮廓实时识别 → 逐层拼3D → 导出STL到Blender
图像处理·3d·可视化·医疗·ct重建
dok1211 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (11)kmalloc 动态内存分配和struct file中的私有数据
linux·驱动开发·算法
国科安芯11 小时前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片
郝旭帅电子设计团队1 天前
图像处理是什么
图像处理·fpga开发·郝旭帅电子设计团队·郝旭帅
sukalot1 天前
windows网络适配器驱动开发-WiFiCx QoS R1 技术(一)
驱动开发
ARM|X86+FPGA工业主板厂家1 天前
基于ARM+FPGA平台在精密测控领域的应用:8路同步IEPE振动采集系统
arm开发·fpga开发