關(guān)于機(jī)頂盒硬盤(pán)接口設(shè)計(jì)及其文件實(shí)現(xiàn)要點(diǎn)

來(lái)源:《衛(wèi)星與網(wǎng)絡(luò)》雜志 更新日期:2007-12-11 作者:佚名

硬盤(pán)接口及驅(qū)動(dòng)

    本文簡(jiǎn)要地介紹了機(jī)頂盒硬盤(pán)接口技術(shù)以及文件系統(tǒng)的實(shí)現(xiàn)要點(diǎn),并通過(guò)兩個(gè)例子(PVR和NVOD)說(shuō)明了具有硬盤(pán)接口的機(jī)頂盒的用途。

    文/姚春光國(guó)防科技大學(xué)

    文/陶雄飛華中科技大學(xué)

    文/張健葛新中國(guó)電子設(shè)備系統(tǒng)工程總公司

    外部接口更加豐富將是數(shù)字機(jī)頂盒硬件發(fā)展的趨勢(shì)之一,比如通過(guò)USB接口可以實(shí)現(xiàn)和數(shù)碼相機(jī)以及其它USB設(shè)備相連,通過(guò)ATA接口可以掛接硬盤(pán)實(shí)現(xiàn)節(jié)目存儲(chǔ)等功能。

    本文主要研究如何在機(jī)頂盒上實(shí)現(xiàn)硬盤(pán)的接口,同時(shí)通過(guò)實(shí)例說(shuō)明了帶硬盤(pán)接口的機(jī)頂盒的應(yīng)用。

    1

    某些機(jī)頂盒解碼芯片內(nèi)嵌ATAPI接口,如STi5517,而大多數(shù)機(jī)頂盒解碼芯片都具有外部接口總線,如SC2005的EBUS總線,通過(guò)配置時(shí)序可以模擬ATA接口總線的時(shí)序。通過(guò)簡(jiǎn)單的外圍接口電路,

    圖1ATA接口電路示意圖

    將硬盤(pán)接到ATAPI或模擬的ATA接口,就可以實(shí)現(xiàn)CPU對(duì)硬盤(pán)的控制。圖1是解碼芯片和ATA硬盤(pán)的接口電路示意圖。

    ATA硬盤(pán)有PIO模式和DMA模式兩種傳輸方式,PIO是ProgrammedInputOutput(可編程輸入輸出)的縮寫(xiě),目前的PIO有1、2、3、4四種模式。DMA模式分為SingleWord和MultiWord兩種模式,它們和PIO模式所對(duì)應(yīng)的速率如表1所示。

    傳輸模式傳輸速率

    SinglewordDMA02.1Mbit/s

    PIOmode03.3Mbit/s

    SinglewordDMA1,multiwordDMA04.2Mbit/s

    PIOmode15.2Mbit/s

    PIOmode2,singlewordDMA28.3Mbit/s

    PIOmode311.1Mbit/s

    MultiwordDMA113.3Mbit/s

    PIOmode4,multiwordDMA216.6Mbit/s

    Ultra-ATAMultiwordDMA333.3Mbit/s

    表1ATA的傳輸模式和速率

    在圖1中的接口方式下,解碼器與硬盤(pán)之間的數(shù)據(jù)傳輸只能采用PIO方式。如果解碼器具有支持DMA傳輸?shù)牡腁TA接口,那么就可以通過(guò)DMA方式從硬盤(pán)讀取數(shù)據(jù)以及向硬盤(pán)寫(xiě)入數(shù)據(jù)。

    硬盤(pán)的底層驅(qū)動(dòng)主要包括實(shí)現(xiàn)硬盤(pán)探測(cè)、診斷和初始化,以及硬盤(pán)的讀、寫(xiě)等,通過(guò)以下的幾個(gè)函數(shù)來(lái)實(shí)現(xiàn)這些操作。

