亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)的制作方法

文檔序號:7934145閱讀:628來源:國知局
專利名稱:機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
本實用新型涉及信息家電領(lǐng)域,特別涉及機(jī)頂盒接收功能技術(shù)領(lǐng)域,具體是指一種機(jī)頂 盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)。
背景技術(shù)
現(xiàn)代社會中,隨著科學(xué)技術(shù)的不斷發(fā)展,人們越來越多的與電視節(jié)目密不可分,而作為 人們?nèi)粘I钪薪佑|最頻繁的就是電視機(jī),為了能夠擴(kuò)展信息家電的功能,也就是使得電視 機(jī)能夠?qū)崿F(xiàn)多種信號接收功能,數(shù)字機(jī)頂盒是必不可少的組成部分,而在現(xiàn)有技術(shù)中,目前 的衛(wèi)星和地面的雙模機(jī)頂盒往往需要設(shè)計兩個高頻頭、兩個解調(diào)器在同 一塊主板上來實現(xiàn), 相應(yīng)的解決方案請參閱圖1所示。從而,在此方案中,要實現(xiàn)雙模機(jī)頂盒必須要增加一個高 頻頭和一個解調(diào)芯片,還需要主芯片支持雙模輸入,根據(jù)2008年市場行情中的元器件基本報 價,高頻頭4美金,解調(diào)芯片1美金,雙模主芯片與單模主芯片差價3美金,周邊元器件3 美金,從而對比單模機(jī)頂盒,雙模機(jī)頂盒至少會增加11美金的成本費用,這樣就使得機(jī)頂盒 的制造成本大幅度提高,同時增加了電路的復(fù)雜程度,為機(jī)頂盒技術(shù)的進(jìn)一步發(fā)展帶來了很 大的障礙。

實用新型內(nèi)容
本實用新型的目的是克服了上述現(xiàn)有技術(shù)中的缺點,提供一種能夠完全實現(xiàn)衛(wèi)星和地面 雙模信號接收功能、電路結(jié)構(gòu)簡單、運行過程快捷方便、制造成本較低、工作性能穩(wěn)定可靠、 適用范圍較為廣泛的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)。
為了實現(xiàn)上述的目的,本實用新型的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)具 有如下構(gòu)成
該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),包括機(jī)頂盒內(nèi)的功能電路和與機(jī)頂 盒相連接的電視機(jī),其主要特點是,所述的電路結(jié)構(gòu)中還包括機(jī)頂盒內(nèi)的USB驅(qū)動功能模塊 和USB接口功能模塊,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB驅(qū)動功能模塊和USB 接口功能模塊與一個USB電視棒相連接。該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)中的USB驅(qū)動功能模塊包括USB電 視棒驅(qū)動程序注冊單元、USB設(shè)備檢測和配置單元、USB設(shè)備啟用控制單元和USB設(shè)備數(shù) 據(jù)收發(fā)控制單元,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB電視棒驅(qū)動程序注冊單 元、USB設(shè)備檢測和配置單元、USB設(shè)備啟用控制單元和USB設(shè)備數(shù)據(jù)收發(fā)控制單元與所 述的USB接口功能模塊相連接。
該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)中的USB設(shè)備數(shù)據(jù)收發(fā)控制單元為 USB設(shè)備數(shù)據(jù)收發(fā)單向管道控制單元。
該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)中的USB電視棒中設(shè)置有從USB接 口功能模塊,所述的機(jī)頂盒內(nèi)的USB接口功能模塊與所述的從USB接口功能模塊相連接。
采用了該實用新型的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),由于其中機(jī)頂盒 的主芯片支持USB 2.0功能,而且機(jī)頂盒大多配置了 HOST USB 2.0接口 ,而市場上已經(jīng)流 行的USB電視棒通常都帶有Slave USB接口 ,并通過軟件驅(qū)動支持,實現(xiàn)了 USB電視接棒 插入單模的機(jī)頂盒的USB接口中,從而實現(xiàn)了雙模信號接收的功能,從而完全省掉外加芯片 等帶來的成本,在不增加芯片等硬件成本的基礎(chǔ)上,實現(xiàn)了原先單模機(jī)頂盒的雙模信號接收 的功能,而且增加了靈活性,既可以在電腦上看電視,也可以在機(jī)頂盒上看電視,從而使機(jī) 頂盒在功能上更有竟?fàn)幜?,而且電路結(jié)構(gòu)簡單,運行過程快捷方便,制造成本較低,工作性 能穩(wěn)定可靠,適用范圍較為廣泛,為數(shù)字機(jī)頂盒技術(shù)的進(jìn)一步發(fā)展和普及應(yīng)用奠定了堅實的
_^礎(chǔ)g


