Linux camera驱动开发(串行和解串)

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

目前的camera大部分都是数字camera,而且是cmos camera。这也是用的最多的一种camera。camera的接口以mipi为主。这种接口的好处就是数据传输快,camera分辨率高、帧率高。但是缺点也是很明显的,那就是传不远,一般就是十几cm到几十cm。这样对于一些特定的场合,就不是很方便了,比如说汽车和医疗。这种情况下就出现了串行芯片和解串芯片,专门应用于这种长距离传输的场景。

1、串行芯片

串行芯片就是截图中的ser,它收到i2c信号和mipi信号后,通过link发送出去。实际应用中,sensor和ser一般是放在一起的。基本上,有一个sensor芯片,后面就会接一个ser芯片。换句话说,sensor和ser的关系,就是1:1的关系。

2、解串芯片

解串芯片是和ser对应的芯片,它把ser发送过来的信号还原成最初的i2c信号和mipi信号。虽然上面的解串芯片des,只连接了一个ser。然而实际场景中,存在多对一的情况。也就是说des的左侧可能有多个sensor+ser,而右侧则依次把这些信号转成一组组i2c+mipi,发送给soc。比如汽车行业里面,最为广泛的应用,就是360环视。既然是环视,那么就需要四个camera。

3、配置方法

对解串芯片的配置,就是直接配置i2c。而对sensor和ser的配置,则是把解串芯片配置为透传模式,这样借助于不同的i2c id,就可以对ser和sensor进行配置。整个配置都ok之后,soc对sensor的配置就和之前直连的时候一模一样,就像一切都没有发生过一样。

4、类比于光通信传输

传统的网络传输一般都是网线直连,比如说电脑和开发板之间进行网络直连。但是有一些保密单位,他们内部是没有办法进行wifi无线部署的,因为这中间很容易出现泄密的情况。然而实际作业生产中,很多的机器人设备、AGV设备、搬运设备,是没有办法连着网线去工作的,这个时候就出现了光通讯设备。

所谓的光通讯设备也分成发射部分和接收部分,发射端就是把网络信号转成光信号。而接收端则是把光信号转成网络信号。实际应用的时候,设备端都是双向通信的,并且只有两个设备互相对着的时候,才能进行双向通信。今天学习的串行和解串也类似于这种情况。

5、其他行业

除了在汽车领域,它在医疗领域也出现得也越来越多。比如医疗内窥镜,由于大小的限制,很多的cmos sensor,内部都集成了ser接口。这样一来内窥镜就可以做的非常小,后端的处理只需要一个des+mcu,或者是des+soc即可。整理的处理流程,和汽车领域的ser/des其实是非常类似的。

相关推荐
小小程序员mono16 小时前
CI 早已消亡,GitHub 还在固守旧时代
驱动开发
可以飞的话19 小时前
图像格式基础
驱动开发
大江东去浪淘尽千古风流人物4 天前
【Micro-WL Robot】桌面级轮腿机器人全栈解析:LQR平衡控制、SimpleFOC驱动与五连杆腿部机构源码深度拆解
驱动开发·机器人·esp32·lqr·simplefoc·轮腿机器人·平衡控制
咖啡星人k5 天前
自然语言驱动开发(NLDD):全栈开发的新范式与实践指南
驱动开发
阿昭L5 天前
Windows键盘过滤
windows·驱动开发·windows内核·过滤驱动
hai3152475436 天前
# 矩阵算法·算子对齐工具 v6.1 — 技术规格与使用手册
java·开发语言·驱动开发·神经网络·spring·目标检测·矩阵
qq_411262426 天前
sdk不支持分配psarm如何办,能不能象S3一样支持
驱动开发
湉湉家的小虎子7 天前
【科普贴】浅谈UFS接口——偏硬件解析
驱动开发·嵌入式硬件·fpga开发·硬件工程
枳实-叶8 天前
【Linux驱动开发】第18天:I2C驱动深度解析
linux·运维·驱动开发
小此方8 天前
Re:Linux系统篇(二十五)进程篇·十:深度硬核!Linux 进程等待,从 task_struct 源码到位图状态解构
linux·运维·驱动开发