專利名稱:調(diào)制解調(diào)器的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及調(diào)制解調(diào)器,更具體地,涉及調(diào)制解調(diào)器的遠(yuǎn)程控制。在數(shù)字傳輸系統(tǒng)的接收機/解調(diào)器的上下文中特別但非限制性地描述了一個在將應(yīng)用程序接入物理設(shè)備中的特殊應(yīng)用。
這里所用的術(shù)語“接收機/解調(diào)器”可指用于接收編碼或為編碼信號,例如,可能是由一些其他裝置廣播或發(fā)射的電視和/或無線電信號,的接收機。術(shù)語還可以指用于將所接收的信號解碼的解碼器。這種接收機/解碼器的實施例可以包括用于將所接收信號解碼的,與接收機集成在,例如“機頂盒”,中的解碼器,諸如與物理分離的接收機相結(jié)合工作的解碼器,或包括附加功能,諸如萬維網(wǎng)瀏覽器(webbrowser),視頻記錄器,或電視的解碼器。
主要是用于廣播電視信號數(shù)字傳輸系統(tǒng),特殊但非限制性的衛(wèi)星電視系統(tǒng)的到來已經(jīng)打開了將這種系統(tǒng)用于其他目的的可能性。其中一個目的是提供與終端用戶的交互。
如這里所用的,術(shù)語“數(shù)字傳輸系統(tǒng)”包括任何用于傳輸或廣播例如主要為音視頻或多媒體數(shù)字信號的任何系統(tǒng)。在本發(fā)明特別對于廣播數(shù)字電視系統(tǒng)可用的同時,本發(fā)明還可用于用于多媒體互聯(lián)網(wǎng)應(yīng)用的固定電信網(wǎng)絡(luò),可用于閉路電路電視,等。術(shù)語“數(shù)字電視系統(tǒng)”包括例如,任何衛(wèi)星,陸上,電纜和其他系統(tǒng)。
本發(fā)明發(fā)現(xiàn)在廣播數(shù)字電視系統(tǒng)中的特定應(yīng)用,其中,所接收的信號通過一個接收機來到接收機/解調(diào)器,然后進入電視機。該接收機/解調(diào)器(還被稱為機頂盒或STB)將一個壓縮的MPEG-類型信號解碼為用于電視機的電視信號。它可以由一個遠(yuǎn)程控制器手機通過一個在接收機/解調(diào)器中的接口來控制。
提供所述交互性的一種方式是運行在電視信號通過它被接收的接收機/解調(diào)器上的一個應(yīng)用程序。我們希望可以使得各種應(yīng)用以一種透明方式與各種物理設(shè)備來連通。本申請的一個共同未決申請PCT/EP97/02115和PCT/EP97/02116描述了其中一個或多個應(yīng)用可以通過機頂盒(STB)下載并與在STB中的諸如串行接口和智能卡閱讀器的物理設(shè)備通過對于每個設(shè)備的設(shè)備驅(qū)動器和一個總的設(shè)備管理器來連通的系統(tǒng)。
根據(jù)本發(fā)明,它已提出為機頂盒提供與諸如調(diào)制解調(diào)器,串行信道,并行信道,一個MPEG(壓縮和編碼的視頻信號)信道,刷卡讀卡器等的不同信號信道相連接的能力。機頂盒包括一個虛擬機,該虛擬機包括一個運行期引擎。虛擬機被連接到設(shè)備管理器,該設(shè)備管理器依次又經(jīng)由設(shè)備和設(shè)備管理器連接到各個信道的物理接口上。
術(shù)語MPEG指由國際標(biāo)準(zhǔn)組織工作組“運動圖像專家組”所開發(fā)的數(shù)據(jù)傳輸標(biāo)準(zhǔn),具體地,而非限制性地,指為數(shù)字電視應(yīng)用所開發(fā)和在ISO 13818-1,ISO 13818-2,ISO 13818-3和ISO 13818-4中所陳述的MPEG-2標(biāo)準(zhǔn)。在本發(fā)明申請的上下文中,該術(shù)語包括可應(yīng)用與數(shù)字?jǐn)?shù)據(jù)傳輸領(lǐng)域的MPEG格式的所有變型,改進或發(fā)展。
如上所述,一個信道優(yōu)選為一個調(diào)制解調(diào)器。本發(fā)明的主要目的是提供對這種調(diào)制解調(diào)器的改進的控制。這可以通過提供一個用于控制該調(diào)制解調(diào)器的改進的設(shè)備驅(qū)動器來實現(xiàn)。為此目的,在設(shè)備與設(shè)備驅(qū)動器之間的任何區(qū)別的精確特性都不重要,而在此使用的術(shù)語“設(shè)備驅(qū)動器”應(yīng)被解釋為包括在硬件和一個應(yīng)用程序之間的任何形式的接口,除非上下文另外要求。
根據(jù)本發(fā)明,這里配置了一個用于控制調(diào)制解調(diào)器和與之連通的設(shè)備驅(qū)動器,包括一個用于接收和保存來自調(diào)制解調(diào)器的消息和緩存,一個用于保存控制參數(shù)的控制存儲器,和一個用于控制設(shè)備驅(qū)動器和消息流的邏輯電路,其中邏輯電路包括一個比較器,用于將保存在控制存儲器中的特征數(shù)據(jù)文件(pattern)與保存在緩存中的消息進行匹配比較以產(chǎn)生一個被發(fā)送到連接于設(shè)備驅(qū)動器的設(shè)備管理器的信號。
設(shè)備管理器通常被配置來控制多個設(shè)備驅(qū)動器,并在設(shè)備驅(qū)動器和一個或多個應(yīng)用程序之間傳送消息,但術(shù)語“設(shè)備管理器”意欲包含控制該設(shè)備驅(qū)動器的任何實體;它可以控制應(yīng)用程序本身。本發(fā)明更明顯的特征將通過隨后的發(fā)明詳述和權(quán)利要求變得更清楚。
該裝置最優(yōu)選地作為在例如對于在我們的共同未決申請PCT/EP97/02106-2117中所述的數(shù)字傳輸系統(tǒng)的接收機/解調(diào)器中的設(shè)備驅(qū)動器來實現(xiàn)。在這種實現(xiàn)方式中,該設(shè)備驅(qū)動器可以在一個經(jīng)由設(shè)備管理器來提供意欲控制設(shè)備驅(qū)動器的方便和靈活的配置的應(yīng)用程序的控制下工作。本申請優(yōu)選地以一個解釋語言來運行而該設(shè)備驅(qū)動器優(yōu)選地是被編譯的。
優(yōu)選地,比較器將所保存的特征數(shù)據(jù)文件與預(yù)定最終長度的消息進行比較。
特征數(shù)據(jù)文件可以是多種類型的,而這可以有多個相同類型的特征數(shù)據(jù)文件。這種特征數(shù)據(jù)文件類型可以包括Event,ACK(肯定的確認(rèn)),NACK(否定的確認(rèn)),所產(chǎn)生的信號指示所匹配的特征數(shù)據(jù)文件類型。
該設(shè)備驅(qū)動器可以被配置來通過將信號加到通過調(diào)制解調(diào)器接收的消息上來發(fā)送信號到設(shè)備管理器。指令可以調(diào)用(Call)的形式在設(shè)備驅(qū)動器和設(shè)備管理器之間傳輸,該調(diào)用可以設(shè)置在設(shè)備驅(qū)動器,發(fā)送信號和數(shù)據(jù)到設(shè)備驅(qū)動器中的IOs以及發(fā)送特征數(shù)據(jù)文件檢測或消息接收或傳輸問題到設(shè)備管理器的Event中的參數(shù)。調(diào)用指令的一個形式包括至少一個用于定義一個或多個將被比較器搜索的特征數(shù)據(jù)文件設(shè)置指令。
這里優(yōu)選地有3個子類型的用于定義將要被搜索的特征數(shù)據(jù)文件的特征數(shù)據(jù)文件設(shè)置指令,一個特征數(shù)據(jù)文件設(shè)置指令對應(yīng)每一個特征數(shù)據(jù)文件類型。這或至少一個特征數(shù)據(jù)文件設(shè)置指令可被配置來定義多個經(jīng)被匹配的特征數(shù)據(jù)文件,每個特征數(shù)據(jù)文件具有一個將基于相應(yīng)特征數(shù)據(jù)文件的檢測而被產(chǎn)生的有關(guān)事件信號。
將被搜索的特征數(shù)據(jù)文件可以保存在控制存儲器的相應(yīng)子區(qū)域??蛇x地,這些將被搜索的特征數(shù)據(jù)文件可以保存在控制存儲器的單個連續(xù)區(qū)域。
在一個實施例中,基于多個匹配的產(chǎn)生,只有最后一個匹配起作用??蛇x地,基于多個匹配的產(chǎn)生,該類型根據(jù)在不同類型的匹配之間的預(yù)定優(yōu)先級序列來指示。
設(shè)備驅(qū)動器的功能可以在硬件中實現(xiàn),例如在一個專用集成電路中實現(xiàn);這可以增加操作速度。優(yōu)選地,然而至少一些設(shè)備驅(qū)動器以軟件實現(xiàn),優(yōu)選地,通過運行應(yīng)用程序的處理裝置來運行;這允許了更大的靈活性,要求較少的組件,并允許設(shè)備驅(qū)動器更容易地更新。
本發(fā)明延伸地涉及一種通過使用包括緩沖存儲器和控制存儲器的設(shè)備驅(qū)動器來控制一個調(diào)制解調(diào)器和與之連通的方法,所述方法包括步驟接收來自調(diào)制解調(diào)器的消息和并將其保存在所述緩存中;將控制參數(shù)保存在所述控制存儲器中,和將保存在控制存儲器中的特征數(shù)據(jù)文件與保存在緩存中的消息相比以產(chǎn)生一個信號,用以發(fā)送給連接到設(shè)備驅(qū)動器的設(shè)備管理器。
任何上述特征可以相互組合為任何合適的組合。裝置特征可以適用于方法方面,反之亦然。
現(xiàn)在將參照附圖,純粹以舉例方式,描述本發(fā)明的優(yōu)選特征。
圖1為該接收機/解碼器的接口的原理示意圖;圖2為接收機/解碼器的功能性框圖;圖3顯示了本設(shè)備驅(qū)動器的一般邏輯組成結(jié)構(gòu);圖4更詳細(xì)地顯示了本設(shè)備驅(qū)動器的特征數(shù)據(jù)文件管理方面的邏輯組成結(jié)構(gòu);圖5顯示了消息結(jié)構(gòu)和存儲器。
接收機/解碼器基礎(chǔ)為有助于理解本設(shè)備驅(qū)動器,其上運行設(shè)備驅(qū)動器的優(yōu)選平臺,將首先簡要描述我們的數(shù)字傳輸接收機/解碼器。
參照圖1,其中顯示了用于其中將要安裝一個本實施例的設(shè)備驅(qū)動器的數(shù)字交互式電視系統(tǒng)中的一個接收機/解碼器2020或機頂盒。合適的數(shù)字交互式電視系統(tǒng)可以在我們的共同未決申請PCT/EP97/02106-02117中發(fā)現(xiàn),該共同未決申請將作為參考在此引用。為易于參考,在前述說明書中詳細(xì)描述的部分將用在那些說明書中使用的參考標(biāo)號來指示。
如在前述說明書中詳細(xì)描述的,參考圖1,接收機/解碼器2020包括幾個接口;具體地,用于MPEG信號流的調(diào)諧器4028,一個串行接口4030,一個并行接口4032,和兩個閱讀器4036,其中一個用于系統(tǒng)的智能卡組成部分,一個用于銀行卡(用于付費和家庭銀行事件)。接收機/解碼器還包括一個通過調(diào)制解調(diào)返回信道4002到電視信號制作者的接口4034,這樣,用戶可以將優(yōu)先級等指示返回電視信號(節(jié)目)制作者。該接收機還包括一個運行期引擎(Run-Time-Engine)4008,一個設(shè)備管理器4068和多個運行一個或多個應(yīng)用程序4056的設(shè)備4062和設(shè)備驅(qū)動器4060(見圖2)。
為了說明的目的,一個應(yīng)用程序是一段用于優(yōu)選地控制接收機/解碼器2020的高級功能的計算機代碼。例如,當(dāng)端用戶將一個遠(yuǎn)端控制器的焦點指定在一個在電視機2022的屏幕上見到的按鈕對象上并按下確認(rèn)鍵,則運行與該按鈕有關(guān)的指令序列。
一個交互式應(yīng)用程序提供菜單并在端用戶的請求下執(zhí)行這里并提供與應(yīng)用程序有關(guān)的數(shù)據(jù)。應(yīng)用程序可以是駐留程序,即,保存在接收機/解碼器2020的ROM(或閃存或其他非易失性存儲器中),或廣播和下載到接收機/解碼器2020的RAM或閃存中。
在前述申請中詳細(xì)描述的應(yīng)用程序的一些例子有一個初始化應(yīng)用程序,是模塊的適用集合,使得接收機/解碼器2020可以立即在MPEG-2環(huán)境中運行。
一個啟動應(yīng)用程序,它運行任何應(yīng)用程序,或是下載的或是駐留的,在接收機/解碼器2020上運行。
一個程序向?qū)?yīng)用程序,它是一個給出關(guān)于程序完整信息的交互式應(yīng)用程序。
一個計次收費應(yīng)用程序,它是一個可在數(shù)字電視的每一PPV信道使用的交互式服務(wù),使得端用戶可以買當(dāng)前事件。
一個PC下載應(yīng)用程序使得終端用戶可以使用PC下載應(yīng)用程序來下載軟件。
一個雜志瀏覽器應(yīng)用程序,包括一個循環(huán)視頻圖象廣播,其中終端用戶通過屏上按鈕來導(dǎo)航。
一個電視購物應(yīng)用程序,使得商品的銷售發(fā)送可以傳輸?shù)浇邮諜C/解碼器2020并顯示在電視機2022上,使得用戶可以選擇特殊的項目進行購買。
應(yīng)用程序保存在接收機/解碼器2020的存儲器位置并表示為源文件。源文件包括圖形對象描述單元文件,可變塊單元文件,指令序列文件,應(yīng)用文件和數(shù)據(jù)文件,如前述說明書中詳細(xì)描述的。
在MPEG數(shù)據(jù)流中,每一模塊包括一組MPEG表。每一MPEG表可以格式化為許多段。在MPEG數(shù)據(jù)流中,每一段具有一個多至4k字節(jié)的“大小”。對于經(jīng)由串行和并行端口的數(shù)據(jù)傳輸,例如,模塊類似地被分為多個表和段,段的大小隨傳輸介質(zhì)而變化。
模塊在MPEG數(shù)據(jù)流中以在各種類型的數(shù)據(jù)流,例如,視頻數(shù)據(jù)流,音頻數(shù)據(jù)流和圖文電視數(shù)據(jù)流中通常為188字節(jié)的數(shù)據(jù)包形式傳輸。每一數(shù)據(jù)包之前有一個13比特的數(shù)據(jù)包標(biāo)識符(PID),每一數(shù)據(jù)包有一PID在MPEG數(shù)據(jù)流中傳輸。一個程序位圖表(PMT表)包括一個不同數(shù)據(jù)流列表并根據(jù)各自的PID定義每一數(shù)據(jù)流的內(nèi)容。除了程序,某個PID可以被分配給應(yīng)用程序或包含于數(shù)據(jù)流中的其他數(shù)據(jù),PID可以使用PMT表來標(biāo)識。
解碼器包含被分為一個RAM容量,一個FLASH(閃存)容量和一個ROM容量的存儲器,但該物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不同。該存儲器可進一步被分為與各種接口有關(guān)的存儲器容量。由此看來,存儲器可以被認(rèn)為是硬件的一部分;由另一點看來,存儲器可以被認(rèn)為是支持或包含除硬件以外的整個系統(tǒng)。
系統(tǒng)被認(rèn)為是集中在形成虛擬機4007的一部分的運行期引擎4008上。它在一端(“高級”端)連接于應(yīng)用程序,并在另一端(“低級端”)經(jīng)各種下述的中間邏輯單元連接到接收機/解碼器硬件4061。該接收機/解碼器硬件以被認(rèn)為是包括上述的各種端口或接口(用于手機2026的接口2030,MPEG流接口4028,串行接口4030,并行接口4032,到讀卡器4036的接口,到調(diào)制解調(diào)后備信道4002的接口4034)。
參照圖2,各種應(yīng)用程序4057被連接到單元4007;一些更常使用的應(yīng)用程序可以更長或更短永久地駐留在系統(tǒng)中,如4057所示,其他的應(yīng)用程序可以由例如,MPEG流或由其他所要求的端口下載到系統(tǒng)中。
除了運行期引擎4008以外,單元4007還包括一些包括工具箱的駐留庫函數(shù)4006。庫包括在C語言中由運行期引擎4008所使用的雜集函數(shù)4006。這些函數(shù)包括數(shù)據(jù)處理,諸如數(shù)據(jù)結(jié)構(gòu)的壓縮,擴展或比較,畫線,等。庫4006還包括關(guān)于在接收機/解碼器2020中固件4061的信息,諸如硬件和軟件版本號和可用RAM空間,和當(dāng)下載一個新設(shè)備4062時所使用的函數(shù)。函數(shù)可以下載到庫中,并被保存在閃存或RAM存儲器中。
運行期引擎4008被連接到一個設(shè)備管理器4068,該設(shè)備管理器被連接到一組設(shè)備4062,它們被連接到依次被連接到端口或接口的設(shè)備驅(qū)動器上。從廣義上說,設(shè)備驅(qū)動器可以認(rèn)為是定義一個邏輯接口,使得兩個不同的設(shè)備驅(qū)動器可以連接到一個公共的物理端口上。一個設(shè)備通常被連接到多于一個的設(shè)備驅(qū)動器上;如果一個設(shè)備被連接到單個設(shè)備驅(qū)動器上,該設(shè)備通常被涉及為包括用于連通的整個功能,使得免除了使用分離的設(shè)備驅(qū)動器的需要。某些設(shè)備可以相互連通。
如下所述,這有三種由設(shè)備4062到運行期引擎的連通形式通過變元,緩存,和通過一組事件隊列的事件。
接收機/解碼器2020的每種功能被表現(xiàn)為一個設(shè)備4062。設(shè)備可以是本地或遠(yuǎn)端的。本地設(shè)備4064包括智能卡,SCART連接器信號,調(diào)制解調(diào)器,串行和并行接口,MPEG視頻和音頻播放器和一個MPEG段和表提取器。遠(yuǎn)端設(shè)備4066,在遠(yuǎn)端位置工作,與本地設(shè)備不同的是,必須由系統(tǒng)管理機構(gòu)或設(shè)計者確定一個端口或過程,而不是由設(shè)備和設(shè)備驅(qū)動器提供和由接收機/解碼器制造商來設(shè)計。
當(dāng)產(chǎn)生一個新設(shè)備4062是,它可以通過由廣播中心下載相關(guān)的應(yīng)用程序來安裝在已有的接收機/解碼器2020處。該下載過程可以在接收機/解碼器2020中由應(yīng)用程序4056來執(zhí)行,該應(yīng)用程序檢查硬件和軟件版本,如果正確,裝載表示新設(shè)備4062的軟件模塊并請求一個庫4006的程序來將新設(shè)備碼安裝在固件(在閃存)中。這樣可以在接收機/解碼器2020中提供新功能的靈活和安全的安裝,而不影響軟件的其他部分。
設(shè)備管理器4068是在應(yīng)用程序4056和接收機/解碼器2020的特殊接口中間的公共軟件接口。該設(shè)備管理器4068控制到設(shè)備4062的訪問,宣布對不期望的事件的接收,并管理分享內(nèi)存。
運行期引擎4008在微處理器和一個公共應(yīng)用編程接口的控制下工作。它們被安裝在每一個接收機/解碼器2020中,使得由應(yīng)用程序觀點看,所有的接收機/解碼器2020都是相同的。
運行期引擎4008在接收機/解碼器2020上運行應(yīng)用程序4056。它運行交互式應(yīng)用程序4056并由接收機/解碼器2020外端接收事件,顯示圖形和文本,調(diào)用設(shè)備用于服務(wù)和使用連接到運行期引擎4006上的庫4006函數(shù)用于特殊運算。
運行期引擎4008是一個安裝在每一接收機/解碼器2020中的可執(zhí)行碼,并包括用于解釋和運行應(yīng)用程序的解釋器。該運行期引擎4008適用于任何操作系統(tǒng),包括單任務(wù)操作系統(tǒng)(諸如MS-DOS)。該運行期引擎4008基于處理序列單元(它可以獲取各種事件,諸如按動按鍵,以實施各種動作),并包括它自身的調(diào)度程序以管理來自不同硬件接口的事件隊列。它還可以管理圖形和文本的顯示。處理序列單元包括一系列動作組。每一事件使得處理序列單元與事件特征無關(guān)地由其當(dāng)前動作組移動到另一動作組,并執(zhí)行新動作組的動作。
運行期引擎4008包括將應(yīng)用程序4056加載和下載到接收機/解碼器存儲器2028中的碼加載器。只有需要的碼才被加載到RAM或閃存中,以確保最優(yōu)的使用。所下載的數(shù)據(jù)由一個鑒別機制來驗證以防止對一個應(yīng)用程序4056的任何改動或?qū)θ魏挝唇?jīng)鑒別的應(yīng)用程序的執(zhí)行。運行期引擎4008還包括一個解壓縮器。當(dāng)一個應(yīng)用程序代碼(以中間碼的形式)被壓縮以節(jié)省空間并加快由MPEG-2傳輸流或經(jīng)由內(nèi)建的接收機/解碼器特征數(shù)據(jù)文件的下載過程,代碼必須在它被加載入RAM之前被解壓縮。運行期引擎4008還包括一個用于解釋應(yīng)用程序代碼以更新各種可變值并確定狀態(tài)變化的解釋器,和一個誤差檢測器。
在使用任何設(shè)備4062的服務(wù)之前,一個程序(諸如一個應(yīng)用程序指令序列)必須宣布為一個“客戶”,也即,一個到設(shè)備4062或設(shè)備管理器4068的邏輯訪問-路徑。管理器給予該客戶一個客戶號碼,該號碼是相對于到設(shè)備的所有訪問的。一個設(shè)備4062可以具有幾個客戶,對于每一設(shè)備4062的客戶數(shù)量是具體依賴于設(shè)備4062的類型的。一個客戶由一個程序“設(shè)備開路信道”(“DeviceOpenChannel”)引入設(shè)備4062的。該程序?qū)⒁粋€客戶號碼分配給客戶。一個客戶可以由一個程序“設(shè)備閉路號碼”(“DeviceCloseChannel”)從設(shè)備管理器4068客戶列表中提取出。
由設(shè)備管理器4068所提供的到設(shè)備4062的訪問可以是同步或異步的。對于同步訪問,使用程序“設(shè)備調(diào)用”。這是一個即時可用的存取數(shù)據(jù)的裝置或不公開等待所希望響應(yīng)的功能性。對于異步訪問,使用一個程序“設(shè)備I/O”。這是包括等待一個響應(yīng),例如,掃描調(diào)諧器頻率以發(fā)現(xiàn)多路復(fù)用或由MPEG流取回一個表的存取數(shù)據(jù)的裝置。當(dāng)所請求的結(jié)果可用時,一個事件放在運行期引擎的隊列中以通知它的到來。進一步的程序“設(shè)備事件”提供了管理不希望事件的裝置。
如上所述,運行期引擎的主環(huán)連接到各種處理序列單元上,并當(dāng)主環(huán)遇到一個適合事件時,控制被暫時傳輸?shù)揭粋€處理序列單元。
從而,可以看到,基礎(chǔ)系統(tǒng)提供一個具有在使得應(yīng)用程序與各種設(shè)備連通的相當(dāng)靈活性的平臺。
調(diào)制解調(diào)器設(shè)備驅(qū)動器各種功能實現(xiàn)的精確細(xì)節(jié),和在硬件和軟件之間的分布是用于實現(xiàn)程序的選擇的問題并將在下面進行詳述。然而,應(yīng)注意到,可以執(zhí)行在現(xiàn)有設(shè)備驅(qū)動器中所要求的操作的專用集成電路是商業(yè)市場上可買到和易于設(shè)計的,這些可以作為硬件加速器的基礎(chǔ)使用,或被優(yōu)化地改進以產(chǎn)生一個專用硬件加速器,以實現(xiàn)各種所要求的操作,從而降低了運行軟件所要求的功耗。然而,如果有充足的處理功率可用,則所要求的操作可以在軟件中實現(xiàn)。該設(shè)備驅(qū)動器可以被考慮包括一系列可單獨訪問的功能單元,每一功能單元在此被稱為“命令”。
每一命令可以在設(shè)備管理器4068的控制之下通過上述三個標(biāo)準(zhǔn)程序中的一個應(yīng)用程序連接,該三個標(biāo)準(zhǔn)程序?qū)τ谄渌O(shè)備也是公用的。信息可以借助參數(shù)表在一個應(yīng)用程序和設(shè)備之間通過。為便于參考,三個基本程序簡述如下1)設(shè)備調(diào)用(DeviceCall),該過程可由一個應(yīng)用程序易于執(zhí)行同步命令或數(shù)據(jù)。應(yīng)用程序的執(zhí)行被暫停直至當(dāng)設(shè)備驅(qū)動器的操作完成時控制返回時;這使得操作必須以嚴(yán)格的序列順序來執(zhí)行以便易于控制。
2)設(shè)備輸入/輸出(DevicI/0),該過程允許異步操作。也即,一個應(yīng)用程序可以發(fā)送一個將由設(shè)備驅(qū)動器執(zhí)行的數(shù)據(jù)傳輸或特殊功能的請求,而應(yīng)用程序的執(zhí)行可以在數(shù)據(jù)傳輸或功能由設(shè)備驅(qū)動器執(zhí)行的同時繼續(xù)。
3)設(shè)備事件(DeviceEvent),事件捕捉功能使得事件可以由設(shè)備通知一個應(yīng)用程序,對于應(yīng)用程序響應(yīng)事件而與代碼無關(guān)地采取的特殊動作,該應(yīng)用程序在事件被通知時執(zhí)行;應(yīng)用程序有效地被中斷。事件可以進行優(yōu)先級劃分。事件可以用于通知在接口上發(fā)生的事件,諸如總線復(fù)位,或提供對異步命令的監(jiān)視,例如通過通知所請求的數(shù)據(jù)傳輸?shù)耐瓿伞?br>
本設(shè)備驅(qū)動器如方框400(圖3)所示,包括一個邏輯單元501,一個控制存儲器502,和一個緩沖存儲器503。這兩個存儲器在邏輯上是分離的,但都形成相同物理存儲器的一部分(更具體地說,緩沖存儲器將形成RAM存儲器部分,而控制存儲器將形成RAM或閃存部分)。設(shè)備驅(qū)動器連接到圖示的設(shè)備管理器4068和調(diào)制解調(diào)器550。每一個命令將形成邏輯單元501的一部分,并可在控制器和/或緩存部分上操作。
廣義上說,狹義上調(diào)制和解調(diào)制信號的調(diào)制解調(diào)功能由可以包含在接口550或連于其上的一個調(diào)制解調(diào)單元來實施。流經(jīng)接口的信息的控制和管理,除了那些狹義的調(diào)制解調(diào)功能以外,由設(shè)備驅(qū)動器500來執(zhí)行。
如上所述,在設(shè)備/設(shè)備驅(qū)動器和設(shè)備管理器4068之間的連通由3類過程來實施Call,IO,和Event。對于由設(shè)備驅(qū)動器500所使用的過程,Call被用于將來自應(yīng)用程序的各種參數(shù)經(jīng)由設(shè)備管理器發(fā)送給設(shè)備驅(qū)動器,IO被用于將來自應(yīng)用程序的命令經(jīng)由設(shè)備管理器發(fā)送給設(shè)備驅(qū)動器,而Event被用于將來自設(shè)備驅(qū)動器的消息經(jīng)設(shè)備管理器發(fā)送給一個應(yīng)用程序。
現(xiàn)在將描述在一個設(shè)備中提供的實現(xiàn)本發(fā)明的命令。每一個命令可以由一個應(yīng)用程序通過將該命令的標(biāo)識符作為一個參數(shù)經(jīng)上述三個標(biāo)準(zhǔn)過程中的一個過程傳遞來訪問。并非下面所述的所有命令都需要被提供,這些命令的功能可以變更。雖然命令可以獨立地提供或變更,如同希望的,某些協(xié)同優(yōu)點可從所述命令提供的組合功能性中自然產(chǎn)生。
下面將以每一命令所提供的特征和功能結(jié)合可選的和優(yōu)選特征的形式來描述命令。通過所提供的信息和說明,這些特征的實際實現(xiàn)是本領(lǐng)域技術(shù)人員可直接導(dǎo)出的,精確的細(xì)節(jié)留給實現(xiàn)者。舉例來說,每一命令可以軟件來實現(xiàn),優(yōu)選地,以C編程語言來編寫,并且優(yōu)選地被編譯來在用于運行應(yīng)用程序的處理器上運行;然而,設(shè)備驅(qū)動器可以在分離的處理器上運行,一些或所有命令可以由專用硬件來實現(xiàn)。Call和IO命令可以通過在保存于存儲器中的參數(shù)表中設(shè)置數(shù)值來將信息通知或?qū)?shù)傳遞回一個應(yīng)用程序,其中參數(shù)表中數(shù)值的地址也傳遞到設(shè)備處。
更具體地,所用過程或命令如下設(shè)備調(diào)用(DeviceCall)設(shè)置設(shè)置緩存大小,定時器延時。
連通設(shè)置設(shè)置數(shù)據(jù)大小(5到8比特),奇偶校驗,傳輸率。
字符設(shè)置設(shè)置暫停字符和延時。
控制設(shè)置使能/禁止信號發(fā)送到遠(yuǎn)距離設(shè)備。
特征數(shù)據(jù)文件設(shè)置設(shè)置要被搜索的特征數(shù)據(jù)文件。
設(shè)備輸入輸出(DevicIO)命令無解釋地發(fā)送一條命令到設(shè)備驅(qū)動器。
發(fā)送發(fā)送數(shù)據(jù)到設(shè)備驅(qū)動器。
動作無解釋地發(fā)送一個命令到設(shè)備驅(qū)動器斷開斷開設(shè)備驅(qū)動器。
設(shè)備事件(DeviceEvent)接收通知對一個消息的接收。
中斷通知一個傳輸問題。
一個過程還包括用于報告返回和(除了對于事件中斷過程)一個調(diào)用報告的錯誤代碼,用于由設(shè)備驅(qū)動器報告返回設(shè)備管理器。而且,一個Call或IO過程包含一個其中正發(fā)送信息將被發(fā)現(xiàn)的存儲器地址。
大多數(shù)命令的功能是廣泛通用的。然而,本系統(tǒng)功耗一個特殊命令,調(diào)用命令特征數(shù)據(jù)文件設(shè)置(Call command Pattern set)。該命令定義了將由邏輯單元501搜索的一個或多個特征數(shù)據(jù)文件。該命令包括一個存儲器地址,而該存儲器包括,在該地址的起始,一系列特征數(shù)據(jù)文件。(更具體地,在該存儲器的第一位置處包括特征數(shù)據(jù)文件數(shù)目,隨后由各個特征數(shù)據(jù)文件,而在存儲器中的每一特征數(shù)據(jù)文件包括一個給出該特征數(shù)據(jù)文件長度的標(biāo)頭)。
一般地,3種不同類型的特征數(shù)據(jù)文件可以被設(shè)置以產(chǎn)生Event,ACK(肯定的確認(rèn)),和NACKs(否定的確認(rèn))。當(dāng)然在相同命令中可能包括所有三類特征數(shù)據(jù)文件,其中每一特征數(shù)據(jù)文件的標(biāo)頭表示該特征數(shù)據(jù)文件的類型。然而,優(yōu)選地是對于三類特征數(shù)據(jù)文件使用3種命令的子形式。從而,可能被要求來檢測調(diào)制解調(diào)器對命令的可靠接收的ACK和NACK特征數(shù)據(jù)文件優(yōu)選地使用專有命令來設(shè)置,而其他所有特征數(shù)據(jù)文件用于觸發(fā)一個事件,每一特征數(shù)據(jù)文件被分配一個號碼使得特征數(shù)據(jù)文件可以被區(qū)另別。這些命令在控制存儲器502中設(shè)置一個存儲區(qū)510(圖4;該存儲區(qū)具有3個區(qū)段,分別包括Event,ACK和NACK特征數(shù)據(jù)文件。邏輯單元501包括一個連接到該存儲區(qū)的比較器單元511。
該存儲區(qū)510可以包括由3個特征數(shù)據(jù)文件設(shè)置命令指定的存儲器區(qū)域。在此,存儲區(qū)的3個區(qū)段可以在物理上處于不同的存儲區(qū)域。比較器單元511必須保存3個區(qū)段的起始地址,并獲得到各個特征數(shù)據(jù)文件的訪問,使用特征數(shù)據(jù)文件號碼(保存在每個區(qū)段的起始處)和各個特征數(shù)據(jù)文件的長度以確定各個特征數(shù)據(jù)文件的精確位置并依次獲得到所要求的每一特征數(shù)據(jù)文件的訪問??蛇x地,比較器單元511可以通過將存儲區(qū)510設(shè)置為在預(yù)定位置的一個特征數(shù)據(jù)文件表來初始化存儲器。
當(dāng)接收到一個消息,它被傳遞到在緩沖存儲器503中的一個緩存中。該存儲器被分為多個緩存512,使得消息可占據(jù)多于一個的緩存;然而,消息空間對于任何單獨的消息是邏輯連續(xù)的。如果正在實施特征數(shù)據(jù)文件匹配,則比較器511搜索消息的最后32個字符以與保存在存儲區(qū)510中的任何特征數(shù)據(jù)文件進行匹配比較。
如果發(fā)現(xiàn)匹配,則匹配的類型(Event,ACK,或NACK)被寫入保存在緩存中的消息的標(biāo)頭中,和/或設(shè)備驅(qū)動器采取一些適合的動作。
應(yīng)注意的是,ACK和NACK特征數(shù)據(jù)文件檢測可被用于檢測來自調(diào)制解調(diào)器的所期望的響應(yīng),例如,當(dāng)命令被發(fā)送時,而調(diào)制解調(diào)器正處于斷線狀態(tài)。其他來自調(diào)制解調(diào)器的信號被與一個單獨的特征數(shù)據(jù)文件列表進行匹配,并被用于觸發(fā)事件;為此,ACK和NACK特征數(shù)據(jù)文件優(yōu)選地獨立于響應(yīng)于不希望事件或其他來自調(diào)制解調(diào)器的消息的特征數(shù)據(jù)文件列表設(shè)置來實施。
以此方式,一個應(yīng)用程序可與任何各種調(diào)制解調(diào)器相連通。例如,許多調(diào)制解調(diào)器通??膳c一個指令序列和響應(yīng)的標(biāo)準(zhǔn)相一致,諸如Hayes標(biāo)準(zhǔn),但可以具有另外的可以產(chǎn)生專有響應(yīng)序列的特征。在這種情形中,ACK和NACK特征數(shù)據(jù)文件將被設(shè)置為一個標(biāo)準(zhǔn)特征數(shù)據(jù)文件,而響應(yīng)于另外特征的響應(yīng)序列可以分配給事件信號。
圖5顯示來了駐留在緩沖存儲器503中的一個消息520。該消息包括一個標(biāo)頭521和一個正文522。本情形中的該消息在物理上被分為兩個緩存512和512’。比較器520實施在消息正文522的最后32字符區(qū)域523上的特征數(shù)據(jù)文件匹配(也即,搜索與保存在存儲區(qū)510中的特征數(shù)據(jù)文件的匹配)。任何發(fā)現(xiàn)的匹配特性被插入在緩沖存儲區(qū)中的消息標(biāo)頭521中。
可能以兩種方式產(chǎn)生多于1個的匹配。第一,可能產(chǎn)生相同類型的兩個特征數(shù)據(jù)文件(在消息的最后32個字符的不同區(qū)域處)。該雙匹配可被忽略,也即,被看為單個匹配。第二,可能產(chǎn)生不同類型的兩個匹配(再次,在消息的最后32個字符的不同區(qū)域處)。根據(jù)環(huán)境情況,比較器511可被配置來根據(jù)一個在不同匹配類型之間的預(yù)定優(yōu)先級序列,或哪一個特征數(shù)據(jù)文件更接近消息的結(jié)尾來指示匹配類型。
在命令模式中,也即,當(dāng)調(diào)制解調(diào)器特征數(shù)據(jù)文件被設(shè)置時,這一技術(shù)可被用于發(fā)送一個命令消息到設(shè)備驅(qū)動器。消息被設(shè)備驅(qū)動器解釋并不通過接口發(fā)送到,例如,數(shù)據(jù)服務(wù)器。對于每一發(fā)送的命令,設(shè)備驅(qū)動器搜索在返回消息中的特征數(shù)據(jù)文件并據(jù)此來響應(yīng)設(shè)備驅(qū)動器。
在此模式中,還可通過接口接收一個消息,而無需發(fā)送一個命令。如果檢測到一個振鈴電壓,則這可能發(fā)生。在那種情形中,設(shè)備驅(qū)動器還應(yīng)搜索在數(shù)據(jù)特征數(shù)據(jù)文件列表中的一個特征數(shù)據(jù)文件。
在線模式中,調(diào)制解調(diào)器連接到一個數(shù)據(jù)服務(wù)器并可能由該服務(wù)器接收消息。設(shè)備驅(qū)動器搜索在由數(shù)據(jù)服務(wù)器接收的最后32個字符中的一個特征數(shù)據(jù)文件。
上述命令和數(shù)據(jù)僅僅是示例性的,而本發(fā)明可以各種方式實現(xiàn),具體地,一些命令可以與其他執(zhí)行相同功能的命令合并,或一些命令在簡化的實現(xiàn)中可以忽略。每一種功能的硬件和軟件實現(xiàn)可以在命令之間以及在單個命令中自由地混合。
應(yīng)容易理解地,由硬件所實施的功能,計算機軟件,和類似的是基于或使用電和類似信號來實施的。軟件實現(xiàn)可以保存在ROM中,或可保存或插入閃存中。
應(yīng)理解的是,本發(fā)明在上面僅僅是以舉例的方式進行描述,對細(xì)節(jié)的改動可以在本發(fā)明的范圍內(nèi)進行。
說明書中公開的每一細(xì)節(jié),和(所期望的)權(quán)利要求和附圖可以獨立地或以任何適合的組合提供。
權(quán)利要求
1.一種用于控制一個調(diào)制解調(diào)器和與之連通的設(shè)備驅(qū)動器,包括用于接收和保存來自調(diào)制解調(diào)器的消息的緩沖存儲器,一個用于保存控制參數(shù)的控制存儲器,和用于控制設(shè)備驅(qū)動器和消息流的邏輯單元,其中邏輯單元包括一個用于將保存在控制存儲器中的特征數(shù)據(jù)文件與保存在緩沖存儲器中的消息相匹配比較以產(chǎn)生一個發(fā)送給連接到設(shè)備驅(qū)動器的設(shè)備管理器的信號。
2.權(quán)利要求1的設(shè)備驅(qū)動器,其中比較器將所保存的特征數(shù)據(jù)文件與預(yù)定的最后長度消息進行比較。
3.權(quán)利要求1或2的設(shè)備驅(qū)動器,其中特征數(shù)據(jù)文件有多種類型并可能有相同類型的多個特征數(shù)據(jù)文件。
4.權(quán)利要求3的設(shè)備驅(qū)動器,其中特征數(shù)據(jù)文件類型包括Event,ACK(肯定的確認(rèn)),和NACK(否定的確認(rèn)),所產(chǎn)生的信號指示所匹配特征數(shù)據(jù)文件的類型。
5.權(quán)利要求4的設(shè)備驅(qū)動器,其中設(shè)備驅(qū)動器通過將信號加到通過調(diào)制解調(diào)器接收的消息中來將信號發(fā)送給設(shè)備管理器。
6.權(quán)利要求4或5的設(shè)備驅(qū)動器,其中命令以Call,IO,Event的形式通過設(shè)備驅(qū)動器和設(shè)備管理器之間,Call命令設(shè)置設(shè)備驅(qū)動器中的參數(shù),IO命令發(fā)送控制信號和數(shù)據(jù)到設(shè)備驅(qū)動器,Event命令將對特征數(shù)據(jù)文件的檢測或消息的接收或傳輸問題通知設(shè)備管理器。
7.權(quán)利要求6的設(shè)備驅(qū)動器,其中,Call命令的一種形式包括至少一個用于定義一個或多個將由比較器搜索的特征數(shù)據(jù)文件的特征數(shù)據(jù)文件設(shè)置命令。
8.權(quán)利要求7的設(shè)備驅(qū)動器,其中,有三種子類特征數(shù)據(jù)文件設(shè)置命令用于定義將被搜索的特征數(shù)據(jù)文件,一種特征數(shù)據(jù)文件設(shè)置命令對應(yīng)于每一特征數(shù)據(jù)文件類型。
9.權(quán)利要求7或8的設(shè)備驅(qū)動器,其中,該種或至少一種特征數(shù)據(jù)文件設(shè)置命令被安排用于定義多個將被匹配比較的特征數(shù)據(jù)文件,每一特征數(shù)據(jù)文件具有一個將根據(jù)相關(guān)特征數(shù)據(jù)文件的檢測而被產(chǎn)生的有關(guān)事件信號。
10.權(quán)利要求4到9中任何一個的設(shè)備驅(qū)動器,其中,將被搜索的特征數(shù)據(jù)文件保存在控制存儲器的各自子區(qū)域中。
11.權(quán)利要求4到9中任何一個的設(shè)備驅(qū)動器,其中,將被搜索的特征數(shù)據(jù)文件保存在控制存儲器的單個連續(xù)區(qū)域中。
12.上述任何權(quán)利要求的設(shè)備驅(qū)動器,其中,關(guān)于多個匹配的產(chǎn)生,只有最后一個起作用。
13.權(quán)利要求1到11中任何一個的設(shè)備驅(qū)動器,其中,關(guān)于多個匹配的產(chǎn)生,根據(jù)在不同匹配類型之間的預(yù)定優(yōu)先級序列來指示該匹配類型。
14.一種包括根據(jù)上述任何權(quán)利要求的設(shè)備驅(qū)動器的接收機/解碼器。
15.一種使用設(shè)備驅(qū)動器來控制一個調(diào)制解調(diào)器并與之連通的方法,該設(shè)備驅(qū)動器包括一個緩沖存儲器和一個控制存儲器,所述方法包括以下步驟接收來自該調(diào)制解調(diào)器的消息并將其保存在所述緩沖存儲器中;將控制參數(shù)保存在所述控制存儲器中,和將保存在控制存儲器中的特征數(shù)據(jù)文件與保存在緩沖存儲器中的消息相匹配比較以產(chǎn)生一個發(fā)送給連接到設(shè)備驅(qū)動器的設(shè)備管理器的信號。
16.權(quán)利要求15的方法,其中所保存的特征數(shù)據(jù)文件與預(yù)定的最后長度消息進行比較。
17.權(quán)利要求15或16的方法,其中特征數(shù)據(jù)文件有多種類型并可能有相同類型的多個特征數(shù)據(jù)文件。
18.權(quán)利要求17的方法,其中特征數(shù)據(jù)文件類型包括Event,ACK(肯定的確認(rèn)),和NACK(否定的確認(rèn)),所產(chǎn)生的信號指示所匹配特征數(shù)據(jù)文件的類型。
19.權(quán)利要求18的方法,其中設(shè)備驅(qū)動器通過將信號加到通過調(diào)制解調(diào)器接收的消息中來將信號發(fā)送給設(shè)備管理器。
20.權(quán)利要求18或19的方法,其中命令以Call,IO,Event的形式通過設(shè)備驅(qū)動器和設(shè)備管理器之間,Call命令設(shè)置設(shè)備驅(qū)動器中的參數(shù),IO命令發(fā)送控制信號和數(shù)據(jù)到設(shè)備驅(qū)動器,Event命令將對特征數(shù)據(jù)文件的檢測或消息的接收或傳輸問題通知設(shè)備管理器。
21.權(quán)利要求20的方法,其中,Call命令的一種形式包括至少一個用于定義一個或多個將在控制存儲器中搜索的特征數(shù)據(jù)文件的特征數(shù)據(jù)文件設(shè)置命令。
22.權(quán)利要求2l的方法,其中,有三種子類特征數(shù)據(jù)文件設(shè)置命令用于定義將被搜索的特征數(shù)據(jù)文件,一種特征數(shù)據(jù)文件設(shè)置命令對應(yīng)于每一特征數(shù)據(jù)文件類型。
23.權(quán)利要求21或22的方法,其中,該種或至少一種特征數(shù)據(jù)文件設(shè)置命令被安排用于定義多個將被匹配比較的特征數(shù)據(jù)文件,每一特征數(shù)據(jù)文件具有一個將根據(jù)相關(guān)特征數(shù)據(jù)文件的檢測而被產(chǎn)生的有關(guān)事件信號。
24.權(quán)利要求21到23中任何一個的方法,其中,將被搜索的特征數(shù)據(jù)文件保存在控制存儲器的各自子區(qū)域中。
25.權(quán)利要求21到23中任何一個的方法,其中,將被搜索的特征數(shù)據(jù)文件保存在控制存儲器的單個連續(xù)區(qū)域中。
26.權(quán)利要求15到25中任何一個的方法,其中,關(guān)于多個匹配的產(chǎn)生,只有最后一個起作用。
27.權(quán)利要求15到25中任何一個的方法,其中,關(guān)于多個匹配的產(chǎn)生,根據(jù)在不同匹配類型之間的預(yù)定優(yōu)先級序列來指示該匹配類型。
28.一種用于基本如上所述地控制一個調(diào)制解調(diào)器并與之連通的設(shè)備驅(qū)動器。
29.一種基本如上所述地,使用一個設(shè)備驅(qū)動器來控制一個調(diào)制解調(diào)器并與之連通的方法。
全文摘要
一種設(shè)備驅(qū)動器用于在數(shù)字廣播系統(tǒng)中的接收機/解碼器。該接收機/解碼器包括多個連到外部單元的接口和用于接入的邏輯驅(qū)動器設(shè)備。一個用于控制調(diào)制解調(diào)器接入的設(shè)備驅(qū)動器包括用于接收消息的緩沖存儲器,用于保存控制參數(shù)的控制存儲器,和用于控制設(shè)備驅(qū)動器和消息流的邏輯單元。該邏輯單元包括一個用于將保存在控制存儲器中的Event,ACK,NACK特征數(shù)據(jù)文件與保存在緩沖存儲器中的消息末尾進行匹配比較的比較器。
文檔編號G06F13/10GK1280685SQ98811826
公開日2001年1月17日 申請日期1998年10月2日 優(yōu)先權(quán)日1997年10月3日
發(fā)明者J·梅里克, J·B·G·M·伯奎 申請人:卡納爾股份有限公司