基于RapidIO协议网络的视频采集传输装置及方法

文档序号:7869612阅读:287来源:国知局
专利名称:基于RapidIO协议网络的视频采集传输装置及方法
技术领域
本发明涉及嵌入式计算机通信技术领域,特别涉及嵌入式系统视频采集技术领域,具体是指一种基于Rapid IO协议网络的视频采集传输装置及方法。
背景技术
目前,在嵌入式计算机领域,由单处理器架构已经发展成云计算、多处理器集群架构,Rapid IO网络已成为新型多计算机、多处理器、多DSP的互联的首要选择。在现有技术中,诸多视频输入控制器接到同一个处理器,再由该处理器将视频信息与其他处理器分享。 这样一来,视频控制器的驱动程序及有些任务必须运行于该处理器之上,这样该处理器就存在特殊性,不利于驱动程序和任务的迁移。另外,视频数据首先存入处理器内存,然后经该处理器进行协议打包、二次传输后才能到达其他处理器,增加了视频数据的延时,不利于快速的将视频数据传递到各个处理器。若该处理器任务繁重,就极有可能出现视频抖动的问题。发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种将视频数据缓冲后直接发往各个处理器,而无需将其存放到外部内存当中,不需要由处理器来实现视频数据的转发,从而实现一种快速,高效,且节约逻辑资源,结构简单,实现方法简便,成本低廉,应用范围广泛的基于Rapid IO协议网络的视频采集传输装置及方法。
为了实现上述的目的,本发明的基于Rapid IO协议网络的视频采集传输装置具有如下构成
该装置包括视频传感器、视频控制器和RapidIO交换机。其中,视频传感器用以获取视频数据流;视频控制器用以从所述的视频传感器获取视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包;而Rapid IO交换机则用以将所述的Rapid IO写事务 包依次写入多个相应RapidIO处理器中。
该基于Rapid IO协议网络的视频采集传输装置中,所述的视频控制器包括视频输入控制器、视频异步先进先出FIFO队列、视频存储先进先出FIFO队列、视频传输控制器、 IIC总线主控制器、IIC总线主异步先进先出FIFO队列、IIC总线从异步先进先出FIFO队列、寄存器堆、错误检测模块、Rapid IO控制器、Rapid IO主请求总线、Rapid IO从应答总线、RapidIO从请求总线和Rapid IO从应答总线,其中,
所述的Rapid IO控制器通过所述的Rapid IO交换机连接多个Rapid IO处理器;
所述的视频输入控制器与所述的视频异步先进先出FIFO队列和所述的视频传感器相连接;
所述的视频传输控制器与所述的视频异步先进先出FIFO队列、视频存储先进先出FIFO队列和寄存器堆相连接,并通过所述的Rapid 10主请求总线连接所述的Rapid 10 控制器;
所述的IIC总线主控制器与所述的视频传感器、IIC总线主异步先进先出FIFO队列和IIC总线从异步先进先出FIFO队列相连接;
所述的寄存器堆连接所述的IIC总线主异步先进先出FIFO队列和所述的IIC总线从异步先进先出FIFO队列,该寄存器堆还分别通过所述的Rapid IO从请求总线和所述的Rapid IO从应答总线连接所述的Rapid IO控制器;
所述的错误检测模块连接所述的寄存器堆,该错误检测模块还通过所述的Rapid IO从应答总线连接所述的Rapid IO控制器。
该基于Rapid IO协议网络的视频采集传输装置中,所述的寄存器堆包括多个节点寄存器组,每个所述的节点寄存器组均包括占用寄存器、图像传输使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell目标ID。其中,
占用寄存器用以在当处理器读取该寄存器后,自动设为占用状态,不能被其他处理器使用;
图像传输使能寄存器用以开启视频传输寄存器;
两个远端内存基地址寄存器分别用以存放远端Rapid 10处理器用于乒乓操作的内存地址信息,所述的两个内存基地址寄存器交替使用;
视频数据目标ID用以存储视频数据需要发送到远端Rapid 10处理器的设备ID ;
中断使能寄存器包括行中断与场中断寄存器,用以在远端Rapid 10处理器使能该中断使能寄存器后,当控制器发送完一帧或一行,则向远端Rapid 10处理器发送Doorbell 事务包;
Doorbell目标ID用以在开启中断后,存储远端接收Doorbell事务包的Rapid 10 处理 器的设备ID。
本发明还提供一种利用所述的装置实现基于Rapid 10协议网络的视频采集传输控制方法,该方法包括以下步骤
(A)所述的视频传感器获取视频数据流;
(B)所述的视频控制器从所述的视频传感器获取所述的视频数据流,并将数据视频数据流直接变为相应的Rapid 10写事务包;
(C)所述的Rapid 10交换机将所述的Rapid 10写事务包依次写入多个相应Rapid 10处理器中。
该实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的视频控制器包括视频输入控制器、视频异步先进先出FIFO队列、视频存储先进先出FIFO队列、视频传输控制器、IIC总线主控制器、IIC总线主异步先进先出FIFO队列、IIC总线从异步先进先出 FIFO队列、寄存器堆、错误检测模块、Rapid 10控制器、Rapid 10主请求总线、Rapid 10从应答总线、Rapid 10从请求总线和Rapid 10从应答总线,所述的步骤(B)具体包括以下步骤
(I)需要视频数据的多个Rapid 10处理器将视频控制器配置信息写入各自内存后,通过Rapid 10 Nwrite事务配置寄存器堆;
(2)所述的Rapid 10控制器将配置信息写入寄存器堆,并将写入地址提供给所述的视频传输控制器;
( 3 )所述的视频输入控制器等待场同步信号,并在接收到场同步信号后,将视频数据修改为64位,将其与场同步信号一起存入所述的视频异步先进先出FIFO队列;
(4)所述的视频传输控制器检测所述的视频异步先进先出FIFO队列中的数据大小,当大于256B后,进入步骤(5);
(5)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址, 并根据目标ID和目标地址将视频数据写入所述的视频存储先进先出FIFO队列中;
(6)所述的视频传输控制器视频数据发送完毕后,再次获取寄存器堆目标ID和目标地址若还存在,则进入步骤(7),若不存在,则进入步骤(9);
(7)所述的视频传输控制器判断所述的寄存器堆目标ID是否为发送DOORBELL目标ID,若是,则进入所述的步骤(C),若否,则返回步骤(5);
所述的步骤(C)具体包括以下步骤
(8)所述的视频传输控制器的状态机发送相应DOORBELL事物包;
(9)所述的Rapid 10控制器通过Rapid 10主请求总线收到NWRITE-R的事务,将其发送到所述的Rapid 10交换机;
(10)相应的Rapid 10处理器收到所述的NWRITE-R事务包,由硬件内存控制器更新内存空间数据,并返回应答Response返回包;
(11)所述的应答Response返回包经Rapid 10交换机、Rapid 10控制器、Rapid 10主应答总线发送到所述的错误检测模块;
(12)错误检测模块根据所述的应答Response返回包更新寄存器堆中寄存器值;
(13)相应的Rapid 10处理器接收到所述的DOORBELL事务包,由中断控制器产生中断,执行中断服务程序,中断服务程序释放视频完成信号量;
( 14)视频处理任务获得视频完成信号量,处理视频程序,处理完成后,再次获取视频信号量。
该实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的寄存器堆包括多个节点寄存器组,每个所述的节点寄存器组均包括占用寄存器、图像传输使能寄存器、 两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell目标ID,所述的步骤(2)具体包括以下步骤
(21)所述的Rapid 10控制器依次读取节点寄存器组占用寄存器,直到找到空节点寄存器组;
(22)所述的Rapid 10控制器使用Rapid 10协议的NWRITE-R事务将配置信息写入该空节点寄存器组;
(23)所述的Rapid 10控制器从被写入的节点寄存器组选出第一个发送节点信息提供给所述的视频传输控制器。
该实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的步骤(5)具体包括以下步骤
(51)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址,若所述的先进先出FIFO队列选择寄存器为0,则进入步骤(52),若所述的先进先出FIFO 队列选择寄存器为1,则进入步骤(53);
(52)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid 10主请求总线发送NWRITE-R事务给Rapid 10控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为I ;
(53)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid IO主请求总线发送NWRITE-R事务给Rapid IO控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为O。
该实现基于RapidIO协议网络的视频采集传输控制方法中,所述的步骤(12)具体为
所述的错误检测模块若发现所述的应答Response返回包发生错误或未收到应答 Response返回包,则认为相应的节点遗失,并不再向该节点发送NRITE-R事务包,不向其提供视频数据。
该实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的方法在步骤(I)之前还包括以下步骤
(0)所述的装置进行视频控制器配置操作和视频 传感器配置操作。
该实现基于RapidIO协议网络的视频采集传输控制方法中,所述的视频传感器配置操作具体包括以下步骤
(Ml)所述的Rapid 10处理器向视频控制器发送NWRITE事务包,地址为所述的IIC 异步先进先出FIFO队列地址;
(M2)所述的NWRITE事务包经过所述的Rapid 10交换机、Rapid 10控制器、Rapid 10从请求总线,到达所述的寄存器堆;
(M3)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,将数据写入 IIC主异步先进先出FIFO队列,并通过Rapid 10从应答总线、Rapid 10控制器、Rapid 10 交换机向所述的返回Rapid 10处理器返回应答Response返回包;
(M4)所述的IIC主控制器发现主异步先进先出FIFO队列非空后,读取IIC指令数据,并发起IIC读写的主操作;
(M5)若所述的主操作为IIC读操作,则所述的视频传感器返回的数据被IIC主控制器读取,并写入所述的IIC从异步先进先出FIFO队列;
(M6)所述的Rapid 10处理器向视频控制器发送NREAD事务包,地址为IIC异步先进先出FIFO队列地址;
(M7)所述的NREAD事务包经过所述的Rapid 10交换机、Rapid 10控制器、Rapid 10从请求总线,到达所述的寄存器堆;
(M8)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,读取IIC从异步先进先出FIFO队列的数据,并通过Rapid 10从应答总线、Rapid 10控制器、Rapid 10 交换机,向所述的Rapid 10处理器返回应答Response返回包;
(M9)所述的Rapid 10处理器获得数据。
该实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的视频控制器配置操作具体包括以下步骤
(NI)所述的Rapid 10处理器向所述的视频控制器读取O号占用寄存器的值,并发送NREAD事务包到视频控制器;
(N2)所述的NREAD事务包经过所述的Rapid 10交换机、Rapid 10控制器和Rapid 10从请求总线到达寄存器堆;
(N3)所述的寄存器堆根据所述的NREAD事务为读取所述的O号占用寄存器,则将所述的O号占用寄存器的值通过所述的Rapid IO从应答主线、Rapid IO控制器和Rapid IO交换机向所述的Rapid IO处理器返回应答Response返回包,若O号占用寄存器未被占用,则将其值修改为占用,并赋值视频数据目标ID ;
(N4)所述的Rapid IO处理器得到的占用状态若为被占用,则向视频控制器读取I 号占用寄存器的值,发送所述的NREAD事务包到视频控制器,并依次类推,直到遍历完所有占用寄存器;
(N5)所述的Rapid IO处理器得到的占用状态若为未被占用,则将需要配置的中断使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell 目标ID寄存器的数据写入一段内存地址;
(N6)所述的Rapid IO处理器启动NWRITE事务包,将内存地址数据发送到视频控制器;
(N7)所述的NWRITE事务包通过所述的Rapid IO交换机、Rapid IO控制器和Rapid IO从请求总线到达所述的寄存器堆;
(NS)所述的寄存器堆配置所述的中断使能寄存器、两个远端内存基地址寄存器、 视频数据目标ID、中断使能寄存器和Doorbell目标ID寄存器。
采用了该发明的基于Rapid 10协议网络的视频采集传输装置及方法,其装置视频传感器、视频控制器和RapidIO交换机,该方法中,利用视频控制器从视频传感器获取视频数据流,并将数据视频数据流直接变为相应的Rapid 10写事务包;进而由Rapid 10交换机将Rapid 10写事务包依次写入多个相应Rapid 10处理器中。从而能够在将视频数据缓冲后直接发往各个Rapid 10处理器,而无需将其存放到外部内存当中,也不需要由处理器来实现视频数据的转发,实现一种快速,高效,且节约逻辑资源,结构简单,实现方法简便,成本低廉,应用范围广泛的基于Rapid 10协议网络的视频采集传输装置及方法。