文件系統(tǒng)

   (1)通過(guò)ATAIdentifyDevice()來(lái)探測(cè)是否有硬盤(pán)存在;

    (2)通過(guò)ATASetTransferMode()配置硬盤(pán)的傳輸方式;

    (3)通過(guò)ATAExecuteDeviceDiagnostic()該函數(shù)來(lái)獲取硬盤(pán)的信息,執(zhí)行該函數(shù)后硬盤(pán)會(huì)返回512個(gè)字節(jié)的數(shù)據(jù),其中就包括硬盤(pán)的相關(guān)信息,例如硬盤(pán)容量,生產(chǎn)商,序列號(hào),柱面數(shù),磁頭數(shù),扇區(qū)數(shù)等;如果沒(méi)有返回這512個(gè)字節(jié)的數(shù)據(jù),那么就說(shuō)明硬件上的電路或者程序存在問(wèn)題;這個(gè)步驟必須通過(guò),否則之后的工作無(wú)法進(jìn)行;

    (4)在完成以上3步后,就基本上可以對(duì)硬盤(pán)進(jìn)行直接的讀寫(xiě)操作了,采用

    ATARead(UINT32start_sector,UINT32sector_count,UINT8*sector_data),

    ATAWrite(UINT32start_sector,UINT32sector_count,UINT8*sector_data)

    這兩個(gè)函數(shù)對(duì)硬盤(pán)進(jìn)行讀寫(xiě),在測(cè)試時(shí)必須注意,硬盤(pán)屬于塊設(shè)備,以扇區(qū)為單位,每個(gè)扇區(qū)512個(gè)字節(jié),所以讀寫(xiě)的數(shù)據(jù)量都是512的整數(shù)倍,也就是說(shuō),即使寫(xiě)一個(gè)字節(jié)的數(shù)據(jù),對(duì)硬盤(pán)來(lái)說(shuō)就是寫(xiě)一個(gè)扇區(qū),讀亦然。

    2文件系統(tǒng)

    為了增強(qiáng)應(yīng)用程序的可移植性,同時(shí)為了方便對(duì)硬盤(pán)中的文件進(jìn)行讀寫(xiě),必須對(duì)這些文件進(jìn)行管理,對(duì)文件進(jìn)行管理的軟件以及被管理的文件被稱(chēng)為文件系統(tǒng)。從系統(tǒng)的角度看,文件系統(tǒng)是對(duì)存放文件的存儲(chǔ)空間進(jìn)行組織、分配,負(fù)責(zé)文件的讀寫(xiě),并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng),而從用戶(hù)的角度看,文件系統(tǒng)為用戶(hù)提供了按“名字”存取的機(jī)制。文件系統(tǒng)設(shè)計(jì)直接關(guān)系到對(duì)硬盤(pán)訪問(wèn)的性能,文件系統(tǒng)在PVR機(jī)頂盒中占有非常重要的作用。

    在機(jī)頂盒的硬盤(pán)中進(jìn)行文件的存取具有以下的特點(diǎn)。

    (1)目前的機(jī)頂盒大多數(shù)是在嵌入式系統(tǒng)上實(shí)現(xiàn),嵌入式系統(tǒng)的資源有限;

    (2)機(jī)頂盒的硬盤(pán)中存放的大多都是音、視頻文件,而音、視頻文件一般來(lái)說(shuō)都比較大;

    (3)機(jī)頂盒存放的音、視頻文件、數(shù)據(jù)文件是從有線電視網(wǎng)絡(luò)中接收的,音、視頻數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)乃俣容^快。

    因此其文件系統(tǒng)的設(shè)計(jì)應(yīng)從以下幾方面進(jìn)行考慮。

    2.1硬盤(pán)空間的管理

    目前的硬盤(pán)可以容納幾十GB的數(shù)據(jù),要把一個(gè)文件存放到硬盤(pán),首先要考慮的是把這些數(shù)據(jù)存放到硬盤(pán)的什么地方,這就需要建立一個(gè)管理磁盤(pán)空間的登記表,它記錄在硬盤(pán)中,那些地方已存數(shù)據(jù),哪些地方未存數(shù)據(jù)。

    其次,文件系統(tǒng)存放數(shù)據(jù)一般都是以簇為單位的,簇的大小一般為扇區(qū)大小的整數(shù)倍,因此,文件都是以簇為單位來(lái)分配磁盤(pán)空間的,簇大小的確定對(duì)于文件系統(tǒng)的性能有重要的影響,簇太大,那么一個(gè)文件即使只有一個(gè)字節(jié),也要占據(jù)一個(gè)簇的空間,簇太小,一個(gè)文件有很多塊組成,每讀寫(xiě)一個(gè)磁盤(pán)塊,都有尋道延遲和旋轉(zhuǎn)延遲,從而導(dǎo)致文件的讀寫(xiě)速度變慢。

