摘要:针对传统硬件测验软件的坏处,文章提出一种便携式视频数据逻辑剖析存储器的规划办法,这种剖析存储器可以针对网络多媒体数据进行收集、剖析和存储等操作。在不影响网络正常传输的前提下,针对TS流进行收集、存储和剖析。因为多媒体数据网络传输具有数据量大、网络带宽占用量大等特色,因而规划中依据体系结构需求,规划SDR SDRAM存储器操控器,选用分层状况机的规划方式,可以对结构较大的网络数据包或是很多高速传输中的数据进行突发存储操作。测验成果标明体系作业安稳,数据处理速度快,精度可达纳秒级,满意体系规划要求。
0 导言
在传统硬件调试体系中,一般选用SIGNALTAPII软件进行数据抓取和收集,可是这种调试东西具有必定的坏处,对高速传输的数据中具有某种特征的整段数据需求重复触发抓取,一起很难对收集的数据进行实时观测。音视频数据是一种高速传输的数据,具有数据量大、网络带宽占用量大等特色。要对这种数据进行体系调试,需求体系可以对数据进行实时处理、收集和观测,选用SIGNALTAPII很难完结这一功用。一起,在网络音视频数据传输体系中,接纳端除了接纳音视频数据外,还会接纳到网络中传输的一些操控信息等数据,这些数据对音视频数据的剖析无用,应首要进行辨认和过滤。
针对音视频数据传输收集剖析的要求,本文规划了一种具有新式结构的音视频数据逻辑剖析存储器,这种体系可以针对具有TS数据流结构的网络多媒体数据进行实嫉氖据结构、数据速率的监控,可以通进程序对网络数据包的帧头、协议号等信息进行剖析,监控网络中音视频数据流量,并针对这种结构的数据包进行存储收集,导入SD卡,或在PC渠道上进行实时监控、播映或是仿真处理。
1 视频数据逻辑剖析存储器的结构和作业原理
音视频数据逻辑剖析存储器的结构如图1所示。硬件开发渠道接纳到的网口测验数据由路由器宣布,一起由某一台PC机通过流媒体服务器向硬件开发渠道所衔接的PC机发送音频和视频数据。流媒体服务器发送的音、视频数据是封装成UDP数据包的TS传输流。此刻由MII接口与FPGA进行通讯的网络数据协议类型非常丰富,例如TCP、UDP、DNS、NRP、HTTP等。不同网络协议数据包,都具有其特定的数据帧结构。对封装成UDP数据包的TS传输流的数据帧格局进行剖析,然后将其过滤出来,完结对音视频数据的提取、监控以及存储功用。UDP/非UDP过滤模块完结TS流的分流和提取,网口数据速率监控模块可以对单位时刻的数据量进行实时监控。
音视频数据经FIFO缓存模块、锁存模块后由SDRAM驱动模块将数据高速地写入SDRAM存储器中,SDRAM驱动模块、SDRAM接口模块、SDRAM操控器完结数据的读写、缓存和封装。通过一段时刻后,依据UDP帧长度缓存模块的输出值将输出数据打包成帧,转存至SD card中,可保存、带着或将SD card中的数据导入PC渠道,对收集到的数据进行各种剖析、仿真操作。
2 视频数据逻辑剖析存储器可编程模块的规划
2.1 可编程模块的结构和作业原理
可编程模块包含:UDP/非UDP过滤模块、双网口异步传输模块、网口速率监控模块、输入/输出FIFO缓存模块、SDRAM驱动模块、SDRAM接口模块、SDRAM操控器、数据帧封装模块等。在可编程模块的规划中,SDRAM操控器、输入/输出FIFO模块、SDRAM驱动模块、SDRAM接口模块是整个体系的中心处理模块,该部分选用分层状况机的规划方式,完结主状况机与具体操作操控状况机的别离,能有用进步读写操作功率,模块规划结构明晰,进步了体系规划的可读性,也使程序具有更高的通用性。
SDRAM操控器、输入/输出FIFO缓存模块、SDRAM驱动模块、SDRAM接口模块等中心模块的规划原理如图2所示。
在体系上电后,SDRAM操控器模块首要跳转至初始化进程,对SDRAM宣布初始化指令,别离对SDRAM的各种参数进行装备。初始化完毕后,SDRAM驱动模块开端进行状况跳转断定,断定成果将使SDRAM操控器由开端的闲暇状况跳转至其他作业状况。在操控器第一次进入写状况时,SDRAM驱动模块对SDRAM接口模块发送指令信号,使SDRAM接口模块的作业进程跳转至写进程。进入写进程的SDRAM接口模块向SDRAM操控器发送数据、地址和写指令。SDRAM操控器依据接纳到的指令将FIFO中缓存的数据以突发方式写入SDRAM中。SDRAM完结写操作后,SDRAM驱动模块将再一次进行状况跳转断定,如此重复。在整个进程中,SDRAM驱动模块依据断定成果进行状况跳转,并宣布不同的指令,SDRAM接口模块依据接纳到的指令,相应地进入不同的作业进程。在不同的作业进程中,SDRAM接口模块对SDRAM操控器发送不同的操作指令,然后完结对SDRAM的初始化、读、写、改写等各种操作。最终将需求剖析、存储的数据从输出FIFO中导入SD卡。这一操作由开关模块进行操控。
其间,SDRAM操控器的程序编写是本体系规划的另一个重要的部分,SDRAM操控器首要包含指令监控、指令译码以及数据传递等几部分,SDRAM操控器依据接纳到的指令,将数据和地址别离送入相应模块进行处理。
2.2 SDRAM操控器的完结
SDRAM操控器由4个可编程模块组成,别离为指令监控模块、指令译码模块、数据传输模块和时钟模块等,支撑1、2、4、8和全页突发等突发方式。
首要需求对SDRAM进行初始化,体系的时钟和电源安稳后,在建议读、写、预充电、改写等指令前,需求100 μs的上电延时。从100 μs内某点开端到100μs完毕的进程中,需求宣布至少一次NOP或是COMMAND INHIBIT指令。在体系上电完毕后,宣布PRECHARGE指令,对SDRAM中的一切bank进行预充电,使其至于闲暇状况中。在完结SDRAM初始化进程中,还需求接口模块对SDRAM操控器里边的装备存储器进行编码,本规划中写入装备寄存器中的值为0x33,标明SDRAM选用8bit突发读写方式。
SDRAM存储器初始化完结后,SDRAM中的一切bank处于闲暇状况。依据体系需求,SDRAM驱动模块向SDRAM操控器发送读、写、改写等指令。依据指令的优先级进行判别,优先处理哪一个指令,正在履行的指令优先级最高,其次为改写指令,再次为其他指令,这种指令优先级的机制可以有用进步SDRAM的作业功率。
SDRAM进行的首要操作为读写操作,本体系规划中SDRAM选用的对错全页的8bit突发读写方式,数据宽度是16bit,因为接纳的数据为网口数据,仅运用其间的4bit宽度,这是由网口数据线宽度决议的。体系中,接纳FIFO接纳的数据深度由SDRAM接口模块写入,当接纳FIFO接纳到规则数值的写入数据后,SDRAM接口模块向SDRAM操控器宣布写指令,指令监控模块接纳指令和地址,并将接纳到的指令进行译码。指令译码模块从指令监控模块取得写地址和译码后的指令,并将其变为合适SDRAM接纳的指令。数据传输模块担任数据传输途径和写入。
当SDRAM存储器中的数据大于等于8个时,操控器跳转至读进程,与写进程类似,指令监控模块取得读指令和地址,将指令进行译码,传输给指令译码模块,译码为合适SDRAM的指令,SDRAM将数据从接纳地址处开端读出,以8bit突发读的方式将数据打入输出FIFO中。
SDRAM开端作业后在不同的作业状况和进程中进行跳转,这些作业状况和进程首要包含闲暇状况、初始化进程、读进程、写进程、改写进程等,状况或进程的跳转通过指令和谐进程完结,SDRAM作业状况搬运如图3所示。需求留意的是,假如SDRAM设置为主动改写方式,因为改写指令的优先级在读写指令之前,SDRAM在状况跳转时会优先跳转至主动改写进程中。
3 硬件测验成果
本体系在altera公司的QuartusII渠道上建立完结,硬件上选用了双网口规划,芯片型号为DP83848,SDR SDRAM芯片为Micron半导体公司出产的MT48LC16M16A2,FPGA芯片为CycloneIII系列的EP3C120F484C8,选用Modelsim SE 10.1a完结前期软件仿真,在QurtusII自带的嵌入式逻辑剖析仪完结硬件仿真。测验成果仿真波形图如图4、5所示。
N1_RXD为网口接纳数据,通过体系对数据包的断定,该数据包是具有TS流帧结构的音视频数据,UDP模块输出UDP数据与输入数据完全共同,而非UDP模块输出为0,完结了音视频数据的过滤和分流。
N1_RXD是整个体系开始网口输入数据,dataout为体系输出数据,dq是SDRAM双向数据总线。由图5可见,体系输出数据与输入数据共同,契合规划要求。其间输出数据最终将导入SD卡,或直接在PC渠道上进行各类仿真处理。
4 定论
体系硬件测验成果标明,SDRAM突发存储的操作特色可以满意对高速传输的很多音视频数据的收集和实时处理,可以完结体系对音视频数据进行辨认过滤、收集、检测以及存储的需求,然后替代SIGNALTAPII完结对收集下来的数据进行观测和调试的功用,可靠性高,契合体系规划的要求。