一种具有CameraLink接口的FPGA系统的制作方法

文档序号:12279542阅读:469来源:国知局
一种具有Camera Link接口的FPGA系统的制作方法与工艺

本发明涉及机器视觉技术领域,尤其涉及一种具有Camera Link接口的FPGA系统。



背景技术:

Camera Link接口是应用于机器视觉行业的工业用相机中比较常见的数据传输接口,Camera Link标准是由国家半导体实验室(National Semi conductor)提出的一种Channel Link技术标准发展而来的,该接口具有开放式的接口协议,Camera Link标准在Channel Link标准可以传输视频数字信号的基础上又多加了6对差分信号线,4对用于并行传输相机控制信号,其它2对用于相机与图像采集卡之间的串行通信,也可以用于相机与其它图像接收处理设备之间的串行通信。

工业用相机的Camera Link接口具有以下三方面功能:相机的控制信号输入、视频数据输出和串行通信通用异步收发传输器UART(Universal Asynchronous Receiver/Transmitter,UART)接口。对于具有Camera Link接口的工业用相机,在进行Camera Link接口设计时,通用的设计方案为:串行通信UART接口用专用芯片收发或者直接连接到具有UART协议的MCU等微处理器上;输入的相机控制信号具有实时驱动相机成像的功能,因此,在设计时需要直接连接到相机成像的主逻辑控制部分,电路设计中,增加了低电压差分信号LVDS(Low-Voltage Differential Signaling,LVDS)转单端的电平转换芯片,转换为逻辑部分可以识别的晶体管-晶体管逻辑电平TTL(Transistor Transistor Logic,TTL)的单端信号;视频数据输出部分的设计采用DS90系列的Channel Link协议芯片完成视频数据的并转串和协议转换。

Camera Link接口在满足上述三个功能的基础上,随着工业相机的图像分辨率的增加,为了适应不同图像数据的带宽需要,更快更稳定的传输图像数据,设置了Base、Medium、Full和全Full四种配置模式。Camera Link接口在不同的配置模式下,需要的Channel Link协议芯片的个数不同,在Full和全Full模式时需要3个Channel Link协议芯片才可以满足带宽需求,这样,在硬件电路板上会占据很多空间,对于小型化的相机设计时就会成为相机尺寸的瓶颈。另外,在Camera Link的全full模式下与Channel Link芯片相连的并行数据线由26根增加到80根,前端用于图像处理的现场可编程门阵列FPGA(Field-Programmable Gate Array,FPGA)芯片的封装尺寸会对硬件电路的尺寸设计造成压力。

为了简化FPGA芯片设计中的电路以及降低电路尺寸,使得FPGA芯片在电路设计简化的条件下依然可以实现Camera Link接口的功能,现在人们通常在FPGA芯片内部的IP核(Intellectual Property core,IP core)中配置Camera Link定制协议,该配置自动提供了28bit至4bit转换的接口,数据位宽转换比率为7:1,满足Camera Link协议要求,从而实现Camera Link接口的功能。但这种设计受具体FPGA内部IP核的Camera Link协议的限制,可移植性较差,并且较耗费锁相环PLL(Phase Locked Loop,PLL)资源。

所以,现有的具有Camera Link接口功能的FPGA系统,可移植性较差,并且较耗费PLL资源。



技术实现要素:

本发明实施例的目的在于提供一种具有Camera Link接口的FPGA系统,以解决现有的具有Camera Link接口功能的FPGA系统,可移植性较差,并且较耗费PLL资源的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明实施例提供了一种具有Camera Link接口的FPGA系统,该FPGA系统包括:锁相环PLL,用于将输入其中的预设时钟生成像素时钟和像素时钟的7倍频时钟;数据格式转换器,用于输出固定数据,以及将输入其中的28位并行数据的数据位重新排列后输出目标数据,所述固定数据设置于所述数据格式转换器中,所述目标数据的数据位顺序与Camera Link标准协议中规定的数据位顺序相同;输出并串转换装置,用于在所述像素时钟和所述像素时钟的7倍频时钟的作用下,将输入其中的所述目标数据按照7:1的数据位宽转换比率进行转换后输出差分数据,以及将输入其中的所述固定数据按照7:1的数据位宽转换比率进行转换后输出差分时钟,所述差分时钟和所述差分数据均符合Camera Link标准协议中的相应规定;所述PLL的输出端与所述输出并串转换装置的第一输入端相连接,所述数据格式转换器的输出端与所述输出并串转换装置的第二输入端相连接。