硬盤(pán)空間的管理

   在機(jī)頂盒的硬盤(pán)中存放的大多都是音、視頻等比較大的文件,另外,由于機(jī)頂盒對(duì)文件系統(tǒng)的存取速度的要求比較高,因此,機(jī)頂盒文件系統(tǒng)的簇可以相對(duì)大些。

    2.2磁盤(pán)調(diào)度算法

    對(duì)硬盤(pán)中的某一磁盤(pán)塊進(jìn)行讀寫(xiě)時(shí),要控制磁盤(pán)臂的伸縮,將磁盤(pán)臂上的磁頭移到相應(yīng)的磁道,通過(guò)磁盤(pán)的轉(zhuǎn)動(dòng),對(duì)準(zhǔn)相應(yīng)扇區(qū),這樣才能讀寫(xiě)該扇區(qū)的數(shù)據(jù),因此,讀寫(xiě)磁盤(pán)塊所需要的時(shí)間取決于下面3個(gè)因素。

    (1)尋道時(shí)間,即將磁頭移到相應(yīng)柱面的時(shí)間;

    (2)尋扇區(qū)時(shí)間,即將相應(yīng)扇區(qū)旋轉(zhuǎn)到磁頭下面的時(shí)間;

    (3)數(shù)據(jù)傳輸?shù)臅r(shí)間。

    對(duì)于大多數(shù)硬盤(pán)而言,尋道時(shí)間大約為ms級(jí),尋道時(shí)間遠(yuǎn)大于尋扇區(qū)時(shí)間和數(shù)據(jù)傳輸時(shí)間的開(kāi)銷(xiāo)。對(duì)磁盤(pán)的調(diào)度,主要考慮的是如何縮短尋道時(shí)間,這就涉及到磁盤(pán)調(diào)度算法。

    對(duì)磁盤(pán)進(jìn)行調(diào)度的算法有很多種,如先來(lái)先服務(wù)算法、按優(yōu)先級(jí)高優(yōu)先服務(wù)的算法、最短尋道算法以及電梯算法等等。根據(jù)所設(shè)計(jì)系統(tǒng)的目標(biāo)的不同,可以采用不同的算法來(lái)設(shè)計(jì)文件系統(tǒng)。

    2.3磁盤(pán)緩沖算法

    由于訪問(wèn)內(nèi)存的速度要遠(yuǎn)遠(yuǎn)高于訪問(wèn)硬盤(pán)的速度,因此,可以采用內(nèi)存緩沖的來(lái)提高系統(tǒng)的系統(tǒng)。

    應(yīng)用程序在讀取一個(gè)磁盤(pán)塊的數(shù)據(jù)時(shí),有可能還需要下一磁盤(pán)塊的數(shù)據(jù);在向一個(gè)磁盤(pán)塊寫(xiě)入數(shù)據(jù)時(shí),可能還要向下一磁盤(pán)塊寫(xiě)入數(shù)據(jù)。這樣的話,在請(qǐng)求讀取數(shù)據(jù)時(shí),系統(tǒng)就多讀取一塊或幾塊的數(shù)據(jù),如果應(yīng)用程序下一次真的需要這一塊數(shù)據(jù)時(shí),數(shù)據(jù)已經(jīng)緩沖到內(nèi)存中了。同樣,應(yīng)用程序在向硬盤(pán)寫(xiě)入數(shù)據(jù)時(shí),系統(tǒng)并不把這些數(shù)據(jù)寫(xiě)入到硬盤(pán)中,而是將數(shù)據(jù)保存到內(nèi)存的緩沖區(qū)中,等緩沖到一定的程度才將數(shù)據(jù)寫(xiě)入磁盤(pán)。

    上面的對(duì)數(shù)據(jù)進(jìn)行緩沖的方法對(duì)PVR機(jī)頂盒的文件系統(tǒng)是十分適用的,PVR機(jī)頂盒讀寫(xiě)的文件一般都是比較大的音、視頻文件,而且,在錄/放的過(guò)程中,本次讀寫(xiě)完成后,一般還會(huì)對(duì)隨后下一塊數(shù)據(jù)進(jìn)行讀寫(xiě),對(duì)數(shù)據(jù)進(jìn)行緩沖的算法可以提高系統(tǒng)的響應(yīng)速度。

    另外,一個(gè)完整、健壯的文件系統(tǒng)還需要有數(shù)據(jù)保護(hù)、錯(cuò)誤恢復(fù)等功能,在此不贅述。

    3應(yīng)用

    具有硬盤(pán)接口的機(jī)頂盒的應(yīng)用十分廣泛,如音樂(lè)下載欣賞,個(gè)人數(shù)字錄像機(jī)(PVR),準(zhǔn)視頻點(diǎn)播(NVOD)等等,下面將簡(jiǎn)單的介紹它在PVR和NVOD中的應(yīng)用。

    3.1PVR

    PVR機(jī)頂盒接收來(lái)自有線電視網(wǎng)絡(luò)的數(shù)字信號(hào),經(jīng)過(guò)解調(diào)、解復(fù)用等處理后得到的音、視頻PES(PacketedElementaryStream)數(shù)據(jù)被存放到硬盤(pán)中,以供用戶(hù)在以后的任何時(shí)刻觀看。由于硬盤(pán)容量大,能存儲(chǔ)的節(jié)目量相當(dāng)可觀的,另外,硬盤(pán)還有定位快的特點(diǎn),因此,PVR機(jī)頂盒能輕松實(shí)現(xiàn)快進(jìn)、快退、暫停等操作,還可以迅速的跳躍到任何時(shí)段進(jìn)行播放,讓用戶(hù)盡情享受數(shù)字電視帶來(lái)的樂(lè)趣。

