Linux Camera驱动开发(fpga vs soc)

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

不管是mipi camera,还是dvp camera,都可以通过fpga芯片,或者是soc芯片对它们进行数据处理。实际处理过程当中,两者有很多的相似点,也有很多的不同点。今天,正好有机会可以讨论下。

1、支持camera数量不同

对于fpga而言,支持的camera数量取决于内部资源的数量。最典型的fpga开发板,就是几个camera sensor接口,一个ddr,一个hdmi输出接口。如果本身fpga内部资源比较多,那么支持的camera数量就会多一点,反之则少一点。而soc支持的camera数量是固定的,少则一个都没有,多则3、4个,7、8个都是有可能的。

2、isp支持不同

fpga内部没有isp。一般fpga通过i2c ip和csi2 & mipi dphy ip接入camera获取数据之后,就可以开始处理camera数据了。但是fpga内部是没有固化isp ip的,一般需要自己写,或者使用开源ip解决。大部分soc,除了低端的soc,大部分都有自带isp的,至少有一个入门的isp。这也是fpga和soc很大的一个区别。

因此,如果不想使用isp,fpga在选择camera sensor的时候,可以优先挑选一些带isp的sensor。不过这样做有利有弊,有利的一点就是fpga不再需要isp处理了,不好的一点就是sensor的选择面少了很多。

3、实时性不同

大多数使用fpga的场合,都是看中了fpga实时性高、低延时的特点。信号从camera拿到之后,经过电路的实时处理之后,投射到hdmi,这中间的过程是非常高效的。但是一般的soc,从camera到isp、video out,这中间除非厂家提供了完善的硬件加速机制,如果只是靠纯软件来处理camera数据,一般来说,处理流程都是很慢的,至少都是几百ms级别。所以,哪怕是soc,我们在处理camera数据的时候都要尽可能复用硬件加速机制,尽可能减少软件的参与。

4、功能不同

如果只是采样、显示、保存图片,那么fpga有很大的优势。这中间,如果还有一些自定义算法,需要硬件加速完成,那更是fpga的强项所在。但是,实际应用中我们除了图片采样之外,还需要对视频进行h264编解码处理、进行npu处理,这些都是fpga本身所不具备的。不仅如此,现在很多设备都需要tcp/ip联网处理,这对soc来说很容易实现。但是fpga要想联网,做起来就没有那么方便了。

5、成本不同

一般的soc+ddr成本不是很高,少则几十元,多则几百元。而fpga处理,一般都不便宜。好一点的fpga,都要数百元起步。不仅如此,fpga开发人员少,一般不太好招聘,而soc的软件开发,相比较而言,这方面的人才要好找的多。

6、两者复用的方式

鉴于fpga和soc的特点,对于特殊的一些场合,我们都是习惯于fpga、soc、fpga+soc这样分开来使用。如果客户对延时要求很高,同时对成本不敏感,可以直接用fpga实现。反之,客户希望实现的功能比较多,对延时、自定义算法有一定容忍度,这个时候使用soc是最好的。最后,如果客户是那种既要、又要、还要的类型,对成本不是特别敏感的话,这种场合可以camera sensor先接入fpga开发板,再接入soc,这也是可以的。至于fpga和soc通信的接口,可以是csi2 tx/rx,也可以是pcie,这个根据不同的soc灵活做出选择。

**对于成本要求特别严格的场合,这种情况下只能用mcu+dvp接口的形式来解决了。**选择的camera sensor只能是一些低价的、带isp的sensor,只有这样才能满足低成本的要求。

相关推荐
abc light25 分钟前
ARM 裸机开发(6)——时钟树与定时器
arm开发·单片机·fpga开发
1560820721915 小时前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot17 小时前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長18 小时前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟18 小时前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav19 小时前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
AI模型调用笔记21 小时前
Copilot Fusion:用 Python 跑通模型级联
人工智能·驱动开发·语言模型·copilot
szxinmai主板定制专家1 天前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡1 天前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
路上有只喵1 天前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇5
单片机·嵌入式硬件·fpga开发