采用MPEG-1压缩标准和ARM实现数字视频记录系统的设计

引言
随着计算机技术、多媒体和数据通信技术的迅速发展,数字视频的应用越来越广,如视频监控、视频会议和移动电视等。数字视频数据量巨大,不利于传输和存储,使其应用受到很大限制。为解决视频数据的存储和传输问题,唯一的途径就是对视频数据进行压缩。常见的视频压缩方法有mpeg系列和h.26x系列。考虑到压缩技术的成熟度、成本和主要用途,采用mpeg-1作为压缩标准,设计出基于arm处理器的嵌入式数字视频记录系统。该系统适用于视频监控、视频会议等多种应用场合,同时还可安装在飞行器上,用于实时记录飞行器的飞行及训练过程中的各种信息。
目前,市场上有大量的基于pci总线的mpeg-1视频压缩卡和pc机构架的网络视频服务器。与之相比,我们设计的视频记录系统具有成本低、体积小和功耗低等优势。
1、系统工作原理
视频压缩记录系统的设计着眼于控制器的嵌入化和整体的便携性。本系统主要由3部分组成,即压缩部分、控制部分和存储部分。视频记录系统的结构组成如图1所示。其中压缩部分由mpeg1音视频压缩电路组成,主要功能是实现对输入的音视频信号解码、数字化和压缩编码,产生mpeg1程序流和传输流;控制部分由arm最小系统组成,用于实现对整个系统的控制、数据流管理和ide接口控制;存储部分由大容量硬盘或cf存储卡组成,实现对压缩数据的实时长时间记录。
系统启动时,arm处理器对整个压缩系统进行初始化,首先通过host接口对sz1510内部寄存器进行配置,并使用sz1510的串行接口模拟i2c总线对视频解码器saa7113h进行初始化。当设置好mpeg-1的压缩格式及数据速率后,系统开始正常工作,音视频信号经ak4550音频处理芯片和saa7113视频处理芯片进行a/d转换,输出8位的pcm格式数字音频信号和4∶2∶0的ycbcr数字视频信号,传入sz1510音视频压缩采集芯片进行处理,将数字音视频数据转化为符合mpeg-1格式的混合影视文件,最后mpeg1数据流在arm处理器的控制下通过ide接口写入硬盘或cf卡。在工作时,arm还将不断监视相关信号,并在图像中加入相应的标志,直到接收到关机信号,系统自动结束压缩工作。
2、硬件电路设计
由于mpeg-1压缩算法需要很大的运算量,用软件实时完成比较困难,所以在本系统中主要依靠专用芯片实现对视频信号的高效压缩。目前,常用的mpeg-1压缩芯片有vw2010、w99200f、wis 7007sb等。本设计采用的是zapex公司的sz1510 mpeg-1 a/v编码芯片,自身完成音视频的同步编码,16位host接口易于与多种微处理器连接。另外,该芯片还可以直接控制视频解码芯片saa7113h、音频解码芯片ak4550vt和sdram(km416s1020ct-g10)。cpu采用philips公司的arm7tdmis内核微控制器lpc2214,通过其i/o端口控制ide接口硬盘或cf卡的数据读取和存储。
图1 数字视频记录系统结构框图
2.1 mpeg-1压缩电路设计
sz1510是一个 mpeg-1和运动jpeg图像编码器。其内置的视频压缩核经过优化,适合高效、实时的mpeg1数字图像压缩,具有功能多、功耗低、温度范围宽等特点;同时整合了ti公司的tms320c54x高性能dsp内核,可依据mpeg-1标准对音视频同步编码。
(1)时钟同步电路设置
sz1510是一个复杂的视频压缩小系统,要完成音视频的同步,mpeg-1视频的压缩以及系统内部数据流的复合、调度;时钟关系较为复杂,是系统设计的一个难点。时钟配置可分为主时钟、音视频时钟、视频压缩核时钟、dsp核时钟以及扩展的i2s接口时钟几部分。其功能和关系为:
◆ 主时钟。sz1510的主时钟为稳定的27 mhz(clk)。该时钟在芯片内部被pll1倍频为81 mhz,驱动sz1510的视频压缩核及sdram。pll2连到dsp内核,通过软件配置使其工作在94.5 mhz,用于音频压缩和系统数据流复合。
◆ 音视频时钟。视频时钟来自视频解码器,典型值为27 mhz。音频时钟由视频时钟分频产生。
◆ i2s接口时钟。本系统中在音视频同步设计中使用i2s接口的从模式,由sz1510产生串行时钟和帧同步信号。
(2)主机(host)端口设置
sz1510作为从设备,受主机控制,其host接口是sz1510的控制和数据交换接口。sz1510可以选择复用或不复用的intel和motorola总线类型;不复用总线,又可以分为8位和16位。具体的主机端口由hconfig[1∶0]引脚和sysconfig[3]寄存器配置。在本系统设计中,通过跳线把hconfig0拉低,hconfig1拉高,使其工作在intel 8051类型的非复用的16位数据总线模式下。
2.2 lpc2214微处理器电路设计
lpc2214是一款基于32位arm7tdmi-s,支持实时仿真和跟踪的cpu;带有16 kb片内sram、256 kb嵌入的高速flash存储器、128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率60 mhz下运行。芯片内部集成了多种串行接口。lpc2214与sz1510的接口和控制关系如图2所示。在设计中,需要注意的是保持sz1510读写时序与内部时钟的同步。通过cs3选通sz1510实现控制字和数据的交换。
图2 lpc2214与sz1510的接口关系
2.3 ide接口设计
由于lpc2214芯片不具备ide接口,因此在本系统中使用通用i/o 口,模拟产生ata 设备的读写时序,实现对ide硬盘的可靠读写操作。图3为lpc2214与ide硬盘连接图。其中,p2.16~p2.31作为数据线,p1.16~p1.20作为地址和选通信号,p0.17和p0.20为设备的复位和状态请求信号,用p0.21和p0.19实现读写控制。
图3 lpc2214与ide硬盘连接图
3、系统软件设计
系统软件由主程序和若干个子程序组成,工作流程如图4所示。主要的子模块有:sz1510 的设置与控制、ide接口驱动和文件系统的管理。
图4 系统工作流程
3.1 sz1510的设置与控制
sz1510共有128个寄存器,每个寄存器都有一个索引号。当sz1510工作在非复用总线模式下时,外界对寄存器的访问都是通过ioar和iodr来完成的。访问时首先将这个寄存器的索引号写入ioar,然后将要写的数据写入iodr。
sz1510设置与控制过程如下:
① 向中断使能寄存器写入0x40,以使能ready中断;
② 等待sz1510的ready中断;
③ 等到ready中断后,向sz1510的0x1e寄存器写入0x0a,设置它内部的dsp时钟为94.5 mhz;
④ 向0x013寄存器写入0x55,对sz1510进行软复位;
⑤ 向中断使能寄存器0x0c写入0x40,以使能ready中断;
⑥ 等候rdy中断;
⑦ 待ready中断后对saa7113进行初始化;
⑧ 对sz1510进行软复位,即向0x0b寄存器写入0x55,同时向0x0c寄存器写入0x40;
⑨ 等待ready中断,等到后向sz1510的内部dsp装载二进制代码;
⑩ 进行sz1510内部视频压缩核的二进制代码装载,具体装载步骤如下:
◆ 向0x08寄存器写0x04,发送开始命令;
◆ 等待ready中断,清除ready中断;
◆ 向data in寄存器0x01写256个字节;
◆ 等待end of data中断,然后清除中断;
◆ 查程序空间的代码是否装载完毕,如没有,则继续装载。
3.2 ide接口驱动
本系统采用lpc2214的通用可编程i/o口模拟ata设备的读写时序,实现对硬盘的读写。这里给出模拟写ata 设备寄存器的步骤(读ata设备寄存器的步骤类似):
① 关系统中断,预防在写寄存器操作中产生中断;
② 设置gpio 模拟ata 接口数据的引脚为输出状态,准备输出数据到设备数据线;
③ 设置ata 设备寄存器的相应地址;
④ 设置gpio 模拟ata 接口数据的引脚电平为要写到设备的值;
⑤ 使写ata 设备寄存器信号为低电平;
⑥ 使写ata 设备寄存器信号为高电平;
⑦ 取消ata 设备寄存器地址的选择;
⑧ 设置gpio 模拟ata 接口的数据总线引脚为输入状态,释放总线;
⑨ 开系统中断。
3.3 文件系统管理
本设计中采用的是面向嵌入式系统的小型文件系统zlg/fs [1],主要用于将数据存储为标准的文件格式和对整个文件系统的管理。同时,为了便于音视频的检索和查询,以及防止非法断电造成大量未保存数据的丢失,在系统中设置了每间隔一定的时间(30 min)将压缩数据存储在以系统时间命名的新文件里。
4、 结论
经测试,系统可实时长时间记录外部的音视频信号,记录的压缩数据流符合mpeg-1图像压缩国际标准。在设计中,采用的压缩视频流速率为1.5 mbps,1小时的视频数据量为(1.5 mbps/8)×3 600=675 mb,对于一个40 gb的硬盘,系统连续记录时间接近60小时。系统体积小、功耗低,便于移动环境下对音视频数据的实时长时间压缩记录。


电子元器件基础知识:电感的结构和特性
探秘大山里的印钞机:比特币矿场
“奔腾之父”拟研发真正的AI处理器
京东方与北京建院签订战略合作 创新科技赋能智慧建筑新生态
电动汽车的电驱动系统的发展该怎么走
采用MPEG-1压缩标准和ARM实现数字视频记录系统的设计
一名合格的软件开发工程师的基本素质有哪些
如何根据需求对STM32系列单片机选型
机械键盘键帽知识普及 OEM和原产键帽有什么区别
手持振弦VH501TC采集仪工程现场快速测量传感器
丢了618第一后,OPPOR11开启疯狂营销,新增六位女星助阵,有钱任性
12v铅酸蓄电池型号有哪些
金立旗舰机M2017亮点多,这样瞄准高端政商人群
炫龙游戏本:让游戏成为生活的一部分
dfrobotID01 UHF远距离RFID读卡器简介
关于EMI对策和输出噪声对策用的部件选型
电源升压芯片FP6296在磨甲机中的应用
基于FPGA的SDRAM控制器设计:SDRAM写模块讲解
299元!小米生态链企业,多亲新品“多亲AI电话 QF9”京东首发
Monterey项目正在引领混合云数据中心架构向更先进的方向转变