應(yīng)用

    PVR機(jī)頂盒接收的數(shù)據(jù)在硬盤(pán)中是以PES數(shù)據(jù)包的格式存儲(chǔ)于硬盤(pán)的。機(jī)頂盒接收CABEL的射頻信號(hào),經(jīng)過(guò)解調(diào)模塊后輸出TS流到解復(fù)用模塊,通過(guò)解復(fù)用模塊對(duì)音、視頻PID過(guò)濾后形成音、視頻的PES分組數(shù)據(jù)送到音、視頻的接收緩沖區(qū)中,然后存儲(chǔ)到硬盤(pán)中,回放時(shí),從硬盤(pán)中讀取PES數(shù)據(jù),送到播放緩沖區(qū),經(jīng)DMA送入AV解碼模塊,數(shù)據(jù)處理流程如圖2所示。工作在PIO4方式下的硬盤(pán)完全滿足PVR機(jī)頂盒數(shù)據(jù)存取的需要。

    圖2PVR機(jī)頂盒的數(shù)據(jù)處理流程

    在圖2中,虛線框①表示數(shù)字電視播放的數(shù)據(jù)流程,虛線框②表示的是錄制節(jié)目的數(shù)據(jù)流程,虛線框③表示的是節(jié)目回放的數(shù)據(jù)流程。

    以上3個(gè)數(shù)據(jù)流程經(jīng)過(guò)一定的組合可以組成不同的工作方式,如圖2的邊錄邊放方式由①、②完成,圖3中的Time-Shift播放方式由②、③完成。

    建立在EPG(ElectronicProgramGuide)的基礎(chǔ)之上的預(yù)約錄制的功能是PVR機(jī)頂盒的一大特色,根據(jù)EPG信息中的節(jié)目預(yù)告,選擇喜愛(ài)的節(jié)目,一旦該節(jié)目播放的時(shí)間到,即對(duì)節(jié)目進(jìn)行錄制,預(yù)約錄制如果能結(jié)合定時(shí)開(kāi)機(jī),效果會(huì)更好。

    3.2NVOD

    伴隨計(jì)算機(jī)寬帶網(wǎng)絡(luò)技術(shù)及數(shù)字視頻技術(shù)的發(fā)展,視頻點(diǎn)播(VOD)服務(wù)成為現(xiàn)實(shí)。真視頻點(diǎn)播(TVOD,TrueVideoonDemand)可為每個(gè)客戶(hù)提供一個(gè)信道,滿足客戶(hù)隨時(shí)點(diǎn)播、隨時(shí)響應(yīng)的需求,TVOD提高了系統(tǒng)的交互性能,卻以犧牲系統(tǒng)帶寬為代價(jià)。準(zhǔn)視頻點(diǎn)播(NVOD,NearVideoonDemand)是將同一音視頻文件在相隔一定時(shí)間段的幾個(gè)信道播放,如圖3所示,NVOD實(shí)現(xiàn)了利用有限帶寬為眾多用戶(hù)提供服務(wù)的功能。

    圖3傳統(tǒng)NVOD示意圖

    在圖3中,陰影部分表示播放的音視頻數(shù)據(jù),在t0時(shí)刻開(kāi)始在信道1廣播這些數(shù)據(jù),在t1(=t0+Δt)時(shí)刻開(kāi)始在信道2廣播,以此類(lèi)推。

    Δt=L/n,其中L是播放整個(gè)音視頻數(shù)據(jù)所需的時(shí)間,n為信道數(shù),Δt是最大等待時(shí)間(即用戶(hù)等待此音視頻數(shù)據(jù)從頭播放所需最長(zhǎng)的時(shí)間)。如果L=120min,4個(gè)信道用來(lái)傳送數(shù)據(jù),那么最大等待時(shí)間為30min。

    為了縮小等待時(shí)間,而不占用更多的帶寬資源,一個(gè)普遍的方法是將音視頻數(shù)據(jù)分割成固定長(zhǎng)度的分段,然后將這些分段在按照一定的規(guī)律在幾個(gè)信道中廣播,這些方法中比較有代表性的有快速?gòu)V播(FB)算法,PAGODA算法等,但是這些算法都是建立在接收終端具有一定的緩沖能力的基礎(chǔ)上的。

    圖4FB算法示意圖

    圖4為k+1個(gè)信道的FB算法示意圖,長(zhǎng)度為L(zhǎng)的音視頻數(shù)據(jù)被分成了N=2k+1-1個(gè)分段,每個(gè)分段長(zhǎng)度為Δt=L/N,各個(gè)分段在各自的信道上按以下的原則播發(fā):

    在信道k上按順序廣播分段組{S2k-1…S2k-1}。

    按照以上播發(fā)的機(jī)制,在機(jī)頂盒沒(méi)有緩沖能力的情況下,只有在t=t1時(shí)刻才能無(wú)間斷的收看完所有的音視頻數(shù)據(jù)。

