專利名稱:Ieee機(jī)頂盒設(shè)備驅(qū)動(dòng)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到作業(yè)程序與(外圍)物理設(shè)備的接口,特別是但是不僅限于數(shù)字電視系統(tǒng)的接收/譯碼器。
數(shù)字傳輸系統(tǒng)的發(fā)展已經(jīng)提供了將這種系統(tǒng)用于其它用途的可能性。這其中之一就是為終端用戶提供交互性。本文中使用的術(shù)語“數(shù)字傳輸系統(tǒng)”包括用來發(fā)送或是廣播起初的視聽或是多媒體數(shù)字?jǐn)?shù)據(jù)的任何傳輸系統(tǒng)。盡管本發(fā)明是特指一種廣播數(shù)字電視系統(tǒng)的應(yīng)用,本發(fā)明也可以用于多媒體互連網(wǎng)應(yīng)用的固定電信網(wǎng)絡(luò)以及閉路電視等等。本文中使用的術(shù)語“數(shù)字電視系統(tǒng)”包括了諸如衛(wèi)星,陸基,有線和其它任何系統(tǒng)。
本發(fā)明具體應(yīng)用在一個(gè)廣播數(shù)字電視系統(tǒng)中,其中的接收信號(hào)通過一個(gè)接收機(jī)傳到接收/譯碼器再傳到電視機(jī)。此處使用的術(shù)語“接收/譯碼器”包含了用于接收編碼或是非編碼信號(hào)的接收機(jī),例如是電視和/或無線電信號(hào),這些信號(hào)也可以是用某種其它手段廣播或是發(fā)送的信號(hào)。這一術(shù)語還包含了用來對(duì)接收的信號(hào)譯碼的譯碼器。這種接收/譯碼器的實(shí)施例可以包括與接收機(jī)一體的譯碼器,用于對(duì)接收的信號(hào)譯碼,例如是一個(gè)“機(jī)頂盒”,這種譯碼器的功能與物理上分離的接收機(jī)相互組合,這種譯碼器也可以包括附加的功能,諸如網(wǎng)絡(luò)瀏覽器,錄像機(jī)或者是電視。
接收/譯碼器將壓縮的MPEG信號(hào)譯碼成用于電視機(jī)的電視信號(hào)。通過也被稱為機(jī)頂盒或是STB的接收/譯碼器中的一個(gè)接口用一個(gè)遙控器手機(jī)來控制接收/譯碼器。MPEG是指由International StandardsOrganisation工作組“Motion Pictures Expert Group”制訂的數(shù)據(jù)傳輸標(biāo)準(zhǔn),特別是但是不僅限于在文件ISO 13818-1,ISO 13818-2,ISO 13818-3和ISO 13818-4中提出的為數(shù)字電視應(yīng)用而制訂的MPEG-2標(biāo)準(zhǔn)。在本發(fā)明的應(yīng)用范圍內(nèi),這一術(shù)語包括了用于數(shù)字?jǐn)?shù)據(jù)傳輸領(lǐng)域的MPEG格式的所有變更,修改或是發(fā)展。
提供上述交互性的一種途徑是在用來接收電視信號(hào)的接收/譯碼器上運(yùn)行一個(gè)作業(yè)。通常都希望能以一種透明的方式讓各種作業(yè)與各種物理設(shè)備進(jìn)行通信。我們的未決專利申請(qǐng)PCT/EP97/02115和PCT/EP97/02116中描述了這樣的系統(tǒng),可以用接收/譯碼器下載一或多項(xiàng)作業(yè),并且與接收/譯碼器中的物理設(shè)備進(jìn)行通信,例如是利用每個(gè)設(shè)備的設(shè)備驅(qū)動(dòng)器和一個(gè)綜合設(shè)備管理器的并行和串行接口以及智能卡讀卡器。本文中所用的術(shù)語“智能卡”包括但是不僅限于任何基于芯片的卡式設(shè)備,或是具有類似功能和特性的實(shí)體,程序,例如是微型計(jì)算機(jī)和/或存儲(chǔ)器裝置。這一術(shù)語還包括另類實(shí)體的卡,例如是鍵盤式的設(shè)備,諸如TV譯碼器系統(tǒng)中經(jīng)常使用的形式。
依照本發(fā)明提出的建議是為接收/譯碼器提供與其它視聽設(shè)備進(jìn)行通信的能力,例如是通過高速數(shù)字接口與數(shù)字錄像機(jī)進(jìn)行通信。新近制訂的IEEE 1394標(biāo)準(zhǔn)提供了一種有前途并且靈活的接口協(xié)議,可以提供100Mbit/s以上的串行通信速率。
使用IEEE 1394接口時(shí)面臨的一個(gè)問題是連接到總線上而不是接收/譯碼器上的設(shè)備有可能使接口總線復(fù)位或是改變其參數(shù),這樣就可能給作業(yè)帶來問題。這可能會(huì)導(dǎo)致需要更大的存儲(chǔ)器和處理能力來運(yùn)行能夠應(yīng)付這種接口的更加復(fù)雜的作業(yè)。這樣做就會(huì)增加每個(gè)接收/譯碼器的成本以及制作和調(diào)整這些作業(yè)的成本。
本發(fā)明的目的就是試圖解決這種接口的接口設(shè)備所面臨的問題。盡管本發(fā)明在用于接收/譯碼器與IEEE 1394或是類似接口的接口時(shí)具有最顯著的優(yōu)勢,本發(fā)明仍然可以用于其它設(shè)備的接口,可以通過設(shè)備的外部控制來改變接口的參數(shù)。
本發(fā)明在第一方面提供了一種通過設(shè)備驅(qū)動(dòng)器在一個(gè)作業(yè)和一個(gè)接口之間進(jìn)行數(shù)據(jù)通信的方法,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,每個(gè)接口標(biāo)識(shí)符在至少一次事件之后容易被改變,對(duì)于至少一個(gè)上述功能部件來說,該方法包括存儲(chǔ)一個(gè)對(duì)應(yīng)的邏輯標(biāo)識(shí)符,向作業(yè)提供這種邏輯標(biāo)識(shí)符,用來指導(dǎo)與設(shè)備驅(qū)動(dòng)器和作業(yè)之間對(duì)應(yīng)的功能部件相聯(lián)系的通信,并且保持每個(gè)邏輯標(biāo)識(shí)符和每個(gè)功能部件之間的對(duì)應(yīng),與分配給每個(gè)功能部件的接口標(biāo)識(shí)符無關(guān),從而使由一個(gè)給定的邏輯標(biāo)識(shí)符來指導(dǎo)的作業(yè)與設(shè)備驅(qū)動(dòng)器之間的通信隨著為上述功能部件分配的對(duì)應(yīng)的接口標(biāo)識(shí)符的變化而與對(duì)應(yīng)的給定功能部件保持聯(lián)系。
按照這種方式,盡管接口標(biāo)識(shí)符與功能部件的聯(lián)系有可能隨著時(shí)間而改變,仍可以使這種改變相對(duì)于作業(yè)是基本上透明的,這樣就能簡化作業(yè)。
接口與設(shè)備驅(qū)動(dòng)器之間的通信是由每個(gè)設(shè)備標(biāo)識(shí)符來指導(dǎo)的;這樣就能便于與接口的通信。
可以僅僅為一或多個(gè)作業(yè)所規(guī)定的功能部件分配邏輯標(biāo)識(shí)符。這樣就能減少所需要的邏輯標(biāo)識(shí)符的數(shù)量。
或者是可以用設(shè)備驅(qū)動(dòng)器匯編出所有上述功能部件或是滿足預(yù)定條件的所有功能部件的邏輯標(biāo)識(shí)符和對(duì)應(yīng)的接口標(biāo)識(shí)符的一個(gè)目錄,并且在每當(dāng)增、減或是改變一個(gè)功能部件或者是改變?nèi)魏我粋€(gè)接口標(biāo)識(shí)符時(shí)更新這種目錄。
盡管上述方法使作業(yè)不需要知道接口標(biāo)識(shí)符,設(shè)備驅(qū)動(dòng)器還是應(yīng)該能根據(jù)需要為作業(yè)提供分配給一個(gè)邏輯標(biāo)識(shí)符的接口標(biāo)識(shí)符。這樣做可以為系統(tǒng)測試提供特別的便利,因?yàn)樗锌赡茏尭呒?jí)的作業(yè)確定接口和相應(yīng)的設(shè)備驅(qū)動(dòng)器是否在正常工作。
設(shè)備驅(qū)動(dòng)器應(yīng)該能夠接受來自一項(xiàng)作業(yè)的請(qǐng)求,用至少一個(gè)邏輯標(biāo)識(shí)符代替一個(gè)接口標(biāo)識(shí)符來限定連接到總線上的物理設(shè)備之間的連接。這樣可以便于由作業(yè)來管理連接。
作業(yè)應(yīng)該能夠通過設(shè)備管理裝置與設(shè)備驅(qū)動(dòng)器進(jìn)行通信。采用設(shè)備管理裝置能夠?qū)νㄐ胚M(jìn)行整體的控制,從而使多個(gè)作業(yè)與多個(gè)設(shè)備進(jìn)行通信,不會(huì)發(fā)生沖突。
按照第一個(gè)最佳實(shí)施例,接口的至少一個(gè)上述功能部件包括連接到接口上的一個(gè)外圍設(shè)備,而對(duì)應(yīng)的接口標(biāo)識(shí)符包括分配給這一外設(shè)的物理地址(有時(shí)也稱為節(jié)點(diǎn)地址),這一邏輯標(biāo)識(shí)符包括分配給這一外設(shè)的邏輯地址(也可將其稱為邏輯外設(shè)標(biāo)識(shí)符)。這樣,即使改變了外設(shè)的物理地址(例如是隨著另一個(gè)外設(shè)被連接到總線上并且將總線復(fù)位的情況下),使用給定的邏輯地址的一項(xiàng)作業(yè)還能與一個(gè)給定的外設(shè)(例如是一個(gè)數(shù)字錄像機(jī))連續(xù)地進(jìn)行通信。
在這種情況下保持的對(duì)應(yīng)關(guān)系最好包括詢問每一個(gè)分配有邏輯地址的外設(shè),隨著諸如總線復(fù)位這樣的每一次事件來確定分配給外設(shè)的物理地址。這樣就能保證隨著物理地址的任何變化來更新配置。
同樣是在這種情況下,如果為給定的外設(shè)傳送的接口標(biāo)識(shí)符包括傳送外設(shè)的物理(或是節(jié)點(diǎn))地址并且還包括傳送外設(shè)的另一個(gè)標(biāo)識(shí)符,例如是包含用來識(shí)別外設(shè)的進(jìn)一步信息的一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)符,那將是非常有益的。用這一唯一的節(jié)點(diǎn)標(biāo)識(shí)符可以識(shí)別外設(shè)的制造商和/或銷售商和/或外設(shè)的型號(hào),并且可以包括一個(gè)序號(hào)。唯一的節(jié)點(diǎn)標(biāo)識(shí)符至少有四個(gè)字節(jié),最好占8個(gè)字節(jié)。
按照本發(fā)明的第二實(shí)施例,接口的至少一個(gè)上述功能部件包括限定參數(shù)的信道,用于通過接口和相應(yīng)的接口標(biāo)識(shí)符構(gòu)成接口信道編號(hào)(或是稱為信道標(biāo)識(shí)符),其邏輯標(biāo)識(shí)符包括一個(gè)邏輯信道標(biāo)識(shí)符。這樣就不需要由作業(yè)來隨時(shí)跟蹤可能會(huì)發(fā)生變化的接口信道編號(hào)。信道應(yīng)該是一種具有限定帶寬的同步信道。
設(shè)備驅(qū)動(dòng)器的配置應(yīng)該能夠接收作業(yè)的請(qǐng)求,分配一個(gè)限定參數(shù)的信道(例如是一個(gè)具有限定的最大帶寬的信道),并且在分配成功時(shí)返回一個(gè)邏輯信道標(biāo)識(shí)符。盡管作業(yè)不需要知道接口信道編號(hào),但是,如果設(shè)備驅(qū)動(dòng)器需要采納優(yōu)選的接口信道編號(hào)并且要分配有效的接口信道編號(hào),或是要在優(yōu)選的接口信道無效或者沒有指定優(yōu)選的接口信道時(shí)分配一個(gè)空隙信道,作業(yè)就需要知道接口信道編號(hào)。具備規(guī)定接口信道的能力可以便于用適當(dāng)?shù)淖鳂I(yè)對(duì)接口進(jìn)行控制和測試,不要求所有作業(yè)都要識(shí)別接口信道編號(hào)。設(shè)備驅(qū)動(dòng)器的配置應(yīng)該能夠接收一個(gè)優(yōu)選接口信道的標(biāo)識(shí)符,并且分辨出一個(gè)預(yù)定的密鑰,用來代替一個(gè)有效的接口信道編號(hào)來規(guī)定沒有優(yōu)選的接口信道,并且在指定了其它無效的接口信道編號(hào)時(shí)向作業(yè)報(bào)告一個(gè)差錯(cuò);這樣做有助于對(duì)作業(yè)進(jìn)行調(diào)試。
設(shè)備驅(qū)動(dòng)器的配置還應(yīng)該能夠向作業(yè)傳送接口信道編號(hào),最好還能傳送其它參數(shù),這其中包括分配給該信道的至少一個(gè)最高速率,當(dāng)前的有效速率,使用該信道的連接點(diǎn)(如果有)數(shù)量,以及使用該信道的每個(gè)連接點(diǎn)的標(biāo)識(shí)符。這樣就能用適當(dāng)?shù)淖鳂I(yè)來完善對(duì)傳送的管理,不需要讓所有作業(yè)都來處理使用該接口的這種參數(shù)。
最好是同時(shí)采用第一和第二實(shí)施例的方法,由設(shè)備驅(qū)動(dòng)器接收來自作業(yè)的請(qǐng)求,參照邏輯地址和邏輯信道標(biāo)識(shí)符來限定連接到接口上的外設(shè)之間的一或多個(gè)連接點(diǎn)。兩種實(shí)施方案按照這種方式的組合具有疊加的優(yōu)點(diǎn),使作業(yè)能夠建立連接,不需要保持跟蹤有關(guān)外設(shè)的物理地址或是所連接的接口信道上的任何細(xì)節(jié)。設(shè)備驅(qū)動(dòng)器的配置可以在具體的外設(shè)和廣播連接點(diǎn)之間建立至少一個(gè)點(diǎn)對(duì)點(diǎn)的連接。
在例如總線復(fù)位這樣的一個(gè)事件期間,接口參數(shù)有可能會(huì)發(fā)生變化,通信可能會(huì)中斷。盡管設(shè)備驅(qū)動(dòng)器在不請(qǐng)求作業(yè)輸入的情況下可以處理某些事件,設(shè)備驅(qū)動(dòng)器的配置還是應(yīng)該能夠向作業(yè)(如果需要這種作業(yè))發(fā)出一或多個(gè)事件的信號(hào),這些事件中至少包括一種總線復(fù)位(最好是以發(fā)信號(hào)開始到總線復(fù)位結(jié)束之間的獨(dú)立事件),總線布局的變化,以及信道或是連接參數(shù)的變化。
本發(fā)明的第二方面提供了一種在作業(yè)和接口之間進(jìn)行通信的設(shè)備驅(qū)動(dòng)器,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,每個(gè)接口標(biāo)識(shí)符在至少一次事件之后容易被改變,這種設(shè)備驅(qū)動(dòng)器包括用來存儲(chǔ)對(duì)應(yīng)著各個(gè)接口標(biāo)識(shí)符的至少一個(gè)邏輯標(biāo)識(shí)符的裝置,向作業(yè)提供用來指導(dǎo)與設(shè)備驅(qū)動(dòng)器和作業(yè)之間的對(duì)應(yīng)功能部件有關(guān)的通信的邏輯標(biāo)識(shí)符的裝置,以及用來保持每個(gè)邏輯標(biāo)識(shí)符和每個(gè)功能部件之間的對(duì)應(yīng)關(guān)系的裝置,與分配給每個(gè)功能部件的接口標(biāo)識(shí)符無關(guān),讓通過給定的邏輯標(biāo)識(shí)符來指導(dǎo)的作業(yè)和設(shè)備驅(qū)動(dòng)器之間的通信能夠隨著為功能部件分配的對(duì)應(yīng)的接口標(biāo)識(shí)符的變化而維持與對(duì)應(yīng)的給定功能部件的關(guān)系。
設(shè)備驅(qū)動(dòng)器可以用硬件來實(shí)現(xiàn),例如是一種專用集成電路;這樣可以提高操作速度。然而,最佳的設(shè)備驅(qū)動(dòng)器至少有一部分是由軟件來實(shí)現(xiàn)的,最好是在運(yùn)行作業(yè)的處理裝置上運(yùn)行的軟件;這樣可以有更多的靈活性,需要更少的元件,并且更容易對(duì)設(shè)備驅(qū)動(dòng)器進(jìn)行更新。
本發(fā)明的第三方面提供了一種數(shù)據(jù)處理系統(tǒng),它包括用于運(yùn)行作業(yè)的運(yùn)行時(shí)間工具,用來連接至少一個(gè)設(shè)備的接口裝置,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,每個(gè)接口標(biāo)識(shí)符在至少一次事件之后容易被改變,以及設(shè)備驅(qū)動(dòng)裝置,這種設(shè)備驅(qū)動(dòng)裝置包括用來存儲(chǔ)對(duì)應(yīng)著各個(gè)接口標(biāo)識(shí)符的至少一個(gè)邏輯標(biāo)識(shí)符的裝置,向作業(yè)提供用來指導(dǎo)與設(shè)備驅(qū)動(dòng)器和作業(yè)之間的對(duì)應(yīng)功能部件有關(guān)的通信的邏輯標(biāo)識(shí)符的裝置,以及用來保持每個(gè)邏輯標(biāo)識(shí)符和每個(gè)功能部件之間的對(duì)應(yīng)關(guān)系的裝置,與分配給每個(gè)功能部件的接口標(biāo)識(shí)符無關(guān),讓通過給定的邏輯標(biāo)識(shí)符來指導(dǎo)的作業(yè)和設(shè)備驅(qū)動(dòng)器之間的通信能夠隨著為功能部件分配的對(duì)應(yīng)的接口標(biāo)識(shí)符的變化而維持與對(duì)應(yīng)的給定功能部件的關(guān)系。
第一方面的最佳功能部件也可以用于第二和第三方面。
這種數(shù)據(jù)處理系統(tǒng)是在一個(gè)接收/譯碼器(例如是一個(gè)機(jī)頂盒)中實(shí)現(xiàn)的,它包括(通過衛(wèi)星或是電纜)接收廣播數(shù)據(jù)的裝置,通過接口的配置來連接數(shù)字錄像機(jī)或是數(shù)字顯示裝置或是計(jì)算機(jī),用來顯示或是存儲(chǔ)至少一部分接收的數(shù)據(jù)。用設(shè)備驅(qū)動(dòng)裝置配合著設(shè)備對(duì)接收的數(shù)據(jù)流進(jìn)行修改,將產(chǎn)生的經(jīng)過修改的數(shù)據(jù)流提供給上述接口。
這種接口應(yīng)該符合IEEE 1394標(biāo)準(zhǔn)或是這一標(biāo)準(zhǔn)的修改,再版或是變更??梢园凑誌EEE 1883標(biāo)準(zhǔn)傳送數(shù)據(jù)。
本業(yè)務(wù)最好以一種翻譯后的語言運(yùn)作,而設(shè)備驅(qū)動(dòng)器最好是編輯后的。
本發(fā)明最適合在接收/譯碼器中使用,可以通過IEEE 1394總線完成一項(xiàng)作業(yè)與數(shù)字錄像機(jī)之間的通信。作業(yè)可以通過設(shè)備驅(qū)動(dòng)器發(fā)送用來控制數(shù)字錄像機(jī)的指令,以及/或是接收與存儲(chǔ)在數(shù)字錄像機(jī)上的信息有關(guān)的數(shù)據(jù);按照這種方式,在接收/譯碼器上運(yùn)行的一項(xiàng)交互式作業(yè)就能控制節(jié)目或是其他數(shù)據(jù)的記錄和重放。數(shù)據(jù)通信采用MPEG格式(這其中包括了基本MPEG格式的任何修改和更新)的數(shù)據(jù),但是也可以使用其他格式。
以下要參照附圖通過舉例的方式說明本發(fā)明的最佳特征,在附圖中
圖1是接收/譯碼器的一個(gè)接口示意圖;圖2是接收/譯碼器的功能框圖;圖3中詳細(xì)地表示了虛擬計(jì)算機(jī)和運(yùn)行時(shí)間工具的一些部件;圖4是用來解釋通過設(shè)備驅(qū)動(dòng)器在一項(xiàng)作業(yè)和一個(gè)遠(yuǎn)程外設(shè)之間進(jìn)行的通信流程的一個(gè)示意圖;圖5是用來表示設(shè)備驅(qū)動(dòng)器的一些部件的一個(gè)示意圖。
在解釋體現(xiàn)本發(fā)明的設(shè)備驅(qū)動(dòng)器之前,首先簡要說明一種新式的數(shù)字衛(wèi)星接收/譯碼器平臺(tái)的基本特征。
圖1示意性地表示了在數(shù)字交互式電視系統(tǒng)中使用的一種接收/譯碼器2020或是機(jī)頂盒,在其中準(zhǔn)備安裝本發(fā)明的設(shè)備驅(qū)動(dòng)器。在本申請(qǐng)人的共同未決專利申請(qǐng)PCT/EP02106-02117中公開了這種數(shù)字交互式電視系統(tǒng)的具體細(xì)節(jié),上述文獻(xiàn)在此引作參考。為了便于說明,在上述文獻(xiàn)中已經(jīng)詳細(xì)說明的各部分統(tǒng)一采用了與這些文獻(xiàn)中相同的標(biāo)號(hào)。為了幫助理解設(shè)備驅(qū)動(dòng)器的功能,以下總結(jié)了接收/譯碼器的基本配置。
按照上述文獻(xiàn)中的詳細(xì)說明,參見圖1,接收/譯碼器2020包括若干個(gè)接口;具體講是,用于MPEG信號(hào)流的一個(gè)調(diào)諧器4028,一個(gè)串行接口4030,一個(gè)并行接口4032,以及兩個(gè)讀卡器4036,其中一個(gè)用于系統(tǒng)組成部分中的智能卡,另一個(gè)用于銀行卡或是其他(例如是用于付帳,在家處理銀行事物等等)的智能卡。接收/譯碼器還包括連接到電視信號(hào)供應(yīng)商的調(diào)制解調(diào)反向信道4002上的一個(gè)接口4034,用戶可以向電視信號(hào)(節(jié)目)供應(yīng)商指定喜歡的節(jié)目。接收機(jī)還包括一個(gè)Run-Time-Engine 4008,一個(gè)Device Manager 4068和用于運(yùn)行一或多項(xiàng)作業(yè)4056的多個(gè)Device 4062。
為了便于說明,一項(xiàng)作業(yè)是指用來控制接收/譯碼器2020的高級(jí)功能的一段計(jì)算機(jī)代碼。例如,當(dāng)終端用戶將一個(gè)遙控器的聚焦位置放在從電視機(jī)2022的屏幕上可以看到的一個(gè)按鈕目標(biāo)上并且按下有效鍵時(shí),就開始運(yùn)行與這一按鍵相應(yīng)的指令序列。
交互式作業(yè)可以推薦菜單并且按照終端用戶的要求執(zhí)行指令,并且提供關(guān)于作業(yè)用途的數(shù)據(jù)。作業(yè)可以是駐留的,也就是存儲(chǔ)在接收/譯碼器2020的ROM(或是FLASH或者是其他非易失性存儲(chǔ)器)中的作業(yè),或者是廣播和下載到接收/譯碼器2020的RAM或是FLASH存儲(chǔ)器中的作業(yè)。
在上述文獻(xiàn)中詳細(xì)描述了一些作業(yè)的例子,這些例子有·Initiating Application,它是一種適合用來收集讓接收/譯碼器2020立即進(jìn)入MPEG-2操作環(huán)境的模塊。
·Startup Application,它可以使下載或是駐留的一切作業(yè)在接收/譯碼器2020上運(yùn)行。
·Program Guide,節(jié)目向?qū)且环N交互式作業(yè),它可以提供關(guān)于節(jié)目的充分信息。
·Pay Per View Application,每次觀看時(shí)付費(fèi)的作業(yè)是數(shù)字TV供應(yīng)在每個(gè)PPV頻道上提供的一種交互式業(yè)務(wù),讓終端用戶可以購買現(xiàn)有的節(jié)目。
·PC Download作業(yè),終端用戶可以用PC下載作業(yè)下載計(jì)算機(jī)軟件。
·Magazine Browser作業(yè),雜志瀏覽器作業(yè)包括一個(gè)循環(huán)播放的電視圖象,通過屏幕上的按鈕來引導(dǎo)終端用戶。
·Teleshopping作業(yè),出售物品的售價(jià)可以發(fā)送給接收/譯碼器2020并且顯示在電視機(jī)2022上,讓用戶可以選購特定的物品。
作業(yè)以資源文件的形式被存儲(chǔ)在接收/譯碼器2020的本地存儲(chǔ)器中。按照上述文獻(xiàn)中具體的解釋,在資源文件中包括圖形目標(biāo)描述單元文件,可變塊單元文件,指令序列文件,作業(yè)文件和數(shù)據(jù)文件。
在MPEG數(shù)據(jù)流中,每個(gè)模塊包括一組MPEG表。每個(gè)MPEG表的格式可以有許多段。在MPEG數(shù)據(jù)流中,每個(gè)段的“大小”最多是4千字節(jié)。用來通過串行和并行端口傳送數(shù)據(jù),例如可以將模塊劃分成表和段,段的大小隨著傳送媒體而變。
模塊在MPEG數(shù)據(jù)流中以數(shù)據(jù)包的形式進(jìn)行傳送,在諸如視頻數(shù)據(jù)流,音頻數(shù)據(jù)流和文字電視廣播數(shù)據(jù)流等等各種類型的數(shù)據(jù)流中,典型的數(shù)據(jù)包是188字節(jié)。每個(gè)數(shù)據(jù)包前面是一個(gè)13位的PacketIdentifier(PID),在MPEG數(shù)據(jù)流中傳送的每個(gè)數(shù)據(jù)包都有一個(gè)PID。一個(gè)節(jié)目圖表(PMT表)中包含不同數(shù)據(jù)流的目錄,并且按照各個(gè)PID來限定每個(gè)數(shù)據(jù)流的內(nèi)容。PID可以向設(shè)備提示出現(xiàn)在數(shù)據(jù)流中的作業(yè),PID是用PMT表來識(shí)別的。
譯碼器中包含的存儲(chǔ)器被劃分成一個(gè)RAM體,一個(gè)FLASH體和一個(gè)ROM體,但是這種物理組織還不同于邏輯組織??梢詫⒋鎯?chǔ)器進(jìn)一步劃分成與各個(gè)接口相聯(lián)系的存儲(chǔ)體。從一方面來看,存儲(chǔ)器可以被認(rèn)為是硬件的一部分;從另一方面來看,又可以將存儲(chǔ)器視為不同于硬件的一種支持或是包含了整個(gè)系統(tǒng)。
可以將系統(tǒng)視為集中在構(gòu)成了虛擬計(jì)算機(jī)4007的一部分的運(yùn)行時(shí)間工具4008上。它的一側(cè)(“高級(jí)”側(cè))連接著作業(yè),而另一側(cè)(“低級(jí)”側(cè))通過各種中間邏輯單元連接著接收/譯碼器的硬件4061。接收/譯碼器硬件的概念包括了上述的各種端口或是接口(手機(jī)2026的接口2030,MPEG數(shù)據(jù)流接口4028,串行接口4030,并行接口4032,讀卡器4036的接口,以及連接到調(diào)制解調(diào)反向信道4002上的接口4034)。
參見圖2,各種作業(yè)4056被連接到單元4007;用4057表示的一些比較通用的作業(yè)可以或多或少地永久性駐留在系統(tǒng)中,而其它作業(yè)可以下載到系統(tǒng)中,例如根據(jù)需要從MPEG數(shù)據(jù)流或是其它端口上下載。
除了運(yùn)行時(shí)間工具4008之外,單元4007還包括某些駐留的數(shù)據(jù)庫4006,這其中包括一個(gè)工具盒4058。數(shù)據(jù)庫中包含供工具4008使用的C語言的多種功能。這其中包括對(duì)數(shù)據(jù)結(jié)構(gòu)的壓縮,擴(kuò)展或是比較以及繪圖等等數(shù)據(jù)控制功能。間距庫4006還包括關(guān)于接收/譯碼器2020中的硬件4061的信息,諸如硬件和軟件版本號(hào)和有效的RAM空間,以及在下載一個(gè)新設(shè)備4062時(shí)使用的功能。下載到數(shù)據(jù)庫中的功能可以存儲(chǔ)在Flash或是RAM存儲(chǔ)器中。
運(yùn)行時(shí)間工具4008被連接到設(shè)備管理器4068,它被連接到一組設(shè)備4062,后者又連接到設(shè)備驅(qū)動(dòng)器4060,再將驅(qū)動(dòng)器連接到端口或是接口。概括地說,可以認(rèn)為一個(gè)設(shè)備驅(qū)動(dòng)器限定了一個(gè)邏輯接口,因此,兩個(gè)不同的設(shè)備驅(qū)動(dòng)器可以連接到同一個(gè)物理端口上。一個(gè)設(shè)備往往可以連接到一個(gè)以上的設(shè)備驅(qū)動(dòng)器上;如果將設(shè)備連接到單個(gè)設(shè)備驅(qū)動(dòng)器上,這種設(shè)備往往被設(shè)計(jì)成包括了通信所需的全部功能,因而不需要單獨(dú)的設(shè)備驅(qū)動(dòng)器。有些設(shè)備彼此之間可以相互通信。
如下文所述,從設(shè)備4062到運(yùn)行時(shí)間工具的通信形式有三種利用變量,緩沖器,以及提供給一組排隊(duì)事件的事件。
接收/譯碼器2020的每一種功能都是由設(shè)備4062來體現(xiàn)的。設(shè)備可以是本地或是遠(yuǎn)程設(shè)備。本地設(shè)備4064包括智能卡,SCART連接器信號(hào),調(diào)制解調(diào)器,串行和并行接口,MPEG視頻和音頻唱機(jī),以及MPEG段和表的提取裝置。在遠(yuǎn)距位置上執(zhí)行的遠(yuǎn)程設(shè)備4066與本地設(shè)備的區(qū)別在于必須由系統(tǒng)管理機(jī)構(gòu)或是設(shè)計(jì)人員限定其端口和程序,而不是由接收/譯碼器制造商所提供和指定的設(shè)備和設(shè)備驅(qū)動(dòng)器來確定。
在產(chǎn)生一個(gè)新設(shè)備4062時(shí),可以通過從廣播中心下載有關(guān)的作業(yè)4056而將其安裝到現(xiàn)有的接收/譯碼器2020中。下載是由接收/譯碼器2020中的作業(yè)4056來執(zhí)行的,首先要檢查硬件和軟件版本,如果正確,就裝載代表新設(shè)備4062的軟件模塊,并且調(diào)用數(shù)據(jù)庫4006的一個(gè)程序,將新設(shè)備代碼安裝到操作系統(tǒng)內(nèi)(裝在Flash存儲(chǔ)器中)。這樣就能在接收/譯碼器2020內(nèi)部為新功能提供靈活和安全的安裝,不會(huì)影響到其它軟件。
設(shè)備管理器4068是接收/譯碼器2020的作業(yè)4056與具體功能之間的一個(gè)公用軟件接口。設(shè)備管理器4068控制著設(shè)備4062的存取,說明接收到的突發(fā)事件,并且管理共享存儲(chǔ)器。
運(yùn)行時(shí)間工具4008在微處理器和公用作業(yè)程序接口的控制下運(yùn)行。在每個(gè)接收/譯碼器2020中都裝有運(yùn)行時(shí)間工具,因此,從作業(yè)的角度來看,所有的接收/譯碼器2020都是相同的。
工具4008在接收/譯碼器2020上運(yùn)行作業(yè)4056,執(zhí)行交互式作業(yè)4056并且從接收/譯碼器2020外部接收事件,顯示圖形和文本,調(diào)用服務(wù)設(shè)備,并且使用連接到工具4008上的數(shù)據(jù)庫4006的功能來執(zhí)行具體的運(yùn)算。
運(yùn)行時(shí)間工具4008是安裝在每個(gè)接收/譯碼器2020中的一種可執(zhí)行代碼,并且包括用來中斷和運(yùn)行作業(yè)的一個(gè)中斷器。工具4008適用于包括單任務(wù)操作系統(tǒng)(例如MS-DOS)在內(nèi)的任何操作系統(tǒng)。工具4008的基礎(chǔ)是程序定序器(它響應(yīng)諸如按鍵等各種事件而執(zhí)行各種動(dòng)作),并且自身就包含用來管理來自不同硬件接口的事件排隊(duì)的時(shí)間表。它還可以處理圖形和文本的顯示。程序定序器包括一組動(dòng)作組。每個(gè)事件都會(huì)使程序定序器按照事件的字符從其當(dāng)前的動(dòng)作組轉(zhuǎn)移到下一個(gè)動(dòng)作組,并且執(zhí)行新的動(dòng)作組的動(dòng)作。
工具4008包括一個(gè)為接收/譯碼器2020的存儲(chǔ)器2028裝載和下載作業(yè)4056的代碼輸入器。為了確保最佳的使用,僅僅將必要的代碼裝入RAM或是Flash存儲(chǔ)器。下載的數(shù)據(jù)是經(jīng)過鑒定機(jī)構(gòu)修改的,以便防止對(duì)作業(yè)4056進(jìn)行任何修改或是執(zhí)行任何非法的作業(yè)。工具4008進(jìn)一步包括一個(gè)解壓器。由于為了節(jié)省空間并且為了從MPEG-2傳輸數(shù)據(jù)流中或是通過一種內(nèi)置的接收/譯碼器模式快速下載而對(duì)作業(yè)代碼(一種中間代碼形式)進(jìn)行了壓縮,代碼在裝入RAM之前必須要經(jīng)過解壓。工具4008還包括一個(gè)用來中斷作業(yè)代碼的中斷器,以便更新各種變量值并且確定狀態(tài)的變化,以及一個(gè)差錯(cuò)檢測器。
在使用任何設(shè)備4062的服務(wù)之前,必須提出一個(gè)作為“買方”的程序(例如是一個(gè)作業(yè)指令序列),也就是連接設(shè)備4062或是設(shè)備管理器4068的一個(gè)邏輯存取路徑(access-way)。管理器提供給買方一個(gè)在設(shè)備的所有存取工作中使用的買方編號(hào)。一個(gè)設(shè)備4062可以有若干個(gè)買方,每一個(gè)設(shè)備4062的買方編號(hào)是根據(jù)設(shè)備4062的類型而規(guī)定的。用一個(gè)“Device_Open Channel”程序?qū)①I方介紹給設(shè)備4062。該程序?yàn)橘I方分配一個(gè)買方編號(hào)。用一個(gè)“Device_Close Channel”程序可以從設(shè)備管理器4068的買方目錄中除去一個(gè)買方。
由設(shè)備管理器4068對(duì)設(shè)備4062的存取可以是同步或是異步的。同步存取方式使用一個(gè)“DeviceCall”程序。這意味著存取的數(shù)據(jù)立即生效或是其功能性不包含對(duì)預(yù)期響應(yīng)的任何等待。異步存取方式使用一個(gè)“DeviceI/O”程序。這意味著數(shù)據(jù)存取中包含對(duì)響應(yīng)的等待,例如是掃描調(diào)諧器頻率,從中找出一種多重調(diào)諧,或者是從MPEG數(shù)據(jù)流中取回一個(gè)表。在需要的結(jié)果有效時(shí),將事件排在工具的排隊(duì)中表示事件的開始。另一個(gè)程序“DeviceEvent”表示管理器不可預(yù)料的事件。
如上所述,運(yùn)行時(shí)間工具的主環(huán)聯(lián)系著許多程序定序器,當(dāng)主環(huán)遇到某一個(gè)事件時(shí),就將控制臨時(shí)轉(zhuǎn)移到一個(gè)程序定序器。
參見圖3,設(shè)備管理器包括一個(gè)排隊(duì)100,在其中暫時(shí)存儲(chǔ)來自各個(gè)設(shè)備的事件。虛擬計(jì)算機(jī)按照適當(dāng)?shù)拈g隔向這種排隊(duì)發(fā)出一個(gè)信號(hào),從中提取第一項(xiàng)。這一項(xiàng)事件被移入虛擬計(jì)算機(jī)中的一個(gè)排隊(duì)結(jié)構(gòu)101。按照事件的優(yōu)先權(quán)等級(jí)將其插入5個(gè)排隊(duì)0到4當(dāng)中的適當(dāng)位置。排隊(duì)選擇器102在運(yùn)行時(shí)間工具的控制下從排隊(duì)結(jié)構(gòu)101中提取各項(xiàng)事件。
在選定了排隊(duì)結(jié)構(gòu)101中的一個(gè)事件時(shí),就將其提供給程序定序器工具104,它是由一個(gè)程序定序器驅(qū)動(dòng)器105和一組程序定序器106構(gòu)成的。每個(gè)程序定序器是聯(lián)系在一起的一組動(dòng)作組,因此,從一個(gè)動(dòng)作組到下一個(gè)動(dòng)作組的每一個(gè)步驟主要取決于當(dāng)前的動(dòng)作組和事件的性質(zhì)。不同的程序定序器具有不同的大小和復(fù)雜性,這其中包括“下一個(gè)”動(dòng)作組,也就是系統(tǒng)響應(yīng)一個(gè)事件而進(jìn)展到的動(dòng)作組,它僅僅取決于事件的性質(zhì),而與當(dāng)前的動(dòng)作組無關(guān)。另外,從程序定序器框的右手一側(cè)可以看出,一個(gè)程序定序器有若干個(gè)拷貝,也就是若干個(gè)相同的程序定序器,以便通過單個(gè)端口用相同的協(xié)議來處理若干個(gè)獨(dú)立的數(shù)據(jù)流。
在選定了一個(gè)事件時(shí),就將其提供給適當(dāng)?shù)某绦蚨ㄐ蚱鳌_@是在程序定序器上從當(dāng)前的動(dòng)作組中選擇適當(dāng)?shù)某隹?。這樣就能選擇適當(dāng)?shù)南乱粋€(gè)動(dòng)作組,并且執(zhí)行這一動(dòng)作組中的動(dòng)作,這其中包括向設(shè)備管理器傳送一個(gè)信息,或者是執(zhí)行一個(gè)指令序列。程序定序器中的動(dòng)作組還可以向其它程序定序器傳送事件的信息。
如果選擇了一個(gè)指令序列,就將這一指令序列的識(shí)別碼傳送給一個(gè)指令序列選擇器107。這樣就能從指令序列存儲(chǔ)器108中獲得需要的指令序列并且將其提供給指令序列中斷器109去執(zhí)行這一指令序列。
系統(tǒng)中還包括一個(gè)濾波器110,它是按照事件的種類從程序定序器106裝載的。當(dāng)一項(xiàng)事件從設(shè)備管理器的排隊(duì)100中被提供給虛擬計(jì)算機(jī)中的排隊(duì)結(jié)構(gòu)101時(shí),將其種類或是字符與濾波器110中的目錄進(jìn)行比較,如果不能識(shí)別出事件的種類,它就會(huì)被拒絕。這樣做可以確保在設(shè)備管理器或是鍵盤所產(chǎn)生的某種事件不能被虛擬計(jì)算機(jī)所識(shí)別的情況下不會(huì)將這種事件提供給排隊(duì)結(jié)構(gòu)101。(如果將此類事件提供給排隊(duì)結(jié)構(gòu)101,這些事件就會(huì)被收入排隊(duì)結(jié)構(gòu)中,或者是可能造成程序定序器工具104發(fā)生故障)。
因此可以這樣說,本發(fā)明中基本的接收/譯碼器框架具有明顯的靈活性,可以完成作業(yè)與各種設(shè)備的通信。
IEEE 1394總線的設(shè)備驅(qū)動(dòng)器參見圖4,按照上述方案操作的IEEE 1394總線驅(qū)動(dòng)器便于在作業(yè)和連接到IEEE 1394總線上的一個(gè)諸如數(shù)字錄像機(jī)的外設(shè)之間進(jìn)行通信。
比較直接地由作業(yè)來控制的普通的串行和并行接口在例如用于存儲(chǔ)MPEG實(shí)時(shí)數(shù)據(jù)時(shí)的高速數(shù)據(jù)通信往往不夠快。下述的設(shè)備驅(qū)動(dòng)器結(jié)合了許多新的功能部件,可以讓作業(yè)高效地訪問IEEE 1394總線,并且可以由一個(gè)比較簡單的作業(yè)來控制連接到總線上的一個(gè)諸如數(shù)字錄像機(jī)的設(shè)備。
設(shè)備驅(qū)動(dòng)器可以被視為是由許多功能單元構(gòu)成的,作業(yè)可以通過下述的指令單獨(dú)存取這些功能單元。每個(gè)指令通過在設(shè)備管理器4068的控制下運(yùn)行的一個(gè)設(shè)備4062利用其他設(shè)備通用的上述三種標(biāo)準(zhǔn)程序之一完成與一項(xiàng)作業(yè)的接口??梢岳脜?shù)表在作業(yè)和設(shè)備驅(qū)動(dòng)器之間傳送信息。為了便于參考,以下簡要說明了這三種基本程序。
1)DeviceCall.作業(yè)可以用這個(gè)指令執(zhí)行同步指令或是數(shù)據(jù)傳送。執(zhí)行的作業(yè)被延緩到設(shè)備驅(qū)動(dòng)器完成操作并且恢復(fù)控制時(shí)為止;這樣就能可靠地控制那些必須按照嚴(yán)格的順序來執(zhí)行的操作。
2)DeviceI/O.這一指令允許異步操作。作業(yè)可以發(fā)送一個(gè)數(shù)據(jù)傳送請(qǐng)求或是要求設(shè)備驅(qū)動(dòng)器執(zhí)行一種特定的功能,并且在數(shù)據(jù)傳送或是執(zhí)行設(shè)備驅(qū)動(dòng)器的功能的同時(shí)繼續(xù)執(zhí)行作業(yè)。
3)DeviceEvent.這一事件收集功能可以讓設(shè)備驅(qū)動(dòng)器向作業(yè)發(fā)出事件的信號(hào),并且讓作業(yè)響應(yīng)這一事件而采取具體的動(dòng)作,與作業(yè)在發(fā)出事件信號(hào)時(shí)執(zhí)行的代碼無關(guān);有效地中斷作業(yè)。事件可以具有優(yōu)先權(quán)。事件可以用來發(fā)出發(fā)生在接口上的諸如總線復(fù)位等等的信號(hào)。
以下要說明在體現(xiàn)本發(fā)明的設(shè)備驅(qū)動(dòng)器中提供的指令。作業(yè)可以通過DeviceCall或是DeviceI/O提供一個(gè)作為參數(shù)的指令標(biāo)識(shí)符來存取每一個(gè)指令。并不需要提供下述的所有指令,而指令的功能也是可以改變的。盡管可以根據(jù)需要獨(dú)立地提供或是改變指令,以下要描述由指令的功能性組合而獲得的一些技巧。
指令是按照每個(gè)指令所具有的特征和功能來說明的,對(duì)于一個(gè)作業(yè)來說,同時(shí)還有選擇和優(yōu)化的特征。按照給定和說明的信息,本領(lǐng)域的技術(shù)人員就可以直接實(shí)現(xiàn)這些特征,因此將具體的細(xì)節(jié)留給了實(shí)踐者。例如,每個(gè)指令都可以用軟件實(shí)現(xiàn),最好是用C語言寫成的軟件,并且應(yīng)該能夠在運(yùn)行作業(yè)的同一個(gè)處理器上運(yùn)行;然而,設(shè)備驅(qū)動(dòng)器可以在一個(gè)獨(dú)立的處理器上運(yùn)行,并且有些或是全部的指令都可以用專用的硬件來實(shí)現(xiàn)。設(shè)備驅(qū)動(dòng)器可以使用Call或是I/O指令通過設(shè)定存儲(chǔ)在其地址已經(jīng)被提供給設(shè)備驅(qū)動(dòng)器的存儲(chǔ)器中的參數(shù)表中的值向作業(yè)發(fā)出信息信號(hào)或是提供參數(shù)。
以下描述的指令功能有時(shí)候要依賴設(shè)備驅(qū)動(dòng)器所執(zhí)行的某些基本功能,例如,為了處理邏輯外設(shè)標(biāo)識(shí)符和邏輯信道標(biāo)識(shí)符,用來維持邏輯外設(shè)標(biāo)識(shí)符和邏輯信道標(biāo)識(shí)符的各個(gè)表的設(shè)備驅(qū)動(dòng)器安裝裝置令這些表與其對(duì)應(yīng)的接口功能部件(分別是物理地址或是接口信道編號(hào))彼此相符。另外,在發(fā)生諸如總線復(fù)位這樣的事件時(shí),設(shè)備驅(qū)動(dòng)器可以確定新的物理地址和信道編號(hào)并且對(duì)這些表進(jìn)行更新,使得作業(yè)比較容易地完成這種過渡。
此外,設(shè)備驅(qū)動(dòng)器當(dāng)然還包括用來與接口實(shí)際進(jìn)行通信的裝置,并且執(zhí)行諸如存儲(chǔ)器分配和解除分配等等必要的整理工作。在圖5中表示了一些此類的功能。這些功能的細(xì)節(jié)是由具體使用的實(shí)際硬件來決定的,本領(lǐng)域的技術(shù)人員根據(jù)本說明書的指導(dǎo)再參照IEEE 1394標(biāo)準(zhǔn)文件(本文參考了其中的內(nèi)容)中的適當(dāng)部分就可以直接實(shí)現(xiàn)這些細(xì)節(jié),因而在此不再描述。
CommandBus 1394 Set這個(gè)指令允許由作業(yè)來設(shè)置基本接口參數(shù),設(shè)置需要分配的數(shù)據(jù)接收緩沖器的大小以及在通過接口傳送異步指令時(shí)可以使用的通信再試次數(shù)。這些參數(shù)可以是預(yù)置的,并且省去這一指令,但是提供這一指令可以便于優(yōu)化對(duì)不同作業(yè)的通信。盡管這些參數(shù)完全可以用異步方式來設(shè)置,但是最好還是通過Call方法來訪問這一指令,因此,僅僅在已經(jīng)產(chǎn)生了設(shè)備參數(shù)之后才會(huì)執(zhí)行后續(xù)的作業(yè)指令。如果設(shè)備驅(qū)動(dòng)器正在接收來自外設(shè)的數(shù)據(jù),該指令就應(yīng)該向作業(yè)發(fā)出一個(gè)差錯(cuò)信號(hào)。
CommandBus 1394 Info這個(gè)指令向作業(yè)返回關(guān)于總線布局的基本信息。因?yàn)闆]有嚴(yán)格的時(shí)間限制,最好是通過IO指令進(jìn)行異步的存取。
最好是讓這一指令和所有或是至少某些異步指令能夠通過響應(yīng)(或是一個(gè)代碼,例如是表示沒有最大時(shí)間的零)所需要的最大時(shí)間(例如是ms級(jí)的時(shí)間);以便使設(shè)備驅(qū)動(dòng)器能夠優(yōu)先提出請(qǐng)求。
最好用這一指令返回關(guān)于由總線管理的最大數(shù)據(jù)速率的信息,在發(fā)生呼叫時(shí)刻(在此時(shí)認(rèn)為總線上的連接已經(jīng)完成)的有效數(shù)據(jù)速率,實(shí)際連接到總線上的外設(shè)數(shù)量及其對(duì)應(yīng)的邏輯標(biāo)識(shí)符(參見下文),以及在呼叫時(shí)可供使用的邏輯信道。
對(duì)于IEEE 1394總線來說,為連接到總線上的每個(gè)外設(shè)分配一個(gè)可以隨時(shí)間而變的物理地址。
盡管這一指令的具體方案已經(jīng)選定了,還希望設(shè)備驅(qū)動(dòng)器能保留一個(gè)邏輯地址表(也稱為邏輯外設(shè)標(biāo)識(shí)符),它對(duì)于每個(gè)外設(shè)是不變的(針對(duì)給定作業(yè)的給定對(duì)話;在接收/譯碼器復(fù)位時(shí)可以改變這種邏輯地址),因此,在每次執(zhí)行時(shí),作業(yè)可以用單個(gè)邏輯地址唯一并且明確地識(shí)別出一個(gè)對(duì)應(yīng)的外設(shè)。分配給信道的信道編號(hào)也是可以改變的,因此,設(shè)備驅(qū)動(dòng)器直接通過在適當(dāng)?shù)谋碇胁檎覕?shù)據(jù)就可以響應(yīng)一個(gè)信息請(qǐng)求。
關(guān)于信道有效性的信息最好是采用二進(jìn)制形式的位圖,最好有8字節(jié)的信息,其中的每一位代表著64個(gè)邏輯信道之一的有效性(例如一個(gè)“0”表示該信道已經(jīng)被分配了,而一個(gè)“1”表示該信道可供使用)。
CommandBus 1394 Info Periph該指令被用來接收代表邏輯外設(shè)標(biāo)識(shí)符的參數(shù),并且返回一個(gè)與分配給接口上的外設(shè)的物理地址相對(duì)應(yīng)的二-字節(jié)物理地址(也被稱為節(jié)點(diǎn)ID),并且還應(yīng)該能返回一個(gè)8字節(jié)的唯一節(jié)點(diǎn)標(biāo)識(shí)符,它應(yīng)該能唯一地識(shí)別出外設(shè)的地理位置,或者是至少識(shí)別出外設(shè)的賣主或型號(hào)。這樣就能讓具有適當(dāng)技巧的作業(yè)能夠根據(jù)識(shí)別到的具體外設(shè)的信息來確定設(shè)備的具體能力。
指令應(yīng)該能夠在接口不能實(shí)際連接到功能性的IEEE 1394總線或者是邏輯外設(shè)標(biāo)識(shí)符無效時(shí)(例如是大于一個(gè)預(yù)定的最大值63)發(fā)出一個(gè)差錯(cuò)信號(hào),并且在總線復(fù)位未決時(shí)也發(fā)出一個(gè)信號(hào),以及在不知道具體的邏輯外設(shè)標(biāo)識(shí)符或是設(shè)備不能在規(guī)定的時(shí)間之內(nèi)作出響應(yīng)的情況下發(fā)出差錯(cuò)信號(hào)。
采用DeviceI/O.程序可以異步地訪問這一指令,利用一個(gè)參數(shù)塊提供表示完成或是失敗的信號(hào)。
CommandBus 1394 Alloc Channel這一指令被用來接收對(duì)信道的分配請(qǐng)求,最好是規(guī)定具體要求的通信速率以及需要使用的接口信道。可以用一個(gè)預(yù)定的代碼(例如是OFFh)來表示沒有特定的接口信道,在這種情況下或是在需要的接口信道被占用的情況下,設(shè)備驅(qū)動(dòng)器分配一個(gè)有效的信道。
如果成功了,指令就返回一個(gè)分配的邏輯信道標(biāo)識(shí)符,并且在使用上述CommandBus_1394_Info_Periph指令的情況下發(fā)出一個(gè)差錯(cuò)信號(hào),或者是在沒有有效的信道或者請(qǐng)求的數(shù)據(jù)速率高于最大有效速率時(shí)發(fā)出差錯(cuò)信號(hào)。
在設(shè)備驅(qū)動(dòng)器的簡化實(shí)施例中,例如是使用有限數(shù)量的信道,可以省掉這一指令以及下述的兩個(gè)指令,其代價(jià)是喪失了某些靈活性。
采用DeviceI/O.程序可以異步地訪問這一指令,利用一個(gè)參數(shù)塊提供表示完成或是失敗的信號(hào)。
CommandBus 1394 Info Channel這一指令被用來向作業(yè)返回關(guān)于具體的邏輯信道特性的信息。用這一指令返回分配給信道的最大速率(Kbit/s)在呼叫的時(shí)刻通過信道的有效速率,真實(shí)的信道標(biāo)識(shí)符(也就是由接口而不是設(shè)備驅(qū)動(dòng)器分配的信道標(biāo)識(shí)符),使用該信道的連接點(diǎn)數(shù)量,以及使用該信道的每個(gè)連接點(diǎn)的邏輯標(biāo)識(shí)符。
指令應(yīng)該能在不能分配具體的信道編號(hào)時(shí),在出現(xiàn)無效的標(biāo)識(shí)符的情況下,在總線復(fù)位未決的情況下,或是在接口沒有完成連接的情況下發(fā)出差錯(cuò)信號(hào)。
采用DeviceI/O.程序可以異步地訪問這一指令,利用一個(gè)參數(shù)塊提供表示完成或是失敗的信號(hào)。
CommandBus 1394 Free Channel這一指令斷開規(guī)定作為一個(gè)參數(shù)的邏輯信道的連接(但是最好不要解除對(duì)連接標(biāo)識(shí)符的分配),從而開放一個(gè)通信信道。指令是異步操作的,并且利用一個(gè)事件使通信的信號(hào)仍然等待在選定的信道中。
CommandBus 1394 Open Connect這一指令被用來接收代表一個(gè)邏輯信道標(biāo)識(shí)符的請(qǐng)求,它還包括一個(gè)連接類型,并且根據(jù)規(guī)定的連接類型在兩個(gè)設(shè)備之間或是一個(gè)廣播輸入或輸出連接之間完成點(diǎn)對(duì)點(diǎn)連接的初始化。如果規(guī)定了點(diǎn)對(duì)點(diǎn)的連接,還必須向設(shè)備驅(qū)動(dòng)器提供兩個(gè)外設(shè)的邏輯外設(shè)標(biāo)識(shí)符。盡管采用物理地址和接口真實(shí)信道編號(hào)也可以操作這一指令的各種變形,根據(jù)邏輯參數(shù)的操作方式仍然具有能夠簡化上述作業(yè)操作的優(yōu)點(diǎn)。
如果成功了,這一指令就返回一個(gè)邏輯連接標(biāo)識(shí)符。
簡化的實(shí)施例可以省略用來限定有待確定的點(diǎn)對(duì)點(diǎn)連接的功能;在典型的作業(yè)中可能只有一個(gè)設(shè)備,例如是連接到總線上的一個(gè)數(shù)字錄像機(jī),因此,只有廣播連接就足夠了。
在設(shè)備驅(qū)動(dòng)器的某些實(shí)施例中,打開一個(gè)特定的連接可能還會(huì)自動(dòng)地觸發(fā)接收/譯碼器內(nèi)部的其它信號(hào)路徑。例如,打開廣播信號(hào)的連接可能會(huì)自動(dòng)斷開多路分解器輸入的前端,這樣,多路分解器就能有效地處理通過IEEE 1394總線接收到的輸入數(shù)據(jù)。
這一指令在達(dá)到了最大連接數(shù)量時(shí)或者是在涉及到其它指令的上述其它情況下應(yīng)該能夠發(fā)出一個(gè)差錯(cuò)信號(hào)。
采用DeviceI/O.程序可以異步地訪問這一指令,利用一個(gè)事件提供表示完成或是失敗的信號(hào)。
CommandBus 1394 Close Connect
這一指令接收一個(gè)邏輯連接標(biāo)識(shí)符,停止通信的連接,然后開放其連接標(biāo)識(shí)符供再次使用。
如果信號(hào)在打開連接時(shí)在接收/譯碼器內(nèi)部自動(dòng)地循環(huán),設(shè)備就應(yīng)該在關(guān)閉連接或是在關(guān)閉最后一個(gè)有關(guān)的連接時(shí)重新存儲(chǔ)連接的原有狀態(tài)。例如,在關(guān)閉最后的廣播連接時(shí)可以將多路分解器輸入重新連接到前端。
采用DeviceI/O.程序可以異步地訪問這一指令,利用一個(gè)事件提供表示完成或是失敗的信號(hào)。
CommandBus 1394 List Connect這一指令返回一個(gè)在呼叫時(shí)可供使用的僅僅包含譯碼器本身的有效連接目錄,采用的目錄形式最好是包括連接的數(shù)量以及每個(gè)連接的邏輯連接標(biāo)識(shí)符和一個(gè)用來表示連接類型(點(diǎn)對(duì)點(diǎn),廣播輸入,廣播輸出)的標(biāo)志。
如果僅僅需要簡單的連接,在簡化的實(shí)施例中就可以省去這一指令和/或以下的指令。然而,如果有一個(gè)以上的作業(yè)可以同時(shí)使用設(shè)備驅(qū)動(dòng)器,提供這些指令可以讓作業(yè)不僅能夠監(jiān)視其本身以及完成的連接,還可以監(jiān)視由其它作業(yè)產(chǎn)生的連接,并且能監(jiān)視是否有任何連接已經(jīng)被意外地關(guān)閉了。
這一指令最好是通過DeviceCall程序進(jìn)行同步存取,因?yàn)檫B接是頻繁變化的,而一個(gè)作業(yè)可以會(huì)試圖用過時(shí)的信息來控制通信,或者是需要詢問來自設(shè)備驅(qū)動(dòng)器的響應(yīng)。
CommandBus 1394 Info Connect這一指令接收一個(gè)邏輯連接標(biāo)識(shí)符并且返回用來完成連接的邏輯信道編號(hào)。該指令還可以返回連接類型的指示,并且在點(diǎn)對(duì)點(diǎn)連接的情況下返回有關(guān)外設(shè)的邏輯地址。
對(duì)于List_Connect指令來說,指令的存取采用同步方式。
CommandBus 1394 Reset這一指令被用來初始化一個(gè)總線復(fù)位程序,或者是在總線復(fù)位正在進(jìn)行時(shí)返回一個(gè)差錯(cuò)信號(hào)。作業(yè)可以利用這一指令在復(fù)位之后馬上開始控制IEEE 1394總線,并且采用同步存取方式。設(shè)備驅(qū)動(dòng)器可以通過下述的一個(gè)事件發(fā)出總線復(fù)位完成的信號(hào)。
CommandBus 1394 Send FCP
這一指令可以省略或是按照不同的方式來執(zhí)行。下述的例子說明用來在IEEE 1394總線上異步傳送數(shù)據(jù)的方式。
這一指令接收一個(gè)參數(shù)塊,這其中包含準(zhǔn)備作為指令或是響應(yīng)以異步方式傳送給IEEE 1394總線上的一個(gè)外設(shè)的信息。參數(shù)塊中應(yīng)該包含信息類型的指示,應(yīng)該分配給一個(gè)響應(yīng)的緩沖器容量,指定外設(shè)的邏輯外設(shè)標(biāo)識(shí)符,信息的長度,以及信息本身。
該指令應(yīng)該能指示出成功傳送,或者是當(dāng)傳送在預(yù)定的重試次數(shù)之內(nèi)沒有成功或是在使用上文中所述的Info Periph指令時(shí)匯報(bào)一個(gè)差錯(cuò)。
由于可能有大量的數(shù)據(jù)需要傳送,該指令應(yīng)該采取異步存取方式,以便在晶體管導(dǎo)通時(shí)連續(xù)地執(zhí)行作業(yè)。
如果規(guī)定了一個(gè)預(yù)定的邏輯外設(shè)標(biāo)識(shí)符,例如是63,該指令就應(yīng)該向所有外設(shè)廣播一個(gè)信息。
在設(shè)備驅(qū)動(dòng)器的簡化實(shí)施例中,這一指令可以被用來傳送固定長度例如是32字節(jié)的信息,這一長度足以向數(shù)字錄像機(jī)傳送一個(gè)指令。
設(shè)備驅(qū)動(dòng)器應(yīng)該能夠同時(shí)接收和發(fā)送多個(gè)請(qǐng)求,并且同時(shí)作出多種響應(yīng)。然而,簡化的實(shí)施例可能僅僅提供單一順序請(qǐng)求的能力。
除了這些指令可以讓作業(yè)向設(shè)備驅(qū)動(dòng)器傳送指令之外,設(shè)備驅(qū)動(dòng)器也可以通過設(shè)備管理器的事件處理功能向作業(yè)發(fā)出事件的信號(hào)。設(shè)備驅(qū)動(dòng)器執(zhí)行以下的事件-Ev Bus 1394 Rcv FCP這一事件表示從外設(shè)接收到一個(gè)FCP幀,并且提供一個(gè)包含源外設(shè)邏輯地址,信息的類型,長度和內(nèi)容的參數(shù)塊。
Ev Bus 1394 Channel這一事件表示信道分配和解除分配,并且提供一個(gè)表示已分配信道的目錄,該目錄是按照上文關(guān)于Info指令所述的二進(jìn)制方式編碼的。
Ev Bus 1394 Config這一事件表示外設(shè)連接或是斷開,并且提供一個(gè)包含連接外設(shè)數(shù)量及其邏輯地址的目錄。
在接口上與此有關(guān)的變化和前述的Channel事件必須受到設(shè)備驅(qū)動(dòng)器的監(jiān)視,即使設(shè)備驅(qū)動(dòng)器不向作業(yè)提供這種事件的信號(hào),也要不斷地更新在邏輯和接口標(biāo)識(shí)符之間對(duì)應(yīng)的表。
Ev Bus 1394 Connect這一事件被用來發(fā)出連接斷開的信號(hào),并且向作業(yè)提供一個(gè)連接斷開的邏輯標(biāo)識(shí)符,并且還要提供一個(gè)目錄,在目錄中包含關(guān)于被斷開的連接的進(jìn)一步信息,其格式與上述的Info_Connection指令相似。
Ev Bus 1394 Lo Events這一事件可以表示一或多個(gè)低級(jí)接口差錯(cuò),例如是外設(shè)占用總線時(shí)間過長,數(shù)據(jù)或CRC差錯(cuò),意外的事物,未知的信道編號(hào)或是事物代碼等等。這一事件對(duì)于調(diào)試工作是非常有用的,在設(shè)備驅(qū)動(dòng)器的簡化實(shí)施例中可以省略。
Ev Bus 1394 Hi Events這一事件可以表示一或多個(gè)高級(jí)總線狀態(tài),這其中至少包括總線復(fù)位的開始和結(jié)束之一(最好是都包括),以及諸如電纜電源故障,總線的檢測循環(huán)等等事件,或者是設(shè)備驅(qū)動(dòng)器本身在經(jīng)過多次重試之后無法恢復(fù)的重大差錯(cuò)。
Ev Bus 1394 Off這一事件可以用于設(shè)備驅(qū)動(dòng)器內(nèi)部的差錯(cuò)信號(hào),例如是沒有可用于存儲(chǔ)接收到的信息的緩沖器。
上述的指令和事件僅僅是為了說明,而本發(fā)明是可以用各種途徑來實(shí)現(xiàn)的,特別是有些指令可以和其他執(zhí)行類似功能的指令加以組合,或是在簡化實(shí)施例中可以省去某些指令。在各個(gè)指令之間和一個(gè)指令內(nèi)部的每一種功能的硬件和軟件實(shí)施方案都可以自由組合;硬件實(shí)施方案操作比較快并且不占用處理能力,而軟件實(shí)施方案更容易更新。顯而易見,由硬件,計(jì)算機(jī)軟件等等執(zhí)行的各種功能同樣可以用電或是類似的信號(hào)來執(zhí)行。軟件實(shí)施方案可以存儲(chǔ)在ROMFLASH中或是嵌入FLASH中。
本發(fā)明的上述說明僅僅是一些例子,在本發(fā)明的范圍內(nèi)完全可以對(duì)其細(xì)節(jié)進(jìn)行各種各樣的修改。
在說明書和(適當(dāng)?shù)?權(quán)利要求及附圖中公開的每一個(gè)特征都可以是獨(dú)立的或是以任何方式加以組合。
權(quán)利要求
1.通過設(shè)備驅(qū)動(dòng)器在一個(gè)作業(yè)和一個(gè)接口之間進(jìn)行數(shù)據(jù)通信的方法,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,分配給功能部件的接口標(biāo)識(shí)符在至少一次事件之后容易被改變,該方法包括為至少一個(gè)上述功能部件,存儲(chǔ)一個(gè)對(duì)應(yīng)的邏輯標(biāo)識(shí)符;向作業(yè)提供這種邏輯標(biāo)識(shí)符,用來指導(dǎo)與設(shè)備驅(qū)動(dòng)器和作業(yè)之間對(duì)應(yīng)的功能部件相聯(lián)系的通信;并且保持每個(gè)邏輯標(biāo)識(shí)符和每個(gè)功能部件之間的對(duì)應(yīng),與分配給每個(gè)功能部件的接口標(biāo)識(shí)符無關(guān),從而使由一個(gè)給定的邏輯標(biāo)識(shí)符來指導(dǎo)的作業(yè)與設(shè)備驅(qū)動(dòng)器之間的通信隨著為上述功能部件分配的對(duì)應(yīng)的接口標(biāo)識(shí)符的變化而與對(duì)應(yīng)的給定功能部件保持聯(lián)系。
2.按照權(quán)利要求1的方法,其特征是接口與設(shè)備驅(qū)動(dòng)器之間的通信是根據(jù)每個(gè)接口標(biāo)識(shí)符來指導(dǎo)的。
3.按照前述權(quán)利要求之一的方法,其特征是包括將滿足預(yù)定條件的所有功能部件的邏輯標(biāo)識(shí)符和對(duì)應(yīng)的接口標(biāo)識(shí)符匯編成一個(gè)目錄。
4.按照前述權(quán)利要求之一的方法,其特征是設(shè)備驅(qū)動(dòng)器根據(jù)需求向作業(yè)傳送分配給一個(gè)邏輯標(biāo)識(shí)符的接口標(biāo)識(shí)符。
5.按照前述權(quán)利要求之一的方法,其特征是設(shè)備驅(qū)動(dòng)器接受來自一項(xiàng)作業(yè)的請(qǐng)求,用至少一個(gè)邏輯標(biāo)識(shí)符代替一個(gè)接口標(biāo)識(shí)符來限定連接到總線上的物理設(shè)備之間的連接。
6.按照前述權(quán)利要求之一的方法,其特征是作業(yè)通過設(shè)備管理裝置與設(shè)備驅(qū)動(dòng)器進(jìn)行通信。
7.按照前述權(quán)利要求之一的方法,其特征是接口的至少一個(gè)上述功能部件包括連接到接口上的一個(gè)外圍設(shè)備,而對(duì)應(yīng)的接口標(biāo)識(shí)符包括分配給這一外設(shè)的物理地址,這一邏輯標(biāo)識(shí)符包括分配給這一外設(shè)的邏輯地址。
8.按照權(quán)利要求7的方法,其特征是保持的對(duì)應(yīng)關(guān)系包括詢問每一個(gè)分配有邏輯地址的外設(shè),隨著一次總線復(fù)位確定分配給外設(shè)的物理地址。
9.按照權(quán)利要求4或7或8的方法,其特征是為給定的外設(shè)傳送接口標(biāo)識(shí)符的步驟包括傳送外設(shè)的物理地址,并且還包括傳送包含用來識(shí)別外設(shè)的進(jìn)一步信息的一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)符。
10.按照前述權(quán)利要求之一的方法,其特征是接口的至少一個(gè)上述功能部件包括一個(gè)限定參數(shù)的信道,用于通過接口和相應(yīng)的接口標(biāo)識(shí)符構(gòu)成接口信道編號(hào),其邏輯標(biāo)識(shí)符包括一個(gè)邏輯信道標(biāo)識(shí)符。
11.按照權(quán)利要求10的方法,其特征是由設(shè)備驅(qū)動(dòng)器接收作業(yè)的請(qǐng)求,分配一個(gè)限定參數(shù)的信道,并且在分配成功時(shí)返回一個(gè)邏輯信道標(biāo)識(shí)符。
12.按照權(quán)利要求10或11的方法,其特征是設(shè)備驅(qū)動(dòng)器采納優(yōu)選的接口信道編號(hào)并且分配有效的接口信道編號(hào),如果優(yōu)選的接口信道無效或者沒有指定優(yōu)選的接口信道,就分配一個(gè)空隙信道。
13.按照權(quán)利要求10,11或12的方法,其特征是用設(shè)備驅(qū)動(dòng)器接收一個(gè)優(yōu)選接口信道的標(biāo)識(shí)符,并且分辨出一個(gè)預(yù)定的密鑰,用來代替一個(gè)有效的接口信道編號(hào)來規(guī)定沒有優(yōu)選的接口信道,并且在指定了其它無效的接口信道編號(hào)時(shí)向作業(yè)報(bào)告一個(gè)差錯(cuò)。
14.按照權(quán)利要求10,11,12或13之一的方法,其特征是設(shè)備驅(qū)動(dòng)器向作業(yè)傳送接口信道編號(hào)以及從以下選出的至少一個(gè)其它參數(shù)分配給該信道的最高速率;當(dāng)前的有效速率;使用該信道的連接點(diǎn)(如果有)數(shù)量,以及使用該信道的每個(gè)連接點(diǎn)的標(biāo)識(shí)符。
15.按照前述任何一項(xiàng)權(quán)利要求的方法,其特征是設(shè)備驅(qū)動(dòng)器接受來自作業(yè)的請(qǐng)求,參照邏輯地址和邏輯信道標(biāo)識(shí)符來限定連接到接口上的物理設(shè)備之間的一或多個(gè)連接點(diǎn)。
16.按照前述任何一項(xiàng)權(quán)利要求的方法,其特征是用設(shè)備驅(qū)動(dòng)器建立至少一個(gè)廣播連接。
17.按照前述任何一項(xiàng)權(quán)利要求的方法,其特征是由設(shè)備驅(qū)動(dòng)器向作業(yè)發(fā)出一或多個(gè)事件的信號(hào),這些事件主要包括總線復(fù)位(最好是在復(fù)位開始和結(jié)束時(shí)),總線布局的變化,以及信道或是連接參數(shù)的變化。
18.在作業(yè)和接口之間進(jìn)行通信的設(shè)備驅(qū)動(dòng)器,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,每個(gè)接口標(biāo)識(shí)符在至少一次事件之后容易被改變,這種設(shè)備驅(qū)動(dòng)器包括用來存儲(chǔ)對(duì)應(yīng)著各個(gè)接口標(biāo)識(shí)符的至少一個(gè)邏輯標(biāo)識(shí)符的裝置;向作業(yè)提供用來指導(dǎo)與設(shè)備驅(qū)動(dòng)器和作業(yè)之間的對(duì)應(yīng)功能部件有關(guān)的通信的邏輯標(biāo)識(shí)符的裝置;以及用來保持每個(gè)邏輯標(biāo)識(shí)符和每個(gè)功能部件之間的對(duì)應(yīng)關(guān)系的裝置,與分配給每個(gè)功能部件的接口標(biāo)識(shí)符無關(guān),讓通過給定的邏輯標(biāo)識(shí)符來指導(dǎo)的作業(yè)和設(shè)備驅(qū)動(dòng)器之間的通信能夠隨著為功能部件分配的對(duì)應(yīng)的接口標(biāo)識(shí)符的變化而維持與對(duì)應(yīng)的給定功能部件的關(guān)系。
19.按照權(quán)利要求18的設(shè)備驅(qū)動(dòng)器,其特征是設(shè)備驅(qū)動(dòng)器是用軟件實(shí)現(xiàn)的,可以由運(yùn)行每一個(gè)作業(yè)的處理裝置來執(zhí)行這種軟件。
20.按照權(quán)利要求18或19的設(shè)備驅(qū)動(dòng)器,其特征是設(shè)備驅(qū)動(dòng)器匯編出滿足預(yù)定條件的所有功能部件的邏輯標(biāo)識(shí)符和對(duì)應(yīng)的接口標(biāo)識(shí)符的一個(gè)目錄。
21.按照權(quán)利要求18到20之一的設(shè)備驅(qū)動(dòng)器,其特征是包括根據(jù)需求向作業(yè)傳送分配給一個(gè)邏輯標(biāo)識(shí)符的接口標(biāo)識(shí)符的裝置。
22.按照權(quán)利要求18到21之一的設(shè)備驅(qū)動(dòng)器,其特征是包括接受來自一項(xiàng)作業(yè)的請(qǐng)求的裝置,用至少一個(gè)邏輯標(biāo)識(shí)符代替一個(gè)接口標(biāo)識(shí)符來限定連接到總線上的物理設(shè)備之間的連接。
23.按照權(quán)利要求18到22之一的設(shè)備驅(qū)動(dòng)器,其特征是接口的至少一個(gè)上述功能部件包括連接到接口上的一個(gè)外圍設(shè)備,而對(duì)應(yīng)的接口標(biāo)識(shí)符包括分配給這一外設(shè)的物理地址,這一邏輯標(biāo)識(shí)符包括分配給這一外設(shè)的邏輯地址。
24.按照權(quán)利要求23的設(shè)備驅(qū)動(dòng)器,其特征是詢問每一個(gè)分配有邏輯地址的外設(shè),隨著一次總線復(fù)位確定分配給外設(shè)的物理地址。
25.按照權(quán)利要求21和23或24的設(shè)備驅(qū)動(dòng)器,其特征是為給定的外設(shè)傳送接口標(biāo)識(shí)符的裝置包括用來傳送外設(shè)物理地址的裝置,并且還包括傳送包含用來識(shí)別外設(shè)的進(jìn)一步信息的一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)符的裝置。
26.按照權(quán)利要求18到25之一的設(shè)備驅(qū)動(dòng)器,其特征是接口的至少一個(gè)上述功能部件包括一個(gè)限定參數(shù)的信道,用于通過接口和相應(yīng)的接口標(biāo)識(shí)符構(gòu)成接口信道編號(hào),其邏輯標(biāo)識(shí)符包括一個(gè)邏輯信道標(biāo)識(shí)符。
27.按照權(quán)利要求26的設(shè)備驅(qū)動(dòng)器,其特征是包括信道分配裝置,用來接收作業(yè)的請(qǐng)求,分配一個(gè)限定參數(shù)的信道,并且在分配成功時(shí)返回一個(gè)邏輯信道標(biāo)識(shí)符。
28.按照權(quán)利要求27的設(shè)備驅(qū)動(dòng)器,其特征是信道分配裝置采納優(yōu)選的接口信道編號(hào)并且分配有效的接口信道編號(hào),如果優(yōu)選的接口信道無效或者沒有指定優(yōu)選的接口信道,就分配一個(gè)空隙信道。
29.按照權(quán)利要求27或28的設(shè)備驅(qū)動(dòng)器,其特征是用信道分配裝置接收一個(gè)優(yōu)選接口信道的標(biāo)識(shí)符,并且分辨出一個(gè)預(yù)定的密鑰,用來代替一個(gè)有效的接口信道編號(hào)來規(guī)定沒有優(yōu)選的接口信道,并且在指定了其它無效的接口信道編號(hào)時(shí)向作業(yè)報(bào)告一個(gè)差錯(cuò)。
30.按照權(quán)利要求26,27,28或29的設(shè)備驅(qū)動(dòng)器,其特征是包括向作業(yè)傳送接口信道編號(hào)的裝置,并且傳送從以下選出的至少一個(gè)其它參數(shù)分配給該信道的最高速率;當(dāng)前的有效速率;使用該信道的連接點(diǎn)(如果有)數(shù)量,以及使用該信道的每個(gè)連接點(diǎn)的標(biāo)識(shí)符。
31.按照權(quán)利要求18到30之一的設(shè)備驅(qū)動(dòng)器,其特征是包括接受來自一項(xiàng)作業(yè)的請(qǐng)求的裝置,參照邏輯信道標(biāo)識(shí)符來限定連接到接口上的物理設(shè)備之間的一或多個(gè)連接點(diǎn),并且在請(qǐng)求限定一種點(diǎn)對(duì)點(diǎn)的連接時(shí)參照外設(shè)的邏輯地址。
32.按照權(quán)利要求18到31之一的設(shè)備驅(qū)動(dòng)器,其特征是包括用來根據(jù)作業(yè)的請(qǐng)求建立至少一個(gè)廣播連接的裝置。
33.按照權(quán)利要求18到31之一的設(shè)備驅(qū)動(dòng)器,其特征是包括向作業(yè)發(fā)出一或多個(gè)事件信號(hào)的裝置,這些事件主要包括總線復(fù)位(最好是在復(fù)位開始和結(jié)束時(shí)),總線布局的變化,以及信道或是連接參數(shù)的變化。
34.一種數(shù)據(jù)處理系統(tǒng),它包括用于運(yùn)行作業(yè)的運(yùn)行時(shí)間工具;用來連接至少一個(gè)設(shè)備的接口裝置,為接口的至少一個(gè)功能部件分配一個(gè)接口標(biāo)識(shí)符,每個(gè)接口標(biāo)識(shí)符在至少一次事件之后容易被改變以及按照權(quán)利要求18到33之一所述的設(shè)備驅(qū)動(dòng)裝置。
35.在一種接收/譯碼器中實(shí)現(xiàn)的按照權(quán)利要求34的數(shù)據(jù)處理系統(tǒng),其特征是包括用來接收廣播數(shù)據(jù)的裝置,通過接口的配置來連接數(shù)字錄像機(jī)或是數(shù)字顯示裝置或是計(jì)算機(jī),用來顯示或是存儲(chǔ)至少一部分接收的數(shù)據(jù)。
36.按照權(quán)利要求35的接收/譯碼器,其特征是用設(shè)備驅(qū)動(dòng)裝置配合著其他設(shè)備驅(qū)動(dòng)裝置來修改接收的數(shù)據(jù)流,產(chǎn)生一個(gè)提供給上述接口的修改的數(shù)據(jù)流。
37.按照權(quán)利要求35或36的接收/譯碼器,其特征是接口符合IEEE1394標(biāo)準(zhǔn)或是這種標(biāo)準(zhǔn)的變形。
38.按照權(quán)利要求35,36或是37的接收/譯碼器,其特征是用一種中斷語言來運(yùn)行上述作業(yè),并且對(duì)設(shè)備驅(qū)動(dòng)器進(jìn)行匯編。
39.按照權(quán)利要求35,36,37或是38的接收/譯碼器,其特征是用設(shè)備驅(qū)動(dòng)器發(fā)送來自作業(yè)的用來控制數(shù)字錄像機(jī)的指令,以及/或是接收與存儲(chǔ)在數(shù)字錄像機(jī)上的信息有關(guān)的數(shù)據(jù)。
40.按照權(quán)利要求39的接收/譯碼器,其特征是傳送的數(shù)據(jù)中包括MPEG格式的數(shù)據(jù)。
41.在具有用來運(yùn)行作業(yè)的運(yùn)行時(shí)間工具和可以連接到至少一個(gè)外設(shè)的一個(gè)IEEE 1394接口的接收/譯碼器中使用的一種設(shè)備驅(qū)動(dòng)器,每個(gè)外設(shè)能夠具有分配給它的單獨(dú)的物理地址,接口能夠提供至少一個(gè)通信信道,每個(gè)信道具有分配給它的單獨(dú)的一個(gè)真實(shí)的信道標(biāo)識(shí)符,分配給每個(gè)信道的真實(shí)的信道標(biāo)識(shí)符和分配給每個(gè)外設(shè)的地址在總線復(fù)位之后有可能發(fā)生變化,設(shè)備驅(qū)動(dòng)器的配置可以便利在作業(yè)和IEEE1394接口之間進(jìn)行通信,這種設(shè)備驅(qū)動(dòng)器包括用來存儲(chǔ)對(duì)應(yīng)著各個(gè)外設(shè)的至少一個(gè)邏輯地址以及用來存儲(chǔ)對(duì)應(yīng)著各個(gè)真實(shí)信道的至少一個(gè)邏輯信道標(biāo)識(shí)符的存儲(chǔ)裝置;用來向作業(yè)提供邏輯地址,用于指導(dǎo)設(shè)備驅(qū)動(dòng)器與作業(yè)之間的通信的裝置;信道分配裝置,用來接收作業(yè)的請(qǐng)求,分配一個(gè)通信信道,如果一個(gè)適當(dāng)通信信道是有效的,就分配這一有效的適當(dāng)通信信道,并且向作業(yè)提供一個(gè)邏輯信道標(biāo)識(shí)符,從而指導(dǎo)設(shè)備驅(qū)動(dòng)器與作業(yè)之間的通信;連接分配裝置,用來接收來自作業(yè)的請(qǐng)求,利用由上述邏輯標(biāo)識(shí)符識(shí)別到的信道在連接到接口上的外設(shè)之間分配一種連接,并在可能的情況下分配一種連接,如果在外設(shè)之間需要有一種點(diǎn)對(duì)點(diǎn)的連接,就采用上述邏輯地址來識(shí)別外設(shè);外設(shè)識(shí)別裝置,用來接收來自作業(yè)的一個(gè)請(qǐng)求,識(shí)別出對(duì)應(yīng)著給定邏輯地址的外設(shè),并且響應(yīng)這種邏輯地址而連通相應(yīng)外設(shè)的物理地址,并且連通一個(gè)包含了用來識(shí)別外設(shè)的進(jìn)一步信息的唯一的節(jié)點(diǎn)標(biāo)識(shí)符;發(fā)出事件信號(hào)的裝置,用來向作業(yè)發(fā)出包括接口總線復(fù)位在內(nèi)的多種事件之一的信號(hào);以及信道識(shí)別裝置,用來接收來自作業(yè)的一個(gè)請(qǐng)求,識(shí)別出對(duì)應(yīng)著給定的邏輯信道標(biāo)識(shí)符的一個(gè)信道,并且相應(yīng)地連通對(duì)應(yīng)信道的接口信道標(biāo)識(shí)符,以及連通至少另一個(gè)信道參數(shù),該參數(shù)用來指示指示一個(gè)最大分配信道帶寬和當(dāng)前有效的信道帶寬;用信道分配裝置接收一個(gè)優(yōu)選的真實(shí)信道的標(biāo)識(shí)符,如果優(yōu)選的真實(shí)信道優(yōu)選,就分配這一信道,如果優(yōu)選的真實(shí)信道無效或者是在優(yōu)選的真實(shí)信道標(biāo)識(shí)符中有一個(gè)預(yù)定的密鑰代替了有效的整數(shù)信道標(biāo)識(shí)符,就分配一個(gè)空隙信道,并且在優(yōu)選的信道標(biāo)識(shí)符對(duì)應(yīng)著一個(gè)無效的真實(shí)信道標(biāo)識(shí)符而不是預(yù)定的密鑰時(shí)向作業(yè)報(bào)告一個(gè)差錯(cuò)。
42.一種接收/譯碼器包括用來接收廣播數(shù)據(jù)的裝置;用來運(yùn)行至少一個(gè)作業(yè)的運(yùn)行時(shí)間工具;用來連接至少一個(gè)外部設(shè)備的IEEE 1394接口裝置;以及按照權(quán)利要求41的設(shè)備驅(qū)動(dòng)器,用來將每一個(gè)作業(yè)連接到IEEE 1394接口裝置,以及用來將接收的數(shù)據(jù)傳送給IEEE 1394接口的裝置。
43.基本上如參照附圖所述的一種數(shù)據(jù)通信方法。
44.基本上如參照附圖所述的一種設(shè)備驅(qū)動(dòng)器。
45.基本上如參照附圖所述的一種數(shù)據(jù)處理系統(tǒng)。
46.基本上如參照附圖所述的一種接收/譯碼器。
全文摘要
在廣播數(shù)字電視系統(tǒng)的接收/譯碼器(2020)中使用的一種設(shè)備接口,其中的接收信號(hào)通過一個(gè)接收機(jī)傳到接收/譯碼器再傳到電視機(jī)(2022)。接收/譯碼器對(duì)壓縮的MPEG信號(hào)譯碼,并且通過接收/譯碼器中的一個(gè)接口受遙控器手機(jī)(2026)的控制。接收/譯碼器的操作是由一個(gè)模擬機(jī)器(VM)來控制的,它包括一個(gè)運(yùn)行時(shí)間工具(4008)。接收/譯碼器包括多個(gè)外部裝置的接口。這種設(shè)備接口可以將RTE上運(yùn)行的作業(yè)接入一個(gè)IEEE1394接口。
文檔編號(hào)H04L12/64GK1265206SQ98807560
公開日2000年8月30日 申請(qǐng)日期1998年7月23日 優(yōu)先權(quán)日1997年7月24日
發(fā)明者J·梅里克, C·德克勒克 申請(qǐng)人:卡納爾股份有限公司