本文簡要地介紹了機頂盒硬盤接口技術以及文件系統的實現要點,并通過兩個例子(PVR和NVOD)說明了具有硬盤接口的機頂盒的用途。
文/姚春光國防科技大學
文/陶雄飛華中科技大學
文/張健葛新中國電子設備系統工程總公司
外部接口更加豐富將是數字機頂盒硬件發展的趨勢之一,比如通過USB接口可以實現和數碼相機以及其它USB設備相連,通過ATA接口可以掛接硬盤實現節目存儲等功能。
本文主要研究如何在機頂盒上實現硬盤的接口,同時通過實例說明了帶硬盤接口的機頂盒的應用。
1硬盤接口及驅動
某些機頂盒解碼芯片內嵌ATAPI接口,如STi5517,而大多數機頂盒解碼芯片都具有外部接口總線,如SC2005的EBUS總線,通過配置時序可以模擬ATA接口總線的時序。通過簡單的外圍接口電路,
圖1ATA接口電路示意圖
將硬盤接到ATAPI或模擬的ATA接口,就可以實現CPU對硬盤的控制。圖1是解碼芯片和ATA硬盤的接口電路示意圖。
ATA硬盤有PIO模式和DMA模式兩種傳輸方式,PIO是ProgrammedInputOutput(可編程輸入輸出)的縮寫,目前的PIO有1、2、3、4四種模式。DMA模式分為SingleWord和MultiWord兩種模式,它們和PIO模式所對應的速率如表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中的接口方式下,解碼器與硬盤之間的數據傳輸只能采用PIO方式。如果解碼器具有支持DMA傳輸的的ATA接口,那么就可以通過DMA方式從硬盤讀取數據以及向硬盤寫入數據。
硬盤的底層驅動主要包括實現硬盤探測、診斷和初始化,以及硬盤的讀、寫等,通過以下的幾個函數來實現這些操作。