結(jié)束語(yǔ)

    如果機(jī)頂盒有硬盤(pán)接口,那么硬盤(pán)就可以用來(lái)緩沖數(shù)據(jù),由于硬盤(pán)在PIO4方式下的最高傳輸速率為16.6Mbit/s,在傳輸流的碼率為4Mbit/s時(shí)只能緩沖4個(gè)信道的數(shù)據(jù),即通過(guò)5個(gè)通道傳輸NVOD數(shù)據(jù),本文以k=4個(gè)信道為例,音視頻數(shù)據(jù)被分割為N=15個(gè)分段,機(jī)頂盒在t=t0時(shí)刻開(kāi)始接收并播放音視頻數(shù)據(jù)分段S1,同時(shí),將S2、S4、S8數(shù)據(jù)分段緩沖到硬盤(pán)中,在t=t1時(shí)刻,分段S1播放完畢后,從硬盤(pán)中讀取S2分段并播放,與此同時(shí),將S3、S5、S9數(shù)據(jù)緩沖到硬盤(pán)中,按照這樣的方法,就可以無(wú)間斷的播放完所有的音視頻數(shù)據(jù)。在其它的t=t0+i*Δt時(shí)刻都可以通過(guò)緩沖的方式播放完所有的數(shù)據(jù)。如果L=120min,則用戶(hù)的等待時(shí)間最大為Δt=L/N=120/15=8min,大大小于傳統(tǒng)NVOD的等待時(shí)間,表2是一些有代表性的NVOD算法和傳統(tǒng)的NVOD在信道個(gè)數(shù)k=4,音視頻數(shù)據(jù)長(zhǎng)度L=120min時(shí),視頻可分割的最大分段數(shù)和最大等待時(shí)間。

    算法最大分段數(shù)最大等待時(shí)間

    RFS254.8min

    FB158min

    傳統(tǒng)NVOD430min

    表2k=4和L=120min時(shí)算法對(duì)比

    不難看出,具有硬盤(pán)緩沖能力的機(jī)頂盒配合一定的算法可以大大減少用戶(hù)從頭欣賞音視頻節(jié)目所需要等待的時(shí)間。

    4結(jié)束語(yǔ)

    本文主要介紹了如何在機(jī)頂盒內(nèi)實(shí)現(xiàn)硬盤(pán)的硬件接口,并討論了在機(jī)頂盒上設(shè)計(jì)文件系統(tǒng)時(shí)的一些應(yīng)考慮的問(wèn)題,并在此基礎(chǔ)上通過(guò)兩個(gè)例子說(shuō)明了具有硬盤(pán)接口的機(jī)頂盒的應(yīng)用。機(jī)頂盒的硬盤(pán)接口技術(shù)極大地豐富了機(jī)頂盒的功能,帶給用戶(hù)全新的享受,是一種非常有市場(chǎng)前景的技術(shù),必將隨著數(shù)字電視的普及加速發(fā)展。

    參考文獻(xiàn)

    [1]STMicroelectronics,STi5517Low-costinteractiveset-topboxdecoderdatasheet,2003

    [2]LSILogic,ConsumerProductsDivision,DTVSourceGroup.ApplicationNote:SC2005SupportforanATAHardDiskDrive.2000

    [3]Yu-CheeTseng,Ming-HourYang,andChi-HeChang.ARecursiveFrequency-SplittingSchemeforBroadcastingHotVideosinVODService.IEEETransactionsonCommunications,VOL.50,NO.8,August2002

    [4]Li-ShenJuhn,Li-MingTseng.FastDataBroadcastingandReceivingSchemeforPopularVideoService.IEEETransactionsonBroadcasting,Vol44,No.1,March1998

作者簡(jiǎn)介

    姚春光:博士生,研究范圍包括衛(wèi)星通信信道編碼、調(diào)制解調(diào)技術(shù),數(shù)字信號(hào)處理及其FPGA實(shí)現(xiàn)等。

    陶雄飛:博士生,研究方向?yàn)槎嗝襟w與通信系統(tǒng)等。

    張。焊呒(jí)工程師,主要研究方向?yàn)樾l(wèi)星通信和光通信等。

    葛新:工程師,主要研究方向?yàn)樾l(wèi)星通信和無(wú)線電頻譜管理等。

 標(biāo)簽:智能盒子 技術(shù)介紹
廣告聯(lián)系:010-82755684 | 010-82755685 手機(jī)版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時(shí)代網(wǎng) 版權(quán)所有 關(guān)于投影時(shí)代 | 聯(lián)系我們 | 歡迎來(lái)稿 | 網(wǎng)站地圖
返回首頁(yè) 網(wǎng)友評(píng)論 返回頂部 建議反饋
快速評(píng)論
驗(yàn)證碼: 看不清?點(diǎn)一下
發(fā)表評(píng)論