进一步,该FPGA系统的PLL上设置有第一输出端口和第二输出端口;所述第一输出端口用于输出所述像素时钟的7倍频时钟;所述第二输出端口用于输出所述像素时钟;所述第一输出端口和所述第二输出端口均与所述输出并串转换装置的第一输入端相连接;所述第二输出端口还与所述数据格式转换器的输入端相连接。

进一步,该FPGA系统的数据格式转换器上设置有5个输出端口,每个所述输出端口用于输出所述固定数据或所述目标数据中的一组7位数据;所述5个输出端口输出的数据不同。

进一步,该FPGA系统的输出并串转换装置包括:五个输出并串转换器,其中一个所述输出并串转换器用于将输入所述并串转换装置的所述固定数据转换为所述差分时钟,其余每个所述输出并串转换器用于将输入所述输出并串转换装置的所述目标数据中不同的一组7位数据转换为一个所述差分数据。

进一步,该FPGA系统还包括:设置有通用异步收发传输器UART接口的芯片。

进一步,该FPGA系统还包括:用于将输入其中的相机的控制信号转换为单端信号的低电压差分信号LVDS接口。

进一步,该FPGA系统还包括:多条差分传输线;每一个差分数据通过两条所述差分传输线输出,该两条差分传输线的间距等于一条差分传输线的线宽;两个相邻的差分数据对应的两组差分传输线中,用于传输不同差分数据的两条相邻差分传输线的间距等于两条差分传输线的线宽。

本发明的实施例提供的技术方案可以包括以下有益效果:本发明提供了一种具有Camera Link接口的FPGA系统,该FPGA系统中,设置有PLL、数据格式转换器和输出并串转换装置,其中,PLL用于将输入其中的预设时钟生成像素时钟和像素时钟的7倍频时钟,为之后生成差分时钟和差分数据提供系统所需的像素时钟和像素时钟的7倍频时钟,数据格式转换器将输入该FPGA系统的28位并行数据(例如图像数据)的数据位进行了重新排列后输出目标数据,目标数据的数据位顺序与Camera Link标准协议中规定的数据位顺序相同,输出并串转换装置在PLL提供的像素时钟和像素时钟的7倍频时钟的作用下,将目标数据转换为符合Camera Link标准协议规定的差分数据,由此可知,该FPGA系统不再需要在系统内部的IP核中配置Camera Link定制协议即可获取符合Camera Link标准协议规定的差分数据,扩展性更好;另外,该FPGA系统在数据格式转换器中设置有固定数据,将该固定数据输入至输出并串转换装置中即可生成符合Camera Link标准协议规定的差分时钟,不需要再采用多余的PLL生成差分时钟,一方面节省了PLL资源,另一方面在Camera Link Full模式下,避免了多余PLL的输出引脚导致的相位不一致的问题的发生。

本发明实施例应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种具有Camera Link接口的FPGA系统的结构框图;

图2为现有技术中Camera Link标准协议中规定的差分数据和差分时钟的时序输出图;

图3为本发明实施例提供的一种数据格式转换器的数据位设置规定示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明提供了一种具有Camera Link接口的FPGA系统,该FPGA系统中,设置有PLL、数据格式转换器和输出并串转换装置,其中,PLL用于将输入其中的预设时钟生成像素时钟和像素时钟的7倍频时钟,数据格式转换器将输入该FPGA系统的28位并行数据的数据位进行了重新排列后输出目标数据,目标数据的数据位顺序与Camera Link标准协议中规定的数据位顺序相同,输出并串转换装置在PLL提供的像素时钟和像素时钟的7倍频时钟的作用下,将目标数据转换为符合Camera Link标准协议规定的差分数据,使得该FPGA系统不再需要在系统内部的IP核中配置Camera Link定制协议即可获取符合Camera Link标准协议规定的差分数据,扩展性更好;另外,该FPGA系统在数据格式转换器中设置有固定数据,将该固定数据输入至输出并串转换装置中即可生成符合Camera Link标准协议规定的差分时钟,不需要再采用多余的PLL生成差分时钟,一方面节省了PLL资源,另一方面在Camera Link Full模式下,避免了多余PLL的输出引脚导致的相位不一致的问题的发生。

