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一样,没有任何区别。

相关推荐
ALINX技术博客14 小时前
【202601芯动态】全球 FPGA 异构热潮,ALINX 高性能异构新品预告
人工智能·fpga开发·gpu算力·fpga
JJRainbow21 小时前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
s9123601011 天前
FPGA眼图
fpga开发
北京青翼科技1 天前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
minglie11 天前
verilog信号命名规范
fpga开发
XINVRY-FPGA1 天前
中阶FPGA效能红线重新划定! AMD第2代Kintex UltraScale+登场,记忆体频宽跃升5倍
嵌入式硬件·fpga开发·硬件工程·dsp开发·fpga
南檐巷上学1 天前
基于FPGA的音频信号监测识别系统
fpga开发·音频·verilog·fpga·傅立叶分析·fft·快速傅里叶变换
Aaron15882 天前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
碎碎思2 天前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发