您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > CameraLink图像采集接口电路1(2)详解
CameraLink图像采集接口电路1.CameraLink标准概述CameraLink技术标准是基于NationalSemiconductor公司的ChannelLink标准发展而来的,而ChannelLink标准是一种多路并行LVDS传输接口标准。低压差分信号(LVDS)是一种低摆幅的差分信号技术,电压摆幅在350mV左右,具有扰动小,跳变速率快的特点,在无失传输介质里的理论最大传输速率在1.923Gbps。90年代美国国家半导体公司(NationalSemiconductor)为了找到平板显示技术的解决方案,开发了基于LVDS物理层平台的ChannelLink技术。此技术一诞生就被进行了扩展,用来作为新的通用视频数据传输技术使用。如图1所示,ChannelLink由一个并转串信号发送驱动器和一个串转并信号接收器组成,其最高数据传输速率可达2.38G。数据发送器含有28位的单端并行信号和1个单端时钟信号,将28位CMOS/TTL信号串行化处理后分成4路LVDS数据流,其4路串行数据流和1路发送LVDS时钟流在5路LVDS差分对中传输。接收器接收从4路LVDS数据流和1路LVDS时钟流中把传来的数据和时钟信号恢复成28位的CMOS/TTL并行数据和与其相对应的同步时钟信号。图1cameralink接口电路2.ChannelLink标准的端口和端口分配2.1.端口定义一个端口定义为一个8位的字,在这个8位的字中,最低的1位(LSB)是bit0,最高的1位(MSB)是bit7。CameraLink标准使用8个端口,即端口A至端口H。2.2.端口分配在基本配置模式中,端口A、B和C被分配到唯一的CameraLink驱动器/接收器对上;在中级配置模式中,端口D、E和F被分配到第二个驱动器/接收器对上;在完整配置模式中,端口A、B和C被分配到第一个驱动器/接收器对上,端口D、E和F被分配到第二个驱动器/接收器对上,端口G和H被分配到第三个驱动器/接收器对上(见图2)。表1给出了三种配置的端口分配,CameraLink芯片及连接器的使用数量情况。表13种配置模式的端口分配配置模式端口芯片数量连接器数量基本A,B,C11中级A,B,C,D,E,F22完整A,B,C,D,E,F,G,H32每一个CameraLink驱动器都有标注着从TX0至TX27的28个数据输入引脚,相应的接收器有标注着从RX0至RX27的28个数据输出引脚。2.3.端口的位分配从表2中我们可以看出在3种CameraLink配置模式中,图像数据位是怎样分配到端口的。这种位分配方式已经被应用于市场上最流行的相机上了。表2CameraLink接口的端口分配驱动器输入信号对应芯片引脚StrobeTxCLKOut/TxCLKInLVALTX/RX24FVALTX/RX25DVALTX/RX26SpareTX/RX23PortA0,PortD0,PortG0TX/RX0PortA1,PortD1,PortG1TX/RX1PortA2,PortD2,PortG2TX/RX32PortA3,PortD3,PortG3TX/RX3PortA4,PortD4,PortG4TX/RX4PortA5,PortD5,PortG5TX/RX6PortA6,PortD6,PortG6TX/RX27PortA7,PortD7,PortG7TX/RX5PortB0,PortE0,PortH0TX/RX7PortB1,PortE1,PortH1TX/RX8PortB2,PortE2,PortH2TX/RX9PortB3,PortE3,PortH3TX/RX12PortB4,PortE4,PortH4TX/RX13PortB5,PortE5,PortH5TX/RX14PortB6,PortE6,PortH6TX/RX10PortB7,PortE7,PortH7TX/RX11PortC0,PortF0TX/RX15PortC1,PortF1TX/RX18PortC2,PortF2TX/RX19PortC3,PortF3TX/RX20PortC4,PortF4TX/RX21PortC5,PortF5TX/RX22PortC6,PortF6TX/RX16PortC7,PortF7TX/RX17如果只用端口D和G,那么它们与器件的连接方法与端口A相同。同样,如果使用端口E和H,它们与器件连接方法同端口B的相同,端口F的与端口C的相同。如果相机在每个周期内仅输出1个像素,那么就使用分配给像素A的端口;如果相机在每个周期内输入2个像素,那么使用分配像素A和像素B的端口;如果在每个周期内输出3个像素,那么使用分配给像素A、B和C的端口;依次类推至相机每周期输出8个像素,那么分配给A~H的8个端口都将被使用。3.图像采集接口电路的具体实现对于XX可见光相机时序控制FPGA软件测试设备技术项目,仿真fpga将处理完的cmos数据保存到ddr2中,根据V4传给V5的24组I2C数据,确定将要片面读取DDR2中处理好的CMOS图像的片面地址,然后将所要选取的cmos图像数据从ddr2中读取出来,并且通过5路cameralink显示出来;对于XX可见光信号处理FPGA软件测试设备技术项目,因为tlk2711的处理频率为100mhz,而DS90CR287的主要工作频率为85mhz,所以经过V4处理过的5路图像数据先要保存进ddr2,然后再通过缓存将图像读出来并通过cameralink显示出来,从上面可以看出,两个项目的cameralink接口是相似的,都是从ddr2的控制器mig软核的用户端写入地址,然后在时钟使能的驱动下,将图像数据读取出来,然后通过cameralink接口传至上位机进行显示,因为DS90CR287的输入数据位为28位,而DDR2的数据位为64位,所以需要设计一个数据读取及分发模块以及一个cameralink数据缓冲输出模块,具体软件流程框图如图3:cameralink数据缓冲输出数据读取及分发模块cameralink数据缓冲输出模块1cameralink数据缓冲输出模块2cameralink数据缓冲输出模块4cameralink数据缓冲输出模块3第1路cameralink输出第2路cameralink输出Cpsl_CamclkA_i…Cpsl_CamclkD_iDDR2控制器(MIG)用户接口帧行同步产生模块Cpsl_DdrClk_iCpsl_CamStart_iCpsl_Reset_in第4路cameralink输出第3路cameralink输出图1cameralink图像采集软件流程框图当数据从cameralink数据缓冲模块输出后进入DS90CR287,然后28位数据在时钟的控制下变为4路LVDS信号,然后再通过DS90CR288输出变为28位的CMOS数据,传至cameralink图像采集卡,最后通过图像采集卡传至上位机,其cameralink硬件流程框图如图2所示:Cameralink数据缓冲单元DS90CR287Lvds_data_1Lvds_data_2Lvds_data_3Data_a_[7:0]Data_b_[7:0]Data_c_[7;0]FvalDvalLvalSpareDS90CR288Lvds_data_4Lvds_clockCameralink图像采集卡Data_out上位机Transmit_clock_inData_a_out_[7:0]Data_b_out_[7:0]Data_c_out_[7;0]FvalDvalLvalReceive_clock图2cameralink图像采集硬件流程框图28位数据信号中包括三个数据端口:A口(8位)即data_a_[7;0]、B口(8位)即data_b_[7;0]、C口(8位)即data_c_[7;0],和四个控制信号FVAL(帧有效)、DVAL(数据有效)、LVAL(行有效)、SPARE(空,暂时未用),另外DS90CR287还有一个85mhz时钟输入,经过CameraLink芯片转换后的时钟信号是整个cameralink图像采集电路的同步驱动信号,数据控制信号都和该时钟信号同步,其时序图如图3所示:图3DS90CR287的工作时序图各端口的配置和信号类型如下表;端口名端口类型信号类型描述来源/去向Cpsv_Cameralink_out_1输出STD_LOGIC_VECTOR(6DOWNTO0)Cameralink数据缓冲输出信号1Cameralink数据读取及缓冲模块Cpsv_Cameralink_out_2输出STD_LOGIC_VECTOR(6DOWNTO0)Cameralink数据缓冲输出信号2Cpsv_Cameralink_out_3输出STD_LOGIC_VECTOR(6DOWNTO0)Cameralink数据缓冲输出信号3Cpsv_Cameralink_out_4输出STD_LOGIC_VECTOR(6DOWNTO0)Cameralink数据缓冲输出信号4Cpsl_cameralink1_pclk_i…Cpsl_cameralink4_pclk_i输入STD_LOGIC数据读取及缓冲模块的时钟Cpsv_Data_a_[7:0]输入STD_LOGIC_VECTOR(7DOWNTO0)DS90CR287的输入数据aDS90CR287模块Cpsv_Data_b_[7:0]输入STD_LOGIC_VECTOR(7DOWNTO0)DS90CR287的输入数据bCpsv_Data_c_[7:0]输入STD_LOGIC_VECTOR(7DOWNTO0)DS90CR287的输入数据cCpsl_Fval输入STD_LOGIC帧有效Cpsl_Dval输入STD_LOGIC数据有效Cpsl_Lval输入STD_LOGIC行有效Cpsl_Spare输入STD_LOGIC空信号,暂时未用Cpsl_Transmit_clock_in输入STD_LOGIC输入DS90CR287的时钟Cpsl_Lvds_data_1输出STD_LOGIC输出的低压差分信号1端口名端口类型信号类型描述来源/去向Cpsl_Lvds_data_2输出STD_LOGIC输出的低压差分信号2Cpsl_Lvds_data_3输出STD_LOGIC输出的低压差分信号3Cpsl_Lvds_data_4输出STD_LOGIC输出的低压差分信号4Cpsl_Lvds_clock输出STD_LOGIC输出的低压差分时钟信号Cpsl_Lvds_data_1输入STD_LOGIC输入的低压差分信号1DS90CR288模块Cpsl_Lvds_data_2输入STD_LOGIC输入的低压差分信号2Cpsl_Lvds_data_3输入STD_LOGIC输入的低压差分信号3Cpsl_Lvds_data_4输入STD_LOGIC输入的低压差分信号4Cpsl_Lvds_clock输入STD_LOGIC输入的低压差分时钟信号Cpsv_Data_a_out_[7:0]输出STD_LOGIC_VECTOR[7:0]DS90CR288的输出数据aCpsv_Data_b_out_[7:0]输出STD_LOGIC_VECTOR[7:0]DS90CR288的输出数据bCpsv_Data_c_out_[7:0]输出STD_LOGIC_VECTOR[7:0]DS90CR288的输出数据cCpsl_Fval输出STD_LOGIC帧有效信号Cpsl_Dval输出STD_LOGIC数据有效信号Cpsl_Lval输出STD_LOGIC行有效信号Cpsl_Receive_clock输入STD_LOGICCameralink图像采集卡的输入时钟端口名端口类型信号类型描述来源/去向Cpsl_Fval输入STD_LOGIC帧有效信号Cameralink图像采集卡模块Cpsl_Dval输入STD_LOGIC数据有效信号Cpsl_Lval输入STD_LOGIC行有效信号Cpsv_Data_a_out_[7:0]输入STD_LOGIC_
本文标题:CameraLink图像采集接口电路1(2)详解
链接地址:https://www.777doc.com/doc-5291630 .html