Camera接口(一)

Camera接口分类

Camera接口实在多种多样,总的来说分为两大类:Parallel(并口)、Serial(串口)以及USB口,两种大类下面又分为很多子类,类似于软件中提到Class 和SubClass。下面就是干货部分。

Parallel–并口

并口一般称DVP接口(Digital Video Port),就是将图像信号按照8bit ,12bit等数据格式,在并行时钟的作用下,一次性传输8位或者12位,这种方式最大的特点就是需要的数据线较多,并行时钟PCLK极限约在96MHZ左右,且走线长度不能过长,所以DVP的最大速率最好控制在72M以下。
DVP接口
上图就是DVP的接线图,可以看到数据线包含D0~D11 12根,时钟包含HREF,VSYNC,RST等信号脚。

Serial–串口

串口可以理解为将数据排队传输,serial主要分为以下几种
MIPI接口:移动产业处理器接口(Mobile Industry Processor Interface:简称MIPI )1对时钟线,1~4 lane对数据线,单lane最高的传输速率可以达到270Mbps,且都是差分走线,有比较强的抗干扰性。这种接口多用于手机接口,一些监控用的CMOS如SONY IMX185,OV5640等传感器接口;
MPI接线图
上图是MIPI接口的接线方式,可以看到数据和时钟都是差分对。

LVDS接口:(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术,这种传输技术可以达到155Mbps以上,LVDS技术的核心是采用极低的电压摆幅高速差动传输数据,是一种电流传输方式。在进行PCB设计时,需要主要控制走线阻抗为100欧姆。
LVDS接口
上图是LVDS接口的原理图,一般都是在LVDS接收终端,两条线之间加个100欧姆的匹配电阻。

Sub-LVDS接口:Sub-LVDS是LVDS的发展,采用低摆幅电流模式传输系统,同传统的电压模式相比较,在达到几乎相同的性能水平时,由于有比传统模式更好的抗电源噪声能力,它可以在噪声容限低得多,而且摆幅也低得多的情况下工作。
(PS:没有找到Sub-LVDS的原理图,比较尴尬哦!)

USB口

我们先介绍一下UVC是什么,UVC全称 USB video class或者USB device class,是Microsoft 与另外几家设备厂联合推出的USB视频捕获设备定义的协议标准,目前已经成为USB org标准之一。如今的主流操作系统(win XP,linux 2.4.6 and Macos 10.5以及相关的最新版本都支持)都已经提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何驱动程序下就可以在主机中正常使用。
USB摄像头成熟方案
还有一些接口如HiSpi,(HiSpi,High-Speed Pixel Interface,高速像素接口),这种是Aptina 推出了一款高速串行接口,称为HiSPi。 HiSPi接口可在1到4个通道工作,传输串行数据,外加一条时钟线。每个信号都是差分的,运行速度高达700 Mbps,现在Aptina已经被ONSEMI收购,这种接口只有ON的RGB传感器具备,但是市面上的大部分图像处理器都可以兼容这个接口。
还有一些camera接口,后续会再追加到本文中。

希望以上总结能够帮助到需要的朋友,如有问题,欢迎指出讨论。

Table of Contents 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Changes Relative to the Previous Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 HiSPi Physical Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Basic Protocol Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4.1 Packetized-SP Mode Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4.2 Streaming Mode Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4.3 ActiveStart-SP8 Mode Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Syntax Element Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1 Protocol Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Sync Codes (SO*/EO*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 SP Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Streaming-S Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 ActiveStart-SP8 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Filler Code (FLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Active Image Line (AIL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Checksum (CRC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6 Idle Period (IDL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Protocol Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4 Receiver Sync Code Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1 Packetized- and Streaming-SP Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2 Streaming-S Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.1 Four (or Eight) Active Data Lanes Per PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.2 Two Active Data Lanes Per PHY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.3 One Active Data Lane Per PHY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 ActiveStart-SP8 Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
### FPGA Sub-LVDS接口使用教程 #### 接口概述 Sub-LVDS(低压差分信号)是种用于高速数据传输的技术,在FPGA应用中广泛应用于视频和图像处理领域。这种技术通过对差分线路来传送每位的数据,具有抗干扰能力强、功耗低等特点。 #### 设计流程配置要点 对于基于XC7K325TFFG676-2这样的器件进行Sub-LVDS的设计时,需注意以下几点: - **硬件准备**:确保所使用的开发板具备支持Sub-LVDS输入/输出功能的物理连接器,并确认其电气特性满足标准要求[^1]。 - **软件工具**:建议使用Vivado 2019.1作为主要IDE来进行项目创建、综合及时序分析等工作。如果遇到不同版本之间的兼容性问题,则应按照官方文档指导调整设置参数以适应目标平台的需求。 #### Verilog代码实例 下面给出段简单的Verilog模块示例,展示了如何利用内部逻辑生成符合Sub-LVDS电平规格的数据流并将其发送出去: ```verilog module sub_lvds_tx #( parameter DATA_WIDTH = 8, CLK_FREQ_MHZ = 100 )( input wire clk, // System clock input wire rst_n, // Active low reset input wire [DATA_WIDTH-1:0] data_in,// Data to be transmitted over LVDS link output reg lvds_p, // Positive differential signal of the LVDS pair output reg lvds_n // Negative differential signal of the LVDS pair ); always @(posedge clk or negedge rst_n) begin : proc_sublvds_out if (!rst_n) {lvds_p, lvds_n} <= 2'b0; else case (data_in[DATA_WIDTH-1]) 1'b0 : {lvds_p, lvds_n} <= 2'b01; // Low level on positive side default: {lvds_p, lvds_n} <= 2'b10; // High level on positive side endcase end // Add your own timing constraints here... endmodule ``` 此段代码仅作为个基础框架供参考,实际应用还需根据具体的协议定义以及接收端的要求做进步优化和完善。 #### 常见问题解答 当面对Sub-LVDS接口相关的挑战时,可能会碰到些典型的问题及其对应的解决办法如下所示: - **同步丢失**:检查双方设备间是否存在足够的握手机制来维持稳定的帧率;必要时可引入额外的状态机控制状态转换过程[^2]。 - **噪声过大影响质量**:审查布线布局是否合理,尽量缩短走线长度减少反射效应;同时考虑增加终端匹配电阻改善阻抗匹配状况[^3]。 - **无法识别特定模式下的像素格式**:查阅资料手册核实当前设定能否覆盖所需色彩空间范围;适当调节PLL倍频系数使得采样频率更加贴近理想值[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值