联系我们   Contact
你的位置:首页 > 新闻动态 > 公司新闻

CXP相机图像接口协议IP的实现方法与流程

2018/12/17 8:06:35      点击:

本发明涉及一种CoaXPress高速图像接口协议IP的实现方法。    

          背景技术:  在工业领域和军用领域,目前标清分辨率的相机大部分为CVBS和Camera link Base接口,在高分辨率领域,对图像的画质要求非常的高,往往不能对图像进行压缩,相机输出的带宽非常高,需要采用更高速的图像采集存储系统来实现图像存储的目的。  CoaXPress是由Adimec和EqcoLogic公司联合制定一种非对称的高速点对点串行通信数字接口协议,得到了世界范围内的认可,该协议容许设备通过单根同轴电缆以高达6.25Gbps的速度传输数据进行连接,同时还支持传输速度为20Mbps的“上行链路”用于控制和配置数据通道。对于更高的传输速度,可以采用多条链路叠加的方式,以提供数倍于单根同轴电缆的传输带宽。 

         技术实现要素:  本发明的目的是提供一种CoaXPress高速图像接口协议IP的实现方法,以满足高速传输高分辨率图像的问题。  本发明采用以下技术方案:一种CoaXPress高速图像接口协议IP的实现方法,具体包括以下步骤:  步骤1、将待传输视频数据流输入到协议生成子系统;  步骤2、通过协议生成子系统对输入的视频数据流进行组包,生成若干个符合CoaXPress协议的数据流;  步骤3、通过链路逻辑控制子系统和通道分配子系统为步骤2中生成的每个数据流分配对应的下行通道;  步骤4、每个数据流根据步骤3中分配的对应下行通道进行输出。  进一步地,步骤3的具体方法如下:  对于步骤2中生成的每个符合CoaXPress协议的数据流,通过链路逻辑控制子系统判断是否有外部指令:  若有外部指令,则通过通道分配子系统分配专用通道给对应的数据流;  若无外部指令,则通过通道分配子系统根据各个下行通道工作状态,为每个数据流指定对应的通道。  进一步地,步骤3中,若无外部指令,通过通道分配子系统根据各个通道工作状态为每个数据流指定对应通道的具体过程为:  步骤3.1、通过通道分配子系统中的通道状态监测模块获取各个下行通道的工作状态;  步骤3.2、通过通道分配子系统中的通道负载预算模块根据系统主运行时钟及待传输队列的总传输量,进行各个下行通道的负载运算;  步骤3.3、通过通道分配子系统中的通道分配模块,根据步骤3.2中的负载运算,生成每个数据流的优先级,并根据优先级给每个数据流分配对应的下行通道。  进一步地,步骤2具体通过以下方法实现:  步骤2.1、通过协议生成子系统中的像素排序模块对待处理图像信息进行数据格式转换及组包,使生成的像素包含有四个像素数据,每个像素数据位宽为8bit;  步骤2.2、通过协议生成子系统中的跨时钟FIFO模块将步骤2.1生成的像素包由传感器时钟域转换成系统时钟域,并补偿因插入数据包头信息而产生的时钟节拍;  步骤2.3、通过协议生成子系统中的CoaXPress协议数据生成模块处理步骤2.2中的数据包头信息,生成符合CoaXPress协议的数据流;  步骤2.4、将步骤2.3中生成的符合CoaXPress协议的数据流缓存至协议生成子系统中的流数据buffer模块中。  进一步地,当步骤4中有多个并发输出的数据流时,通过总线仲裁子系统进行仲裁,每个并发输出的数据流根据仲裁结果进行输出。

         本发明的有益效果是:在实现CoaXPress高速图像接口协议时,按照功能模块化之设计原则,设计了协议生成子系统、通道分配子系统、链路逻辑控制子系统及总线仲裁子系统,视频流数据输入到协议生成子系统,实现CoaXPress Version1.1协议格式的组包操作,形成符合CoaXPress格式的基本帧结构,在链路逻辑控制子系统级总线仲裁子系统的控制下,将CoaXPress数据流传送至相应的下行通道中输出,使本发明可实现最高16路视频流数据同时输入,8路CoaXPress Version1.1版本格式数据同时输出的性能。  【附图说明】  图1为本发明一种CoaXPress高速图像接口协议IP的实现方法的实现架构图;  图2为本发明中协议生成子系统的模块架构图;  图3为本发明中通道分配子系统的模块架构图;  图4为本发明中链路逻辑控制和总线仲裁的模块架构图。  

       【具体实施方式】  下面结合附图和具体实施方式对本发明进行详细说明。  本发明公开了一种CoaXPress高速图像接口协议IP的实现方法,结合图1、图2、图3、图4所示,该方法在实现CoaXPress高速图像接口协议时,按照功能模块化之设计原则,设计了协议生成子系统、通道分配子系统、链路逻辑控制子系统及总线仲裁子系统。  某型号高速相机中高分辨率线阵传感器的刷新频率为100KHz,传感器有效像素为8192个,每个像素值量化位数为8bit,视频流传输速率为6.5536Gbps,CoaXPress高速图像接口系统需要将该高速视频流转化为兼容CoaXPress V1.1的协议传送至主机端。以主机端上行指令要求从CoaXPress高速图像接口系统的第0及第2个通道输出CoaXPress V1.1协议数据为例进行说明:  步骤1、系统上电自检,链路测试发送器生成专用测试数据流,CoaXPress协议生成子系统对测试数据进行协议编码,编码完成后,经总线仲裁及链路层发送至链路测试接收端,以确定协议生成子系统、总线仲裁子系统、链路逻辑控制子系统等核心子系统及模块工作状态是否正常。  自检完成后,系统正常启动,接收高分辨率线阵传感器6.5536Gbps的高速数据流,将待传输视频数据流输入到协议生成子系统。  步骤2、如图2所示,通过协议生成子系统对输入的视频数据流进行组包,实现CoaXPress Version1.1协议格式的组包操作,生成若干个符合CoaXPress协议的数据流,即形成符合CoaXPress格式的基本帧结构,具体通过以下方法实现:  步骤2.1、通过协议生成子系统中的像素排序模块对待处理图像信息,即待传输数据流,按照一定顺序进行数据格式转换及组包;按照像素到达顺序缓存数据,并排列数据发送的先后顺序,采用先到先发的模式发送;  像素排序模块按照先到先发的模式对收集到的像素值序列进行缓存,每个像素数据位宽为8bit,将四个像素数据作为一个基本的像素包单元。  再添加CoaXPress格式的包头和包尾指示字段,将数据流组织成用户自定义大小的CoaXPress协议数据包,使生成的像素包含有四个像素数据,每个像素数据位宽为8bit;缓存过程中以乒乓方式按照CoaXPress协议规定格式,在视频流中添加包头等信息。  步骤2.2、通过协议生成子系统中的跨时钟FIFO模块将步骤2.1生成的像素包由传感器时钟域转换成系统时钟域,并补偿因插入数据包头信息而产生的时钟节拍,即在外围时钟驱动下,完成行同步、帧同步的信息设置,完成视频流序列驱动时钟由线阵传感器时钟到CoaXPress高速图像接口系统时钟的转换。  步骤2.3、通过协议生成子系统中的CoaXPress协议数据生成模块处理步骤2.2中的数据包头信息,添加CRC校验信息,包头指示字段等协议信息,生成符合CoaXPress协议的数据流,即CoaXPress协议生成模块按照CoaXPress V1.1格式对缓存区中视频流数据进行编码,添加CRC校验信息、行同步信息、帧同步信息等;  步骤2.4、将步骤2.3中生成的符合CoaXPress协议的数据流缓存至协议生成子系统中的流数据buffer模块中,并配合数据流通道分配子系统协同工作,即编码完成后数据流缓存至buffer模块中,供后续总线仲裁子系统及链路逻辑控制子系统控制并输出;  步骤3、通过链路逻辑控制子系统和通道分配子系统为步骤2中生成的每个数据流分配对应的下行通道,具体方法如下:  对于步骤2中生成的每个符合CoaXPress协议的数据流,通过链路逻辑控制子系统判断是否有外部指令;  若有外部指令,则通过通道分配子系统分配专用通道给对应的数据流;  若无外部指令,则通过通道分配子系统根据各个下行通道工作状态,为每个数据流指定对应的通道,如图3所示,其具体过程为:  步骤3.1、通过通道分配子系统中的通道状态监测模块获取各个下行通道的工作状态、空闲情况及待传输数据流队列情况等,即通道状态监测模块获取第0及第2个通道的工作状态。  步骤3.2、通过通道分配子系统中的通道负载预算模块根据系统主运行时钟及待传输队列的总传输量,进行各个下行通道的负载运算,确保各个通道工作时负载均衡、可靠,即通道负载预算模块根据系统主运行时钟及待传输队列的总传输量,确定第0及第2个通道的负载运算是否能够满足数据率及时限要求。  步骤3.3、通过通道分配子系统中的通道分配模块,根据步骤3.2中的负载运算,生成每个数据流的优先级,即确认各待传输序列的优先级,并根据优先级合理给每个数据流分配对应的下行通道,即状态监测及负载预算检测完成后,通道分配子系统将数据流通过链路层分配至对应的下行传输层,将编码好的CoaXPress协议数据流输出至主机端,通过通道分配子系统把CoaXPress协议数据流分成两路,分别分配给第0及第2个通道进行输出。  另外,链路逻辑控制子系统,如图4所示,还负责CoaXPress协议高速图像接口IP的整体控制及相应的缓存和通道资源,具体包括处理系统状态机、系统工作状态自监测、内存管理、CoaXPress协议数据至下行传输层的任务调度、任务优先级管理、下行传输层空闲序列管理及上行命令解析和执行的功能。  其中,下行传输层用于实现高速CoaXPress协议数据流的输出;上行传输层用于接收上行控制命令数据;链路层用于与通道分配子系统中通道分配模块紧密配合,协调处理CoaXPress协议数据至下行传输层的任务调度及优先级管理,同时完成下行传输层空闲序列管理和上行传输层命令校验的功能;控制通道用于实现上行命令解析、状态机控制及管理、CRC校验和产生、错误校验和确认等功能;缓存区用于以乒乓结构缓存输入的数据流,提高数据传输速度;链路测试发送器和链路测试接收器一般工作于初始上电阶段,完成自检测功能,主要用于包括测试数据的产生、CoaXPress协议生成、发送、接收及校验等,以确定各核心功能模块工作状态是否正常。  步骤4、每个数据流根据步骤3中分配的对应下行通道进行输出;  当有多个并发输出的数据流时,则通过总线仲裁子系统进行仲裁,每个并发输出的数据流根据仲裁结果进行输出。另外,在初始上电阶段,总线仲裁子系统主要完成自检测任务时CoaXPress协议数据的发送进行仲裁判决。  考虑到该方法的灵活性,本发明中CoaXPress协议高速图像接口IP架构设计时可以支持多个数据通道同时输入,数据通道最大支持数为16个;对外输出最大通道数为8个。其中,输出通道工作模式为双工,下行链路是符合CoaXPress协议的输出数据流,上行链路为主机(Host)端对CoaXPress工作模式进行控制的指令信道。