圖1為現(xiàn)有技術(shù)中的雙模機(jī)頂盒的電路結(jié)構(gòu)示意圖。
圖2為本實用新型的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電if各結(jié)構(gòu)連接示意圖。 圖3為本實用新型的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)的功能實現(xiàn)的系統(tǒng) 架構(gòu)示意圖。
具體實施方式
為了能夠更清楚地理解本實用新型的技術(shù)內(nèi)容,特舉以下實施例詳細(xì)說明。 請參閱圖2和圖3所示,該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),包括機(jī)頂 盒內(nèi)的功能電路和與機(jī)頂盒相連接的電視機(jī),其中,所述的電路結(jié)構(gòu)中還包括機(jī)頂盒內(nèi)的USB 驅(qū)動功能模塊和USB接口功能模塊,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB驅(qū)動 功能模塊和USB接口功能模塊與一個USB電視棒相連接。同時,該機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu)中的USB驅(qū)動功能模塊包括 USB電視棒驅(qū)動程序注冊單元、USB設(shè)備檢測和配置單元、USB設(shè)備啟用控制單元和USB 設(shè)備數(shù)據(jù)收發(fā)控制單元,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB電視棒驅(qū)動程序注 冊單元、USB設(shè)備檢測和配置單元、USB設(shè)備啟用控制單元和USB設(shè)備數(shù)據(jù)收發(fā)控制單元 與所述的USB接口功能模塊相連接;所述的USB設(shè)備數(shù)據(jù)收發(fā)控制單元為USB設(shè)備數(shù)據(jù)收 發(fā)單向管道控制單元了;所述的USB電視棒中設(shè)置有從USB接口功能模塊,所述的機(jī)頂盒 內(nèi)的USB接口功能模塊與所述的從USB接口功能模塊相連接。
其中,市場上已經(jīng)流行的USB電視棒,其主要原理是通過這樣的裝置接收地面廣播數(shù)字 信號并解析成TS流由USB接口傳輸?shù)诫娔X中,利用電腦軟件解碼TS流,并且通過播放器 進(jìn)行播放,從而實現(xiàn)在電腦上收看地面廣播電視。
在實際應(yīng)用當(dāng)中,本實用新型的關(guān)鍵思想在于機(jī)頂盒軟件的USB驅(qū)動功能模塊的設(shè)計。 下面重點介紹如何在機(jī)頂盒平臺上實現(xiàn)該驅(qū)動。
1 、 USB網(wǎng)絡(luò)通信的軟件系統(tǒng)結(jié)構(gòu)
圖3描述了整個網(wǎng)絡(luò)中從應(yīng)用程序到最底層芯片之間的系統(tǒng)架構(gòu)關(guān)系。
作為芯片廠家提供了最底層的芯片和USBD驅(qū)動程序,同時已有的單模機(jī)頂盒還提供了 其他NIM等驅(qū)動、中間件和應(yīng)用層軟件。因此需要軟件實現(xiàn)的就是USB轉(zhuǎn)TS信號這個層次。
所以為了實現(xiàn)USB電視棒的應(yīng)用,只需要在中間件和USBD驅(qū)動之間增加一個針對TS 信號流轉(zhuǎn)換的驅(qū)動,然后中間件有相應(yīng)的接口去處理TS流之后的解析、解碼、播放等功能。
2、 USB電視棒的驅(qū)動的設(shè)計
在機(jī)頂盒軟件中編寫USB驅(qū)動,主要需要實現(xiàn)這樣幾部分工作
* 注冊USB驅(qū)動程序
* 4企測和配置USB設(shè)備
* 啟用USB網(wǎng)絡(luò)設(shè)備
* 通過USB設(shè)備發(fā)送和接收數(shù)據(jù)
注冊驅(qū)動程序,是為了通知USBD驅(qū)動層,以便后面收到USB相關(guān)的消息。
當(dāng)有新的USB設(shè)備插入USB接口時,USBD驅(qū)動層會依次詢問所有注冊過的驅(qū)動程序是
否支持該設(shè)備。如果驅(qū)動程序識別了該設(shè)備,驅(qū)動程序就要配置并啟用該設(shè)備,并實現(xiàn)向該
設(shè)備發(fā)送和從該設(shè)備接收數(shù)據(jù)的功能。
下面分章節(jié)詳細(xì)介紹每一步驟的細(xì)節(jié)內(nèi)容。 (1)注冊USB驅(qū)動程序要實現(xiàn)USB連接USB電視棒,首先需要注冊電視棒的USB驅(qū)動程序。注冊USB驅(qū)動
程序,只要調(diào)用usb—register—driver()函數(shù)。該函數(shù)需要兩個參數(shù) struct cfattach*,指向driver的結(jié)構(gòu)體指針, int driver—type, —個整數(shù)表示driver類型。
也就是說,要注冊USB驅(qū)動,需要提交一個struct cfattach結(jié)構(gòu)體。這個結(jié)構(gòu)體定義如下
struct cfattach {
const char *ca_name; /* name of attachment */
LIST—ENTRY (cfattach) ca—list; /* link on cfciriver's list */
size—t ca_devsize; /★ size of dev data (for malloc) */
cfmatch—t ca_match; /★ returns a match level */
void (*ca attach) (struct device *, struct device *, void *);
int (*ca—detach) (struct device *, int),'
int (*ca activate)(struct device *, enum devact);
Z* technically, the next 2 belong into "struct cfdriver" */
int (化a一rescan)(struct device *, const char *,
const int *) ,. /★ scan for new children */ void (*ca_childdetached) (struct device *, struct device *),■
其中有幾個函數(shù)指針
cfmatch_t ca_match; 當(dāng)USBD檢測到1斤的l]SB設(shè)備時,會調(diào)用這個函數(shù),如杲這個函數(shù)返回不為0,則認(rèn)為
該驅(qū)動支持該設(shè)備,會繼續(xù)調(diào)用
void (*ca attach) (struct device *, struct device *, void *) 來啟用該設(shè)備?!?br> 而當(dāng)USBD檢測到USB設(shè)備被拔走時,會調(diào)用
int (*ca_detach)(struct device *, int); 來通知驅(qū)動程一序。驅(qū)動程序可以在這個函數(shù)中釋放已經(jīng)申請的系統(tǒng)資源。
所以要注冊一個USB驅(qū)動程序,只需要定義一個struct cfattach結(jié)構(gòu)體,在結(jié)構(gòu)體中填上
相應(yīng)的函數(shù)指針,然后調(diào)用usb—register—driver()函數(shù)就可以了 。
(2 )檢測和配置USB設(shè)備
前面一節(jié)已經(jīng)提到,當(dāng)有新的USB設(shè)備插入時,系統(tǒng)會調(diào)用結(jié)構(gòu)體中ca_match函數(shù)決 定該驅(qū)動是否支持該設(shè)備。如果該函數(shù)返回不為O,則認(rèn)為該驅(qū)動支持該設(shè)備。系統(tǒng)定義了 宏USB—MATCH()來方便定義ca_match函數(shù)。
該函數(shù)只需根據(jù)傳入?yún)?shù)中的vendor ID和product ID判定該設(shè)備是否為支持的驅(qū)動設(shè) 備,如果支持,返回非O即可。
發(fā)現(xiàn)了支持該設(shè)備的驅(qū)動之后,系統(tǒng)會繼續(xù)調(diào)用ca_attach函數(shù)來配置該設(shè)備。
在這個函數(shù)中,需要根據(jù)設(shè)備的特性,配置該設(shè)備,為將來啟動該設(shè)備做準(zhǔn)備。通常配 置的內(nèi)容包括選4,該i殳備的configuration,設(shè)定該configuration下的每個interface的alternative setting等等(具體內(nèi)容需參照USB規(guī)范,USB CDC規(guī)范和設(shè)備芯片提供商的要求)。 (3 )啟用USB網(wǎng)絡(luò)設(shè)備 對于USB網(wǎng)絡(luò)設(shè)備,系統(tǒng)還存在一個啟用設(shè)備的過程。也就相當(dāng)于在Linux中,如果用 戶在命令行輸入
驅(qū)動需要完成啟用該設(shè)備發(fā)送和接收功能的工作。驅(qū)動程序需要提供一個device_open 的函數(shù)。這個函數(shù)中一般會初始化發(fā)送和接收數(shù)據(jù)的隊列,并啟動接收數(shù)據(jù)功能。
通常當(dāng)用戶在命令行下輸入ifconfig tv_usb up之后,驅(qū)動程序要啟動該設(shè)備的接收功能。 (4 )通過USB設(shè)備發(fā)送和接收數(shù)據(jù)
前面章節(jié)提到,USB設(shè)備的發(fā)送和接收數(shù)據(jù)是通過endpoint為通路的,也就可以把 endpoint看作一個單向管道,通過該管道可以發(fā)送或者接收數(shù)據(jù)。
在USBD驅(qū)動中,可以調(diào)用usbd_open_pipe函數(shù)為某一個endpoint開一個pipe,然后調(diào) 用usbd—setup—xfer函數(shù)建立一個基于該管道的傳輸請求,最后調(diào)用usbd—transfer函數(shù)發(fā)送該 請求,根據(jù)某一個endpoint的方向,系統(tǒng)可以分辨該請求是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù)的請求。
在usbd_transfer函數(shù)中,加入一段由USB數(shù)據(jù)轉(zhuǎn)換為TS流的代碼來完成數(shù)據(jù)轉(zhuǎn)換。該 轉(zhuǎn)換代碼的原理是首先申請一塊大小與已存在的視頻緩存相當(dāng)?shù)膬?nèi)存空間作為USB數(shù)據(jù)緩 存, 一旦USB接口有數(shù)據(jù)進(jìn)入,就存入此緩存。該數(shù)據(jù)經(jīng)過了 USBD的驅(qū)動解析,已經(jīng)去除 了 USB的協(xié)議頭尾和控制字,是真實的TS碼流數(shù)據(jù)。 一旦TS碼流數(shù)據(jù)進(jìn)入此緩沖,根據(jù) 設(shè)置好的DMA通道傳輸映射到視頻緩存中。視頻緩存是數(shù)據(jù)驅(qū)動型緩存,也就是一旦有數(shù) 據(jù)進(jìn)入,解碼器將自動開始解碼直到無數(shù)據(jù)進(jìn)入。
值得一提的是,USBD驅(qū)動還允許使用者在提交請求時提供一個回調(diào)函數(shù)指針,以便在 系統(tǒng)完成請求以后,及時通知使用者程序。我們可以通過此回調(diào)函數(shù)來作為狀態(tài)回傳,以便 上層軟件進(jìn)行異常處理。
實現(xiàn)以上技術(shù)方案的參考文獻(xiàn)還包括如下 (a) USB 2.0 Specifications, http:〃www.usb.org/developers/docs/ (b ) Programming Guide for Linux USB Device Drivers,
http:〃wwwbode.cs.tum.edu/Par/arch/usb/download/usbdoc/usbdoc-l.32.pdf
具體實施方式
如下
Conexant方案機(jī)頂盒連接MOTO CABLE MODEM的源代碼實現(xiàn)。 系統(tǒng)已經(jīng)定義了宏
USB_DECLARE_DRIVER(name)來方便定義驅(qū)動結(jié)構(gòu)體。用這個宏可以快速定義一個驅(qū)動程序結(jié)構(gòu)體。
USB—DECLARE—DRIVER (m〇t〇)
以上是&oto驅(qū)云J中的driver結(jié)構(gòu)體定義。
系統(tǒng)定義了宏USB—MATCH()來方便定義ca—match函數(shù)。
USB_MATCH (moto)
struct usb—attach—arg *uas = aux,'
if ( (uaa_>vend〇r == 0x07b2uaa-〉product == 0x5101) | | (uaa—>vendor == 0x0 69b && uaa_>product == 0x704)
return UMATCH—VEND〇R_PR〇DUCT ,
} — —
return UMATCH—NONE,'
} _
以上是Moto驅(qū)動中的driver match函數(shù)。
發(fā)現(xiàn)了支持該設(shè)備的驅(qū)動之后,系統(tǒng)會繼續(xù)調(diào)用ca_attach函數(shù)來配置該設(shè)備。系統(tǒng)定義 了 USB—ATTACH()宏方便該函數(shù)的定義。
USB_ATTACH(moto) { _
struct moto—softc *sc : (struct m〇t〇—softc *)self;
usbd_device—handle dev 二 uaa->device/ usbd status err;
以上是Moto馬區(qū)動中的driver attach函H
在MOTO驅(qū)動中,主要完成這樣幾個工作
參 i殳定configuration number為1
參 i史定interface 1的alternative setting為1
參保存endpoint的地址以備后用
讀取設(shè)備的MAC地址
以下分別列出了完成這幾項工作的源代碼。
err = usbd_set—c〇nfig—n〇(dev, M〇T〇—CONFIG—NO, 1); if (err)
printf ( "moto: setting conf丄g f ailed\n" ) U S B—AT T AC H—E RROR—RE T URKf , } — — —
以上是driver attach函數(shù)設(shè)定configuration number=l 。 for (j=0', j<dev—>cdesc—>bNumInterf ace,. j++ )
err = usbd—device2inte:rf ace—handle (dev, j, &sc—>m〇t〇—if ace),' if (err)
printf ("moto: getting interface%d handle failed\n", j )<formula>formula see original document page 9</formula>以上是driver attach函數(shù)讀取設(shè)備的MAC地址。
在MOTO驅(qū)動中,發(fā)送和接收數(shù)據(jù)隊列由moto—rxtx—list—init函數(shù)初始化,該函lfc的代碼 列在以下。
int moto—rxtx—list—init(struct moto—softc *sc) /*工nit V
sc-〉rx—buf = sc—〉netbuf—alloc (MOTO—NET—BUFSZ, sc—>netop dev) sc—>rx—len[0] = M〇T〇—NET—BUFS2; — —
sc-〉r;x—buf [ 1 ] = 0 ,-sc->r>c—len [ 1 ] = 0 ;
sc _>rx—xfer [ 0 ] = usbd—alloc—xfer (sc->moto—udev) ,■ sc-〉rx—xfer_buf[0] 二 usbd—alloc—buffer(sc—〉rx xfer[0] sc-〉rx xfer[l]二O,' /*工nit TX V
sc->tx—xfer , usbd—alloc—xfer (sc->moto—udev) sc->tx—xfer—buf[0] = usbd—alloc—buffer(sc-〉tx—xfer [ ] return 0,'
以上是初始化發(fā)送和接收數(shù)據(jù)隊列。其中,sc->rx—xferjmf[0]是給底層USB驅(qū)動使用的 接收數(shù)據(jù)buffer,所以調(diào)用usbd—alloc—buffer函數(shù)分配,而sc-〉rx—buf[0]是給上層Nucleus網(wǎng) 絡(luò)層使用的buffer空間,所以調(diào)用netbuf—alloc函數(shù)分配。在下面一節(jié)會看到,當(dāng)?shù)讓覷SB 驅(qū)動收到數(shù)據(jù)以后,需要把sc->rx—xfer—buf!O]中的數(shù)據(jù)拷貝到sc->rx—bufJO]中去。
sc->tx—xfer—buf[O]是給底層USB驅(qū)動^吏用的發(fā)送數(shù)據(jù)buffer。在下面發(fā)送和接收數(shù)據(jù)一 節(jié)中會用到。
通常當(dāng)用戶在命令行下輸入ifconfig ethx up之后,驅(qū)動程序要啟動該設(shè)備的接收功能, 在MOTO中,表格9列出了完成這段功能的代碼。
usbd—setup—xfer (sc->rx—xfer , sc->moto—ep [M〇T〇—ENDPT—RX], — sc, sc-〉rx—xfer—buf[0] , MOTO—BUFSZ,
USBD—SH〇RT=)CFER=〇K, USBD—N〇—¥lME〇UT, moto—rxeof); usbd—transfer (sc->rx—xf[ 0 ] )
以上是啟動運收數(shù)據(jù)功能。 —
這段代碼的解釋參見下一章節(jié)通過USB設(shè)備發(fā)送和接收數(shù)據(jù)。
MOTO驅(qū)動給上層提供的發(fā)送數(shù)椐函數(shù)為unet—moto—xmit數(shù)。該函數(shù)將傳入?yún)?shù)中buffer 中的數(shù)據(jù)拷貝到USBD驅(qū)動的buffer中去,然后調(diào)用usbd—setup—xfer建立一個基于發(fā)送數(shù)據(jù) endpoint的發(fā)送請求,最后調(diào)用usbdjransfer函數(shù)提交該請求完成發(fā)送數(shù)據(jù)功能。
Adj ust packet size, according to CDC spec. */ count = 丄ength if(!(count&0x3f>)
count++
memcpy (sc->tx—xfer—buf [〇],buffer, length)
usbd_setup_xfer(sc->tx—xfer[0], sc->m〇to_ep[MOTO—ENDPT—TX], sc,sc二〉tx—xier—buf , Sount, USBD—NO—COPY | USB"B_F〇Rc"i:_SH〇RT—XFER, 2〇0〇0, moto txeof)
M〇T〇BUFSZ) , /★ Transmit */
err = usbd—transfer(sc-〉tx—xfer[0]);
以上是發(fā)送數(shù)據(jù)的;£程。 —
上面列出了完成這段功能的源代碼。由于USB設(shè)備規(guī)范中的CDC規(guī)范要求發(fā)送數(shù)據(jù)長 度不為USB endpoint frame大小的整數(shù)倍,所以需要根據(jù)數(shù)據(jù)長度調(diào)整長度。 接收數(shù)據(jù)流程
接收數(shù)據(jù)功能是在unet—moto—fill—叩en—i函數(shù)中啟動的。在這個函數(shù)中,提交一個基于 接收數(shù)據(jù)的endpoint的請求。如表格9所示。
usbd—setup—xfer(sc->rx—xfer[0] , sc->moto_ep[MOTO—ENDPT RX], sc, sc->rx—xfer—buf[0〗,MOTO_BUFSZ,
USBD—SHORT—XFER_〇K, USBD—NO j工MEOUT, moto—rxeof )'-usbd—transfer (sc->:rx—xfer )
以上是啟動哀收數(shù)據(jù)功能。 —
在提交這個請求時,指定請求完成的回調(diào)函數(shù)為moto—rxeof。當(dāng)USBD驅(qū)動從該endpoint 收到數(shù)據(jù)之后,就會調(diào)用moto—rxeof函數(shù)。而moto—rxeof函數(shù)在把收到的數(shù)據(jù)發(fā)送給Nucleus 網(wǎng)絡(luò)層之后,再提交一個基于該endpoint的請求,指定回調(diào)函數(shù)位自身,這樣就形成一個循 環(huán),每次收到數(shù)據(jù)都會調(diào)用moto_rxeof函數(shù)把數(shù)據(jù)傳給Nucleus網(wǎng)絡(luò)層,直到底層接收數(shù)據(jù)
異常,或者該函數(shù)異常退出為止。表格ll列出了完成這項功能的源代碼。
memcpy(*( (char**)sc —>rx_buf[0] ), sc->rx—xfer—buf[〇],tota丄 len); sc—〉netbuf一addlist ( sc—〉rx—buf [〇],sc —>rx—len [〇],sc—〉netop dev) if (data == NULL) —
isr—trace("M〇t〇not enough memory to receive packet.\n", 0, 〇); g〇t〇 done;
}
sc-〉rx—buf[0] 二 data/
sc—〉rx二len[0] = M〇T〇—NET—BUFSZ; #ifdef M〇f〇—DEBUG —
isr_trace("Moto: : deliver \n", 0, 0); 弁endif— dons :
/* Setup new transfer. */
usbd—setup—xfer(xfer, sc->moto—ep[MOTO—ENDPT—RX],
sc, sc—>rx—xfer一buf[〇],M〇T〇—BUFSZ,
USBD—SHORT二XFER二OK | USBD—NO二COPY,
USBD—M〇—TIMEOUT, moto—rxeof); usbd—transfer (xfer)
以上是Moto—rxe^f函數(shù)向上傳送數(shù)據(jù),并提交下一個請求。
采用了上述的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),由于其中機(jī)頂盒的主芯 片支持USB2.0功能,而且機(jī)頂盒大多配置了 HOST USB 2.0接口,而市場上已經(jīng)流行的USB 電視棒通常都帶有Slave USB接口,并通過軟件驅(qū)動支持,實現(xiàn)了 USB電視接棒插入單模的 機(jī)頂盒的USB接口中,從而實現(xiàn)了雙模信號接收的功能,從而完全省掉外加芯片等帶來的成 本,在不增加芯片等硬件成本的基礎(chǔ)上,實現(xiàn)了原先單模機(jī)頂盒的雙模信號接收的功能,而且增加了靈活性,既可以在電腦上看電視,也可以在機(jī)頂盒上看電視,從而使機(jī)頂盒在功能 上更有竟?fàn)幜?,而且電路結(jié)構(gòu)簡單,運行過程快捷方便,制造成本較低,工作性能穩(wěn)定可靠, 適用范圍較為廣泛,為數(shù)字機(jī)頂盒技術(shù)的進(jìn)一步發(fā)展和普及應(yīng)用奠定了堅實的基礎(chǔ)。
在此說明書中,本實用新型已參照其特定的實施例作了描述。但是,很顯然仍可以作出 各種修改和變換而不背離本實用新型的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性 的而非限制性的。
權(quán)利要求1、一種機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),包括機(jī)頂盒內(nèi)的功能電路和與機(jī)頂盒相連接的電視機(jī),其特征在于,所述的電路結(jié)構(gòu)中還包括機(jī)頂盒內(nèi)的USB驅(qū)動功能模塊和USB接口功能模塊,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB驅(qū)動功能模塊和USB接口功能模塊與一USB電視棒相連接。
2、 根據(jù)權(quán)利要求1所述的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),其特征在于, 所述的USB驅(qū)動功能模塊包括USB電視棒驅(qū)動程序注冊單元、USB設(shè)備檢測和配置單元、 USB設(shè)備啟用控制單元和USB設(shè)備數(shù)據(jù)收發(fā)控制單元,所述的機(jī)頂盒內(nèi)的功能電路依次通過 所述的USB電視棒驅(qū)動程序注冊單元、USB設(shè)備檢測和配置單元、USB設(shè)備啟用控制單元 和USB設(shè)備數(shù)據(jù)收發(fā)控制單元與所述的USB接口功能模塊相連接。
3、 根據(jù)權(quán)利要求2所述的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),其特征在于, 所述的USB設(shè)備數(shù)據(jù)收發(fā)控制單元為USB設(shè)備數(shù)據(jù)收發(fā)單向管道控制單元。
4、 根據(jù)權(quán)利要求1至3中任一項所述的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu), 其特征在于,所述的USB電視棒中設(shè)置有從USB接口功能模塊,所述的機(jī)頂盒內(nèi)的USB接 口功能模塊與所述的從USB接口功能模塊相連接。
專利摘要本實用新型涉及一種機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),包括機(jī)頂盒內(nèi)的功能電路、與機(jī)頂盒相連接的電視機(jī)、機(jī)頂盒內(nèi)的USB驅(qū)動功能模塊和USB接口功能模塊,所述的機(jī)頂盒內(nèi)的功能電路依次通過所述的USB驅(qū)動功能模塊和USB接口功能模塊與一USB電視棒相連接。采用該種結(jié)構(gòu)的機(jī)頂盒實現(xiàn)衛(wèi)星和地面雙模接收功能的電路結(jié)構(gòu),完全省掉了外加芯片等帶來的成本,在不增加芯片等硬件成本的基礎(chǔ)上,實現(xiàn)了原先單模機(jī)頂盒的雙模信號接收的功能,使機(jī)頂盒在功能上更有競爭力,而且電路結(jié)構(gòu)簡單,運行過程快捷方便,制造成本較低,工作性能穩(wěn)定可靠,適用范圍較為廣泛,為數(shù)字機(jī)頂盒技術(shù)的進(jìn)一步發(fā)展和普及應(yīng)用奠定了堅實的基礎(chǔ)。
文檔編號H04N5/00GK201282509SQ20082015452
公開日2009年7月29日 申請日期2008年10月28日 優(yōu)先權(quán)日2008年10月28日
發(fā)明者冰 張 申請人:上海大亞信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1