图I为本发明的基于Rapid 10协议网络的视频采集传输装置的结构示意图。、
图2为本发明的基于Rapid 10协议网络的视频采集传输装置中的寄存器堆示意图。
图3为本发明的基于Rapid 10协议网络的视频采集传输装置的状态流程图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图I所示,为本发明的基于RapidIO协议网络的视频采集传输装置的结构示意图。
在一种实施方式中,该装置包括视频传感器201、视频控制器200和Rapid 10交换机220
利用该实施方式所述的装置实现基于Rapid 10协议网络的视频采集传输控制方法包括以下步骤
(A)所述的视频传感器201获取视频数据流;
(B)所述的视频控制器200从所述的视频传感器201获取所述的视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包;
(C)所述的Rapid IO交换机220将所述的Rapid IO写事务包依次写入多个相应 Rapid IO 处理器 216、217、218、219 中。
在一种较优选的实施方式中,所述的视频控制器200包括视频输入控制器202、视频异步先进先出FIFO队列204、视频存储先进先出FIFO队列205、视频传输控制器206、 IIC总线主控制器203、IIC总线主异步先进先出FIFO队列207、IIC总线从异步先进先出 FIFO队列208、寄存器堆209、错误检测模块210、Rapid IO控制器215、Rapid IO主请求总线211、Rapid IO从应答总线212、Rapid IO从请求总线213和Rapid IO从应答总线214, 其中,
所述的Rapid IO控制器通过所述的Rapid IO交换机连接多个Rapid IO处理器;
所述的视频输入控制器与所述的视频异步先进先出FIFO队列和所述的视频传感器相连接;
所述的视频传输控制器与所述的视频异步先进先出FIFO队列、视频存储先进先出FIFO队列和寄存器堆相连接,并通过所述的Rapid 10主请求总线连接所述的Rapid 10 控制器;
所述的IIC总线主控制器与所述的视频传感器、IIC总线主异步先进先出FIFO队列和IIC总线从异步先进先出FIFO队列相连接;
所述的寄存器堆连接所述的IIC总线主异步先进先出FIFO队列和所述的IIC总线从异步先进先出FIFO队列,该寄存器堆还分别通过所述的Rapid 10从请求总线和所述的Rapid 10从应答总线连接所述的Rapid 10控制器;
所述的错误检测模块连接所述的寄存器堆,该错误检测模块还通过所述的Rapid 10从应答总线连接所述 的Rapid 10控制器。
利用该较优选的实施方式所述的装置实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的步骤(B)具体包括以下步骤
(I)需要视频数据的多个Rapid 10处理器将视频控制器配置信息写入各自内存后,通过Rapid 10 Nwrite事务配置寄存器堆;
(2)所述的Rapid 10控制器将配置信息写入寄存器堆,并将写入地址提供给所述的视频传输控制器;
( 3 )所述的视频输入控制器等待场同步信号,并在接收到场同步信号后,将视频数据修改为64位,将其与场同步信号一起存入所述的视频异步先进先出FIFO队列;
(4)所述的视频传输控制器检测所述的视频异步先进先出FIFO队列中的数据大小,当大于256B后,进入步骤(5);
(5)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址, 并根据目标ID和目标地址将视频数据写入所述的视频存储先进先出FIFO队列中;
(6)所述的视频传输控制器视频数据发送完毕后,再次获取寄存器堆目标ID和目标地址若还存在,则进入步骤(7),若不存在,则进入步骤(9);
(7)所述的视频传输控制器判断所述的寄存器堆目标ID是否为发送DOORBELL目标ID,若是,则进入所述的步骤(C),若否,则返回步骤(5);
所述的步骤(C)具体包括以下步骤
(8)所述的视频传输控制器的状态机发送相应DOORBELL事物包;
(9)所述的Rapid IO控制器通过Rapid IO主请求总线收到NWRITE-R的事务,将其发送到所述的Rapid IO交换机;
(10)相应的Rapid IO处理器收到所述的NWRITE-R事务包,由硬件内存控制器更新内存空间数据,并返回应答Response返回包;
(11)所述的应答Response返回包经Rapid IO交换机、Rapid IO控制器、Rapid IO主应答总线发送到所述的错误检测模块;
(12)错误检测模块根据所述的应答Response返回包更新寄存器堆中寄存器值;
(13)相应的Rapid 10处理器接收到所述的DOORBELL事务包,由中断控制器产生中断,执行中断服务程序,中断服务程序释放视频完成信号量;
( 14)视频处理任务获得视频完成信号量,处理视频程序,处理完成后,再次获取视频信号量。
在一种进一步优选的实施方式中,如图2所示,所述的寄存器堆包括多个节点寄存器组,每个所述的节点寄存器组均包括占用寄存器101、108、图像传输使能寄存器102、 109、两个远端内存基地址寄存器103、104、110、111、视频数据目标ID 105、11 2、中断使能寄存器 106、113 和 Doorbell 目标 ID 107、114。其中,
占用寄存器用以在当处理器读取该寄存器后,自动设为占用状态,不能被其他处理器使用;
图像传输使能寄存器用以开启视频传输寄存器;
两个远端内存基地址寄存器分别用以存放远端Rapid 10处理器用于乒乓操作的内存地址信息,所述的两个内存基地址寄存器交替使用;
视频数据目标ID用以存储视频数据需要发送到远端Rapid 10处理器的设备ID ;
中断使能寄存器包括行中断与场中断寄存器,用以在远端Rapid 10处理器使能该中断使能寄存器后,当控制器发送完一帧或一行,则向远端Rapid 10处理器发送Doorbell 事务包;
Doorbell目标ID用以在开启中断后,存储远端接收Doorbell事务包的Rapid 10 处理器的设备ID。
利用该进一步优选的实施方式所述的装置实现基于Rapid 10协议网络的视频采集传输控制方法中,所述的步骤(2)具体包括以下步骤
(21)所述的RapidIO控制器依次读取节点寄存器组占用寄存器,直到找到空节点寄存器组;
(22)所述的Rapid 10控制器使用Rapid 10协议的NWRITE-R事务将配置信息写入该空节点寄存器组;
(23)所述的Rapid 10控制器从被写入的节点寄存器组选出第一个发送节点信息提供给所述的视频传输控制器。
所述的步骤(5)具体包括以下步骤
(51)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址,若所述的先进先出FIFO队列选择寄存器为0,则进入步骤(52),若所述的先进先出FIFO队列选择寄存器为1,则进入步骤(53);
(52)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid IO主请求总线发送NWRITE-R事务给Rapid IO控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为I ;
(53)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid IO主请求总线发送NWRITE-R事务给Rapid IO控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为O。
且所述的步骤(12)具体为所述的错误检测模块若发现所述的应答Response返回包发生错误或未收到应答Response返回包,则认为相应的节点遗失,并不再向该节点发送NRITE-R事务包,不向其提供视频数据。
在一种更优选的实施方式中,所述的方法在步骤(I)之前还包括以下步骤
(0)所述的装置进行视频控制器配置操作和视频传感器配置操作。
其中,所述的视频传感器配置操作具体包括以下步骤
(Ml)所述的Rapid 10处理器向视频控制器发送NWRITE事务包,地址为所述的IIC 异步先进先出FIFO队列地址;
(M2)所述的NWRITE事务包经过所述的Rapid 10交换机、Rapid 10控制器、Rapid 10从请求总线,到达所述的寄存器堆;
(M3)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,将数据写入 IIC主异步先进先出FIFO队列,并通过Rapid 10从应答总线、Rapid 10控制器、Rapid 10 交换机向所述的返回Rapid 10处理器返回应答Response返回包;
(M4)所述的IIC主控制器发现主异步先进先出FIFO队列非空后,读取IIC指令数据,并发起IIC读写的主操作;
(M5)若所述的主操作为IIC读操作,则所述的视频传感器返回的数据被IIC主控制器 读取,并写入所述的IIC从异步先进先出FIFO队列;
(M6)所述的Rapid 10处理器向视频控制器发送NREAD事务包,地址为IIC异步先进先出FIFO队列地址;
(M7)所述的NREAD事务包经过所述的Rapid 10交换机、Rapid 10控制器、Rapid 10从请求总线,到达所述的寄存器堆;
(M8)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,读取IIC从异步先进先出FIFO队列的数据,并通过Rapid 10从应答总线、Rapid 10控制器、Rapid 10 交换机,向所述的Rapid 10处理器返回应答Response返回包;
(M9)所述的Rapid 10处理器获得数据。
而所述的视频控制器配置操作则具体包括以下步骤
(NI)所述的Rapid 10处理器向所述的视频控制器读取O号占用寄存器的值,并发送NREAD事务包到视频控制器;
(N2)所述的NREAD事务包经过所述的Rapid 10交换机、Rapid 10控制器和Rapid 10从请求总线到达寄存器堆;
(N3)所述的寄存器堆根据所述的NREAD事务为读取所述的O号占用寄存器,则将所述的O号占用寄存器的值通过所述的Rapid 10从应答主线、Rapid 10控制器和RapidIO交换机向所述的Rapid IO处理器返回应答Response返回包,若O号占用寄存器未被占用,则将其值修改为占用,并赋值视频数据目标ID ;
(N4)所述的Rapid IO处理器得到的占用状态若为被占用,则向视频控制器读取I 号占用寄存器的值,发送所述的NREAD事务包到视频控制器,并依次类推,直到遍历完所有占用寄存器;
(N5)所述的Rapid IO处理器得到的占用状态若为未被占用,则将需要配置的中断使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell 目标ID寄存器的数据写入一段内存地址;
(N6)所述的Rapid IO处理器启动NWRITE事务包,将内存地址数据发送到视频控制器;
(N7)所述的NWRITE事务包通过所述的Rapid IO交换机、Rapid IO控制器和Rapid IO从请求总线到达所述的寄存器堆;
(NS)所述的寄存器堆配置所述的中断使能寄存器、两个远端内存基地址寄存器、 视频数据目标ID、中断使能寄存器和Doorbell目标ID寄存器。
在本发明的实际应用中,视频采集传输多个Rapid 10处理器,相应原理与流程如下
I.需要视频数据的Rapid 10处理器216、217、219将对视频控制器配置信息写入各自内存;
2.处理器依次读取节点寄存器组占用寄存器101,直到找到空节点寄存器组为止,若未找到,说明视频控制器传输通道全部被占用,那么将不能接收视频数据;
3.处理器发现空节点寄存器组后,使用Rapid 10 NWRITE-R事务将准备好的配置信息写入节点寄存器组;
4.寄存器组209选出第一个发送节点信息提供给视频传输控制器206 ;
5.视频控制器开始工作,等待场同步信号;
6.当视频输入控制器202收到场同步信号后,将视频数据变为64位,并与场同步信号一起存入视频异步FIFO 205 ;
7.视频传输控制器206发现视频异步FIFO 204中的数据大于256B后,跳到如图 3所示的获取状态302 ;
8.视频传输控制器206状态机在获取状态302获取寄存器组209目标ID和目标地址,并转入发送状态303;
9.视频传输控制器206发现FIFO选择寄存器为0,则根据视频异步FIFO 204提供的数据,通过Rapid 10主请求总线211发送NWRITE-R事务给Rapid 10控制器215,并将视频数据写入视频存储FIFO 205中,置FIFO选择寄存器为I ;
10.视频传输控制器206发送完毕,转到获取状态302,再次获取目标ID和目标地址;
11.若还存在,视频传输控制器206状态机将转入发送状态;
12.视频传输控制器206发现FIFO选择寄存器为1,则根据视频存储异步FIFO 205提供的数据,通过Rapid 10主请求总线211发送NWRITE-R事务给Rapid 10控制器 215,并将视频数据写入视频存储FIFO 205中;
13.视频传输控制器206发送完毕,转到获取状态302,再次获取目标ID和目标地址;
14.若存在,并且为发送DOORBELL标示,视频传输控制器206状态机进入302,发送相应DOORBELL ;
15.若不存在,视频传输控制器206状态机将转入初始状态301 ;
16. Rapid IO控制器215收到Rapid IO主请求总线通过211发送NWRITE-R的事务,将其发送到Rapid IO交换机;
17.相应处理器216收到NWRITE-R事务包,由硬件内存控制器更新内存空间数据, 并返回Response包;
18. Response 包经 Rapid 10 交换机 220、Rapid 10 控制器 215、Rapid 10 主应答总线214,到达错误检测210模块;
19.错误检测210模块根据返回包情况更新寄存器堆中寄存器值,例如若发生错误或未收到Response包,则认为该节点遗失,下次将不再向该节点发送NRITE-R事务包,提供视频数据;
20.相应处理器216收到DOORBELL事务包,由中断控制器产生中断,执行中断服务程序;
21.中断服务程序释放视频完成信号量;
22.视频处理任务获得视频完成信号量,处理视频程序,处理完成后,再次获取视频信号量。
视频传感器的配置的原理与流程如下I. Rapid 10处理器216向视频控制器200发送NWRITE事务包,地址为IIC异步 FIFO 地址 114 ;
2. NWRITE 事务包经过 Rapid 10 交换机 220、Rapid 10 控制器 215、Rapid 10 从请求总线213,到达寄存器堆209模块;
3.寄存器堆209发现地址为IIC异步FIFO地址114,将数据写入IIC主异步FIFO 207,并通过Rapid 10从应答总线返回Response包;
4. Response 包经 Rapid 10 控制器 215、Rapid 10 交换机 220 返回 Rapid 10 处理器 216 ;
5. IIC主控制器203发现主异步FIFO非空后读取IIC指令数据,并发起IIC读写的主操作;
6.若为IIC读操作,视频传感器返回数据被IIC主控制器203读取,并邪王IIIC 从异步FIF0208 ;
7. Rapid 10处理器向视频控制器200发送NREAD事务包,地址为IIC异步FIFO地址 114 ;
8. NREAD 事务包经过 Rapid 10 交换机 220、Rapid 10 控制器 215、Rapid 10 从请求总线213,到达寄存器堆209模块;
9.寄存器堆209模块发现地址为IIC异步FIFO地址116,则读取IIC从异步FIFO 208数据,通过Rapid 10从应答总线212返回Response包;
10. Response 包经 Rapid 10 控制器 215、Rapid 10 交换机 220 返回 Rapid 10 处理器216 ;
11. Rapid IO处理器216获得数据。
视频控制器的配置的原理与流程如下
I. RapidIO处理器216向视频控制器200读取O号占用寄存器101值发送NREAD 事务包到视频控制器200 ;
2. NREAD 事务包经过 Rapid IO 交换机 220、Rapid IO 控制器 215、Rapid IO 从请求总线213,到达寄存器堆209模块;
3.寄存器堆209模块发现该事务是读取O号占用寄存器101,将O号占用寄存器 101值经Rapid IO从应答212返回Response包,若O号占用寄存器101未被占用,则值为占用,并赋值视频数据目标ID 105 ;
4. Response 包经 Rapid IO 控制器 215、Rapid IO 交换机 220 返回 Rapid IO 处理器 216 ;
5. Rapid IO处理器216得到占用状态,若被占用,则向视频控制器200读取I号占用寄存器101值发送NREAD事务包到视频控制器200,依次类推,直到遍历完所有占用寄存器101 ;
6. RapidIO处理器216得到占用状态,若未被占用;
7. Rapid IO处理器216将需要配置的中断使能寄存器106、两个远端内存基地址寄存器103、104、视频数据目标ID 105、中断使能寄存器106、DOOrbell目标ID 107数据写入一段内存地址;
8. Rapid IO处理器216启动NWRITE事务包,将上述内存地址数据发送到视频控制器 200 ;
9. NWRITE 事务包经过 Rapid IO 交换机 220、Rapid IO 控制器 215、Rapid IO 从请求总线21 3,到达寄存器堆209模块;
10.寄存器堆209模块配置中断使能寄存器106、两个远端内存基地址寄存器103、 104、视频数据目标ID 105、中断使能寄存器106、Doorbell目标ID 107寄存器。
采用了该发明的基于Rapid IO协议网络的视频采集传输装置及方法,其装置视频传感器、视频控制器和Rapid IO交换机,该方法中,利用视频控制器从视频传感器获取视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包;进而由Rapid IO交换机将Rapid IO写事务包依次写入多个相应Rapid IO处理器中。从而能够在将视频数据缓冲后直接发往各个Rapid IO处理器,而无需将其存放到外部内存当中,也不需要由处理器来实现视频数据的转发,实现一种快速,高效,且节约逻辑资源,结构简单,实现方法简便,成本低廉,应用范围广泛的基于Rapid IO协议网络的视频采集传输装置及方法。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种基于Rapid IO协议网络的视频采集传输装置,其特征在于,所述的装置包括 视频传感器,用以获取视频数据流; 视频控制器,用以从所述的视频传感器获取视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包;以及 Rapid IO交换机,用以将所述的Rapid IO写事务包依次写入多个相应Rapid IO处理器中。
2.根据权利要求I所述的基于RapidIO协议网络的视频采集传输装置,其特征在于,所述的视频控制器包括视频输入控制器、视频异步先进先出FIFO队列、视频存储先进先出FIFO队列、视频传输控制器、IIC总线主控制器、IIC总线主异步先进先出FIFO队列、IIC总线从异步先进先出FIFO队列、寄存器堆、错误检测模块、Rapid IO控制器、Rapid IO主请求总线、Rapid IO从应答总线、Rapid IO从请求总线和Rapid IO从应答总线,其中, 所述的Rapid IO控制器通过所述的Rapid IO交换机连接多个Rapid IO处理器; 所述的视频输入控制器与所述的视频异步先进先出FIFO队列和所述的视频传感器相连接; 所述的视频传输控制器与所述的视频异步先进先出FIFO队列、视频存储先进先出FIFO队列和寄存器堆相连接,并通过所述的Rapid 10主请求总线连接所述的Rapid 10控制器; 所述的IIC总线主控制器与所述的视频传感器、IIC总线主异步先进先出FIFO队列和IIC总线从异步先进先出FIFO队列相连接; 所述的寄存器堆连接所述的IIC总线主异步先进先出FIFO队列和所述的IIC总线从异步先进先出FIFO队列,该寄存器堆还分别通过所述的Rapid 10从请求总线和所述的Rapid 10从应答总线连接所述的Rapid 10控制器; 所述的错误检测模块连接所述的寄存器堆,该错误检测模块还通过所述的Rapid 10从应答总线连接所述的Rapid 10控制器。
3.根据权利要求2所述的基于Rapid10协议网络的视频采集传输装置,其特征在于,所述的寄存器堆包括多个节点寄存器组,每个所述的节点寄存器组均包括 占用寄存器,用以在当处理器读取该寄存器后,自动设为占用状态,不能被其他处理器使用; 图像传输使能寄存器,用以开启视频传输寄存器; 两个远端内存基地址寄存器,分别用以存放远端Rapid 10处理器用于乒乓操作的内存地址信息,所述的两个内存基地址寄存器交替使用; 视频数据目标ID,用以存储视频数据需要发送到远端Rapid 10处理器的设备ID ;中断使能寄存器,包括行中断与场中断寄存器,用以在远端Rapid 10处理器使能该中断使能寄存器后,当控制器发送完一帧或一行,则向远端Rapid 10处理器发送Doorbell事务包; Doorbell目标ID,用以在开启中断后,存储远端接收Doorbell事务包的Rapid 10处理器的设备ID。
4.一种利用权利要求I所述的装置实现基于Rapid 10协议网络的视频采集传输控制方法,其特征在于,所述的方法包括以下步骤(A)所述的视频传感器获取视频数据流; (B)所述的视频控制器从所述的视频传感器获取所述的视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包; (C)所述的RapidIO交换机将所述的Rapid IO写事务包依次写入多个相应Rapid IO处理器中。
5.根据权利要求4所述的实现基于RapidIO协议网络的视频采集传输控制方法,其特征在于,所述的视频控制器包括视频输入控制器、视频异步先进先出FIFO队列、视频存储先进先出FIFO队列、视频传输控制器、IIC总线主控制器、IIC总线主异步先进先出FIFO队列、IIC总线从异步先进先出FIFO队列、寄存器堆、错误检测模块、Rapid IO控制器、RapidIO主请求总线、Rapid IO从应答总线、Rapid IO从请求总线和Rapid IO从应答总线,所述的步骤(B)具体包括以下步骤 (O需要视频数据的多个Rapid IO处理器将视频控制器配置信息写入各自内存后,通过Rapid IO Nwrite事务配置寄存器堆; (2)所述的RapidIO控制器将配置信息写入寄存器堆,并将写入地址提供给所述的视频传输控制器; (3)所述的视频输入控制器等待场同步信号,并在接收到场同步信号后,将视频数据修改为64位,将其与场同步信号一起存入所述的视频异步先进先出FIFO队列; (4)所述的视频传输控制器检测所述的视频异步先进先出FIFO队列中的数据大小,当大于256B后,进入步骤(5); (5)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址,并根据目标ID和目标地址将视频数据写入所述的视频存储先进先出FIFO队列中; (6)所述的视频传输控制器视频数据发送完毕后,再次获取寄存器堆目标ID和目标地址若还存在,则进入步骤(7),若不存在,则进入步骤(9); (7)所述的视频传输控制器判断所述的寄存器堆目标ID是否为发送DOORBELL目标ID,若是,则进入所述的步骤(C),若否,则返回步骤(5); 所述的步骤(C)具体包括以下步骤 (8)所述的视频传输控制器的状态机发送相应DOORBELL事物包; (9)所述的Rapid10控制器通过Rapid 10主请求总线收到NWRITE-R的事务,将其发送到所述的Rapid 10交换机; (10)相应的Rapid10处理器收到所述的NWRITE-R事务包,由硬件内存控制器更新内存空间数据,并返回应答Response返回包; (11)所述的应答Response返回包经Rapid10交换机、Rapid 10控制器、Rapid 10主应答总线发送到所述的错误检测模块; (12)错误检测模块根据所述的应答Response返回包更新寄存器堆中寄存器值; (13)相应的Rapid10处理器接收到所述的DOORBELL事务包,由中断控制器产生中断,执行中断服务程序,中断服务程序释放视频完成信号量; (14)视频处理任务获得视频完成信号量,处理视频程序,处理完成后,再次获取视频信号量。
6.根据权利要求5所述的实现基于Rapid10协议网络的视频采集传输控制方法,其特征在于,所述的寄存器堆包括多个节点寄存器组,每个所述的节点寄存器组均包括占用寄存器、图像传输使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell目标ID,所述的步骤(2)具体包括以下步骤 (21)所述的RapidIO控制器依次读取节点寄存器组占用寄存器,直到找到空节点寄存器组; (22)所述的RapidIO控制器使用Rapid IO协议的NWRITE-R事务将配置信息写入该空节点寄存器组; (23)所述的RapidIO控制器从被写入的节点寄存器组选出第一个发送节点信息提供给所述的视频传输控制器。
7.根据权利要求6所述的实现基于RapidIO协议网络的视频采集传输控制方法,其特征在于,所述的步骤(5)具体包括以下步骤 (51)所述的视频传输控制器状态机在获取状态获取寄存器堆目标ID和目标地址,若所述的先进先出FIFO队列选择寄存器为0,则进入步骤(52),若所述的先进先出FIFO队列选择寄存器为1,则进入步骤(53); (52)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid 10主请求总线发送NWRITE-R事务给Rapid 10控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为I ; (53)所述的视频传输控制器根据所述的视频异步先进先出FIFO队列提供的数据,通过Rapid 10主请求总线发送NWRITE-R事务给Rapid 10控制器,并将视频数据写入视频存储先进先出FIFO队列中,将所述的先进先出FIFO队列选择寄存器置为O。
8.根据权利要求7所述的实现基于Rapid10协议网络的视频采集传输控制方法,其特征在于,所述的步骤(12)具体为 所述的错误检测模块若发现所述的应答Response返回包发生错误或未收到应答Response返回包,则认为相应的节点遗失,并不再向该节点发送NRITE-R事务包,不向其提供视频数据。
9.根据权利要求5至8中任一项所述的实现基于Rapid10协议网络的视频采集传输控制方法,其特征在于,所述的方法在步骤(I)之前还包括以下步骤 (O )所述的装置进行视频控制器配置操作和视频传感器配置操作。
10.根据权利要求9所述的实现基于Rapid10协议网络的视频采集传输控制方法,其特征在于,所述的视频传感器配置操作具体包括以下步骤 (Ml)所述的Rapid 10处理器向视频控制器发送NWRITE事务包,地址为所述的IIC异步先进先出FIFO队列地址; (M2)所述的NWRITE事务包经过所述的Rapid 10交换机、Rapid 10控制器、Rapid 10从请求总线,到达所述的寄存器堆; (M3)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,将数据写入IIC主异步先进先出FIFO队列,并通过Rapid 10从应答总线、Rapid 10控制器、Rapid 10交换机向所述的返回Rapid 10处理器返回应答Response返回包; (M4)所述的IIC主控制器发现主异步先进先出FIFO队列非空后,读取IIC指令数据,并发起IIC读写的主操作;(M5)若所述的主操作为IIC读操作,则所述的视频传感器返回的数据被IIC主控制器读取,并写入所述的IIC从异步先进先出FIFO队列; (M6)所述的Rapid IO处理器向视频控制器发送NREAD事务包,地址为IIC异步先进先出FIFO队列地址; (M7)所述的NREAD事务包经过所述的Rapid IO交换机、Rapid IO控制器、Rapid IO从请求总线,到达所述的寄存器堆; (M8)所述的寄存器堆根据所述的IIC异步先进先出FIFO队列地址,读取IIC从异步先进先出FIFO队列的数据,并通过Rapid IO从应答总线、Rapid IO控制器、Rapid IO交换机,向所述的Rapid IO处理器返回应答Response返回包; (M9)所述的Rapid 10处理器获得数据。
11.根据权利要求9所述的实现基于Rapid 10协议网络的视频采集传输控制方法,其特征在于,所述的视频控制器配置操作具体包括以下步骤 (NI)所述的Rapid 10处理器向所述的视频控制器读取O号占用寄存器的值,并发送NREAD事务包到视频控制器; (N2)所述的NREAD事务包经过所述的Rapid 10交换机、Rapid 10控制器和Rapid 10从请求总线到达寄存器堆; (N3)所述的寄存器堆根据所述的NREAD事务为读取所述的O号占用寄存器,则将所述的O号占用寄存器的值通过所述的Rapid 10从应答主线、Rapid 10控制器和Rapid 10交换机向所述的Rapid 10处理器返回应答Response返回包,若O号占用寄存器未被占用,贝Ij将其值修改为占用,并赋值视频数据目标ID ; (N4)所述的Rapid 10处理器得到的占用状态若为被占用,则向视频控制器读取I号占用寄存器的值,发送所述的NREAD事务包到视频控制器,并依次类推,直到遍历完所有占用寄存器; (N5)所述的Rapid 10处理器得到的占用状态若为未被占用,则将需要配置的中断使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell目标ID寄存器的数据写入一段内存地址; (N6)所述的Rapid 10处理器启动NWRITE事务包,将内存地址数据发送到视频控制器;(N7)所述的NWRITE事务包通过所述的Rapid 10交换机、Rapid 10控制器和Rapid 10从请求总线到达所述的寄存器堆; (NS)所述的寄存器堆配置所述的中断使能寄存器、两个远端内存基地址寄存器、视频数据目标ID、中断使能寄存器和Doorbell目标ID寄存器。
全文摘要
本发明涉及一种基于Rapid IO协议网络的视频采集传输装置及方法,其装置视频传感器、视频控制器和RapidIO网络,该方法中,利用视频控制器从视频传感器获取视频数据流,并将数据视频数据流直接变为相应的Rapid IO写事务包;进而由Rapid IO交换机将Rapid IO写事务包依次写入多个相应Rapid IO处理器中。从而能够在将视频数据简单缓冲后直接发往各个Rapid IO处理器,而无需将其存放到外部内存当中,也不需要由处理器来实现视频数据的转发,实现一种快速,高效,且节约逻辑资源,结构简单,实现方法简便,成本低廉,应用范围广泛的基于Rapid IO协议网络的视频采集传输装置及方法。
文档编号H04N21/643GK102984599SQ20121056076
公开日2013年3月20日 申请日期2012年12月21日 优先权日2012年12月21日
发明者马克杰 申请人:中国电子科技集团公司第三十二研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1