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技术博客18 小时前
【期刊共读】如何应对 FPGA 短缺常态?
嵌入式硬件·fpga开发·fpga
1560820721921 小时前
短波接收机灵敏度测试
fpga开发
Riwuarua1 天前
从近似0基础开始FPGA开发 -- part.6 逻辑设计与状态机
fpga开发
LCG元1 天前
【实战】Vivado FPGA 从零实现 UART 串口收发:波特率生成、状态机设计与仿真调试
fpga开发
郭郭的柳柳在学FPGA1 天前
紫光DDR3工程仿真遇到的坑
fpga开发
国科安芯2 天前
ASC8T245S:把 8 位并行总线稳稳“跨过“电压域的双电源收发器
网络·分布式·单片机·嵌入式硬件·fpga开发·架构
HUSTCH20212 天前
DW IP详解
fpga开发
明德扬2 天前
Xilinx下载文件里的BIT、BIN、MCS有什么区别?先分清JTAG配置和Flash启动
fpga开发·fpga
IT信息时代2 天前
FPGA技术未来竞争发展出路
fpga开发
昆山森启智能科技有限公司2 天前
FPGA控制器
fpga开发