下面结合附图,详细介绍本发明的具体实施例。

如图1所示,图1示出的是本发明实施例提供的一种具有Camera Link接口的FPGA系统的结构框图,该FPGA系统包括:

锁相环PLL1,用于将输入其中的预设时钟生成像素时钟Pixel_CLK和像素时钟的7倍频时钟CLK_multi;

数据格式转换器2(Data sequence change),用于输出固定数据,以及将输入其中的28位并行数据TxDAT in【27:0】的数据位重新排列后输出目标数据,所述固定数据设置于所述数据格式转换器中,所述目标数据的数据位顺序与Camera Link标准协议中规定的数据位顺序相同;

输出并串转换装置3,用于在所述像素时钟Pixel_CLK和所述像素时钟的7倍频时钟CLK_multi的作用下,将输入其中的所述目标数据按照7:1的数据位宽转换比率进行转换后输出差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out,以及将输入其中的所述固定数据按照7:1的数据位宽转换比率进行转换后输出差分时钟TxCLK out,所述差分时钟TxCLK out和所述差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out均符合Camera Link标准协议中的相应规定;

所述PLL1的输出端与所述输出并串转换装置3的第一输入端相连接,所述数据格式转换器2的输出端与所述输出并串转换装置3的第二输入端相连接。

其中,可以选择应用该FPGA系统的外部系统的系统时钟作为预设时钟,也可以选择该FPGA系统对应的FPGA系统芯片的晶振输入时钟作为预设时钟。像素时钟的7倍频时钟CLK_multi与像素时钟Pixel_CLK同相。

由于该FPGA系统中最后输出的满足Camera Link标准协议中相应规定的差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out和差分时钟TxCLK out,是该FPGA系统的输出并串转换装置将目标数据和固定数据按照7:1的数据位宽转换比率进行转换后输出的,而目标数据又是由28位并行数据TxDAT in【27:0】经过数据格式转换器输出,因此,在具体设置数据格式转换器时,数据格式转换器应该将28位并行数据TxDAT in【27:0】的数据位重新进行排列后,分为4组并行数据输出,输出的每组并行数据中包含7位数据,亦即,目标数据为TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】,并且设置于数据格式转换器中的固定数据也应该包括7位数据,亦即,固定数据为CLK out【6:0】,由此可知,数据格式转换器2可以设置为如下结构:所述数据格式转换器2上设置有5个输出端口,每个所述输出端口用于输出所述固定数据CLK out【6:0】或所述目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】中的一组7位数据;所述5个输出端口输出的数据不同。

由上可知,输出并串转换装置3的第二输入端与数据格式转换器2的输出端相连接,用于将数据格式转换器2输出的固定数据CLK out【6:0】和4组各自包含7位数据的并行数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】按照7:1的数据位宽转换比率进行转换后输出差分时钟TxCLK out和差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out,因此,与数据格式转换器2的结构设置相对应,可以将输出并串转换装置3设置为如下结构:所述输出并串转换装置3包括:五个输出并串转换器Oserdes4,其中一个所述输出并串转换器Oserdes4用于将输入所述并串转换装置3的所述固定数据CLK out【6:0】转换为所述差分时钟TxCLK out,其余每个所述输出并串转换器Oserdes4用于将输入所述输出并串转换装置3的所述目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】中不同的一组7位数据转换为一个所述差分数据。

