视频压缩系统中大容量存储器的应用设计
扫描二维码
随时随地手机看文章
O 引言
随着航空航天航海等技术的发展,无论是星载还是舰载方面的技术要求,都迫切希望有一种能够在恶劣环境(高温、低温、振动)下正常工作,并且易于保存的大容量视频记录设备,以满足数据管理系统方面的要求。
早期的海量数据记录主要是使用磁带机,但存放在磁带机中的数据保存条件较高,它容易受到天气和湿度等环境的影响。而使用半导体存储芯片作为存储介质则具有存储密度高、无转动部件、可靠性高、体积小、重量轻等特点,因此,半导体存储芯片逐渐成为高可靠性数据记录器的主流方案。
基于半导体存储芯片K9WBG08UlM的大容量存储器,可以很好的满足工业控制或军事领域等恶劣环境下的使用要求。
1 大容量存储器的应用设计
1.1 系统组成
整个视频压缩与大容量数据存储系统一般由多路视频服务终端、中心控制分系统、大容量电子存储阵列等组成。其中,多路视频服务终端用于视频信号的采集和压缩,压缩后的视频数据通过网络送入存储阵列保存,也可以通过以太网送到指定的用户进行浏览;中心控制分系统以高性能嵌入式处理器BF537为核心,可完成视频服务终端的控制,存储阵列数据的读出。它通过百兆以太网与上位机进行高速数据交换;存储阵列可提供高达4T的存储深度,它由10块400MByte容量的独立存储板组成,可为多路视频服务终端提供同时存储服务,存储介质采用大容量非易失NAND-Flash芯片K9WBG08U1M,单片存储容量为32Gbit,每块存储板都可由视频服务终端写入,并由中心控制分系统读出。其系统组成框图如图1所示。
1.2 系统工作原理
摄像机输出的视频信号进入视频采集压缩卡后,首先通过A/D变换器进行视频信号采集,采样后输出的数字视频信号经FPGA整理后进入数字信号处理器DSP,然后对视频数据在DSP中按照MPEG4协议进行视频压缩,形成MPEG4格式的视频数据流;每块采集压缩板的视频数据流可实时保存到存储阵列中。如果有用户需要访问,则将该数据流打包后发送给指定的用户。
压缩和存储过程受主控计算机的控制。如果有用户需要浏览保存的视频数据,则需要向主控计算机发出浏览请求,主控计算机接受后,即可通过读数据逻辑选择存储阵列中的数据块,然后读出后打包并发送给指定的用户。主控计算机可以同时响应多个用户的请求。
2 大容量电子存储阵列设计
2.1 数据收发接口
存储板的数据收发可通过DSP实现。考虑到与前端芯片选择的一致性,本方案选择ADI公司的ADSP-BF533为数据收发处理器。执行存储操作时,BF533将从输入/输出总线并行外设接口(PPI)接收中心控制板发送的存储数据,并将其缓存到SDRAM,同时按照K9WBG08U1M的编程时序要求形成存储器的编程指令,再通过FPGA发送到K9WBG08U1M存储芯片;而在执行读操作时,BF533则通过FPGA向K9WBG08U1M发送读操作指令,以读取指定区域的数据并缓存到SDRAM存储器中,然后通过输入/输出总线(PPI)发送到中心控制分系统并将其回送给上位机进行浏览。
2.2 存储器访问控制接口
每块存储板的访问控制接口均可由两片FPGA实现。 由于板上有100片存储芯片K9WBG08U1M,而输入/输出总线只有一套,所以,对芯片的访问需要通过总线驱动和译码逻辑来实现。该逻辑可由ALTERA公司的Cyclong系列FPGA实现,具体型号为EP2C35F67218,它同时可通过EBIU总线与DSP进行数据交换。存储芯片写入或读出的数据需通过EP2C35。由于板上有100片存储芯片都连接到EP2C35的一套I/O引脚上,故会导致负载过大而无法工作,所以,可将存储芯片4个一组,共用一套EP2C35的I/O引脚驱动,以保证足够的驱动能力。来自总线的地址信号输入到地址译码器,用于选择存储芯片。输入为7位地址线,输出存储芯片选择信号csl~csl00其具体接口连接如图2所示。
3 文件管理
由于存储阵列的存储深度达4TB,而拍摄的文件时长和压缩后的文件大小是不固定的,因此,根据Flash器件的固有特性,可构建一个适合管理NAND Flash存储器的FAT文件系统,并通过改进FAT表的存储方式来延长存储器的使用寿命,提高系统存储的稳定性。但这因此需要对每次任务拍摄的视频文件进行管理,为此,可在本系统中设计一个简单的文件记录系统,包括文件名、存储地址、文件大小、对应摄像机号、拍摄时间和时长,记录下来的信息可保存在FLASH中的FAT表项区域中,用于满足基本的文件管理操作,如删除、拷贝、剪切、下载、阵列格式化等。
3.1 文件写入
当中心控制分系统接收到开始拍摄命令后,可通过网络发送开始命令给前端视频采集系统,同时依照摄像机号和存储阵列的对应关系发送开始命令给存储阵列,存储阵列创建文件索引表项后,即开始等待接收视频数据,直到中心控制分系统接收到上位机发送的结束命令,再写入文件名、文件长度等有关信息,从而完成一次文件写入过程。
3.2 文件下载
当有用户需要浏览存储在存储阵列当中的文件信息时,上位机可发送浏览命令给中心控制分系统。由中心控制分系统按照与存储阵列之间的协议发送浏览命令,存储阵列从存储器当中取得保存的视频文件记录信息并生成文件列表,然后打包回送给中心控制分系统后,按照FIP下载格式回送给上位机显示,用户可以依据回送的信息列表选择文件进行下载操作。为了使下载速度和网络传输速度匹配,本文设计了带流量控制的下载模式,以使下载速度可以完全由中心控制分系统控制。
3. 3 文件管理
事实上,NAND Flash存储器有时也会出现位反转现象,同时在使用中也可能会有坏损单元。因此,数据写入必须在空白的区块或者擦除后的区块中进行,其底层技术要求以块为单位进行擦除,再按页写入。如果在存储阵列当中有无用的视频数据,用户可以按照需要选中相应的文件,提取出文件存放的地址参数后再进行文件删除操作。考虑到存储阵列的寿命问题,要使每个芯片的使用概率大概相等,本设计采用顺序存储的格式来存放文件。但是,当删除文件之后,就会在存储阵列中留下大量的未用空白区域,使得存储阵列的使用率大为降低,为此可在存储阵列当中设计存储阵列文件整理功能和格式化功能,当空白区域所占用的比例较高时,由上位机发送文件整理命令给中心控制分系统,以便中心控制分系统控制存储阵列进行文件整理操作,整理完成后回送状态给上位机。对于存放的比较重要的文件。可用文件拷贝命令在几个存储阵列之间进行文件备份,以提高系统的可靠性。而在存储阵列当中,当有用文件占有率很少但是文件又很多的情况下,可以拷贝出有效文件,然后对存储阵列进行格式化。
4 结束语
这种设计方便灵活,可以借鉴,以用来设计高速、大容量、高可靠性的电子存储设备。事实上,针对本系统中要求容量大、可靠性高、使用环境恶劣等特点,本文所设计的系统能够很好地满足初始的预期效果,现在已经在某型系统上得到了应用。