百度为什么会k网站,先做网页设计还是先弄网站,网站自动化开发,私人做网站a【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 对于嵌入式开发设备来说#xff0c;除了图像显示#xff0c;图像输入也是很重要的一部分。说到图像输入#xff0c;就不得不提到camera。目前ca…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 对于嵌入式开发设备来说除了图像显示图像输入也是很重要的一部分。说到图像输入就不得不提到camera。目前camera这部分除了之前说过的usb camera之外还有一种方案就是soc和camera sensor进行直连处理而不是通过usb预处理一下。 1、usb camera的使用 我们看到的usb camera其实内部已经经过mipi、isp、uvc处理三个部分处理过了。mipi是连接sensorisp是图像内部优化uvc是usb输出。所以这个时候看到的图像已经是处理过之后的图像。如果现场对sensor要求不高、或者没有特殊的要求、也没有特殊场景的调试需求这种情况下是可以考虑usb camera的。但如果要求比较高比如帧率、夜视、分辨率、大小、价格方面有自己的需求最好是soc直接控制sensor。 2、sensor数据传输接口 从数据传送的角度看一般分成mipi接口和dvp接口。它们的控制接口都是i2c这一点上没有区别。i2c主要就是给sensor进行参数设置大小、数据格式、分辨率、帧率、曝光等等。真正数据传输还是要通过mipi或者dvp来进行。 3、mipi接口 如果对sensor传输速度要求比较高一般都是使用mipi传输。mipi本身采用低压、差分传输很容易可以把速度提上去这方面dvp是没有办法做到的。通常而言以500万像素作为分水岭500万以上只能用mipi500万以下可以用mipi也可以用dvp。 当然mipi除了做camera数据传输还可以做屏幕显示这就是另外一个topic了。因此比较通俗的说法除了点sensor还有点屏幕这个需求。 4、dvp接口 dvp接口是另外一种常用的sensor接口。通常而言camera sensor都会同时支持mipi接口和dvp接口。从pin脚来看mipi引脚少一点而dvp接口和vga接口特别像。两者都有行同步、场同步、数据时钟、数据信号。如果大家还是不太理解可以找一些vga的资料对比着看这样就会理解得更加深刻。 很多fpga都喜欢自己写dvp接口直接驱动sensor也是这个道理。毕竟它和vga太像了。此时如果需要mipi驱动sensor的话就需要调用厂商给出的mipi ip来进行处理了。此外很多fpga的camera demo本质上就是dvp rgb lcd这种做法其实和mcu是一样的。如果要做出差别来最好还是要带上isp。 5、点sensor只是开始 很多时候我们所说把一颗sensor驱动起来就是在linux上面配置好设备树写好sensor的i2c驱动。这种驱动一般都会参考厂家的手册去进行处理。至于mipi、dvp这些驱动soc厂家都会提前写好我们会配置即可。因此所谓的点sensor主要还是编写i2c的驱动代码。 当然写好驱动配置好设备树camera可以正常出图这只是第一步难的是isp调教逆光、白平衡、宽动态等、v4l2调试、uvc输出、视频编解码、ffmpeg整合、rtsp送出等等。所以说点sensor只是第一步操作。 6、学习sensor的另外一种方法 很多soc厂家对自己的camera驱动都讳莫如深常常让人不知道该怎么学。这个时候其实可以学学mcu怎么点sensor驱动的、怎么实时显示到lcd屏幕的。比如stm32 mcu里面就集成了dcmi接口专门可以处理sensor dvp信号。此时加上对应的iic代码、dcmi代码、dma代码和lcd代码很快就知道是怎么回事了。 至于isp这部分一般的mcu是没有做的倒是可以看看一些自带isp的sensor上面的寄存器是如何配置的。