进一步,所述PLL1上设置有第一输出端口5和第二输出端口6;所述第一输出端口5用于输出所述像素时钟的7倍频时钟CLK_multi;所述第二输出端口6用于输出所述像素时钟Pixel_CLK;所述第一输出端口5和所述第二输出端口6均与所述输出并串转换装置3的第一输入端相连接;所述第二输出端口6还与所述数据格式转换器2的输入端相连接。将PLL1的第二输出端口6与数据格式转换器2的输入端相连接后,可以确保将输入数据格式转换器2的28位并行数据TxDAT in【27:0】的数据位重新排列后,按照像素时钟Pixel_CLK输出,使得该FPGA系统最后输出的差分时钟TxCLK out与像素时钟Pixel_CLK频率相同,更加能确保该FPGA系统最后输出的差分时钟TxCLK out和差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out符合Camera Link标准协议中的相应规定。

进一步,该FPGA系统还包括:设置有通用异步收发传输器UART接口的芯片。该FPGA系统中设置的UART接口的芯片采用如下设计方式进行设置:以晶振时钟对相机要进行通讯的波特率进行计数,对通讯数据按照UART协议进行并串转换、字符判断和协议打包。

进一步,该FPGA系统还包括:用于将输入其中的相机的控制信号转换为单端信号的低电压差分信号LVDS接口。该FPGA系统的LVDS接口设计主要是在FPGA系统芯片的引脚输入接口处完成电平转换,而控制信号的作用依靠相机本身的功能实现作用于图像处理时序。

进一步,该FPGA系统还包括:多条差分传输线;每一个差分数据通过两条所述差分传输线输出,该两条差分传输线的间距等于一条差分传输线的线宽,并且该两条差分传输线的走线长度相等;两个相邻的差分数据对应的两组差分传输线中,用于传输不同差分数据的两条相邻差分传输线的间距等于两条差分传输线的线宽。该FPGA系统中还设置有用于传输除差分数据和差分时钟等差分信号之外的其它信号的信号传输线,信号传输线与差分传输线之间的间距大于等于三条差分传输线的线宽。所有差分数据和差分时钟的输出端口位于该FPGA系统对应的FPGA系统芯片的同一个区域(bank)。

该FPGA系统中,采用数据格式转换器将输入该FPGA系统的28位并行数据(例如图像数据)的数据位进行了重新排列后输出目标数据,目标数据的数据位顺序与Camera Link标准协议中规定的数据位顺序相同,之后将目标数据利用输出并串转换装置转换为符合Camera Link标准协议规定的差分数据,不再需要在系统内部的IP核中配置Camera Link定制协议即可获取符合Camera Link标准协议规定的差分数据,扩展性更好;另外,该FPGA系统在数据格式转换器中设置有固定数据,将该固定数据输入至输出并串转换装置中即可生成符合Camera Link标准协议规定的差分时钟,不需要再采用多余的PLL生成差分时钟,一方面节省了PLL资源,另一方面在Camera Link Full模式下,避免了多余PLL的输出引脚导致的相位不一致的问题的发生。

参考图2,图2示出的是现有技术中Camera Link标准协议中规定的差分数据和差分时钟的时序输出图,图2中,TxCLK out表示满足Camera Link标准协议时序输出规定的差分时钟,该差分时钟的占空比为4:3,TxOUTx表示满足Camera Link标准协议时序输出规定的四组差分数据,其中的最后一位标号x表示由并行数据转换为串行数据之后串行数据的输出位,即差分数据的输出位(例如,TxOUT0的最后一位标号0表示该差分数据的输出位为0),TxINx-1表示当前时钟周期对应的数据的位信息(例如:TxIN5-1表示当前时钟周期对应的数据的第5位),TxINx表示当前时钟周期的下一个时钟周期对应的数据的位信息(例如:TxIN23表示当前时钟周期的下一个时钟周期对应的数据的第23位),由此可知,一个28位的并行数据输入至该FPGA系统时,输出数据的数据位排序必须符合图2中规定的差分数据的数据位输出顺序,以及该FPGA系统的差分时钟的输出也必须符合图2中规定的差分时钟的输出要求。

