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