基于STB7100的高清IPTV機頂盒總設計方案
考慮到成本和通用性,機頂盒采用Linux操作系統。嵌入式操作系統負責機頂盒系統的全部軟件和硬件資源的分配、調度工作,控制并協調并發活動,能通過裝卸某些模塊來達到系統所要求的功能。圖4表示了系統的軟件結構,以Linux操作系統為核心,向下通過各個驅動程序面向硬件系統,調配各種硬件資源,向上可加載與音視頻相關的應用程序和完成其他任務的應用程序[4]。

機頂盒可劃分為3層結構:操作系統以下主要用于完成對硬件設備的操作,為上層提供支持;API層承上啟下,將應用程序翻譯成CPU能夠識別的指令,去調用硬件設備完成相應的操作;最上層主要實現媒體播放、瀏覽器以及EPG等應用,由用戶直接操作。
圖5為Linux網絡驅動基本結構,在發送數據時,應用層數據通過dev_queue_xmit( )向下層發送數據,dev_queue_xmit( )通過網絡設備接口hard_star_xmit( )函數指針向設備發送數據,將應用層的數據發送給硬件設備;在接受數據時,當網絡數據到達設備后產生中斷,進人中斷處理子程序,然后調用接受函數接受數據,再通過netif_ix( )函數發送給上層。編寫DM9000AE驅動時,除實現探測、發送接受及中斷等函數外,還要與開放的板子相對應,需注意網卡的基地址和中斷。由于DM9000AE的地址線和數據線是復用的,所以要根據電路原理圖來確定用來讀取數據的I/O端口地址線和數據線的關系。

在網絡功能實現的基礎上,本設計采用NFS協議實現網絡掛載文件系統,把boot loader和內核鏡像寫到FLASH上,這樣可把應用程序直接放到PC機的文件系統里,節省了機頂盒的內存空間。目前,硬件電路設計已完成,經過測試,可播放H.264和MPEG一2的高清和標清視頻碼流,同時可播放MPEG一1,AAC,PCM等格式的音頻內容。另外,采用了基于GTK的Dillo瀏覽器,由于不支持.1avaScript,Java等附加功能,使得它具有規模小速度快的優點。可以把視頻模塊、EPG模塊等各種功能模塊以插件方式與Dillo瀏覽器一起使用。當需要進行交互服務時,可通過HTTP協議訪問EPG服務器,得到EPG相關信息,并在本地進行解析重構出EPG。如果需要點播視頻,就通過:EPG去視頻服務器上得到視頻源的URL,然后對URL進行解析,再交給視頻功能模塊進行解碼播放。
5 小結
介紹了IPTV機頂盒硬件電路的基本組成模塊,確定了以STB7100為核心的系統解決方案。STB7100具有強大的音視頻處理能力,并可通過其豐富的外圍接口進行功能芯片的擴展,實現各種需要的功能。筆者雖然已實現了部分功能,但機頂盒設計仍需完善,還需要對智能卡、數字版權管理等擴展功能做更深一步的研究。
評論