由此,具体设置数据格式转换器时,对数据格式转换器的功能的设置可以参考图3,图3示出的是本发明实施例提供的一种数据格式转换器的数据位设置规定示意图。图3中,CLK out【6:0】表示设置于数据格式转换器中的固定数据,TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】表示数据格式转换器输出的目标数据,TxINx表示输入数据格式转换器的28位并行数据经过该数据格式转换器将数据位重新排列后输出的数据的位信息,即目标数据的位信息,图3中第1行表示固定数据的第6位、第5位、第4位、第3位、第2位和第1位依次赋值为1、1、0、0、0、1、1,第2行表示将输入数据格式转换器的28位并行数据的第27位、第26位、第25位、第24位、第23位、第22位和第21位依次调换为第23位、第17位、第16位、第11位、第10位、第5位和第27位,图3中第3行至第5行表达的意思类同第2行,将输入数据格式转换器的28位并行数据的数据位按照图3中第2行至第5行的数据位设置规定重新排列后,即可获得目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】。

在具体实施过程中,想要获得在所述像素时钟Pixel_CLK和所述像素时钟的7倍频时钟CLK_multi的作用下,将输入其中的所述目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】按照7:1的数据位宽转换比率进行转换后输出差分数据TxOUT0out、TxOUT1out、TxOUT2out和TxOUT3out,以及将输入其中的所述固定数据CLK out【6:0】按照7:1的数据位宽转换比率进行转换后输出差分时钟TxCLK out的输出并串转换装置,可以通过多种方式实现:

例如:第一种实现方式,采用现有的Xilinx的A7系列FPGA芯片进行定制,其中,开发平台为vivado,选取其中的selectIO IP core进行定制,具体定制方式如下:在数据总线设置界面中,设置数据总线方向属性为输出且采用单端时钟采样数据,数据的转换比率设置为7,也就是7位数据输入转换为1位数据输出,输出引脚的电平标准为差分的LVDS 25标准;在时钟设置界面中,选用内部Clock,以便多个输出并串转换器可以共用系统中的PLL产生的同一个像素时钟和像素时钟的7倍频时钟,综上所述,采用现有的Xilinx的A7系列FPGA芯片进行定制,以获取输出并串转换装置时,具体定制概要(Summary)参见下述表1。

表1

第二种实现方式,输出并串转换装置的每个输出并串转换器可以通过下述方式获得:在现有的Xilinx的A7系列FPGA芯片中设置一个数据位宽转换比率为7:1的并串转换模块,用于输入像素时钟Pixel_CLK、像素时钟的7倍频时钟CLK_multi和目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】中的一组7位数据(或固定数据),输出像素时钟的7倍频时钟CLK_multi和1位串行数据;之后将该并串转换模块与该现有的Xilinx的A7系列FPGA芯片中的IDDR源语模块相连接,即可获得该FPGA系统所需的输出并串转换装置的输出并串转换器。

第三种实现方式,输出并串转换装置的每个输出并串转换器可以通过下述方式获得:在现有的Xilinx的A7系列FPGA芯片中设置一个数据位宽转换比率为7:1的并串转换模块,用于输入像素时钟Pixel_CLK、像素时钟的7倍频时钟CLK_multi和目标数据TxDAT out【27:21】、TxDAT out【20:14】、TxDAT out【13:7】和TxDAT out【6:0】中的一组7位数据(或固定数据),输出像素时钟的7倍频时钟CLK_multi和1位串行数据;之后将该并串转换模块与该现有的Xilinx的A7系列FPGA芯片中的OBUFDS源语模块相连接,即可获得该FPGA系统所需的输出并串转换装置的输出并串转换器。

本发明实施例提供的FPGA系统,由于不再需要在系统内部的IP核中配置Camera Link定制协议即可获取符合Camera Link标准协议规定的差分数据,灵活性、扩展性更好,可移植性更高,打破了器件壁垒。此外,由于该FPGA系统不需要采用多余的PLL即可产生差分时钟,一方面节省了PLL资源,节省了系统本身的硬件占用面积,集成度更高;另一方面在Camera Link Full模式下,避免了多余PLL的输出引脚导致的相位不一致的问题的发生。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1