[导读]提出了CATV网络环境下视频点播(VOD)机顶盒的设计。机顶盒由五大模块组成:数字调谐器,QAM数字解调芯片,MPEG-2解复用芯片,I2C总线控制器和接口电路。
|
摘 要: 提出了CATV网络环境下视频点播(VOD)机顶盒的设计。机顶盒由五大模块组成:数字调谐器,QAM数字解调芯片,MPEG-2解复用芯片,I2C总线控制器和接口电路。它由一块PC机插卡实现,该插卡运行在Windows 95环境下。作为其软件支持的虚拟设备驱动程序完成插卡与微机之间的通信。通过多次调试和试验,它能够成功地实现视频业务的正常接收。 关键词: 机顶盒 QAM解调 MPEG-2解复用 接口电路 虚拟设备驱动程序
|
|
机顶盒是视频点播(VOD)系统的终端设备,是用户与VOD服务器之间的智能接口。它用于视频业务的接收和用户请求的发送。因此,VOD系统中的数据传输被分成两个通路:下行通路用于把视频信息传送到用户;上行通路用于把用户的点播需求传送到发送端。基于PC机的机顶盒是将机顶盒的功能做成普通的PC插卡形式,利用计算机实现视频点播的所有功能。这样做有几点好处: 1 充分利用微机的软、硬件资源,从而降低了用户终端设备的成本; 2 兼容性好,可适应不同的接入网和不同类型的业务; 3 软件维护和升级方便,适应未来发展; 4 可设计易操作、美观和基于Windows95/98的用户界面。 该机顶盒由两块普通PC机插卡构成,它们分别完成下行数据的接收和上行数据的发送。上行数据的发送由一块内置MODEM卡通过电话线完成,下行数据的接收则由另一块插卡通过CATV网实现。
本文研究的主要内容是在微机上如何实现下行数据的正常接收。为此,提出了一种以数字调谐器、最新QAM数字解调芯片和高性能MPEG-2解复用芯片为核心的机顶盒设计方案。在机顶盒的硬件设计中,采用了先进的I2C总线技术、QAM数字解调技术、MPEG-2解复用技术、FIFO存储器技术以及通用的ISA总线接口技术;在软件设计中,采用了VC++编程技术和Windows95/98环境下利用VToolsD开发虚拟设备驱动程序即VxD的技术。
|
1 机顶盒的硬件设计 机顶盒的主要功能是为人们提供一个访问VOD业务的途径,为合法用户提供一个友好的界面,其接收部分的总体硬件框图如图1所示。 |
|
|
在图1中,来自CATV网的下行数据经数字调谐电路实现频点选择,某一频点上的数据流中包含了十几路节目的数据,这些数据在发送端经过了MPEG-2标准的系统复用。该电路输出中频信号,然后由模/数转换电路输出数字信号,作为QAM解调电路的输入。上述过程中的频点选择和QAM解调均由微处理器经I2C总线控制。
QAM解调后的数字信号送到MPEG-2解复用电路,实现通道选择,即选出用户点播的一路节目。该节目的数据为MPEG-1标准的压缩形式。为了节约成本和简化电路,并考虑到目前微机的速度很高、且为Windows95操作系统,本设计中不采用硬件解压缩方式,而是将数据经主机接口电路以DMA传输方式传送到计算机的内存中,用软件方法对该路节目进行实时解压缩处理并播放出来。
上述整个电路可分为几个相对独立的模块,下面分别对它们进行介绍。
1.1 数字调谐电路1 数字调谐电路实际上就是一个高频头,它的作用是接收来自CATV网的下行数据,根据微处理器的指令,实现频点选择(与模拟电视相似)。某一选定频点的数据流中仍含有多路节目的数字信号,每个用户只收看某一频点中的一路节目。频点选择由微处理器通过I2C总线控制。数字调谐电路与后级电路的连接如图2所示。 |
|
|
1.2 A/D视频转换电路2 高频头输出的模拟中频信号的幅值已满足A/D转换器的输入要求,因此将它直接送给A/D转换器数字化,以供后续的数字电路进一步处理。该模/数转换器采用Philips公司的芯片,它将模拟视频信号转换成二进制编码的数字视频信号。A/D转换电路的连接如图2所示。
1.3 QAM解调电路1~2? QAM解调电路是机顶盒接收部分的重点和难点之一,芯片的选型十分重要。它的作用是将A/D视频转换电路输出的数字信号进行QAM解调和其它处理后输出基带数字信号。 QAM解调电路采用最新QAM数字解调芯片。该芯片的功能强大,全数字化处理,芯片外部不需要反馈环路,支持16、32、64、128和256QAM的解调。为了实现芯片的强大功能,其内部有大批的控制/配置寄存器供用户编程使用,这些寄存器可通过I2C总线或并行总线进行读或写操作。芯片输出纠错后的MPEG-2传输流。 上述介绍的调谐电路、A/D视频转换电路和QAM解调电路组成了一个相对独立的整体,它们的应用电路框图如图2所示。
1.4 I2C总线控制电路3~4? 在上述电路中,调谐电路的频点选择、QAM解调芯片内部一系列寄存器的读写操作均由微处理器通过I2C总线控制。而微处理器芯片内没有I2C总线接口? 因此需要设计I2C总线控制电路。该电路由I2C 总线控制器芯片PCF8584构成,它可用作大多数并行总线与串行的I2C总线之间进行双向通信的接口。 利用它可以很方便地将微处理器接入I2C总线?实现芯片间的数据传输和控制。 I2C总线控制电路与其它电路的连接方法如图3所示。 |
|
|
|
1.5 MPEG-2 系统解复用电路1~2?5 在视频点播系统中,发送端的节目源是基于MPEG-1标准的数据流,它只适合相对无误差的环境,如CD-ROM、VCD的传输。为了适应有噪声或损耗介质信道的传输,需将多路不同节目的MPEG-1格式的码流按照MPEG-2标准进行传输复用。因此,在接收端需要相应的MPEG-2解复用电路的支持。
MPEG-2解复用电路从微处理器接收指令实现通道选择,即从调谐电路已选定的频点中选择用户点播的一路节目,满足用户的点播要求。 MPEG-2解复用电路采用高性能的MPEG-2系统解复用芯片。该芯片在接收到MPEG-2系统传输码流后,对传输层和PES(Packetized Elementary Stream)层作解复用处理,提供某一路的码流缓冲,其输出送到主机接口电路,其应用电路框图如图3所示。
1.6 计算机的接口电路设计6~8? 本设计中,计算机的接口电路有两大任务:一是微处理器通过该接口电路实现对调谐电路、QAM解调电路、MPEG-2解复用电路的控制与访问,以便完成多路节目数据流的分接;二是接口电路将解复用电路输出的一路节目数据传送到计算机的内存中,供微机对其进行软件解压缩并播放出来。
由图3可知,微处理器对调谐电路和QAM解调电路的访问与控制是通过I2C总线控制器芯片PCF8584实现的,而微处理器对解复用电路的访问与控制则直接通过解复用芯片的微处理器接口实现。此外,解复用芯片输出的一路节目数据还需通过接口电路传送到微机的内存中。为了适合实时、高速或突发数据的传输,接口电路采用DMA传输技术,并利用FIFO(First In First Out)存储器作为数据缓冲电路。由于FIFO具有一定的存储容量,能起到缓冲作用,故能很好地解决外设与计算机之间的速率匹配问题。此外,当外设进行连续的数据传输时,主机的DMA传输可以间歇地进行,从而能够让主机有时间执行数据处理和显示等后台任务。
|
|
2 机顶盒的软件设计 在机顶盒中,软件设计主要包括三个部分:各芯片的读写操作。接口软件编程和用户界面的设计。数字调谐电路、QAM解调电路、I2C总线控制器和MPEG-2解复用电路的芯片中都含有大量的控制和配置寄存器供用户进行读写操作,以便预置有关的参数或对某些参数进行控制。这需要通过编程来实现。机顶盒的用户界面是一个典型的WINDOWS界面,机顶盒的所有功能(包括解压缩)都通过它来完成,因此可采用VC++进行编程。接口软件的功能是把插卡接收到的数据以DMA方式传送到计算机的内存中,要实现Windows95/98下DMA方式的数据传输,需要编写虚拟设备驱动程序。这是整个软件设计中的重点和难点。限于篇幅下面简单说明虚拟设备驱动程序的设计思想。
|
|
DMA虚拟设备驱动程序采用VtoolsD编写,可由Win32应用程序动态装载。驱动程序负责将外设中的数据以DMA方式传送到内存中的两块缓冲区里,应用程序分别从这两块缓冲区轮流读取数据。实现方法如下: 驱动程序的入口是一个被称作Control Dispatcher的函数,它负责处理与该VxD相关的系统控制信息,并调用相应的处理例程。一个可被动态装载的VxD应能处理以下消息:SYS_DYNAMIC_DEVICE_INIT(用于VxD的初始化阶段);SYS_DYNAMIC_DEVICE_EXIT(用于VxD的退出阶段);W32_DEVICEIOCONTROL(用于应用程序和VxD的通信)。当Win32应用程序利用函数CreateFile来动态装载VxD时,系统发送SYS_DYNAMIC_DEVICE_INIT消息,Control Dispatcher调用该消息的处理例程OnSysDynamicDeviceInit进行VxD的初始化设置,例如DMA控制器的初始化、分配内存空间、中断控制器的初始化等。当Win32应用程序调用DeviceIoControl 函数向VxD发送数据时,Control Dispatcher调用该消息的处理例程OnW32DeviceIoControl此时可以接收从应用程序发来的消息如主窗口句柄等。当Win32应用程序关闭该VxD或Win32应用程序本身被关闭时,Control Dispatcher调用该消息的处理例程OnSysDynamicDeviceExit,此时可以做一些清理性工作,如释放DMA缓冲区等。
每当一次DMA传输结束便产生一个硬件中断。在VxD的中断处理例程中,对DMA控制器重新进行初始化(即改变DMA缓冲区的首地址使之指向另一个缓冲区,以便开始下一次DMA传输),同时向Win32应用程序发送消息通知它读取内存中的数据。
|
|
3 实验结果 将上述机顶盒电路做成一块PC插卡用于接收下行数据。首先对电路中的各个模块分别进行了多次调试和试验。然后在此基础上,利用试验用的节目源(即按照MPEG-2标准进行传输复用后的多个不同节目的码流)对整个电路进行了联调。它可以实现频点选择、QAM解调和通道选择,从而得到用户所要点播的某一路节目。该路节目的数据流格式遵从MEPG-1标准,速率约为1.4Mb/s。最后利用编写好的虚拟设备驱动程序通过接口电路成功地将该路节目传送到计算机的内存中。编写一个用于调试的Win32应用程序,读取内存中的节目数据并形成一个数据文件后由金山影霸播放,效果良好。 在本文已有工作的基础上,下一步工作将从以下几个方面着手: (1)软件解压缩播放程序的编程。 (2)软件解压缩播放程序与虚拟设备驱动程序的通信调试。 (3)用户界面的设计和编程。
|
参考文献 1 Philips Semiconductors.INTEGRATED CIRCUITS DATA SHEET. Product specification 1996. 2 Philips Semiconductors.INTEGRATED CIRCUITS DATA SHEET. Preliminary specification?1996. 3 Philips Semiconductors.The I2C-bus and how to use it.Philips document ordering number 9398 393 40011. 4 Philips Semiconductors.PCF8584- I2C-bus controller.Product specification 1994. 5 黎洪松.数字视频技术及其应用.北京:清华大学出版社,1997. 6 王换招等.PC系列微机总线.西安:西安交通大学出版社?1995. 7 路友荣.PC系列微机接口扩展卡设计.成都:成都科技大学出版社?1994 8 董渭清?王换招.高档微机接口技术及应用.西安:西安交通大学出版社?1995. 9 Karen Hazzah.Writing Windows VxDs and Device Drivers.R&D Publications Inc.1995. 10 Vireo Software.VtoolsD 帮助文件. 1995~1996 |
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
在这篇文章中,小编将为大家带来微控制器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
关键字:
微控制器
微处理器
CPU
2022年6月17日,爱普特微电子受邀参加由Aspencore主办的全球MCU生态发展大会。此次会议以“国产创新 智能应用”为主题,汇聚了MCU 业内知名技术、应用专家和 MCU 产业链上下游企业,共同探讨最新MCU技术...
关键字:
爱普特微电子
MCU
微处理器
数字居民时代,半导体芯片几乎贯穿于我们生活的各个环节。不管是从微波炉到电脑、手机、计算机中央处理器等电子设备上都安装有各种各样的芯片。当代微处理器或图形处理器上可容纳超过500亿个晶体管,故障率仅接近十亿分之一。为了达到...
关键字:
半导体
芯片
微处理器
在这篇文章中,小编将为大家带来微控制器MCU的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
关键字:
微控制器
MCU
微处理器
今天,小编将在这篇文章中为大家带来开发板嵌入式微处理器的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。
关键字:
开发板
微处理器
嵌入式微处理器
随着卫星运营商在轨获取的数据越来越多,他们更愿意在载荷上处理这些数据并提取有价值的信息,而不是将大量数据下行传送到地面的云上进行后处理。现有宇航级半导体技术和/或射频带宽限制了可实时处理的数据量。我知道一些客户由于下行链...
关键字:
Teledyne e2v
微处理器
FPGA
1969年,美国数字设备公司研制出了第一台可编程逻辑控制器--PDP14。并在美国通用汽车公司的生产线上试用成功,取代生产线上的继电器控制系统,开创了工业控制的新纪元。
关键字:
微处理器
网络通信
现场可编程门阵列(FPGA)、片上系统(SoC)和微处理器等数据处理IC不断扩大在电信、网络、工业、汽车、航空电子和国防系统领域的应用。这些系统的一个共同点是处理能力不断提高,导致原始功率需求相应增加。设计人员很清楚高功...
关键字:
ADI
FPGA
SoC
微处理器
芯片组(英语:Chipset)是一组共同工作的集成电路“芯片”,并作为一个产品销售。它负责将计算机的核心——微处理器和机器的其它部分相连接,是决定主板级别的重要部件。
关键字:
芯片组
微处理器
机器
冬十一月,魔都甚寒,北风微起,佘山枫染,红似骄阳,动如烈火。微微乎赤浪,唦唦乎潮声。若近来疫情无,仲傅与季子定会相约佘山之巅,把酒言欢,激扬文字,指点江山,细数风流。奈何须规避人群,只得相约黄浦江畔,东方明珠下,张江...
关键字:
MCU
内核
单片机
微处理器
处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。
关键字:
协处理器
芯片
微处理器
精简指令集计算机(RISC:Reduced Instruction Set Computer RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称...
关键字:
精简指令集
计算机
微处理器
图形处理器(英语:graphics processing unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工...
关键字:
GPU
微处理器
CPU
那是1970年夏季的事情了,它的设计者Hans Camenzind甚至还能回忆起一两件当时关于中国餐馆的事情。在加利福亚州的桑尼维尔的市区,公司有三间办公室,Camenzind的办公室夹在两间办公室中间,面积很小。当时,...
关键字:
定时器
微处理器
信号处理器
数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通...
关键字:
DSP
PC机
C语言
MAXQ2000微控制器是Maxino/Dallas公司推出的一款基于RISC架构的16位微控制器。理解这款微控制器的一些结构特点,可以使我们更好地理解RISC结构微控制器的最新发展趋势和技术特点,从而为我们构建新型系统...
关键字:
微处理器
ARM
指令集
基于8051内核的CISC微控制器迄今为止,MCS-51已成为8位机中运行最慢的系列。现在Dallas推出的DS89C430系列产品在保持与80C51引脚和指令集兼容的基础上,每个机器周期仅为一个时钟,实现了8051系列...
关键字:
微处理器
内核
MTK
摘 要 :现代汽车产业是智能化、信息化高度发展的产业,汽车驾驶员在复杂的交通环境下,容易出现交通事故和心脏病突发等问题。针对驾驶员在驾驶过程中突发疾病或者突然失去驾驶能力的现象,系统采用物联网与健康监测相结合的设计方案...
关键字:
汽车驾驶安全
物联网
在线监测
健康评估
APP
微处理器
传感器