Linux Camera驱动开发(fpga + csi rx/csi tx)

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

现实生活中,有很多的算法是soc isp没有实现的。而图像处理的时候,又需要有这些算法,并且客户也愿意承担额外的成本开支,这个时候应该怎么办呢?比较好的办法,就是在soc开发板前面加一个fpga开发板,fpga开发板的作用就是添加自己的算法,这样就可以同时兼顾fpga和soc的优点了。

1、fpga vs 软件处理

很多算法可以用fpga实现,也可以用软件实现。但是如果用软件实现的话,实时性没有办法得到保证。这种情况下,就需要把算法用fpga固化下来,这样就可以达到高实时性处理的效果。

2、fpga是否可以放在soc的后面

理论上fpga也可以放在soc的后面。但是很多的soc,它的mipi接口,只支持mipi csi rx,并不支持mipi csi tx。这样一来,如果soc后面接fpga,soc的选择面会小很多。而且相对而言,把fpga放在soc的前面有很多的好处,比如fpga可以实现sensor的透传,把自己模拟成一个成熟的sensor。这样从soc的角度来看,fpga就和一颗正常的sensor没有任何区别。

3、soc为啥一般不支持mipi csi tx

主要还是需求太少了。对于大部分场景来说,mipi输出这一部分,有dsi就已经足够了。**mipi tx的作用就是显示,mipi rx的作用就是camera sensor输入。实在找不到mipi csi tx应用的场景。**像fpga添加算法,做特定场景的加速,本质上还是非常小众的需求,因此mipi csi tx只能是fpga自己实现了。不过好在fpga公司,一般都体哦那个mipi csi tx/rx的ip,我们会使用就可以了。

4、fpga是否可以单独处理图像

如果只是显示和拍照,对图像质量要求不高,那么用fpga处理图像也是可以的,sensor挑一个ov5640这种。最坏的情况就是fpga处理完成之后,找一个小的mcu,处理一下bmp、jpeg和fs文件系统。但是一旦涉及到isp、涉及到编解码、以及网络协议处理,那么用fpga是远远不够的。这也不是fpga擅长的地方。所以,很多时候,都是默认fpga后面接一个soc,专门处理图像之外的工作。

**还有一点,现在很多的soc都默认带有npu,这也是fpga不具备的优势。**所以,很多时候,我们都是用fpga做一些算法加速,后端还是靠soc来完成。

5、i2c信号

除了上面说的mipi之外,fpga连接camera sensor、fpga连接soc,这些都需要i2c信号。因此配置的时候,sensor的id和fpga的id需要做一下区分,这样才知道配置属性的时候是怎么配置的。此外,因为涉及到fpga的配置,之前的sensor驱动代码也要稍作调整。

6、透传的fpga模块

通过前面的分析,我们就知道fpga一般位于sensor和soc之间。如果是对sensor进行配置,都是通过i2c透传到sensor里面;如果是fpga本身进行处理,那么就处理一下对应的设置。输出部分也是一样,拿到bayer图像之后,可以直接处理bayer图像,再送给soc。对于soc来讲,一切就像是接一个普通的sensor一样,没有任何区别。

相关推荐
FPGA小迷弟16 小时前
FPGA 与卫星:从星载硬件到在轨智能的完整技术解析
fpga开发·架构·fpga·1024程序员节·无线电
NamoAmitabha12816 小时前
CPU 内部结构是什么?---deepseek
fpga开发
abc light17 小时前
ARM 裸机开发(6)——时钟树与定时器
arm开发·单片机·fpga开发
156082072191 天前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot1 天前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長1 天前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟1 天前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav2 天前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
szxinmai主板定制专家2 天前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡2 天前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范