新闻中心

EEPW首页 > 消费电子 > 设计应用 > HWB-DVR数字视频录像机设计

HWB-DVR数字视频录像机设计

作者:刘卫宏 王金健 周荐 房汝明 赵丽君时间:2005-04-28来源:eaw收藏

摘    要:本文介绍了HWB-DVR数字视频录像机的整体设计思想,描述了其软硬件的构成,对其中嵌入式CPU和编/解码IC的工作原理做了详细说明。
关键词:数字录像机(DVR);

本文引用地址:http://www.eepw.com.cn/article/5427.htm

概述
HWB-DVR数字视频录像机是基于MPEG-1、/DVB、标准的家庭应用多媒体处理和存储平台,可以对模拟和数字电视信号进行MPEG-1、格式的编码录像和回放,是集机顶盒与录像机于一体的数字化家用电器。本文就硬件和软件两方面说明其设计思路。

硬件设计
由图1可以看出DVR系统主要由两大功能部分组成:编/解码部分和CPU部分。
编/解码部分的功能是将输入的模拟音/视频信号转换成MPEG-1、MPEG-2或MPEG-4格式的数据流,可以将数据流进行存储,也可以再将其转换成模拟音/视频信号输出。
编/解码部分的核心芯片是HT2010。它是音/视频系统数字信号编/解码器,支持MPEG-1,MPEG-2和MPEG-4三种格式的编/解码,并且可以在编/解码的过程中进行三种格式之间的转换。HT2010具有编码和解码双重功能,对数据流的编码和解码过程可以同时进行。HT2010可以将数据流编/解码成MPEG格式的流或流。
视频信号的处理过程如图2所示。
编/解码部分的输入视频信号可以是以下两种形式:
?复合电视信号(CVBS)
?分离电视信号(S-Video)
输出为CVBS信号,系统可以扩展S-Video输入/输出。
输入的模拟视频信号通过视频ADC,将模拟的视频信号解码成ITU-656格式的视频数据流,该视频数据流经过HT2010芯片编码后可以转换成MPEG-1、MPEG-2或MPEG-4格式的数据流,将这种格式的数据流输入到硬盘中存储起来,就完成了DVR的存储功能。硬盘存储的编码后的MPEG数据流经过HT2010解码后,输出ITU-656格式的视频数据流到视频DAC,经转换后输出CVBS信号和S-Video信号。通过DVR的视频输出端子将电视信号连接到电视机上,就完成了DVR的播放功能。如果同时进行以上两个过程,就完成了DVR的同时录播功能。
音频信号的处理过程与视频处理过程类似:输入的音频信号经过音频ADC转换成数字的音频信号,再经过HT2010编码成MPEG格式。MPEG格式的音频信号经过音频DAC转换成模拟音频输出。DVR支持音/视频同步采集、处理。
HT2010提供了标准PCI接口,可以通过PCI总线与 CPU进行数据交换。主控制芯片采用嵌入式x86 CPU,它集成了32位PCI总线控制器、支持多种类型的外部存储器接口、2个USB1.1控制器、10/100Mbps自适应以太网控制器、串口通信控制器,以及直接访问存储控制器、时钟发生器、电源管理器、中断控制器和通用I/O端口等大量外围模块。CPU通过I2C接口与系统的其它芯片进行数据传送,发送命令。
通过HT2010编/解码后的数据流通过PCI总线与CPU进行数据交换,可以将数据通过CPU送到硬盘中存储起来。通过CPU提供的外围接口,DVR可以与多种设备进行连接,用户可以通过USB接口、串行接口等外部接口来获得硬盘中存储的节目信息。用户还可以通过外部接口与摄像机连接,这样摄像机录制的节目就通过DVR存储起来,也可以通过DVR进行播放。用户还可以通过通用I/O端口与计算机连接,还可以通过以太网接口与Internet网络连接,实现远程控制。在本DVR系统中预留了这些接口用于将来系统扩展。

系统软件设计
软件总体设计
DVR系统软件依据模块化、功能化、可扩展性原则设计,整体使用的4层体系结构如图3所示。各模块和硬件的关系如图4所示。
PCI驱动程序
核心CPU和编/解码IC之间使用PCI总线通信,PCI驱动程序实现编/解码IC与操作系统内核的数据通信及控制。PCI驱动程序设计的优化关系到系统运行的可靠程度。PCI驱动程序以模块方式设计,便于加载与调试。PCI驱动程序的设计分为两个过程:1. 模块加载过程。操作系统通过运行insmod命令加载驱动程序,驱动程序通过一系列过程完成对设备的初始化和系统资源分配。应用程序调用分配的资源控制设备正常工作。2. 设备卸载过程。操作系统通过调用rmmod命令卸载驱动程序。驱动程序释放系统资源,解除系统对硬件的控制。工作流程如图5所示。
PCI驱动程序中主要实现以下内容:
static int card_open(struct inode *, struct file *);
static int card_close(struct inode *, struct file *);
static int card_ioctl(struct inode *, struct file *, u_int, u_long);
static void card_isr(int, void *, struct pt_regs *);
其中,card_open实现打开PCI设备,增加访问计数,为读写设备做准备工作。Card_close实现关闭设备的功能,释放访问计数,并将设备状态标志标记为关闭状态。Card_ioctl实现对PCI设备的基本控制,主要包括读设备、写设备、设置设备工作参数等。Card_isr实现PCI设备的中断处理,数据发送完成或数据接收就绪时都将引发中断并调用该函数。因为中断的调用速度很快,该函数的调用效率要求很高。
数据在用户空间与内核空间中的传递采用iobuffer机制,使用map_user_kiobuf将用户空间内存映射到内核空间,实现数据在用户空间与内核空间中的共享访问,这一方法避免了数据在用户空间与内核空间中的复制,从而提高了系统运行的速度。

结语
基于本方案设计的《数字视频录像机》项目已通过了国家广播电影电视总局科技司组织的技术鉴定。
由于HWB-DVR数字视频录像机控制方便、存储容量可以很大、工作稳定可靠,因此数字录像机的应用相当广泛。
首先,数字录像机可以全面替代传统模拟录像机的功能,在传统的电视节目制作中,对模拟节目进行录制、存储,并可以方便快速地进行节目搜索;另外还可以接收数字电视系统传送的数字电视节目,根据需要进行节目录制,并且可以根据对节目质量要求的不同采用不同的数字压缩方式。数字录像机既可用于广播级电视前端,也可以为广大消费者所用。
在民用监控项目,如闭路电视设备中,数字录像机可以作为中心监视设备,存储各摄像头传来的图象进行编码,并根据需要将信号传送到远端控制中心。
另外,数字录像机可以作为VCD、DVD的节目制作工具,数字录像机带上刻录接口设备可以分别制作VCD、DVD光盘节目。■

参考文献
1 王学龙 编著. 嵌入式Linux 系统设计与应用. 清华大学出版社, 2001
2 Michbael Barr 著 于志宏 译. C/C++嵌入式系统编程. 中国电力出版社, 2001
3 李朝青 编著. PC机及单片机数据通信技术. 北京航空航天大学出版社, 2000
4 MPEG专家组. ISO;IEC DIS 14496,1999
5 Alessandro Rubini,Jonathan Corbet著 魏永明等译. Linux 设备驱动程序设计. 中国电力出版社, 2002



评论


相关推荐

技术专区

关闭