一种应用于多路视频采播系统的缓存仲裁方法及系统的制作方法

文档序号:10597494阅读:570来源:国知局
一种应用于多路视频采播系统的缓存仲裁方法及系统的制作方法
【专利摘要】本申请公开了一种应用于多路视频采播系统的缓存仲裁方法及系统,该方法包括:步骤S11:将请求仲裁状态机的状态设为空闲状态;步骤S12:查询当前周期是否有FrameStore视音频任务请求,如果是,则进入步骤S13,如果否,则进入步骤S14;步骤S13:通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理;步骤S14:查询是否有PCIE DMA任务请求,如果是,则通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理。本申请能够避免单纯依赖轮询机制所带来的带宽利用率低的缺点,充分利用了DDR SDRAM的带宽。
【专利说明】
一种应用于多路视频采播系统的缓存仲裁方法及系统
技术领域
[0001]本发明涉及视频图像技术领域,特别涉及一种应用于多路视频采播系统的缓存仲裁方法及系统。【背景技术】
[0002]当前,为了适应视频图像技术的发展,市面上出现了多路视频采播系统,这种系统对图像数据实时采集后的传输和处理性能提出了很高的要求。尤其是高分辨率、高频帧相机的广泛使用,使得高带宽需求越加迫切。在对这些海量图像数据进行实时采集的过程中, 缓存是必不可少的组成部分,例如现在比较常用的DDR SDRAM(即双倍速率同步动态随机存储器)。现有多路视频采播系统中的DDR SDRAM通常采用轮询机制作为缓存机制,这样使得带宽利用率比较低。
[0003]综上所述可以看出,如何提高DDR SDRAM缓存过程中的带宽利用率是目前亟待解决的问题。
【发明内容】

[0004]有鉴于此,本发明的目的在于提供一种应用于多路视频采播系统的缓存仲裁方法及系统,提高了DDR SDRAM缓存过程中的带宽利用率。其具体方案如下:
[0005]—种应用于多路视频采播系统的缓存仲裁方法,包括:
[0006]步骤S11:将请求仲裁状态机的状态设为空闲状态;
[0007]步骤S12:查询当前周期是否有FrameStore视音频任务请求,如果是,则进入步骤 S13,如果否,则进入步骤S14;
[0008]步骤S13:将所述请求仲裁状态机的状态更改为第一请求服务状态,并通知 FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理,并当本次处理完成后,进入步骤S11;
[0009]步骤S14:查询是否有PCIE DMA任务请求,如果否,则进入步骤S12,如果是,则将所述请求仲裁状态机的状态更改为第二请求服务状态,并通知PCIE DMA端接口控制状态机, 对PCIE DMA任务请求进行处理,并当本次处理完成后,进入步骤S11。
[0010]优选的,所述空闲状态为ARBITRATER_IDLE状态,所述第一请求服务状态为 VIDAUD_SERVE状态,所述第二请求服务状态为PCIE_SERVE状态。[〇〇11 ]优选的,所述通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理的过程,包括:
[0012]发出 vidaud_serve_request 命令,以通知所述 FrameStore_Channel 端接口控制状态机,对FrameStore视音频任务请求进行处理。[〇〇13] 优选的,所述通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理的过程,包括:
[0014] 发出pcie_serve_request命令,以通知所述PCIE DMA端接口控制状态机,对PCIEDMA任务请求进行处理。[〇〇15] 优选的,所述FrameStore_Channel端接口控制状态机对FrameStore视音频任务请求进行处理的过程,包括:[〇〇16] 步骤S21:获取FrameStore视音频任务请求,并将所述FrameStore_Channel端接口控制状态机的状态由初始的VID_IDLE状态更改为VID_GET_ADDR状态;[〇〇17]步骤S22:在VID_GET_ADDR状态中,输出当前需要处理的通道,然后将所述 FrameStore_Channel端接口控制状态机的状态变更为VID_SERVE_START状态,在该状态中, 判断当前通道的服务类型,若当前通道的服务类型为写,则将所述FrameStore_Channel端接口控制状态机的状态变更为VID_WFIF0_SE状态,并进入步骤S23;若当前通道的服务类型为读,则将所述FrameStore_Channel端接口控制状态机的状态变更为VID_RFIF0_SE状态, 并进入步骤S24;[〇〇18] 步骤S23:完成相应的写操作,并将所述FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态,然后进入步骤S25;[0〇19] 步骤S24:完成相应的读操作,并将所述FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态,然后进入步骤S25;
[0020] 步骤S25:在VID_UPDATE_ADDR状态中,输出地址更新信号,更新当前通道的基地址,然后将FrameStore_Channel端接口控制状态机的状态变更为VID_IDLE状态。[0〇21 ]优选的,所述完成相应的写操作,并将所述FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态的过程,包括:[〇〇22] 在VID_WFIF0_SE状态中,当确定wrfifo中存在足够空间后,将所述FrameStore_ Channel端接口控制状态机的状态变更为VID_WFIFO_WRITE状态,然后将相应的数据写入 wrfifo,写入完成后将所述FrameStore_Channel端接口控制状态机的状态变更为VID_ CMDWF_SE状态,并在确定CMDfifo中存在空间存储命令后,将所述FrameStore_Channel端接口控制状态机的状态变更为VID_CMDWF_WRITE状态,写入空间存储命令后,将所述 FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态;[0〇23]所述完成相应的读操作,并将所述FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态的过程,包括:
[0024] 在VID_RFIF0_SE状态中,当确定“^€〇中存在足够空间后,将所述?抑11163如代_ Channel端接口控制状态机的状态变更为VID_CMDRF_SE状态,并在确定CMDfifo中存在空间存储命令后,将所述FrameStore_Channel端接口控制状态机的状态变更为VID_CMDRF_ WRITE状态,写入空间存储命令后,将所述FrameStore_Channel端接口控制状态机的状态变更为VID_RFIF0_READ状态,然后将相应的数据从rdfifo中读取出来,读取完成后将所述 FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态。[〇〇25] 优选的,所述PCIE DMA端接口控制状态机对PCIE DMA任务请求进行处理的过程, 包括:
[0026]步骤S31:获取PCIE DMA任务请求,并将所述PCIE DMA端接口控制状态机的状态由初始的 PCIE_SERVE_IDLE 状态更改为 PCIE_SERVE_START 状态;
[0027]步骤S32:在PCIE_SERVE_START状态中,判断PCIE DMA任务请求的类型;若PCIE DMA任务请求为写请求,则将所述PCIE DMA端接口控制状态机的状态更改为WFIF0_SE状态,并进入步骤S33;若PCIE DMA任务请求为读请求,则将所述PCIE DMA端接口控制状态机的状态更改为RFIFO_SE状态,并进入步骤S34;
[0028]步骤S33:完成相应的写操作,并将所述PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态;
[0029]步骤S34:完成相应的读操作,并将所述PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态。
[0030]优选的,所述完成相应的写操作,并将所述PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态的过程,包括:[〇〇31] 在WFIF0_SE状态中,当确定wrfifo中存在足够空间后,则将所述PCIE DMA端接口控制状态机的状态更改为WFIF0_WRITE状态,然后将相应的数据写入wrfifo,写入完成后将所述PCIE DMA端接口控制状态机的状态更改为CMDWF_SE状态,并在确定CMDfif〇中存在空间存储命令后,将所述PCIE DMA端接口控制状态机的状态更改为CMDWF_WRITE状态,写入空间存储命令后,将所述PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态; [〇〇32]所述完成相应的读操作,并将所述PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE状态的过程,包括:[〇〇33] 在RFIF0_SE状态中,当确定rdfifo中存在足够空间后,将所述PCIE DMA端接口控制状态机的状态更改为CMDRF_SE状态,并在确定CMDf ifo中存在空间存储命令后,将所述 PCIE DMA端接口控制状态机的状态更改为CMDRF_WRITE状态,写入空间存储命令后,将所述 PCIE DMA端接口控制状态机的状态更改为RFIF0_READ状态,然后将相应的数据从rdf if 〇中读取出来,读取完成后将所述PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE 状态。
[0034]本发明还公开了一种应用于多路视频采播系统的缓存仲裁系统,包括状态设置模块、第一请求查询模块、第一请求处理模块、第二请求查询模块和第二请求处理模块;其中,
[0035]所述状态设置模块,用于将请求仲裁状态机的状态设为空闲状态;[0〇36]所述第一请求查询模块,用于查询当前周期是否有FrameStore视音频任务请求, 如果是,则通知所述第一请求处理模块启动工作;如果否,则通知所述第二请求查询模块启动工作;[〇〇37]所述第一请求处理模块,用于将所述请求仲裁状态机的状态更改为第一请求服务状态,并通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理,并当本次处理完成后,通知所述状态设置模块启动工作;
[0038] 所述第二请求查询模块,用于查询是否有PCIE DMA任务请求,如果否,则通知所述第一请求查询模块启动工作,如果是,则通知所述第二请求处理模块启动工作;[〇〇39]所述第二请求处理模块,用于将所述请求仲裁状态机的状态更改为第二请求服务状态,并通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理,并当本次处理完成后,通知所述状态设置模块启动工作。
[0040]本发明进一步公开了一种基于PCIe接口的多路视频采播系统,包括前述的缓存仲裁系统。[0041 ]本发明中,缓存仲裁方法包括:步骤SI 1:将请求仲裁状态机的状态设为空闲状态; 步骤S12:查询当前周期是否有FrameStore视音频任务请求,如果是,则进入步骤S13,如果否,则进入步骤S14;步骤S13:将请求仲裁状态机的状态更改为第一请求服务状态,并通知 FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理,并当本次处理完成后,进入步骤SI 1;步骤S14:查询是否有PCIE DMA任务请求,如果否,则进入步骤 S12,如果是,则将请求仲裁状态机的状态更改为第二请求服务状态,并通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理,并当本次处理完成后,进入步骤SI 1。可见, 本发明根据请求类型的不同,相应地选择不同的状态机进行请求响应,也即,当请求为 FrameStore视音频任务请求时,则利用FrameStore_Channel端接口控制状态机对该请求进行处理,当请求为PCIE DMA任务请求时,则利用PCIE DMA端接口控制状态机对该请求进行处理。由此可见,本发明通过将FrameStore_Channe 1端接口控制状态机中关于数据通道间的轮询仲裁机制和PCIE DMA端接口控制状态机中关于PCIE DMA的优先级仲裁机制进行结合,能够避免单纯依赖轮询机制所带来的带宽利用率低的缺点,充分利用了DDR SDRAM的带宽,提高了系统的吞吐量,同时也有利于提高系统的扩展性。【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0043]图1为本发明实施例公开的一种应用于多路视频采播系统的缓存仲裁方法流程图;[〇〇44]图2为本发明实施例公开的一种应用于多路视频采播系统的缓存仲裁系统结构示意图。【具体实施方式】[〇〇45]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]本发明实施例公开了一种应用于多路视频采播系统的缓存仲裁方法,参见图1所示,该方法包括:
[0047]步骤S11:将请求仲裁状态机的状态设为空闲状态;[〇〇48] 步骤S12:查询当前周期是否有FrameStore视音频任务请求,如果是,则进入步骤 S13,如果否,则进入步骤S14;
[0049]步骤S13:将请求仲裁状态机的状态更改为第一请求服务状态,并通知 FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理,并当本次处理完成后,进入步骤S11;
[0050]步骤S14:查询是否有PCIE DMA任务请求,如果否,则进入步骤S12,如果是,则将请求仲裁状态机的状态更改为第二请求服务状态,并通知PCIE DMA端接口控制状态机,对 PCIE DMA任务请求进行处理,并当本次处理完成后,进入步骤S11。[0051 ] 可以理解的是,上述FrameStore视音频任务请求和PCIE DMA任务请求是通过请求仲裁状态机进行接收的。
[0052] 需要说明的是,上述FrameStore_Channel端接口控制状态机具体是指 FrameStore_Serve_StateMachine状态机,上述PCIE DMA端接口控制状态机具体是指Pcie_ DMA_Serve_StateMachine 状态机。[〇〇53] 另外,上述空闲状态为ARBITRATER_IDLE状态,第一请求服务状态为VIDAUD_SERVE 状态,第二请求服务状态为PCIE_SERVE状态。
[0054]可见,本发明实施例根据请求类型的不同,相应地选择不同的状态机进行请求响应,也即,当请求为FrameStore视音频任务请求时,贝lj利用FrameStore_Channel端接口控制状态机对该请求进行处理,当请求为PCIE DMA任务请求时,则利用PCIE DMA端接口控制状态机对该请求进行处理。由此可见,本发明实施例通过将FrameStore_Channel端接口控制状态机中关于数据通道间的轮询仲裁机制和PCIE DMA端接口控制状态机中关于PCIE DMA 的优先级仲裁机制进行结合,能够避免单纯依赖轮询机制所带来的带宽利用率低的缺点, 充分利用了DDR SDRAM的带宽,提高了系统的吞吐量,同时也有利于提高系统的扩展性。
[0055]本发明实施例公开了一种具体的应用于多路视频采播系统的缓存仲裁方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:[〇〇56] 上一实施例步骤S13中,通知FrameStore_Channel端接口控制状态机,对 FrameStore视音频任务请求进行处理的过程,包括:发出vidaud_serve_request命令,以通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理。
[0057] 其中,上述FrameStore_Channel端接口控制状态机对FrameStore视音频任务请求进行处理的过程,包括如下步骤S21?S25,具体为:[〇〇58] 步骤S21:获取FrameStore视音频任务请求,并将FrameStore_Channel端接口控制状态机的状态由初始的VID_IDLE状态更改为VID_GET_ADDR状态;[〇〇59] 步骤S22:在VID_GET_ADDR状态中,输出当前需要处理的通道,然后将FrameStore_ Channel端接口控制状态机的状态变更为VID_SERVE_START状态,在该状态中,判断当前通道的服务类型,若当前通道的服务类型为写,则将FrameStore_Channel端接口控制状态机的状态变更为VID_WFIF0_SE状态,并进入步骤S23;若当前通道的服务类型为读,则将 FrameStore_Channel端接口控制状态机的状态变更为VID_RFIF0_SE状态,并进入步骤S24;
[0060] 步骤S23:完成相应的写操作,并将FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态,然后进入步骤S25;[〇〇61 ] 步骤S24:完成相应的读操作,并将FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态,然后进入步骤S25;[〇〇62] 步骤S25:在VID_UPDATE_ADDR状态中,输出地址更新信号,更新当前通道的基地址,然后将FrameStore_Channel端接口控制状态机的状态变更为VID_IDLE状态。
[0063] 具体的,上述步骤S23中,完成相应的写操作,并将FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态的过程,具体包括:
[0064]在VID_WFIF0_SE状态中,当确定wrf if〇中存在足够空间后,将FrameStore_ Channel端接口控制状态机的状态变更为VID_WFIF0_WRITE状态,然后将相应的数据写入 wrfif 〇,写入完成后将FrameStore_Channel端接口控制状态机的状态变更为VID_CMDWF_SE状态,并在确定CMDfifo中存在空间存储命令后,将FrameStore_Channel端接口控制状态机的状态变更为VID_CMDWF_WRITE状态,写入空间存储命令后,将FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态。
[0065]进一步,上述步骤S24中,完成相应的读操作,并将FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态的过程,具体包括:
[0066]在VID_RFIF0_SE状态中,当确定rdfifo中存在足够空间后,将FrameStore_ Channel端接口控制状态机的状态变更为VID_CMDRF_SE状态,并在确定CMDfifo中存在空间存储命令后,将FrameStore_Channel端接口控制状态机的状态变更为VID_CMDRF_WRITE状态,写入空间存储命令后,将FrameStore_Channel端接口控制状态机的状态变更为VID_ RFIF0_READ状态,然后将相应的数据从“^化中读取出来,读取完成后将?以11165如代_ Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态。[〇〇67]另外,上一实施例步骤S14中,通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理的过程,包括:发出pcie_serve_request命令,以通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理。[〇〇68] 其中,PCIE DMA端接口控制状态机对PCIE DMA任务请求进行处理的过程,包括如下步骤S31?S34,具体为:
[0069]步骤S31:获取PCIE DMA任务请求,并将PCIE DMA端接口控制状态机的状态由初始的 PCIE_SERVE_IDLE 状态更改为 PCIE_SERVE_START 状态;
[0070]步骤S32:在PCIE_SERVE_START状态中,判断PCIE DMA任务请求的类型;若PCIE DMA任务请求为写请求,则将PCIE DMA端接口控制状态机的状态更改为WFIF0_SE状态,并进入步骤S33;若PCIE DMA任务请求为读请求,则将PCIE DMA端接口控制状态机的状态更改为 RFIF0_SE状态,并进入步骤S34;
[0071]步骤S33:完成相应的写操作,并将PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态;[〇〇72]步骤S34:完成相应的读操作,并将PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态。
[0073]具体的,上述步骤S33中,完成相应的写操作,并将PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态的过程,包括:[〇〇74]在WFI F0_SE状态中,当确定wr f i f 〇中存在足够空间后,则将PC IE DMA端接口控制状态机的状态更改为WFIF0_WRITE状态,然后将相应的数据写入wrfifo,写入完成后将PCIE DMA端接口控制状态机的状态更改为CMDWF_SE状态,并在确定CMDfifo中存在空间存储命令后,将PCIE DMA端接口控制状态机的状态更改为CMDWF_WRITE状态,写入空间存储命令后, 将PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态。[〇〇75]进一步的,上述步骤S34中,完成相应的读操作,并将PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态的过程,包括:[〇〇76]在RFIF0_SE状态中,当确定rdfifo中存在足够空间后,将PCIE DMA端接口控制状态机的状态更改为CMDRF_SE状态,并在确定CMDfifo中存在空间存储命令后,将PCIE DMA端接口控制状态机的状态更改为CMDRF_WRITE状态,写入空间存储命令后,将PCIE DMA端接口控制状态机的状态更改为RFIF0_READ状态,然后将相应的数据从rdfifo中读取出来,读取完成后将PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态。
[0077]相应的,本发明实施例公开了一种应用于多路视频采播系统的缓存仲裁系统,参见图2所示,该系统包括状态设置模块21、第一请求查询模块22、第一请求处理模块23、第二请求查询模块24和第二请求处理模块25;其中,[〇〇78]状态设置模块21,用于将请求仲裁状态机的状态设为空闲状态;[0〇79]第一请求查询模块22,用于查询当前周期是否有FrameStore视音频任务请求,如果是,则通知第一请求处理模块23启动工作;如果否,则通知第二请求查询模块24启动工作;
[0080]第一请求处理模块23,用于将请求仲裁状态机的状态更改为第一请求服务状态, 并通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理, 并当本次处理完成后,通知状态设置模块21启动工作;[〇〇811 第二请求查询模块24,用于查询是否有PCIE DMA任务请求,如果否,则通知第一请求查询模块22启动工作,如果是,则通知第二请求处理模块25启动工作;[〇〇82]第二请求处理模块25,用于将请求仲裁状态机的状态更改为第二请求服务状态, 并通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理,并当本次处理完成后, 通知状态设置模块21启动工作。
[0083]可见,本发明实施例根据请求类型的不同,相应地选择不同的状态机进行请求响应,也即,当请求为FrameStore视音频任务请求时,贝lj利用FrameStore_Channel端接口控制状态机对该请求进行处理,当请求为PCIE DMA任务请求时,则利用PCIE DMA端接口控制状态机对该请求进行处理。由此可见,本发明实施例通过将FrameStore_Channel端接口控制状态机中关于数据通道间的轮询仲裁机制和PCIE DMA端接口控制状态机中关于PCIE DMA 的优先级仲裁机制进行结合,能够避免单纯依赖轮询机制所带来的带宽利用率低的缺点, 充分利用了DDR SDRAM的带宽,提高了系统的吞吐量,同时也有利于提高系统的扩展性。
[0084]进一步的,本发明实施例还公开了一种基于PCIe接口的多路视频采播系统,包括前述公开的缓存仲裁系统。[〇〇85]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0086]以上对本发明所提供的一种应用于多路视频采播系统的缓存仲裁方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种应用于多路视频采播系统的缓存仲裁方法,其特征在于,包括:步骤S11:将请求仲裁状态机的状态设为空闲状态;步骤S12:查询当前周期是否有FrameStore视音频任务请求,如果是,则进入步骤S13, 如果否,则进入步骤S14;步骤S1 3:将所述请求仲裁状态机的状态更改为第一请求服务状态,并通知 FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理,并当本 次处理完成后,进入步骤S11;步骤S14:查询是否有PCIE DMA任务请求,如果否,则进入步骤S12,如果是,则将所述请 求仲裁状态机的状态更改为第二请求服务状态,并通知PCIE DMA端接口控制状态机,对 PCIE DMA任务请求进行处理,并当本次处理完成后,进入步骤S11。2.根据权利要求1所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述 空闲状态为ARBITRATER_IDLE状态,所述第一请求服务状态为VIDAUD_SERVE状态,所述第二 请求服务状态为PCIE_SERVE状态。3.根据权利要求2所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述 通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处理的过 程,包括:发出vidaud_serve_request命令,以通知所述FrameStore_Channel端接口控制状态 机,对FrameStore视音频任务请求进行处理。4.根据权利要求2所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述 通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理的过程,包括:发出pcie_serve_request命令,以通知所述PCIE DMA端接口控制状态机,对PCIE DMA 任务请求进行处理。5.根据权利要求3所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述 FrameStore_Channel端接口控制状态机对FrameStore视音频任务请求进行处理的过程,包 括:步骤S21:获取FrameStore视音频任务请求,并将所述FrameStore_Channel端接口控制 状态机的状态由初始的VID_IDLE状态更改为VID_GET_ADDR状态;步骤S22:在VID_GET_ADDR状态中,输出当前需要处理的通道,然后将所述FrameStore_ Channel端接口控制状态机的状态变更为VID_SERVE_START状态,在该状态中,判断当前通 道的服务类型,若当前通道的服务类型为写,则将所述FrameStore_Channel端接口控制状 态机的状态变更为VID_WFIFO_SE状态,并进入步骤S23;若当前通道的服务类型为读,则将 所述FrameStore_Channel端接口控制状态机的状态变更为VID_RFIFO_SE状态,并进入步骤 S24;步骤S23:完成相应的写操作,并将所述FrameStore_Channel端接口控制状态机的状态 变更为VID_UPDATE_ADDR状态,然后进入步骤S25;步骤S24:完成相应的读操作,并将所述FrameStore_Channel端接口控制状态机的状态 变更为VID_UPDATE_ADDR状态,然后进入步骤S25;步骤S25:在VID_UPDATE_ADDR状态中,输出地址更新信号,更新当前通道的基地址,然 后将FrameStore_Channel端接口控制状态机的状态变更为VID_IDLE状态。6.根据权利要求5所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述完成相应的写操作,并将所述FrameStore_Channel端接口控制状态机的状态变更 为VID_UPDATE_ADDR状态的过程,包括:在VID_WFIFO_SE状态中,当确定wrf if〇中存在足够空间后,将所述FrameStore_ Channel端接口控制状态机的状态变更为VID_WFIFO_WRITE状态,然后将相应的数据写入 wrfifo,写入完成后将所述FrameStore_Channel端接口控制状态机的状态变更为VID_ CMDWF_SE状态,并在确定CMDfifo中存在空间存储命令后,将所述FrameStore_Channel端接 口控制状态机的状态变更为VID_CMDWF_WRITE状态,写入空间存储命令后,将所述 FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态;所述完成相应的读操作,并将所述FrameStore_Channel端接口控制状态机的状态变更 为VID_UPDATE_ADDR状态的过程,包括:在VID_RFIFO_SE状态中,当确定rdfifo中存在足够空间后,将所述FrameStore_ Channel端接口控制状态机的状态变更为VID_CMDRF_SE状态,并在确定CMDfifo中存在空间 存储命令后,将所述FrameStore_Channel端接口控制状态机的状态变更为VID_CMDRF_ WRITE状态,写入空间存储命令后,将所述FrameStore_Channel端接口控制状态机的状态变 更为VID_RFIFO_READ状态,然后将相应的数据从rdfifo中读取出来,读取完成后将所述 FrameStore_Channel端接口控制状态机的状态变更为VID_UPDATE_ADDR状态。7.根据权利要求4所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述 PCIE DMA端接口控制状态机对PCIE DMA任务请求进行处理的过程,包括:步骤S31:获取PCIE DMA任务请求,并将所述PCIE DMA端接口控制状态机的状态由初始 的 PCIE_SERVE_IDLE 状态更改为 PCIE_SERVE_START 状态;步骤S32:在PCIE_SERVE_START状态中,判断PCIE DMA任务请求的类型;若PCIE DMA任 务请求为写请求,则将所述PCIE DMA端接口控制状态机的状态更改为WFIF0_SE状态,并进 入步骤S33;若PCIE DMA任务请求为读请求,则将所述PCIE DMA端接口控制状态机的状态更 改为RFIF0_SE状态,并进入步骤S34;步骤S33:完成相应的写操作,并将所述PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态;步骤S34:完成相应的读操作,并将所述PCIE DMA端接口控制状态机的状态更改为 PCIE_SERVE_IDLE 状态。8.根据权利要求7所述的应用于多路视频采播系统的缓存仲裁方法,其特征在于,所述完成相应的写操作,并将所述PCIE DMA端接口控制状态机的状态更改为PCIE_ SERVE_IDLE状态的过程,包括:在WFIF0_SE状态中,当确定wrfifo中存在足够空间后,则将所述PCIEDMA端接口控制状 态机的状态更改为WFIFO_WRITE状态,然后将相应的数据写入wrfifo,写入完成后将所述 PCIE DMA端接口控制状态机的状态更改为CMDWF_SE状态,并在确定CMDfifo中存在空间存 储命令后,将所述PCIEDMA端接口控制状态机的状态更改为CMDWF_WRITE状态,写入空间存 储命令后,将所述PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态;所述完成相应的读操作,并将所述PCIE DMA端接口控制状态机的状态更改为PCIE_ SERVE_IDLE状态的过程,包括:在RFIFO_SE状态中,当确定rdf if 〇中存在足够空间后,将所述PCIE DMA端接口控制状 态机的状态更改为CMDRF_SE状态,并在确定CMDfifo中存在空间存储命令后,将所述PCIE DMA端接口控制状态机的状态更改为CMDRF_WRITE状态,写入空间存储命令后,将所述PCIE DMA端接口控制状态机的状态更改为RFIFO_READ状态,然后将相应的数据从rdf if 〇中读取 出来,读取完成后将所述PCIE DMA端接口控制状态机的状态更改为PCIE_SERVE_IDLE状态。9.一种应用于多路视频采播系统的缓存仲裁系统,其特征在于,包括状态设置模块、第 一请求查询模块、第一请求处理模块、第二请求查询模块和第二请求处理模块;其中,所述状态设置模块,用于将请求仲裁状态机的状态设为空闲状态;所述第一请求查询模块,用于查询当前周期是否有FrameStore视音频任务请求,如果 是,则通知所述第一请求处理模块启动工作;如果否,则通知所述第二请求查询模块启动工 作;所述第一请求处理模块,用于将所述请求仲裁状态机的状态更改为第一请求服务状 态,并通知FrameStore_Channel端接口控制状态机,对FrameStore视音频任务请求进行处 理,并当本次处理完成后,通知所述状态设置模块启动工作;所述第二请求查询模块,用于查询是否有PCIE DMA任务请求,如果否,则通知所述第一 请求查询模块启动工作,如果是,则通知所述第二请求处理模块启动工作;所述第二请求处理模块,用于将所述请求仲裁状态机的状态更改为第二请求服务状 态,并通知PCIE DMA端接口控制状态机,对PCIE DMA任务请求进行处理,并当本次处理完成 后,通知所述状态设置模块启动工作。10.—种基于PCIe接口的多路视频采播系统,其特征在于,包括如权利要求9所述的缓 存仲裁系统。
【文档编号】H04N7/18GK105959622SQ201610274368
【公开日】2016年9月21日
【申请日】2016年4月28日
【发明人】董培强
【申请人】浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1