数字视频压缩的大容量记录系统设计

发布者:asa1670最新更新时间:2006-07-18 来源: 单片机及嵌入式系统应用关键字:寄存器  时钟  接口 手机看文章 扫描二维码
随时随地手机看文章

引言

  随着计算机技术、多媒体和数据通信技术的迅速发展,数字视频的应用越来越广,如视频监控、视频会议和移动电视等。数字视频数据量巨大,不利于传输和存储,使其应用受到很大限制。为解决视频数据的存储和传输问题,唯一的途径就是对视频数据进行压缩。常见的视频压缩方法有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小时。系统体积小、功耗低,便于移动环境下对音视频数据的实时长时间压缩记录。

参考文献
[1] 周立功.ARM嵌入式系统软件开发实例(一).北京:北京航空航天大学出版社,2005.
[2] 马小虎,张明敏,严华明.多媒体数据压缩标准及实现.北京:清华大学出版社,1996.
[3] 刘伟峰.基于PCI总线的MPEG1压缩卡软硬件设计及实现.电子技术应用,2003(8): 2628.
[4] EMBLAZE electronics Corp.Z1510MPEG A/V Encoder Datasheet.

关键字:寄存器  时钟  接口 引用地址:数字视频压缩的大容量记录系统设计

上一篇:基于事件一目标驱动的人机界面设计
下一篇:基于Small RTOS51的PS/2键盘驱动程序开发

推荐阅读最新更新时间:2024-05-13 18:13

不可错过的单片机STM32的5个时钟源知识
  众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。   其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。   内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号.   高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz
[单片机]
MSP430f249读取DS1302时钟显示在1602和串口
单片机源程序如下: #include msp430.h #include cry1602.h #include cry1602.c #include DS1302.c unsigned char counter=0; unsigned char second=0; unsigned char minute=0; unsigned char hour=0; //signed char miao=10; struct sTime bufTime; //time buffer /*write 1 bcd byte on screen,(x,y)-position on screen, bcd-BCD byte
[单片机]
MSP430f249读取DS1302<font color='red'>时钟</font>显示在1602和串口
XILINX推出667Mbps DDR2 SDRAM接口解决方案
赛灵思公司日前宣布,推出基于Virtex-4 FPGA的667Mbps DDR2参考设计,该参考设计提供了FPGA业界高带宽最、高可靠性的内存接口解决方案。赛灵思667 DDR2-SDRAM接口采用了Virtex-4 ChipSync技术,这是一种运行时校准电路,可以提高设计余量和整体系统可靠性,同时缩短设计周期。 Virtex-4 FPGA将臆测清除出内存接口设计,使系统设计师能够为最新的667Mbps DDR2 SDRAM等内存技术构建可靠的高性能接口。Virtex-4的芯片特性、经过验证的硬件参考设计与易于使用的Xilinx Memory Interface Generator工具的结合,可提供设计灵活性和可靠性。赛灵思内
[新品]
基于USB接口的数据采集系统设计
摘要:以自行开发的基于USB接口的数据采集系统为例,介绍了USB接口的硬件和软件开发过程。 关键词:USB 数据采集 PDIUSBD12 1 USB协议和芯片选择 理解好USB协议是USB系统开发的第一步。USB协议版本包括1.0、1.1和2.0,USB OTG是对2.0版本协议的补充。虽然USB协议内容繁多且复杂,然而,对USB开发影响较大的却只是少数部分,以下对协议版本1.1 中这些部分进行介绍。 1.1 USB协议 一般,每个USB设备由一个或多个配置(Configuration)控制其行为。使用多配置原因是对操作系统的支持;一个配置由接口(Interface)组成;接口则是由管道(Pipe)组成;管道与USB设备
[应用]
基于μC/OS-II的VG2以太网和USB接口设计
1 引言 近几年来,随着计算机网络技术的快速发展,TCP/IP协议已成为应用最广泛的网络互联协议。USB(通用串行总线)以灵活、方便、通信稳定、成本低廉、即插即用等优点已经成为数据存储与交换的通用接口。 ADChips公司的32位多媒体微处理器VirgineG2(简称VG2)具有强大的数据、图像和音频处理功能,而且能够直接输出NTSC/PAL制式模拟信号。VG2只提供了一路32位的I/O接口和两路串行通讯接口,因此需要对VG2扩展TCP/IP接口和USB接口,以实现远/近程数据的交互和大容量数据存储。 本文采用Realtek公司的RTL8019AS芯片对VG2进行以太网接口扩展,通过TCP/IP协议规范及LwIP实现VG2的
[单片机]
基于μC/OS-II的VG2以太网和USB<font color='red'>接口</font>设计
[STM8] - 外部时钟 + 内部时钟 的切换
STM8S103K3: 外部时钟 + 内部时钟 的切换。 首先看一下 STM8S103K3 的时钟结构图,可以帮助你很好的理解。 这里有几个时钟,就是图中标识的时钟,需要弄清楚一下: fHSE: 外部高速晶振时钟,它是由外部晶振产生,大小由外部晶振大小决定,STM8S的外部晶振范围:1-24M,看图中的”HSE OSC 1-24M“。 fHSI:内部RC高速时钟,它是由内部的RC震荡电路产生的,其值16M。但是可以经过后面的分频器分频,四个分频系数可供选择(1,2,4,8)。注:精准度比外部晶振的要稍差一些。 fMASTER:主时钟,它是由HSE 或者 HSI提供时钟,主要功能给外围设备(peripherals,如I
[单片机]
MSP430F5529硬件IIC驱动IIC接口的OLED
//****************************************************************************** // MSP430F552x Demo - USCI_B0, I2C Master multiple byte TX/RX // // Description: I2C master communicates to I2C slave sending and receiving // 3 different messages of different length. I2C master will enter LPM0 mode // while waiting
[单片机]
2线75Mbaud全双工接口电路
一种简单的全双向、差分2线接口电路如图1所示,此电路波特率为75Mbaud。图中所用LT1714是Linear公司的低功率比较器。     图2和图3分别示出单向和双向通信状态下的眠图。从图可见,工作在单向状态的眼图是宽展开的;工作在双向状态下,串扰做为噪声出现,眼图稍微有点变化,但性能仍然良好。 用电路所标的近几年来阻器数值,该电路工作良好,但可用另外设置值。超始点是双纹缆线的特性阻抗Z0。电阻网络的输入阻抗应该匹配特性阻抗,它由下式给出: RIN=2·R0· /R0+2· 图中所示Z0为120Ω。Thevenin等效源电压
[应用]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved