基于PC機的視頻點(diǎn)播機頂盒的設計

發(fā)布時(shí)間:2010-6-24 09:46    發(fā)布者:vinda
關(guān)鍵詞: 機頂盒 , 視頻點(diǎn)播
機頂盒是視頻點(diǎn)播(VOD)系統的終端設備,是用戶(hù)與VOD服務(wù)器之間的智能接口。它用于視頻業(yè)務(wù)的接收和用戶(hù)請求的發(fā)送。因此,VOD系統中的數據傳輸被分成兩個(gè)通路:下行通路用于把視頻信息傳送到用戶(hù);上行通路用于把用戶(hù)的點(diǎn)播需求傳送到發(fā)送端;赑C機的機頂盒是將機頂盒的功能做成普通的PC插卡形式,利用計算機實(shí)現視頻點(diǎn)播的所有功能。這樣做有幾點(diǎn)好處:

1 充分利用微機的軟、硬件資源,從而降低了用戶(hù)終端設備的成本;
2 兼容性好,可適應不同的接入網(wǎng)和不同類(lèi)型的業(yè)務(wù);
3 軟件維護和升級方便,適應未來(lái)發(fā)展;
4 可設計易操作、美觀(guān)和基于Windows95/98的用戶(hù)界面。

該機頂盒由兩塊普通PC機插卡構成,它們分別完成下行數據的接收和上行數據的發(fā)送。上行數據的發(fā)送由一塊內置MODEM卡通過(guò)電話(huà)線(xiàn)完成,下行數據的接收則由另一塊插卡通過(guò)CATV網(wǎng)實(shí)現。

本文研究的主要內容是在微機上如何實(shí)現下行數據的正常接收。為此,提出了一種以數字調諧器、最新QAM數字解調芯片和高性能MPEG-2解復用芯片為核心的機頂盒設計方案。在機頂盒的硬件設計中,采用了先進(jìn)的I2C總線(xiàn)技術(shù)、QAM數字解調技術(shù)、MPEG-2解復用技術(shù)、FIFO存儲器技術(shù)以及通用的ISA總線(xiàn)接口技術(shù);在軟件設計中,采用了VC++編程技術(shù)和Windows95/98環(huán)境下利用VToolsD開(kāi)發(fā)虛擬設備驅動(dòng)程序即VxD的技術(shù)。

1 機頂盒的硬件設計

機頂盒的主要功能是為人們提供一個(gè)訪(fǎng)問(wèn)VOD業(yè)務(wù)的途徑,為合法用戶(hù)提供一個(gè)友好的界面,其接收部分的總體硬件框圖如圖1所示。


在圖1中,來(lái)自CATV網(wǎng)的下行數據經(jīng)數字調諧電路實(shí)現頻點(diǎn)選擇,某一頻點(diǎn)上的數據流中包含了十幾路節目的數據,這些數據在發(fā)送端經(jīng)過(guò)了MPEG-2標準的系統復用。該電路輸出中頻信號,然后由模/數轉換電路輸出數字信號,作為QAM解調電路的輸入。上述過(guò)程中的頻點(diǎn)選擇和QAM解調均由微處理器經(jīng)I2C總線(xiàn)控制。

QAM解調后的數字信號送到MPEG-2解復用電路,實(shí)現通道選擇,即選出用戶(hù)點(diǎn)播的一路節目。該節目的數據為MPEG-1標準的壓縮形式。為了節約成本和簡(jiǎn)化電路,并考慮到目前微機的速度很高、且為Windows95操作系統,本設計中不采用硬件解壓縮方式,而是將數據經(jīng)主機接口電路以DMA傳輸方式傳送到計算機的內存中,用軟件方法對該路節目進(jìn)行實(shí)時(shí)解壓縮處理并播放出來(lái)。

上述整個(gè)電路可分為幾個(gè)相對獨立的模塊,下面分別對它們進(jìn)行介紹。

1.1 數字調諧電路

數字調諧電路實(shí)際上就是一個(gè)高頻頭,它的作用是接收來(lái)自CATV網(wǎng)的下行數據,根據微處理器的指令,實(shí)現頻點(diǎn)選擇(與模擬電視相似)。某一選定頻點(diǎn)的數據流中仍含有多路節目的數字信號,每個(gè)用戶(hù)只收看某一頻點(diǎn)中的一路節目。頻點(diǎn)選擇由微處理器通過(guò)I2C總線(xiàn)控制。數字調諧電路與后級電路的連接如圖2所示。


1.2 A/D視頻轉換電路

高頻頭輸出的模擬中頻信號的幅值已滿(mǎn)足A/D轉換器的輸入要求,因此將它直接送給A/D轉換器數字化,以供后續的數字電路進(jìn)一步處理。該模/數轉換器采用Philips公司的芯片,它將模擬視頻信號轉換成二進(jìn)制編碼的數字視頻信號。A/D轉換電路的連接如圖2所示。

1.3 QAM解調電路1~2?

QAM解調電路是機頂盒接收部分的重點(diǎn)和難點(diǎn)之一,芯片的選型十分重要。它的作用是將A/D視頻轉換電路輸出的數字信號進(jìn)行QAM解調和其它處理后輸出基帶數字信號。

QAM解調電路采用最新QAM數字解調芯片。該芯片的功能強大,全數字化處理,芯片外部不需要反饋環(huán)路,支持16、32、64、128和256QAM的解調。為了實(shí)現芯片的強大功能,其內部有大批的控制/配置寄存器供用戶(hù)編程使用,這些寄存器可通過(guò)I2C總線(xiàn)或并行總線(xiàn)進(jìn)行讀或寫(xiě)操作。芯片輸出糾錯后的MPEG-2傳輸流。

上述介紹的調諧電路、A/D視頻轉換電路和QAM解調電路組成了一個(gè)相對獨立的整體,它們的應用電路框圖如圖2所示。

1.4 I2C總線(xiàn)控制電路3~4?

在上述電路中,調諧電路的頻點(diǎn)選擇、QAM解調芯片內部一系列寄存器的讀寫(xiě)操作均由微處理器通過(guò)I2C總線(xiàn)控制。而微處理器芯片內沒(méi)有I2C總線(xiàn)接口? 因此需要設計I2C總線(xiàn)控制電路。該電路由I2C 總線(xiàn)控制器芯片PCF8584構成,它可用作大多數并行總線(xiàn)與串行的I2C總線(xiàn)之間進(jìn)行雙向通信的接口。 利用它可以很方便地將微處理器接入I2C總線(xiàn)?實(shí)現芯片間的數據傳輸和控制。

I2C總線(xiàn)控制電路與其它電路的連接方法如圖3所示。


1.5 MPEG-2 系統解復用電路1~2?

在視頻點(diǎn)播系統中,發(fā)送端的節目源是基于MPEG-1標準的數據流,它只適合相對無(wú)誤差的環(huán)境,如CD-ROM、VCD的傳輸。為了適應有噪聲或損耗介質(zhì)信道的傳輸,需將多路不同節目的MPEG-1格式的碼流按照MPEG-2標準進(jìn)行傳輸復用。因此,在接收端需要相應的MPEG-2解復用電路的支持。

MPEG-2解復用電路從微處理器接收指令實(shí)現通道選擇,即從調諧電路已選定的頻點(diǎn)中選擇用戶(hù)點(diǎn)播的一路節目,滿(mǎn)足用戶(hù)的點(diǎn)播要求。
MPEG-2解復用電路采用高性能的MPEG-2系統解復用芯片。該芯片在接收到MPEG-2系統傳輸碼流后,對傳輸層和PES(Packetized Elementary Stream)層作解復用處理,提供某一路的碼流緩沖,其輸出送到主機接口電路,其應用電路框圖如圖3所示。

1.6 計算機的接口電路設計6~8?

本設計中,計算機的接口電路有兩大任務(wù):一是微處理器通過(guò)該接口電路實(shí)現對調諧電路、QAM解調電路、MPEG-2解復用電路的控制與訪(fǎng)問(wèn),以便完成多路節目數據流的分接;二是接口電路將解復用電路輸出的一路節目數據傳送到計算機的內存中,供微機對其進(jìn)行軟件解壓縮并播放出來(lái)。

由圖3可知,微處理器對調諧電路和QAM解調電路的訪(fǎng)問(wèn)與控制是通過(guò)I2C總線(xiàn)控制器芯片PCF8584實(shí)現的,而微處理器對解復用電路的訪(fǎng)問(wèn)與控制則直接通過(guò)解復用芯片的微處理器接口實(shí)現。此外,解復用芯片輸出的一路節目數據還需通過(guò)接口電路傳送到微機的內存中。為了適合實(shí)時(shí)、高速或突發(fā)數據的傳輸,接口電路采用DMA傳輸技術(shù),并利用FIFO(First In First Out)存儲器作為數據緩沖電路。由于FIFO具有一定的存儲容量,能起到緩沖作用,故能很好地解決外設與計算機之間的速率匹配問(wèn)題。此外,當外設進(jìn)行連續的數據傳輸時(shí),主機的DMA傳輸可以間歇地進(jìn)行,從而能夠讓主機有時(shí)間執行數據處理和顯示等后臺任務(wù)。

2 機頂盒的軟件設計

在機頂盒中,軟件設計主要包括三個(gè)部分:各芯片的讀寫(xiě)操作。接口軟件編程和用戶(hù)界面的設計。數字調諧電路、QAM解調電路、I2C總線(xiàn)控制器和MPEG-2解復用電路的芯片中都含有大量的控制和配置寄存器供用戶(hù)進(jìn)行讀寫(xiě)操作,以便預置有關(guān)的參數或對某些參數進(jìn)行控制。這需要通過(guò)編程來(lái)實(shí)現。機頂盒的用戶(hù)界面是一個(gè)典型的WINDOWS界面,機頂盒的所有功能(包括解壓縮)都通過(guò)它來(lái)完成,因此可采用VC++進(jìn)行編程。接口軟件的功能是把插卡接收到的數據以DMA方式傳送到計算機的內存中,要實(shí)現Windows95/98下DMA方式的數據傳輸,需要編寫(xiě)虛擬設備驅動(dòng)程序。這是整個(gè)軟件設計中的重點(diǎn)和難點(diǎn)。限于篇幅下面簡(jiǎn)單說(shuō)明虛擬設備驅動(dòng)程序的設計思想。

DMA虛擬設備驅動(dòng)程序采用VtoolsD編寫(xiě),可由Win32應用程序動(dòng)態(tài)裝載。驅動(dòng)程序負責將外設中的數據以DMA方式傳送到內存中的兩塊緩沖區里,應用程序分別從這兩塊緩沖區輪流讀取數據。實(shí)現方法如下:

驅動(dòng)程序的入口是一個(gè)被稱(chēng)作Control Dispatcher的函數,它負責處理與該VxD相關(guān)的系統控制信息,并調用相應的處理例程。一個(gè)可被動(dòng)態(tài)裝載的VxD應能處理以下消息:SYS_DYNAMIC_Device_INIT(用于VxD的初始化階段);SYS_DYNAMIC_DEVICE_EXIT(用于VxD的退出階段);W32_DEVICEIOCONTROL(用于應用程序和VxD的通信)。當Win32應用程序利用函數CreateFile來(lái)動(dòng)態(tài)裝載VxD時(shí),系統發(fā)送SYS_DYNAMIC_DEVICE_INIT消息,Control Dispatcher調用該消息的處理例程O(píng)nSysDynamicDeviceInit進(jìn)行VxD的初始化設置,例如DMA控制器的初始化、分配內存空間、中斷控制器的初始化等。當Win32應用程序調用DeviceIoControl 函數向VxD發(fā)送數據時(shí),Control Dispatcher調用該消息的處理例程O(píng)nW32DeviceIoControl此時(shí)可以接收從應用程序發(fā)來(lái)的消息如主窗口句柄等。當Win32應用程序關(guān)閉該VxD或Win32應用程序本身被關(guān)閉時(shí),Control Dispatcher調用該消息的處理例程O(píng)nSysDynamicDeviceExit,此時(shí)可以做一些清理性工作,如釋放DMA緩沖區等。

每當一次DMA傳輸結束便產(chǎn)生一個(gè)硬件中斷。在VxD的中斷處理例程中,對DMA控制器重新進(jìn)行初始化(即改變DMA緩沖區的首地址使之指向另一個(gè)緩沖區,以便開(kāi)始下一次DMA傳輸),同時(shí)向Win32應用程序發(fā)送消息通知它讀取內存中的數據。

3 實(shí)驗結果

將上述機頂盒電路做成一塊PC插卡用于接收下行數據。首先對電路中的各個(gè)模塊分別進(jìn)行了多次調試和試驗。然后在此基礎上,利用試驗用的節目源(即按照MPEG-2標準進(jìn)行傳輸復用后的多個(gè)不同節目的碼流)對整個(gè)電路進(jìn)行了聯(lián)調。它可以實(shí)現頻點(diǎn)選擇、QAM解調和通道選擇,從而得到用戶(hù)所要點(diǎn)播的某一路節目。該路節目的數據流格式遵從MEPG-1標準,速率約為1.4Mb/s。最后利用編寫(xiě)好的虛擬設備驅動(dòng)程序通過(guò)接口電路成功地將該路節目傳送到計算機的內存中。編寫(xiě)一個(gè)用于調試的Win32應用程序,讀取內存中的節目數據并形成一個(gè)數據文件后由金山影霸播放,效果良好。

在本文已有工作的基礎上,下一步工作將從以下幾個(gè)方面著(zhù)手:

(1)軟件解壓縮播放程序的編程。
(2)軟件解壓縮播放程序與虛擬設備驅動(dòng)程序的通信調試。
(3)用戶(hù)界面的設計和編程。
本文地址:http://selenalain.com/thread-13560-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页