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

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

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