为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

机顶盒硬盘接口设计及应用

2017-09-29 8页 doc 22KB 10阅读

用户头像

is_594886

暂无简介

举报
机顶盒硬盘接口设计及应用机顶盒硬盘接口设计及应用 引言 在有线电视中,技术上先进的数字电视系统取代模拟电视系统是必然的趋势~数字电视系统有着许多模拟电视无可比拟的优点~比如:电视节目的音像质量佳、每套节目占用的频带窄、容易开展各种综合业务和交互式业务以及容易实现电视节目的有偿服务等等。由于目前绝大多数用户使用的是模拟电视机~无法直接收看数字电视节目~这时便需要一种转换设备将接收到的数字音、视频信号解码并转换为模拟信号再输送到模拟电视机上~从而实现用模拟电视机收看数字电视节目的目的~这种转换设备就是机顶盒 (Set-Top-box)。 外部接口更...
机顶盒硬盘接口设计及应用
机顶盒硬盘接口设计及应用 引言 在有线电视中,技术上先进的数字电视系统取代模拟电视系统是必然的趋势~数字电视系统有着许多模拟电视无可比拟的优点~比如:电视节目的音像质量佳、每套节目占用的频带窄、容易开展各种综合业务和交互式业务以及容易实现电视节目的有偿服务等等。由于目前绝大多数用户使用的是模拟电视机~无法直接收看数字电视节目~这时便需要一种转换设备将接收到的数字音、视频信号解码并转换为模拟信号再输送到模拟电视机上~从而实现用模拟电视机收看数字电视节目的目的~这种转换设备就是机顶盒 (Set-Top-box)。 外部接口更加丰富将是数字机顶盒硬件发展的趋势之一~比如:通过USB接口可以实现和数码相机以及其它USB设备相连~通过ATA接口可以挂接硬盘实现节目存储等功能。 本文主要研究如何在机顶盒上实现硬盘的接口~同时通过实例说明了带硬盘接口的机顶盒的应用。 硬盘接口及驱动 某些机顶盒解码芯片内嵌ATAPI接口~如:STi5517~而大多数机顶盒解码芯片都具有外部接口总线~如:SC2005的EBUS总线~通过配置时序可以模拟ATA接口总线的时序。 1 通过简单的外围接口电路~将硬盘接到ATAPI或模拟的ATA接口~就可以实现CPU对硬盘的控制。图1是解码芯片和ATA硬盘的接口电路示意图。 ATA硬盘有PIO模式和DMA模式两种传输方式~PIO是Programmed Input Output(可编程输入输出)的缩写~目前的PIO有1、2、3、4四种模式。DMA模式分为SingleWord和MultiWord两种模式~它们和PIO 模式所对应的速率见表1。 在图1中的接口方式下~解码器与硬盘之间的数据传输只能采用PIO方式。如果解码器具有支持DMA传输的的ATA接口~那么就可以通过DMA方式从硬盘读取数据以及向硬盘写入数据。 硬盘的底层驱动主要包括实现硬盘探测、诊断和初始化~以及硬盘的读、写等~通过以下的几个函数来实现这些操作。 ?通过ATAIdentifyDevice()来探测是否有硬盘存在, ?通过ATASetTransferMode()配置硬盘的传输方式, ?通过ATAExecuteDeviceDiagn ostic()该函数来获取硬盘的信息~执行该函数后硬盘会返回512个字节的数据~其中就包括硬盘的相关信息~例如:硬盘容量~生产商~序列号~柱面数~磁头数~扇区数等,如果没有返回这512个字节的数据~那么就说明硬件上 2 的电路或者程序存在问题,这个必须通过~否则之后的工作无法进行, ?在完成以上三步后~就基本上可以对硬盘进行直接的读写操作了~采用ATARead(UINT32 start_sector, UINT32 sector_count, UINT8* sector_data), ATAWrite(UINT32 start_sector, UINT32 sector_count, UINT8* sector_data) 这两个函数对硬盘进行读写~在测试时必须注意~硬盘属于块设备~以扇区为单位~每个扇区512个字节~所以读写的数据量都是512的整数倍~也就是说~即使写一个字节的数据~对硬盘来说就是写一个扇区~读亦然。 文件系统 为了增强应用程序的可移植性~同时为了方便对硬盘中的文件进行读写~必须对这些文件进行管理~对文件进行管理的软件以及被管理的文件被称为文件系统。从系统的角度看~文件系统是对存放文件的存储空间进行组织、分配~负责文件的读写~并对存入的文件进行保护和检索的系统~而从用户的角度看~文件系统为用户提供了按“名字”存取的机制。文件系统设计直接关系到对硬盘访问的性能~文件系统在PVR机顶盒中占有非常重要的作用。 在机顶盒的硬盘中进行文件的存取具有以下的特点: ?目前的机顶盒大多数是在嵌入式系统上实现~嵌入式 3 系统的资源有限, ?机顶盒的硬盘中存放的大多都是音、视频文件~而音、视频文件一般来说都比较大, ?机顶盒存放的音、视频文件、数据文件是从有线电视网络中接收的~音、视频数据在网络中传输的速度较快。 因此其文件系统的设计应从以下几方面进行考虑: 1、硬盘空间的管理 目前的硬盘可以容纳几十GB的数据~要把一个文件存放到硬盘~首先要考虑的是把这些数据存放到硬盘的什么地方~这就需要建立一个管理磁盘空间的~它记录在硬盘中~那些地方已存数据~哪些地方未存数据。 其次~文件系统存放数据一般都是以簇为单位的~簇的大小一般为扇区大小的整数倍~因此~文件都是以簇为单位来分配磁盘空间的~簇大小的确定对于文件系统的性能有重要的影响~簇太大~那么一个文件即使只有一个字节~也要占据一个簇的空间~簇太小~一个文件有很多块组成~每读写一个磁盘块~都有寻道延迟和旋转延迟~从而导致文件的读写速度变慢。 在机顶盒的硬盘中存放的大多都是音、视频等比较大的文件~另外~由于机顶盒对文件系统的存取速度的要求比较高~因此~机顶盒文件系统的簇可以相对大些。 2、磁盘调度算法 4 对硬盘中的某一磁盘块进行读写时~要控制磁盘臂的伸缩~将磁盘臂上的磁头移到相应的磁道~通过磁盘的转动~对准相应扇区~这样才能读写该扇区的数据~因此~读写磁盘块所需要的时间取决与下面三个因素: ?寻道时间~即将磁头移到相应柱面的时间。 ?寻扇区时间~即将相应扇区旋转到磁头下面的时间。 ?数据传输的时间。 对于大多数硬盘而言~寻道时间大约为ms级~寻道时间远大于寻扇区时间和数据传输时间的开销。对磁盘的调度~主要考虑的是如何缩短寻道时间~这就涉及到磁盘调度算法。 对磁盘进行调度的算法有很多种~如先来先服务算法、按优先级高优先服务的算法、最短寻道算法以及电梯算法等等。根据所设计系统的目标的不同~可以采用不同的算法来设计文件系统。 3、磁盘缓冲算法 由于访问内存的速度要远远高于访问硬盘的速度~因此~可以采用内存缓冲的来提高系统的系统。 应用程序在读取一个磁盘块的数据时~有可能还需要下一磁盘块的数据,在向一个磁盘块写入数据时~可能还要向下一磁盘块写入数据。这样的话~在请求读取数据时~系统就多读取一块或几块的数据~如果应用程序下一次真的需要 5 这一块数据时~数据已经缓冲到内存中了。同样~应用程序在向硬盘写入数据时~系统并不把这些数据写入到硬盘中~而是将数据保存到内存的缓冲区中~等缓冲到一定的程度才将数据写入磁盘。 上面的对数据进行缓冲的方法对PVR机顶盒的文件系统是十分适用的~PVR机顶盒读写的文件一般都是比较大的音、视频文件~而且~在录/放的过程中~本次读写完成后~一般还会对随后下一块数据进行读写~对数据进行缓冲的算法可以提高系统的响应速度。 另外~一个完整、健壮的文件系统还需要有数据保护、错误恢复等功能~在此不赘述。 应用 具有硬盘接口的机顶盒的应用十分广泛~如:音乐下载欣赏~个人数字录像机(PVR)~准视频点播(NVOD)等等~下面将简单的介绍它在PVR和NVOD中的应用。 1、PVR PVR机顶盒接收来自有线电视网络的数字信号~经过解调、解复用等处理后得到的音、视频PES(Packeted Elementary Stream)数据被存放到硬盘中~以供用户在以后的任何时刻观看。由于硬盘容量大~能存储的节目量相当可观的~另外~硬盘还有定位快的特点~因此~PVR机顶盒能轻松实现快进、快退、暂停等等操作~还可以迅速的跳跃到 6 任何时段进行播放~让用户尽情享受数字电视带来的乐趣。 PVR机顶盒接收的数据在硬盘中是以PES数据包的格式存储于硬盘的。机顶盒接收CABEL的射频信号~经过解调模块后输出TS流到解复用模块~通过解复用模块对音、视频PID过滤后形成音、视频的PES分组数据送到音、视频的接收缓冲区中~然后存储到硬盘中~回放时~从硬盘中读取PES数据~送到播放缓冲区~经DMA送入AV解码模块~数据处理流程如下图2所示。工作在PIO4方式下的硬盘完全满足PVR机顶盒数据存取的需要。 在图2中~虚线框?表示数字电视播放的数据流程~虚线框?表示的是录制节目的数据流程~虚线框?表示的是节目回放的数据流程。 以上三个数据流程经过一定的组合可以组成不同的工作方式~如图2的边录边放方式由?、?完成~图3中的Time-Shift播放方式由?、?完成。 建立在EPG(Electronic Program Guide)的基础之上的预约录制的功能是PVR机顶盒的一大特色~根据EPG信息中的节目预告~选择喜爱的节目~一旦该节目播放的时间到~即对节目进行录制~预约录制如果能结合定时开机~效果会更好。 2、NVOD 7 伴随计算机宽带网络技术及数字视频技术的发展~视频点播(VOD~Video on Demand)服务成为现实。真视频点播(TVOD~True Video on Demand)可为每个客户提供一个信道~满足客户随时点播、随时响应的需求~TVOD提高 了系统的交互性能~却以牺牲系统带宽为代价。准视频点播(NVOD~Near Video on Demand)是将同一音视频文件在相隔一定时间段的几个信道播放(如图3所示)~NVOD实现了利用有限带宽为众多用户提供服务的功能。 在图3中~阴影部分表示播放的音视频数据~在t0时刻开始在信道1广播这些数据~在t1 (=t0+Δt) 时刻开始在信道2广播~以此类推。 Δt = L/n~其中L是播放整个音视频数据所需的时间~n为信道数~Δt是最大等待时间(即用户等待此音视频数据从头播放所需最长的时间)。如果L=120min~4个信道用来传送数据~那么最大等待时间为30min。 为了缩小等待时间~而不占用更多的带宽资源~一个普遍的方法是将音视频数据分割成固定长度的分段~然后将这些分段在按照一定的规律在几个信道中广播~这些方法中比较有代表性的有快速广播(FB)算法~PAGODA算法等等~但是这些算法都是建立在接收终端具有一定的缓冲能力的基础上的。 图4为k,1个信道的FB算法示意图~长度为L的音视 8 频数据被分成了N=2k+1-1个分段~每个分段长度为Δt,L/N~各个分段在各自的信道上按以下的原则播发: ?在信道k上按顺序广播分段组{ S2k-1...S2k-1}, 按照以上播发的机制~在机顶盒没有缓冲能力的情况下~只有在t= t1时刻才能无间断的收看完所有的音视频数据。如果机顶盒有硬盘接口~那么硬盘就可以用来缓冲数据~由于硬盘在PIO4方式下的最高传输速率为16.6MB/s~在传输流的码率为4MB/s时只能缓冲4个信道的数据~即通过5个通道传输NVOD数据~本文以k=4个信道为例~音视频数据被分割为N=24-1=15个分段~机顶盒在t= t0时刻开始接收并播放音视频数据分段S1~同时~将S2、S4、S8数据分段缓冲到硬盘中~在t= t0时刻~分段S1播放完毕后~从硬盘中读取S2分段并播放~与此同时~将S3、S5、S9数据缓冲到硬盘中~按照这样的方法~就可以无间断的播放完所有的音视频数据。在其它的t= t0+i*Δt时刻都可以通过缓冲的方式播放完所有的数据。如果L=120min~则用户的等待时间最大为Δt= L/N=120/15=8min~大大小于传统NVOD的等待时间~表2是一些有代表性的NVOD算法和传统的NVOD在信道个数k=4~音视频数据长度L=120min时~视频可分割的最大分段数和最大等待时间。 不难看出~具有硬盘缓冲能力的机顶盒配合一定的算法可以大大减少用户从头欣赏音视频节目所需要等待的时间。 9 结束语 本文主要介绍了如何在机顶盒内实现硬盘的硬件接口~并讨论了在机顶盒上设计文件系统时的一些应考虑的问题~并在此基础上通过两个例子说明了具有硬盘接口的机顶盒的应用。机顶盒的硬盘接口技术极大地丰富了机顶盒的功能~带给用户全新的享受~是一种非常有市场前景的技术~必将随着数字电视的普及加速发展。 姚春光 长沙 国防科技大学电子科学与工程学院 陶雄飞 武汉 华中科技大学电子科学与技术系 张健 葛新 北京 中国电子设备系统工程总公司 10
/
本文档为【机顶盒硬盘接口设计及应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索