CZ20001198A3 - Modem control - Google Patents
Modem control Download PDFInfo
- Publication number
- CZ20001198A3 CZ20001198A3 CZ20001198A CZ20001198A CZ20001198A3 CZ 20001198 A3 CZ20001198 A3 CZ 20001198A3 CZ 20001198 A CZ20001198 A CZ 20001198A CZ 20001198 A CZ20001198 A CZ 20001198A CZ 20001198 A3 CZ20001198 A3 CZ 20001198A3
- Authority
- CZ
- Czechia
- Prior art keywords
- control program
- patterns
- device control
- pattern
- memory
- Prior art date
Links
Landscapes
- Communication Control (AREA)
Abstract
Řídící program zařízení, zejména pro použití v přijímači/dekodéru (2020) pro digitální vysílací systím, ve kterém jsou přijímané signály předávány přes přijímač do přijímače/dekodéru (2020) a tudíž do televizního zařízení. Přijímač/dekodér (2020) je řízen virtuálním počítačem (4007), který obsahuje prováděcí prostředek (4008). Přijímač/dekodér (2020) obsahuje množství rozhraní s vnějšími jednotkami a logické řídící programy zařízení pro tato rozhraní. Řídící program (500) zařízení pro řízení demového rozhraní (550) zahrnuje vyrovnávací paměť (503) pro přijímání zpráv, řídící paměť (502) pro ukládání řídících parametrů, a logickou jednotku (501) pro řízení řídícího programu zařízení a toku zpráv. Logickájednotka (501) zahrnuje komparátor (511) pro kontrolu vzorů Event, ACK a NACK, uložených v řídící paměti (502), na shodu s koncem zpráv uložených ve vyrovnávací paměti (503)Device control program, in particular for use in a receiver/decoder (2020) for a digital broadcasting system, in which received signals are transmitted via the receiver to the receiver/decoder (2020) and thus to a television device. The receiver/decoder (2020) is controlled by a virtual computer (4007) which includes an execution means (4008). The receiver/decoder (2020) includes a plurality of interfaces with external units and device control logic programs for these interfaces. The device control program (500) for controlling the demo interface (550) includes a buffer memory (503) for receiving messages, a control memory (502) for storing control parameters, and a logic unit (501) for controlling the device control program and the message flow. The logic unit (501) includes a comparator (511) for checking the Event, ACK and NACK patterns stored in the control memory (502) for consistency with the end of messages stored in the buffer memory (503)
Description
Oblast technikyTechnical area
Předkládaný vynález se týká modemů a přesněji se týká dálkového řízení modemů. Vynález nalézá obzvláštní využití při propojování aplikačních programů s fyzickými zařízeními, zejména, ale ne výhradně, ve spojení s přijímači/dekodéry pro digitální vysílací systémy.The present invention relates to modems and more particularly to remote control of modems. The invention finds particular use in interfacing application programs with physical devices, particularly, but not exclusively, in connection with receivers/decoders for digital broadcasting systems.
Dosavadní stav technikyState of the art
Termín přijímač/dekodér používaný v tomto popisu může zahrnovat přijímač pro přijímání buď kódovaných nebo nekódovaných signálů, například televizních a/nebo rádiových signálů, které mohou být přenášeny nebo vysílány nějakým dalším prostředkem. Tento termín může rovněž zahrnovat 15 dekodér pro dekódování přijímaných signálů. Provedení takovýchto přijímačů/dekodérů mohou zahrnovat dekodér integrální s přijímačem pro dekódování přijímaných signálů, například, v nastavovací řídící skříni (STB), nebo takový dekodér, který funguje v kombinaci s fyzicky samostatným přijímačem, nebo takový dekodér, který zahrnuje přídavné funkce, jako je webový prohlížeč, videorekordér nebo televize.The term receiver/decoder as used in this specification may include a receiver for receiving either encoded or unencoded signals, such as television and/or radio signals, which may be transmitted or broadcast by some other means. The term may also include a decoder for decoding the received signals. Embodiments of such receiver/decoder may include a decoder integral with the receiver for decoding the received signals, for example, in a set-top box (STB), or such a decoder which operates in combination with a physically separate receiver, or such a decoder which includes additional functions such as a web browser, a video recorder or a television.
Nástup digitálních vysílacích systémů, určených 25 primárně pro vysílání televizních signálů, zejména, ale ne výhradně, satelitních televizních systémů, otevřel možnost využiti těchto systémů pro další účely. Jedním z těchto dalších účelů nebo možností je zajištění interaktivity s koncovým uživatelem.The advent of digital broadcasting systems, intended primarily for broadcasting television signals, particularly, but not exclusively, satellite television systems, has opened up the possibility of using these systems for other purposes. One of these other purposes or possibilities is to provide interactivity with the end user.
Zde použitý termín digitální vysílací systém má zahrnovat jakýkoliv vysílací systém pro vysílání nebo přenos, například, primárně audiovizuálních nebo multimediálních dat. Ačkoliv je předkládaný vynález zejména využitelný pro přenosový (vzduchem) digitální televizní systém, může být tento vynález rovněž použitelný pro pevnou telekomunikační síť pro multimediální internetovské aplikace, pro uzavřený televizní okruh a podobně. Zde použitý termín digitální televizní systém zahrnuje, například, jakékoliv satelitní, pozemní, kabelové a další systémy.As used herein, the term digital broadcasting system is intended to include any broadcasting system for broadcasting or transmitting, for example, primarily audiovisual or multimedia data. Although the present invention is particularly applicable to a broadcast (over-the-air) digital television system, the present invention may also be applicable to a fixed telecommunications network for multimedia Internet applications, for closed circuit television, and the like. As used herein, the term digital television system includes, for example, any satellite, terrestrial, cable, and other systems.
Předkládaný vynález nalézá specifické uplatnění v přenosovém digitálním televizním systému, ve kterém jsou přijímané signály předávány přes přijímač do přijímače/dekodéru a tudíž do televizního zařízení.The present invention finds specific application in a broadcast digital television system in which received signals are passed through a receiver to a receiver/decoder and hence to a television set.
55
Přijímač/dekodér (rovněž známý jako nastavovací řídícx skrin nebo STB) dekóduje komprimovaný MPEG signál na televizní signál pro televizní zařízení. Je řízen ručním dálkovým ovládáním přes rozhraní v přijímači dekodéru.The receiver/decoder (also known as a set-top box or STB) decodes the compressed MPEG signal into a television signal for the television set. It is controlled by a handheld remote control via an interface in the decoder receiver.
Jedním způsobem pro zajištění interaktivity, jak bylo popisováno výše, je spustit aplikaci na přijímači/dekodéru, kterým je přijímán televizní signál. Je žádoucí umožnit rozmanitým aplikacím, aby komunikovaly s rozmanitými fyzickými zařízeními zcela transparentním způsobem. Souběžné patentové přihlášky PCT/EP97/02115 a PCT/EP97/02116 stejného přihlašovatele popisují systémy, ve kterých jedna nebo více aplikací může být staženo nastavovací řídící skříní (STB, při j ímačem/dekodérem) a může komunikovat s fyzickými zařízeními v STB, jako jsou paralelní a sériová rozhraní a zařízení pro čtení inteligentních karet, prostřednictvímOne way to provide interactivity, as described above, is to run an application on the receiver/decoder that receives the television signal. It is desirable to allow the various applications to communicate with the various physical devices in a completely transparent manner. Co-pending patent applications PCT/EP97/02115 and PCT/EP97/02116 by the same applicant describe systems in which one or more applications can be downloaded by a set-top box (STB, receiver/decoder) and can communicate with physical devices in the STB, such as parallel and serial interfaces and smart card readers, via
řídícího programu (ovladače) zařízení pro každé zařízení a celkového řídícího programu zařízení (správce zařízení).a device control program (driver) for each device and an overall device control program (device manager).
Na základě předkládaného vynálezu bylo navrženo vytvořit funkci pro nastavovací řídící skříň pro propojení množství různých signálových kanálů, jako je modem, sériový kanál, paralelní kanál MPEG (komprimovaný a kódovaný video signálový) kanál, zařízení pro čtení inteligentních karet a podobně. Nastavovací řídící skříň zahrnuje virtuální počítač, který zahrnuje prováděcí prostředek. Virtuální počítač je spojen se správcem zařízení, který je dále spojen s fyzickými rozhraními různých kanálů přes zařízení a řídící programy zařízení.Based on the present invention, it has been proposed to provide a function for a setup control box for connecting a plurality of different signal channels, such as a modem, a serial channel, a parallel channel, an MPEG (compressed and encoded video signal) channel, a smart card reader, and the like. The setup control box includes a virtual computer that includes an execution means. The virtual computer is connected to a device manager, which is further connected to the physical interfaces of the various channels via devices and device control programs.
Termín MPEG označuje standardy datového přenosu, vyvinuté Mezinárodní Standardizační Organizací v pracovní skupině Expertní skupina pro film a zejména, ale ne výhradně, standard MPEG-2 vyvinutý pro digitální televizní aplikace a definovaný v dokumentech ISO 13818-1, ISO 13818-2, ISO 13818-3 a ISO 13818-4. V kontextu s touto přihláškou předkládaného vynálezu tento termín zahrnuje všechny varianty, modifikace nebo rozvinutí MPEG formátů použitelných pro oblast digitálního datového přenosu.The term MPEG refers to the data transmission standards developed by the International Organization for Standardization in the Motion Picture Expert Group working group and in particular, but not exclusively, the MPEG-2 standard developed for digital television applications and defined in documents ISO 13818-1, ISO 13818-2, ISO 13818-3 and ISO 13818-4. In the context of this application of the present invention, this term includes all variants, modifications or developments of the MPEG formats applicable to the field of digital data transmission.
Jak bylo uvedeno výše, je jedním z kanálů výhodně modem. Hlavním cílem předkládaného vynálezu je vytvořit zlepšené řízení takového modemu. Tohoto cíle je dosaženo vytvořením zlepšeného řídícího programu zařízení pro řízení modemu. Pro účely předkládaného vynálezu, přesná povaha jakýchkoliv rozdílů mezi zařízeními a řídícími programy zařízení není podstatná a termín řídící program zařízení, používaný v tomto popisu, by měl zahrnovat jakoukoliv formu ·· ttAs mentioned above, one of the channels is preferably a modem. The main object of the present invention is to provide improved control of such a modem. This object is achieved by providing an improved device control program for controlling a modem. For the purposes of the present invention, the precise nature of any differences between devices and device control programs is not essential and the term device control program, as used in this description, should include any form of ·· tt
rozhraní mezi hardwarem a aplikací, pokud kontext nevyžaduje j inak.interface between hardware and application, unless the context requires otherwise.
Podstata vynálezuThe essence of the invention
Podle předkládaného vynálezu je vytvořen řídící program (ovladač) zařízení pro řízení a komunikaci s modemem, který zahrnuje vyrovnávací paměť pro přijímání a ukládání zpráv z modemu, řídící paměť pro uložení řídících parametrů, a logickou jednotku pro řízení řídícího programu zařízení a toku zpráv, přičemž tato logická jednotka zahrnuje komparátor pro porovnávání vzorů, uložených v řídící paměti, na shodu se zprávami, uloženými ve vyrovnávací paměti, pro vytváření signálu pro vyslání do správce zařízení, spojeného s řídícím programem zařízení.According to the present invention, a device control program (driver) is provided for controlling and communicating with a modem, which includes a buffer for receiving and storing messages from the modem, a control memory for storing control parameters, and a logic unit for controlling the device control program and the message flow, wherein this logic unit includes a comparator for comparing patterns stored in the control memory for correspondence with messages stored in the buffer to generate a signal for transmission to a device manager associated with the device control program.
Správce zařízení bude obvykle uspořádán pro řízení množství řídících programů zařízení a pro předávání zpráv mezí řídícími programy zařízení a jednou nebo více aplikacemi, ale tento termín správce zařízení má zahrnovat jakoukoliv entitu schopnou řízení řídícího programu zařízení;A device manager will typically be arranged to control a plurality of device drivers and to pass messages between the device drivers and one or more applications, but the term device manager is intended to include any entity capable of controlling a device driver;
2θ přičemž může být samotnou řídící aplikací. Další podstatné znaky předkládaného vynálezu budou zřejmé z následujícího detailního popisu a z připojených patentových nároků.2θ which may be the control application itself. Other essential features of the present invention will be apparent from the following detailed description and the appended claims.
Zařízení je nejvýhodněji realizováno jako řídící program zařízení v přijímači/dekodéru, například pro digitální vysílací systémy, jak je popsán v souběžných patentových přihláškách PCT/EP97/02106 - 02117. V takové realizaci může řídící program zařízení pracovat pod řízením aplikace, přes správce zařízení, což zajišťuje výhodné a pružné uspořádání pro řízení řídícího programu zařízení.The device is most preferably implemented as a device driver in a receiver/decoder, for example for digital broadcasting systems, as described in copending patent applications PCT/EP97/02106 - 02117. In such an implementation, the device driver can operate under the control of an application, via a device manager, which provides a convenient and flexible arrangement for controlling the device driver.
• · · · · · · · · • · · · ·· · · · ·· • fe ···· ··· ··· ··· · · ·· fe·• · · · · · · · · • · · · ·· · · · ·· • fe ···· ··· ··· ··· · · ·· fe·
Aplikace je výhodně spouštěna v interpretačním jazyku a řídící program zařízení je výhodně kompilován.The application is preferably run in an interpreted language and the device control program is preferably compiled.
Výhodně komparátor zahrnuje uložené vzory pro předem stanovenou finální délku zprávy.Preferably, the comparator includes stored patterns for a predetermined final message length.
Vzory mohou být představovány množstvím typů a může být využito množství vzorů stejného typu. Takový typ vzoru může zahrnovat události (Event), ACK (pozitivní potvrzení) a NACK (negativní potvrzení), přičemž vytvořený signál indikuje ^0 typ odpovídajícího vzoru.Patterns can be represented by a plurality of types, and a plurality of patterns of the same type can be used. Such a pattern type can include events (Event), ACK (positive acknowledgement), and NACK (negative acknowledgement), with the generated signal indicating the type of the corresponding pattern.
Řídící program zařízení může být uspořádán pro vyslání signálu do správce zařízení prostřednictvím přidání tohoto signálu do zprávy přijaté přes modem. Příkazy mohou být předávány mezi řídícím programem zařízení a správcemThe device driver can be arranged to send a signal to the device manager by adding this signal to a message received via the modem. Commands can be passed between the device driver and the manager.
2.5 zařízení ve formě výzev (Call) , které nastavují parametry v řídícím programu zařízení, 10 zpráv, které vysílají řídící signály a data do řídících programů zařízení, a událostí (Event), které signalizují detekci vzorů nebo přijetí zprávy nebo problémy s vysíláním do správce zařízení. Jedna forma příkazu Call zahrnuje alespoň jeden příkaz nastavující vzor pro definování jednoho nebo více vzorů, které mají být vyhledány komparátorem.2.5 devices in the form of Calls, which set parameters in the device control program, 10 Messages, which send control signals and data to the device control programs, and Events, which signal the detection of patterns or the receipt of a message or transmission problems to the device manager. One form of a Call command includes at least one pattern setting command to define one or more patterns to be searched for by the comparator.
Výhodně existují 3 pod-typy příkazu nastavujícího vzor, který definuje vzory určené k vyhledání, jeden příkaz nastavující vzor pro každý typ vzoru. Tyto nebo alespoň jeden příkaz nastavující vzor může být uspořádán pro definování množství vzorů určených k porovnání na shodu, přičemž každý vzor má přidružený signál Event, který má být generován při detekci odpovídajícího vzoru.Preferably, there are 3 sub-types of pattern setting command that define patterns to be searched for, one pattern setting command for each type of pattern. These or at least one pattern setting command may be arranged to define a plurality of patterns to be compared for a match, each pattern having an associated Event signal to be generated upon detection of a matching pattern.
·· ·· • 9 9 9·· ·· • 9 9 9
9 9 99 9 9
9 9 99 9 9
9 9 · ·99 9 · ·9
• · · · ·· 99• · · · ·· 99
Vzory, určené k vyhledání, mohou být uloženy v příslušných pod-oblastech řídící paměti. Alternativně mohou být vzory, určené k vyhledání, uloženy v jedné kontinuální oblasti řídící paměti.The patterns to be searched may be stored in respective sub-regions of the control memory. Alternatively, the patterns to be searched may be stored in one contiguous region of the control memory.
V jednom provedení při výskytu množství shod je zpracována pouze poslední shoda. Alternativně při výskytu množství shod je typ shody indikován podle předem stanovené prioritní sekvence mezi různými typy shody.In one embodiment, when multiple matches occur, only the last match is processed. Alternatively, when multiple matches occur, the match type is indicated according to a predetermined priority sequence among the different match types.
Funkce řídícího programu zařízení mohou být realizovány v hardwaru, například prostřednictvím jednoúčelového integrovaného obvodu, což může zajistit zvýšenou rychlost činnosti. Výhodně je ale alespoň nějaká část řídícího programu zařízení realizována v softwaru, výhodně spouštěného zpracovatelským prostředkem, který spouští aplikaci, což umožňuje větší pružnost, vyžaduje méně součástek a umožňuje, aby řídící program zařízení byl snáze aktualizován.The functions of the device control program may be implemented in hardware, for example by means of a dedicated integrated circuit, which may provide increased speed of operation. Preferably, however, at least some portion of the device control program is implemented in software, preferably executed by a processing means that runs the application, which allows for greater flexibility, requires fewer components, and allows the device control program to be updated more easily.
Předkládaný vynález se rovněž týká způsobu řízení a komunikace s modemem využívajícím řídící program zařízení, zahrnující vyrovnávací paměť a řídící paměť, přičemž tento způsob zahrnuje následující kroky:The present invention also relates to a method of controlling and communicating with a modem using a device control program, including a buffer memory and a control memory, the method comprising the following steps:
přijetí a uložení zpráv z modemu v uvedené vyrovnávací paměti;receiving and storing messages from the modem in said buffer;
uložení řídících parametrů v uvedené řídící paměti; a porovnání vzorů, uložených v uvedené řídící paměti, na shodu se zprávami, uloženými ve vyrovnávací paměti, pro vytvoření signálu pro vyslání do správce zařízení, spojeného s řídícím programem zařízení.storing control parameters in said control memory; and comparing patterns stored in said control memory to match messages stored in a buffer to generate a signal for transmission to a device manager associated with a device control program.
9 9 99 9 9
9 9 99 9 9
9 9 99 9 9
9 9 99 9 9
9 99 • · · · · · • ····♦· • to 9 9 9 99 99 • · · · · · • ····♦· • it 9 9 9 9
99· 99 9 99 9999· 99 9 99 99
Jakýkoliv ze shora popisovaných znaků může- být kombinován s ostatními v jakékoliv vhodné kombinaci. Znaky zařízení mohou být aplikovány na způsob a obráceně.Any of the above-described features may be combined with the others in any suitable combination. The features of the device may be applied to the method and vice versa.
Výhodné znaky předkládaného vynálezu budou popsány v 5 následujícím popisu čistě prostřednictvím příkladu a ve spojení s odkazy na připojené výkresy.Advantageous features of the present invention will be described in the following description, purely by way of example and in conjunction with reference to the accompanying drawings.
Přehled obrázků na výkresechOverview of images in drawings
Obr.l znázorňuje schematickou ilustraci rozhraní 10 přijímače/dekodéru;Fig. 1 shows a schematic illustration of a receiver/decoder interface 10;
Obr. 2 znázorňuje funkční blokové schéma přij ímače/dekodéru;Fig. 2 shows a functional block diagram of a receiver/decoder;
Obr.3 znázorňuje obecnou logickou organizaci , _ řídícího programu zařízení podle lb předkládaného vynálezu;Fig. 3 shows the general logical organization of the control program of the device according to lb of the present invention;
Obr.4 znázorňuje podrobněji logickou organizaci aspektů řídícího programu zařízení podle předkládaného vynálezu pro zpracování vzorů;Fig. 4 shows in more detail the logical organization of aspects of the control program of the pattern processing device of the present invention;
aand
Obr.5 ilustruje strukturu zpráv a paměti.Fig. 5 illustrates the structure of messages and memory.
Příklady provedení vynálezuExamples of embodiments of the invention
Základní údaje o přijímači/dekodéru 9 A 3 Pro lepší pochopení řídícího programu zařízení podle předkládaného vynálezu bude nejprve stručně popsána výhodná platforma, na které řídící program zařízení pracuje a kterou je digitální satelitní přijímač/dekodér.Basic data about the receiver/decoder 9 A 3 For a better understanding of the control program of the device according to the present invention, the preferred platform on which the control program of the device operates, which is a digital satellite receiver/decoder, will first be briefly described.
Na obr. 1 je schematicky znázorněn přijímač/dekodér 2020 nebo řídící nastavovací skříň (STB) pro použití vFig. 1 schematically shows a receiver/decoder 2020 or set-top box (STB) for use in
0« • 0 0 «0« • 0 0 «
0 0 ·0 0 ·
0 0 00 0 0
0 0 0 ·0 digitálním interaktivním televizním systému, ve kterém má být nainstalován řídící program zařízení v provedení podle předkládaného vynálezu. Detaily o vhodném digitálním interaktivním televizním systému mohou být nalezeny v souběžných patentových přihláškách PCT/EP97/02106 až 02117 stejného přihlašovatele, na které je zde takto uveden odkaz a jejichž obsahy jsou tímto odkazem začleněny do tohoto popisu. Pro snadnou orientaci jsou podrobněji popisované části ve shora uvedených patentových přihláškách obecně označeny stejnými vztahovými značkami, jako jsou použité značky v tomto popisu.0 0 0 ·0 digital interactive television system in which the control program of the device according to the present invention is to be installed. Details of a suitable digital interactive television system can be found in the co-pending patent applications PCT/EP97/02106 to 02117 of the same applicant, which are hereby incorporated by reference and the contents of which are hereby incorporated by reference into this specification. For ease of reference, parts described in more detail in the above-mentioned patent applications are generally designated by the same reference numerals as those used in this specification.
Jak je podrobněji popsáno ve shora zmiňovaných přihláškách vynálezů a jak je patrné na obr. 1, přijímač/dekodér 2020 obsahuje několik rozhraní, napříkladAs described in more detail in the above-mentioned invention applications and as seen in Fig. 1, the receiver/decoder 2020 includes several interfaces, for example
5 jmenovitě ladič 4028 MPEG signálového toku, sériové rozhraní 4030, paralelní rozhraní 4032, a dvě zařízení 4036 pro čtení inteligentních karet, jedno pro inteligentní kartu tvořící část systému a jedno pro bankovní katy nebo jiné inteligentní karty (použité pro provádění plateb, domácího bankovnictví a5 namely an MPEG signal stream tuner 4028, a serial interface 4030, a parallel interface 4032, and two smart card readers 4036, one for the smart card forming part of the system and one for bank cards or other smart cards (used for making payments, home banking and
Ω podobné). Přijímač/dekodér 2020 rovněž zahrnuje rozhraní 4034 pro modemový zpětný kanál 4002 k výrobci televizního signálu, takže uživatel může indikovat preference a podobně zpět pro výrobce televizního signálu (programu). Přijímač rovněž zahrnuje prováděcí prostředek 4008, správce 4068 zařízení a 2 5 množství zařízení 4062 a řídících programu 4060 zařízeni pro spuštění jedné nebo více aplikací 4056.Ω similar). The receiver/decoder 2020 also includes an interface 4034 for a modem return channel 4002 to the television signal producer so that the user can indicate preferences and the like back to the television signal (program) producer. The receiver also includes an execution means 4008, a device manager 4068, and 2 5 a plurality of devices 4062 and program controllers 4060 for running one or more applications 4056.
Pro účely tohoto popisu je aplikace úsek strojového kódu pro řízení vysokoúrovňových funkcí výhodně přijímače/dekodéru 2020. Například, když koncový uživatel namíří ohnisko dálkového ovladače na tlačítkový objekt viděnýFor the purposes of this description, an application is a section of machine code for controlling high-level functions of a receiver/decoder 2020. For example, when an end user points the focus of a remote control at a button object seen
na obrazovce televizního zařízení 2022 a stlačí potvrzovací klávesu, spustí se sekvence instrukcí, sdružená s tímto tlačítkem.on the screen of the television device 2022 and presses the confirmation key, the sequence of instructions associated with that button is started.
Interaktivní aplikace nabízí menu a vykonává příkazy na žádost koncového uživatele a poskytuje data týkající se účelu této aplikace. Aplikace mohou být buď rezidentními aplikacemi, to znamená, že jsou uloženy v ROM (nebo FLASH nebo jiné energeticky nezávislé paměti) přijímače/dekodéru 2020, nebo mohou být vysílány a stahovány do RAM nebo FLASH paměti tohoto přijímače/dekodéru 2020.The interactive application offers menus and executes commands at the request of the end user and provides data related to the purpose of the application. The applications may be either resident applications, that is, they are stored in the ROM (or FLASH or other non-volatile memory) of the receiver/decoder 2020, or they may be broadcast and downloaded to the RAM or FLASH memory of the receiver/decoder 2020.
Některé příklady aplikací, popsaných podrobněji ve shora zmiňovaných patentových přihláškách jsou:• Inicializační aplikace, která je adaptabilním souhrnem modulů, umožňujícím přijímači/ dekodéru 2020 okamžitě pracovat v prostředí MPEG-2.Some examples of applications described in more detail in the above-mentioned patent applications are: • An initialization application, which is an adaptable collection of modules, enabling the receiver/decoder 2020 to immediately operate in an MPEG-2 environment.
• Spouštěcí aplikace, která umožňuje jakékoliv aplikaci, ať již stahované nebo rezidentní, pracovat v přijímači/dekodéru 2020 .• A launcher application that allows any application, whether downloaded or resident, to run in the 2020 receiver/decoder.
• Programový průvodce, který je interaktivní aplikací, která poskytuje ucelenou informaci o programech.• Program Guide, which is an interactive application that provides comprehensive information about programs.
• Aplikace plateb za zhlédnutí, která je interaktivní službou dostupnou na každém PPV kanálu souboru digitální televize pro umožnění koncovému uživateli koupit právě probíhající událost.• Pay-per-view application, which is an interactive service available on each PPV channel of a digital television set to allow the end user to purchase an event that is currently being broadcast.
• Aplikace PC stahování, která umožňuje koncovému uživateli stahovat počítačový software s použitím této aplikace PC stahování.• PC Download Application, which allows the end user to download computer software using this PC Download Application.
• Aplikace časopisový vyhledávač, která zahrnuje cyklické video vysílání obrazů s navigací koncového uživatele prostřednictvím tlačítek znázorněných na obrazovce.• A magazine search engine application that includes a cyclic video broadcast of images with end-user navigation via buttons displayed on the screen.
• * ·· *· ·· ·· ·♦ 99 9 9 9 9 9 9 9 9• * ·· *· ·· ·· ·♦ 99 9 9 9 9 9 9 9 9 9
9 9 9 99 9 9 9 99 9 9 99 9 9 9 9
9 9 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9
999999 99 99 99 99 • Aplikace teleshopping, která umožňuje vysílání nabídek zboží na prodej do přijímače/dekodéru 2020 a jejich zobrazování na televizním zařízení 2022 a která umožňuje uživateli zvolit určitou položku, kterou chce koupit.999999 99 99 99 99 • A teleshopping application that allows offers of goods for sale to be broadcast to a receiver/decoder 2020 and displayed on a television set 2022 and that allows the user to select a specific item to purchase.
Aplikace jsou uloženy v paměťových místech přijímače/dekodéru 2020 a jsou reprezentovány jako zdrojové soubory. Zdrojové soubory zahrnují soubory jednotky popisu grafických objektů, soubory jednotky proměnných bloků, soubory instrukčních sekvencí, aplikační soubory a datové soubory, jak je podrobněji popsáno ve shora zmiňovaných patentových přihláškách.Applications are stored in memory locations of the receiver/decoder 2020 and are represented as source files. Source files include graphic object description unit files, variable block unit files, instruction sequence files, application files, and data files, as described in more detail in the aforementioned patent applications.
V MPEG datovém toku každý modul zahrnuje skupinu MPEG tabulek. Každá MPEG tabulka může být formátována jako určité množství úseků. V MPEG datovém toku má každý úsek velikost až 4 kbyty. Pro datový přenos přes sériový a paralelní port, například, jsou moduly podobně rozděleny do tabulek a úseků, přičemž velikost úseku se mění s přenosovým médiem.In an MPEG data stream, each module includes a set of MPEG tables. Each MPEG table can be formatted as a number of slices. In an MPEG data stream, each slice is up to 4 kbytes in size. For data transmission over serial and parallel ports, for example, modules are similarly divided into tables and slices, with the slice size varying with the transmission medium.
Moduly jsou transportovány v MPEG datovém toku ve formě datových paketů o velikosti obvykle 188 bytů uvnitř odpovídajících typů datových toků, například video datových toků, audio datových toků a telezextových datových toků.The modules are transported in the MPEG data stream in the form of data packets of typically 188 bytes in size within the corresponding data stream types, for example video data streams, audio data streams and teletext data streams.
Každému paketu předchází identifikátor paketu (PID) o velikosti 13 bitů, jeden PID pro každý paket transportovaný v MPEG datovém toku. Tabulka mapování programů (PMT tabulka) obsahuje seznam různých datových toků a definuje obsahy každého datového toku podle odpovídajícího PID. Kromě k programům mohou být určité PID přiděleny k aplikacím nebo ·· 0* *0 • · · · · * · 0 • 0 · · 0 00 0 • 00 0*0 00 * • 0* 0 0 00 0Each packet is preceded by a 13-bit packet identifier (PID), one PID for each packet transported in the MPEG data stream. The Program Mapping Table (PMT) contains a list of the different data streams and defines the contents of each data stream according to the corresponding PID. In addition to programs, certain PIDs may be assigned to applications or ·· 0* *0 • · · · · * · 0 • 0 · · 0 00 0 • 00 0*0 00 * • 0* 0 0 00 0
00 00 0« jiným datům, obsaženým v datovém toku, přičemž PID je identifikován s použitím PMT tabulky.00 00 0« to other data contained in the data stream, the PID being identified using the PMT table.
Dekodér obsahuje paměť rozdělenou na RAM médium,The decoder contains memory divided into RAM media,
FLASH médium a ROM médium, ale tato fyzická organizace je odlišná od logické organizace. Paměť může být dále rozdělena na paměťová média nebo objemy sdružené s různými rozhraními.FLASH media and ROM media, but this physical organization is different from the logical organization. Memory can be further divided into storage media or volumes associated with different interfaces.
Z jednoho úhlu pohledu může být paměť považována za součást hardwaru; z jiného úhlu pohledu lze paměť považovat za podporující nebo obsahující celý znázorněný systém, až na hardware.From one perspective, memory can be considered a part of the hardware; from another perspective, memory can be considered to support or contain the entire system depicted, except for the hardware.
Systém lze považovat za soustředěný na prováděcím prostředku 4008 tvořícím část virtuálního počítače 4007. Ten je spojen s aplikacemi na jedné straně (vysokoúrovňová strana) a na druhé straně (nízkoúrovňová strana) přes různé mezilehlé logické jednotky, diskutované níže, s hardwarem 4061 přijímače/dekodéru. Hardware 4061 přijímače/dekodéru lze považovat za prostředky zahrnující různé porty nebo rozhraní, jak bylo diskutováno výše (rozhraní 2030 pro dálkový ovladač (mikrotelefon) 2026, rozhraní ladiče 4028 MPEG toku, sériové rozhraní 4030, paralelní rozhraní 4032, rozhraní čtecích zařízení 4036 pro čtení inteligentních karet, a rozhraní 4034 pro modemový zpětný kanál 4002).The system can be considered as centered on an execution means 4008 forming part of a virtual computer 4007. This is connected to the applications on one side (high-level side) and on the other side (low-level side) via various intermediate logical units, discussed below, to the receiver/decoder hardware 4061. The receiver/decoder hardware 4061 can be considered as means including various ports or interfaces, as discussed above (interface 2030 for remote control (handset) 2026, interface 4028 MPEG stream tuner, serial interface 4030, parallel interface 4032, interface 4036 for smart card readers, and interface 4034 for modem back channel 4002).
Jak je patrné zejména z obr. 2, jsou s virtuálním počítačem 4007 spojené různé aplikace 4056, přičemž některé z běžněji používaných aplikací mohou být více či méně trvale rezidentní v systému, jak je naznačeno prostřednictvím aplikace 4057, zatímco jiné budou stahovány do systému, například z MPEG datového toku nebo z jiných portů podle požadavků.As can be seen particularly in FIG. 2 , various applications 4056 are associated with the virtual machine 4007, some of the more commonly used applications may be more or less permanently resident in the system, as indicated by the application 4057, while others will be downloaded to the system, for example from an MPEG data stream or from other ports as required.
• fe fefe fe fefe · • fefe · • » · * ·» • « ·» · fefe fe fe fefe·· fe fefefefe·· fe fe fefefefe fefefe fefefe fefe fefe • fefe fe • fe ··• fe fefe fe fefe · • fefe · • » · * ·» • « ·» · fefe fe fe fefe·· fe fefefefe·· fe fe fefefefe fefefe fefe fefe fefe • fefe fe • fe ··
Virtuální počítač 4007 zahrnuje, kromě prováděcího prostředku 4008, určitou funkci rezidentní knihovny 4006, která obsahuje blok 4058 nástrojů. Knihovna 4006 obsahuje nejrůznější funkce v jazyku C, používané prováděcím prostředkem 4008. Tyto funkce zahrnují manipulaci s daty, jako je komprimování, dekomprimování nebo porovnávání datových struktur, kreslení čar a podobně. Knihovna 4006 rovněž zahrnuje informaci o mikroprogramovém vybavení 4061 v přijímači/dekodéru 2020, jako jsou čísla verzí hardwaru a softwaru a dostupný prostor RAM, a funkce použité při stahování nového (logického) zařízení 4062. Funkce mohou být stahovány do knihovny, která je uložena ve FLASH nebo RAM paměti.The virtual machine 4007 includes, in addition to the execution means 4008, a certain function of the resident library 4006, which includes a block of tools 4058. The library 4006 includes various functions in the C language used by the execution means 4008. These functions include data manipulation, such as compressing, decompressing or comparing data structures, drawing lines, and the like. The library 4006 also includes information about the firmware 4061 in the receiver/decoder 2020, such as hardware and software version numbers and available RAM space, and functions used when downloading a new (logical) device 4062. The functions can be downloaded to the library, which is stored in FLASH or RAM memory.
Prováděcí prostředek 4008 je spojen se správcem 4068The execution means 4008 is connected to the administrator 4068
Ί 5 (logických) zařízení, který je spojen se sadou (logických) zařízení 4064, která jsou spojena s řídícími programy (ovladači) 4060 (logických) zařízení, které jsou dále spojeny s porty nebo rozhraními. V širším smyslu může být ovladač (řídící program) zařízení považován za prostředek, který o 0 definuje logické rozhraní, takže dva různé řídící programy zařízení mohou být spojeny se společným fyzickým portem. Zařízení bude obvykle spojen s více než jen jedním řídícím programem zařízení; pokud je zařízení spojeno s jedním řídícím programem (ovladačem) zařízení, bude toto zařízení obvykle konstruováno k tomu, aby bylo plně funkční pro komunikaci, takže potřeba samostatného řídícího programu zařízení je odstraněna. Určitá zařízení mohou komunikovat sama vzájemně mezi sebou.Ί 5 (logical) devices, which are associated with a set of (logical) devices 4064, which are associated with (logical) device drivers 4060, which are further associated with ports or interfaces. In a broader sense, a device driver can be considered as a means of defining a logical interface so that two different device drivers can be associated with a common physical port. A device will typically be associated with more than one device driver; if a device is associated with a single device driver, that device will typically be designed to be fully functional for communication, so that the need for a separate device driver is eliminated. Certain devices may communicate with each other.
Jak bude popsáno níže, existují 3 formy komunikace ze zařízení 4062 až k prováděcímu prostředku 4008:As will be described below, there are 3 forms of communication from device 4062 to execution means 4008:
prostřednictvím proměnných, vyrovnávacích paměťových stupňů a událostí, které jsou předávány do sad front událostí.through variables, buffer stages, and events that are passed to event queue sets.
Každá funkce přijímače/dekodéru 2020 je reprezentována jako (logické) zařízení 4062. Zařízení mohou být buď lokální nebo vzdálená. Lokální zařízení 4064 zahrnují inteligentní karty, propojovací signály SCART, modemy, sériová a paralelní rozhraní, přehrávač MPEG video a audio signálů, MPEG úsek a prostředek pro vyjímání (MPEG) tabulek. Vzdálená zařízení 4066, vykonávaná na vzdáleném místě, seEach function of the receiver/decoder 2020 is represented as a (logical) device 4062. The devices can be either local or remote. Local devices 4064 include smart cards, SCART interconnects, modems, serial and parallel interfaces, MPEG video and audio player, MPEG slice, and MPEG table extraction facility. Remote devices 4066, implemented at a remote location,
0 liší od lokálních zařízení tím, že port a procedura musí být definovány správcem nebo konstruktérem systému, spíše než aby byly definovány zařízením a řídícím programem zařízení a zkonstruovány výrobcem přijímače/dekodéru.0 differs from local devices in that the port and procedure must be defined by the system administrator or designer, rather than being defined by the device and device driver and designed by the receiver/decoder manufacturer.
Když je vytvořeno nové zařízení 4062, může být 15 instalováno do existujících přijímačů/dekodérů 2020 prostřednictvím stahování relevantní aplikace 4056 z vysílacího centra. Toto stahování je prováděno přijímačem/dekodérem 2020 prostřednictvím aplikace 4056, která ověřuje hardwarové a softwarové verze a, pokud je vše v pořádku, stahuje softwarový modul reprezentující nové zařízení 4062 a volá proceduru z knihovny 4006 pro nainstalování nového strojového kódu uvnitř mikroprogramového vybavení (ve FLASH paměti). To může zajistit pružnou a bezpečnou instalaci nových funkcí do přijímače/dekodéru 2020 25 bez nepříznivého ovlivnění zbývajícího softwaru.When a new device 4062 is created, it can be installed into existing receivers/decoders 2020 by downloading the relevant application 4056 from the broadcast center. This download is performed by the receiver/decoder 2020 through the application 4056, which verifies the hardware and software versions and, if all is well, downloads the software module representing the new device 4062 and calls a procedure from the library 4006 to install the new machine code within the firmware (in FLASH memory). This can ensure flexible and safe installation of new features into the receiver/decoder 2020 25 without adversely affecting the remaining software.
Správce 4068 zařízení je společné rozhraní mezi aplikací 4056 a specifickými funkcemi přijímače/dekodéru 2020. Správce 4068 řídí přístup k zařízením 4062, deklarujeThe device manager 4068 is a common interface between the application 4056 and the specific functions of the receiver/decoder 2020. The manager 4068 controls access to the devices 4062, declares
3q přijetí neočekávané události a spravuje sdílenou paměť.3q receiving unexpected events and managing shared memory.
Prováděcí prostředek 4008 pracuje pod řízením mikroprocesorem a společným aplikačním programovacím rozhraním. Tyto prvky jsou nainstalovány v každém přijímači/dekodéru 2020, takže z pohledu aplikací jsou všechny přijímače/dekodéry 2020 naprosto stejné.The execution means 4008 operates under the control of a microprocessor and a common application programming interface. These elements are installed in each receiver/decoder 2020, so that from an application perspective, all receiver/decoder 2020 are exactly the same.
Prováděcí prostředek 4008 spouští aplikace 4056 na přijímači/dekodéru 2020. Prováděcí prostředek 4008 rovněž vykonává interaktivní aplikace 4056 a přijímá události z vnějšku přijímače/dekodéru 2020, zobrazuje grafiku a texty,The execution means 4008 runs applications 4056 on the receiver/decoder 2020. The execution means 4008 also executes interactive applications 4056 and receives events from outside the receiver/decoder 2020, displays graphics and texts,
0 volá zařízení pro poskytováni služeb a pro specifické výpočty využívá funkce knihovny 4006, která je s prováděcím prostředkem 4008 spojena.0 calls the service provisioning device and uses library functions 4006, which are associated with the execution means 4008, for specific calculations.
Prováděcí prostředek 4008 je proveditelný kód instalovaný v každém přijímači/dekodéru 2020 a zahrnuje interpreter pro interpretaci a spouštění aplikací. Prováděcí prostředek 4008 je adaptabilní pro jakýkoliv operační systém, včetně operačního systému pracujícího vždy s jednou úlohou (jako je MS-DOS). Prováděcí prostředek 4008 pracuje na bázi jednotek řadiče zpracování (které přebírají různé události, jako je stlačení klávesy, pro provedení různých akcí) a obsahuje svůj vlastní rozvrhující program pro řízení front událostí z různých hardwarových rozhraní. Prováděcí prostředek 4008 rovněž zpracovává zobrazování grafiky a textu. Jednotka řadiče zpracování zahrnuje sadu akcí-skupin. 25The execution means 4008 is executable code installed in each receiver/decoder 2020 and includes an interpreter for interpreting and running applications. The execution means 4008 is adaptable to any operating system, including a single-tasking operating system (such as MS-DOS). The execution means 4008 operates on the basis of processing controller units (which receive various events, such as key presses, to perform various actions) and includes its own scheduler for managing event queues from various hardware interfaces. The execution means 4008 also handles the display of graphics and text. The processing controller unit includes a set of action groups. 25
Každá událost způsobuje, že se jednotka řadiče zpracování přesune z její současné akce-skupiny do jiné akce-skupiny v závislosti na charakteru události a vykoná akce této nové akce-skupiny.Each event causes the processing controller unit to move from its current action-group to another action-group depending on the nature of the event and execute the actions of this new action-group.
Prováděcí prostředek 4008 zahrnuje zaváděcí program kódu pro zavádění a stahování aplikací 4056 do paměti 2028.The execution means 4008 includes a code loader for loading and downloading applications 4056 into the memory 2028.
·· ·* • · ·· přijímače/dekodéru. Pouze potřebný úsek kódu je stahován do RAM média nebo FLASH média, aby se zajistilo optimální využití. Stažená data jsou ověřena prostřednictvím ověřovacího mechanismu pro zabránění jakékoliv modifikace aplikace 4056 nebo vykonání jakékoliv neznámé či neautorizované aplikace. Prováděcí prostředek 4008 dále zahrnuje dekomprímátor. Protože aplikační kód (určitá forma přechodného kódu) je komprimován z důvodů úspor prostoru a kvůli rychlejšímu stahování z MPEG-2 přenosového toku nebo přes vestavěný režim přijímače/dekodéru, musí být kód dekomprimován před zavedením do RAM. Prováděcí prostředek 4008 rovněž zahrnuje interpreter pro interpretaci aplikačního kódu pro aktualizaci různých proměnných hodnot a určování změn stavů, a prostředek pro ověřování chyb.·· ·* • · ·· receiver/decoder. Only the necessary section of code is downloaded to RAM media or FLASH media to ensure optimal utilization. The downloaded data is verified by a verification mechanism to prevent any modification of the application 4056 or execution of any unknown or unauthorized application. The execution means 4008 further includes a decompressor. Since the application code (a form of intermediate code) is compressed for space saving reasons and for faster download from the MPEG-2 transport stream or via the built-in mode of the receiver/decoder, the code must be decompressed before loading into RAM. The execution means 4008 also includes an interpreter for interpreting the application code to update various variable values and determine state changes, and means for error checking.
Před využitím služeb jakéhokoliv zařízení 4062 musí být program (jako je instrukční sekvence pro aplikaci) deklarován jako klient, to jest logická přístupová cesta k zařízení 4066 nebo správci 4068 zařízení. Řídící program poskytuje klientovi klientské číslo, které je uváděno při ? Π všech přístupech k zařízení. Zařízení 4062 může mít několik klientů, přičemž počet klientů pro každé zařízení 4062 je specifikován v závislosti na typu zařízení 4062. Klient je zaveden do zařízení 4062 prostřednictvím procedury Device: Open Channel. Tato procedura přiděluje klientovi klientské n c číslo. Klient může být vyjmut ze seznamu klientů správce 4068 zařízení prostřednictvím procedury Device: Close Channel.Before using the services of any 4062 device, a program (such as an instruction sequence for an application) must be declared as a client, that is, a logical access path to the 4066 device or the 4068 device manager. The control program provides the client with a client number, which is reported on all accesses to the device. A 4062 device can have multiple clients, with the number of clients for each 4062 device being specified depending on the type of 4062 device. A client is introduced into the 4062 device by the Device: Open Channel procedure. This procedure assigns the client a client number. The client can be removed from the 4068 device manager's client list by the Device: Close Channel procedure.
Přístup k zařízením 4062, zajištěný prostřednictvím správce 4 0 68 zařízení, může být buď synchronní nebo asynchronní. Pro synchronní přístup je použita procedura Device: Call. To je prostředek pro přístup k datům, kterýAccess to devices 4062, provided through the device manager 4 0 68, can be either synchronous or asynchronous. For synchronous access, the procedure Device: Call is used. This is a means of accessing data that
........................
je bezprostředně dostupný, nebo funkce, která s sebou nenese čekání na požadovanou odezvu. Pro asynchronní přístup je použita procedura Device: 1/0. To je prostředek přístupu k datům, který zahrnuje čekání na odezvu, například sledování frekvencí tuneru pro nalezení multiplexu nebo získání zpět tabulky z MPEG toku. Když je požadovaný výsledek dosažen, je událost vložena do fronty prováděcího prostředku pro signalizování jejího příchodu. Další procedura Device:is immediately available, or a function that does not involve waiting for the desired response. For asynchronous access, the procedure Device: 1/0 is used. This is a means of accessing data that involves waiting for a response, such as monitoring tuner frequencies to find a multiplex or retrieving a table from an MPEG stream. When the desired result is achieved, an event is placed in the execution resource queue to signal its arrival. Another procedure Device:
Event zajišťuje prostředek pro správu neočekávaných událostí.Event provides a means for managing unexpected events.
Jak bylo uvedeno výše, hlavní smyčka prováděcího prostředku je spojena s množstvím jednotek řadiče zpracování, a když tato hlavní smyčka zaznamená vhodnou událost, je řízení dočasně převedeno do jedné z těchto jednotek řadiče zpracování.As mentioned above, the main loop of the execution means is connected to a plurality of processing controller units, and when this main loop senses an appropriate event, control is temporarily transferred to one of these processing controller units.
Může být tudíž patrné, že tento základní systém poskytuje platformu mající značnou pružnost v umožňování aplikacím, aby byly předávány s množstvím zařízení.It can therefore be seen that this basic system provides a platform having considerable flexibility in allowing applications to be delivered to a variety of devices.
Řídící program (ovladač) zařízeníDevice control program (driver)
Přesné detaily realizace různých funkcí a rozložení mezi hardwarem a softwarem jsou věcí volby realizátora a nebudou v tomto popisu podrobněji popisovány. Je ale třeba uvést, že jednoúčelové integrované obvody, schopné provádět operace požadované v řídícím programu zařízení podle předkládaného vynálezu, jsou komerčně dostupné nebo mohou být snadno zkonstruovány, přičemž tyto jednoúčelové integrované obvody mohou být použity jako základ pro hardwarový akcelerátor, pro realizaci různých požadovaných operací, čímž • · se zmenšuje zpracovatelský výkon požadovaný pro spuštění softwaru. Požadované operace ale mohou být realizovány v softwaru, pokud je dostupný dostatečný zpracovatelský výkon. Řídící program zařízení lze považovat za zahrnující sady jednotlivě přístupných funkčních jednotek, z nichž každá bude níže označována jako příkaz.The precise details of the implementation of the various functions and the distribution between hardware and software are a matter of choice for the implementer and will not be described in further detail in this description. However, it should be noted that dedicated integrated circuits capable of performing the operations required in the device control program of the present invention are commercially available or can be easily constructed, and these dedicated integrated circuits can be used as the basis for a hardware accelerator to perform the various required operations, thereby reducing the processing power required to run the software. However, the required operations can be performed in software if sufficient processing power is available. The device control program can be considered to include sets of individually accessible functional units, each of which will be referred to below as an instruction.
Každý příkaz komunikuje s aplikací za řízení správcemEach command communicates with the application under the control of the administrator
4068 zařízení prostřednictvím jedné ze tří standardních procedur zmiňovaných výše, které jsou společné i pro ostatní o4068 devices through one of the three standard procedures mentioned above, which are also common to the others o
zařízení. Informace může být předávána mezi aplikací a zařízením prostřednictvím tabulek parametrů. Pro jednoduchost výkladu jsou tři základní procedury stručně popsány níže:1) Device: Call. Tento příkaz může být použit aplikací pro provádění synchronních příkazů nebo datového přenosu. Provádění aplikace je zablokováno, dokud není vrácen řídící příkaz, když byla operace řídícího programu zařízení dokončena. To umožňuje operace, které musí být prováděny ve striktní sekvenci, aby byly řízeny spolehlivě.device. Information can be passed between the application and the device via parameter tables. For ease of explanation, the three basic procedures are briefly described below:1) Device: Call. This command can be used by the application to execute synchronous commands or data transfers. Application execution is blocked until the control command is returned when the device control program operation has completed. This allows operations that must be performed in a strict sequence to be controlled reliably.
2Q 2) Device: I/O. Tento příkaz umožňuje asynchronní činnost. To znamená, že aplikace může vyslat žádost o datový přenos nebo o provedení určité funkce řídícím programem zařízení a provádění aplikace může pokračovat, zatímco je tento datový přenos nebo funkce vykonávána řídícím programem zařízení.2Q 2) Device: I/O. This command allows asynchronous operation. This means that an application can send a request for data transfer or for a certain function to be performed by the device driver, and application execution can continue while the data transfer or function is being performed by the device driver.
3) Device: Event. Přerušovací funkce událostí umožňuje událostem, aby byly signalizovány zařízením do aplikace, přičemž pro určitou akci, která má být provedena aplikací v odezvě na událost nezávisle na prováděném kódu aplikace v okamžiku signalizace události, je aplikace účinně • · · · « · « · přerušena. Události mohou být řazeny podle priorit. Události mohou být použity pro signalizování událostí probíhájicích na rozhraní, jako je reset sběrnice, nebo pro zajištění monitorování asynchronních příkazů, například prostřednictvím signalizace dokončení požadovaného datového přenosu.3) Device: Event. The event interrupt function allows events to be signaled by a device to an application, whereby for some action to be taken by the application in response to the event, independent of the application code being executed at the time the event is signaled, the application is effectively interrupted. Events can be prioritized. Events can be used to signal events occurring on an interface, such as a bus reset, or to provide monitoring of asynchronous commands, for example by signaling the completion of a requested data transfer.
Řídící program zařízení je znázorněn jako blok 500 (viz obr. 3) zahrnující logickou jednotku 501, řídící paměť 502 a vyrovnávací paměť 503. Tyto dvě paměti jsou logicky rozdílné, ale obě tvoří součást stejné fyzické paměti (přesněji vyrovnávací paměť bude tvořit součást paměti RAM, a řídící paměť může tvořit součást paměti RAM nebo FLASH). Řídící program zařízení je spojen se správcem 4068 zařízení a modemovým rozhraním 550, jak je znázorněno na obrázku. Každý příkaz bude tvořit součást logické jednotky 501 a může pracovat na částech řídící a/nebo vyrovnávací paměti.The device control program is shown as block 500 (see FIG. 3) comprising a logical unit 501, a control memory 502 and a buffer memory 503. These two memories are logically distinct, but both form part of the same physical memory (more precisely, the buffer memory will form part of RAM, and the control memory may form part of RAM or FLASH). The device control program is coupled to the device manager 4068 and the modem interface 550, as shown in the figure. Each instruction will form part of the logical unit 501 and may operate on portions of the control and/or buffer memory.
Obecněji jsou modemové funkce v užším smyslu modulace a demodulace signálů vykonávány modemovou jednotkou, která může být začleněna v rozhraní 550, nebo může být k němu připojena. Řízení a správa informačních toků skrz rozhraní, vyjma těchto zúžených modemových funkcí, je prováděna řídícím programem zařízení 500.More generally, modem functions in the narrow sense of signal modulation and demodulation are performed by a modem unit that may be incorporated into or connected to interface 550. Control and management of information flows through the interface, except for these narrow modem functions, is performed by the device control program 500.
Jak je popisováno výše, je komunikace mezi zářízeními/řídícími programy zařízení a správcem 4068 zařízení prováděna prostřednictvím 3 typů procedur. Call, IO a Event. Pro procedury použité řídícím programem 500 zařízení platí, že Call jsou používány pro vysílání různých parametrů z· aplikace přes správce zařízení do řídícího programu zařízení, IO jsou používány pro vysílání příkazů z aplikace přes správce zařízení do řídícího programu zařízení, a Event • · · · · «·· · · · ·· «· jsou používány pro vysílání zpráv z řídícího programu zařízení přes správce zařízení do aplikace.As described above, communication between devices/device drivers and the device manager 4068 is accomplished through 3 types of procedures. Call, IO, and Event. For the procedures used by the device manager 500, Call is used to send various parameters from the application via the device manager to the device driver, IO is used to send commands from the application via the device manager to the device driver, and Event is used to send messages from the device driver via the device manager to the application.
Nyní budou popsány příkazy zajišťované v řídícím programu zařízení v provedení podle předkládaného vynálezu.The commands provided in the control program of the device in the embodiment of the present invention will now be described.
Ke každému příkazu může aplikace přistoupit prostřednictvím předání identifikátoru příkazu jako parametru přes jednu ze shora zmiňovaných tří standardních procedur. Ne všechny z příkazů popisovaných níže musí být zajištěny a funkce příkazů mohou být měněny. Ačkoliv příkazy mohou být nezávisle zajišťovány nebo měněny, jak bude zřejmé, vyplývají z kombinovaných funkcí poskytovaných popisovanými příkazy určité vzájemně související výhody.Each command can be accessed by an application by passing the command identifier as a parameter through one of the three standard procedures mentioned above. Not all of the commands described below need to be provided, and the functions of the commands may vary. Although the commands may be provided or varied independently, as will be apparent, certain interrelated advantages result from the combined functions provided by the commands described.
Příkazy budou popsány ve spojení se znaky a funkcemi poskytovanými každým příkazem, společně s volitelnými a výhodnými znaky. S poskytnutými informacemi a s danými specifikacemi by vlastní realizace těchto znaků měla být zcela zřejmá pro osoby v oboru znalé, přičemž přesné detaily jsou ponechány na realizátorovi. Například každý příkaz by mohl být realizován v softwaru, výhodně napsaný v programovacím jazyku C a výhodně přeložený pro spuštění na procesoru použitém pro spuštění aplikace; řídící program zařízení ale může být spuštěn na samostatném procesoru a některé nebo všechny příkazy mohou být realizovány prostřednictvím jednoúčelového hardwaru. S použitím příkazů Call a 1/0 příkazy mohou signalizovat informace nebo předávat parametry zpět do aplikace nastavením hodnot v tabulce parametrů, uložené v paměti, jejíž adresy jsou předány do zařízení.The commands will be described in conjunction with the features and functions provided by each command, along with optional and preferred features. With the information provided and the specifications given, the actual implementation of these features should be readily apparent to those skilled in the art, with the precise details being left to the implementer. For example, each command could be implemented in software, preferably written in the C programming language and preferably compiled for execution on the processor used to run the application; however, the device control program may be executed on a separate processor and some or all of the commands may be implemented by dedicated hardware. Using the Call and 1/0 commands, commands can signal information or pass parameters back to the application by setting values in a parameter table stored in memory, the addresses of which are passed to the device.
Použité procedury a příkazy jsou přesněji následuj ící:The procedures and commands used are more precisely as follows:
♦ 0 0 0 • ♦ 0 ·♦ 0 0 0 • ♦ 0 ·
0 0 0 • 0 0 00 0 0 • 0 0 0
0 0 00 0 0
Device: CallDevice: Call
Set: nastaví velikosti vyrovnávací paměti, časová zpoždění.Set: sets buffer sizes, time delays.
Comm set: nastaví velikost dat (5 až 8 bitů), paritu, přenosovou rychlost.Comm set: sets data size (5 to 8 bits), parity, baud rate.
Char set: nastaví znak dočasného zastavení a zpoždění.Char set: sets the temporary stop and delay character.
Control set: povolí/zablokuje signál vysílaný do vzdáleného vybavení.Control set: enables/disables the signal sent to remote equipment.
Pattern set: nastaví vzory, které mají být vyhledány.Pattern set: sets the patterns to be searched.
Device: 10Devices: 10
Command: vysílá příkaz do řídícího programu zařízení bez interpretace.Command: sends a command to the device control program without interpretation.
Send: vysílá data do řídícího programu zařízení.Send: sends data to the device control program.
Action: vysílá příkaz do řídícího programu zařízení s interpretací.Action: sends a command to the device control program with interpretation.
Disconnect: odpojuje řídící program zařízení.Disconnect: disconnects the device control program.
Device: EventDevice: Event
Receive: signalizuje přijetí zprávy.Receive: indicates receipt of a message.
Off: signalizuje problém při vysílání.Off: indicates a problem with transmission.
Procedura rovněž obsahuje chybový kód pro signalizaci zpět a (až na proceduru Event: Off) protokol volání pro signalizaci zpět z řídícího programu zařízení ke správci zařízení. Procedura Call nebo 10 rovněž obsahuje paměťovou « · · · · · • · fe · · · • · · fe fe · • · fefefe fefefe fefefe fefe fefe • fe fefe fe fefe fe • fefe · • fefe fe • fefe · • · fefe adresu, kde je možné nalézt vysílanou informaci (parametry a podobně).The procedure also contains an error code for signaling back and (except for the Event: Off procedure) a call protocol for signaling back from the device control program to the device manager. The Call procedure or 10 also contains a memory address where the transmitted information (parameters and the like) can be found.
Funkce většiny z těchto příkazů jsou do značné míry zcela běžné. Předkládaný systém ale obsahuje speciální příkaz: Příkaz Call: Pattern set. Tento příkaz definuje jeden nebo více vzorů, které mají být vyhledány, prostřednictvím logické jednotky 501. Tento příkaz obsahuje paměťovou adresu, a paměť počínajíc od této adresy obsahuje sady vzorů. (Přesněji první místo v paměti obsahuje počet vzorů, načež následují jednotlivé vzory a každý jednotlivý vzor v paměti obsahuje záhlaví uvádějící délku tohoto vzoru.)The functions of most of these commands are quite common. However, the present system includes a special command: Call: Pattern set command. This command defines one or more patterns to be searched for via logical unit 501. This command contains a memory address, and the memory starting from this address contains sets of patterns. (More precisely, the first location in memory contains the number of patterns, followed by the individual patterns, and each individual pattern in memory contains a header indicating the length of that pattern.)
Obecně mohou být nastaveny 3 různé typy vzorů, pro generování Event, ACK (pozitivní potvrzení) a NACK (negativní potvrzení). Mělo by být samozřejmě možné začlenit všechny 15 tyto 3 typ vzoru do stejného příkazu, přičemž záhlaví každého vzoru identifikuje typ tohoto vzoru. Je ale výhodné použít 3 pod-typy příkazu pro 3 typy vzoru. Vzory ACK a NACK, které mohou být požadovány pro detekci spolehlivého příjmu příkazu modemem, jsou tedy výhodně nastavovány s použitím jednoúčelových příkazů, a všechny další vzory jsou používány pro spuštění události, přičemž každému vzoru je přiděleno číslo pro umožnění vzorům, aby byly rozlišeny. Tyto příkazy nastavují paměťovou zónu 510 (viz obr. 4) v řídící pamětiIn general, 3 different types of patterns can be set, for generating Event, ACK (positive acknowledgement) and NACK (negative acknowledgement). It should of course be possible to incorporate all 15 of these 3 types of patterns into the same command, with the header of each pattern identifying the type of that pattern. However, it is advantageous to use 3 sub-command types for the 3 types of patterns. The ACK and NACK patterns, which may be required to detect reliable reception of the command by the modem, are thus advantageously set using dedicated commands, and all other patterns are used to trigger the event, with each pattern being assigned a number to enable the patterns to be distinguished. These commands set up a memory zone 510 (see Fig. 4) in the control memory
502; přičemž tato paměťová zóna 510 má tři segmenty, obsahující vzory Event, ACK respektive NACK. Logická jednotka 501 obsahuje jednotku 511 komparátoru, která je spojen s touto paměťovou zónou 510.502; wherein this memory zone 510 has three segments containing the Event, ACK and NACK patterns respectively. The logic unit 501 includes a comparator unit 511 which is connected to this memory zone 510.
Paměťová zóna 510 může sestávat z paměťových oblastí specifikovaných prostřednictvím 3 příkazů Pattern set. V tomto případě 3 segmenty paměťové zóny mohou být fyzicky v • ·Memory zone 510 may consist of memory areas specified by 3 Pattern set commands. In this case, 3 segments of the memory zone may be physically in • ·
Ml ·· různých oblastech paměti. Jednotka 511 komparátoru bude muset ukládat počáteční adresy 3 segmentů a pro získání přístupům k různým vzorům používat počet vzorů (jak je uložen na začátku každého segmentu) a délku jednotlivých vzorů pro určení přesných míst vzorů a pro získání přístupu ke každému z nich v odezvě na žádost. Alternativně jednotka 511 komparátoru může inicializovat paměť prostřednictvím nastavení paměťové zóny 510 jako tabulky vzorů v předem stanoveném místě.Ml ·· different memory areas. Comparator unit 511 will need to store the starting addresses of the 3 segments and to access the different patterns use the number of patterns (as stored at the beginning of each segment) and the length of each pattern to determine the exact locations of the patterns and to access each of them in response to a request. Alternatively, comparator unit 511 may initialize the memory by setting memory zone 510 as a pattern table at a predetermined location.
Když je přijata zpráva, je předána do vyrovnávacího θ stupně ve vyrovnávací paměti 503. Tato paměť je rozdělena do množství vyrovnávacích stupňů 512 tak, že zpráva může obsadit více než jen jeden vyrovnávací stupeň, ale prostor zprávy je logicky kontinuální pro jakoukoliv individuální zprávu. Pokud je provedeno porovnání vzoru na shodu, komparátor 511 c vyhledává posledních 32 znaku zprávy na shodu s jakýmkoliv ze vzorů uložených v paměťové zóně 510.When a message is received, it is passed to a buffer θ stage in buffer memory 503. This memory is divided into a plurality of buffer stages 512 so that a message may occupy more than one buffer stage, but the message space is logically contiguous for any individual message. If a pattern match is performed, comparator 511c searches the last 32 characters of the message for a match with any of the patterns stored in memory zone 510.
Pokud je shoda nalezena, pak je typ této shody (Event, ACK nebo NACK) zapsán do záhlaví zprávy, jak je uloženo ve vyrovnávacím stupni, a/nebo je řídícím programem zařízení provedena nějaká vhodná akce.If a match is found, then the type of this match (Event, ACK or NACK) is written to the message header as stored in the buffer, and/or some appropriate action is taken by the device driver.
Je třeba uvést, že detekce vzoru ACK a NACK může být využita pro detekci očekávaných odezev z modemu, například když příkazy jsou vysílány, zatímco modem je v režimu off-line. Další signály z.modemu jsou porovnávány na shodu se samostatným seznamem vzorů a použity pro spouštění událostí, přičemž z tohoto důvodu je nastavení vzorů ACK a NACK výhodně prováděno nezávisle na nastavení seznamu vzorů, odpovídajících neočekávaným událostem nebo jiným zprávám z n modemu.It should be noted that ACK and NACK pattern detection can be used to detect expected responses from the modem, for example when commands are sent while the modem is in off-line mode. Other signals from the modem are compared to match a separate list of patterns and used to trigger events, and for this reason, the setting of the ACK and NACK patterns is preferably done independently of the setting of the list of patterns corresponding to unexpected events or other messages from the modem.
• · • · • fe fefe• · • · • fe fefe
Tímto způsobem je možné, aby aplikace komunikovala s jakýmkoliv z množství různých modemů. Například mnoho modemů může odpovídat obecně standardu, jako je standard Hayes, pro instrukční sekvence a odezvy, ale mohou mít přídavné znaky a funkce, pro které je generována vhodné sekvence odezvy. V takovém případě budou vzory ACK a NACK nastaveny podle standardních vzorů, a sekvencím odezev, odpovídajícím přídavným znaků, mohou být přiděleny signály událostí.In this way, it is possible for an application to communicate with any of a number of different modems. For example, many modems may conform to a general standard, such as the Hayes standard, for command sequences and responses, but may have additional characters and features for which an appropriate response sequence is generated. In such a case, the ACK and NACK patterns will be set to the standard patterns, and event signals may be assigned to the response sequences corresponding to the additional characters.
Obr. 5 znázorňuje zprávu 520 rezidentní ve vyrovnávací paměti 503. Tato zpráva 520 sestává ze záhlaví 521 a těla 522. Zpráva je v tomto případě fyzicky rozdělena mezi dva vyrovnávací stupně 512 a 512z. Komparátor 511 provádí kontrolu vzoru na shodu (to jest vyhledávání shody se vzorem uloženým v paměťové zóně 510) přes. oblast 523 posledních 32 znaků těla 522 zprávy. Povaha jakékoliv nalezené shody je vložena do záhlaví 521 zprávy ve vyrovnávací paměti.Fig. 5 shows a message 520 resident in a buffer 503. This message 520 consists of a header 521 and a body 522. The message is in this case physically divided between two buffer stages 512 and 512 z . Comparator 511 performs a pattern match check (i.e., searches for a match with a pattern stored in memory zone 510) over an area 523 of the last 32 characters of the message body 522. The nature of any match found is inserted into the header 521 of the message in the buffer.
Je možné, aby se vyskytla více než jen jedna shoda, a to dvěma způsoby. Za prvé se mohou vyskytnout dva vzory stejného typu (v různých místech v posledních 32 znacích zprávy). Tato dvojitá shoda může být ignorována, to jest je zpracována jako jedna shoda. Za druhé se mohou vyskytnout dvě shody různých typů (opět v různých místech v posledních 32 znacích zprávy). V závislosti na daných okolnostech může být komparátor 511 uspořádán pro indikací shody typu podle buď předem stanovené prioritní sekvence mezi různými typy shody n.ebo toho vzoru, který je blíže ke konci zprávy.It is possible for more than one match to occur in two ways. First, two patterns of the same type may occur (in different places in the last 32 characters of the message). This double match may be ignored, i.e., it is processed as a single match. Second, two matches of different types may occur (again in different places in the last 32 characters of the message). Depending on the circumstances, the comparator 511 may be arranged to indicate a match of type according to either a predetermined priority sequence between the different match types or the pattern that is closer to the end of the message.
V režimu Command, to jest když jsou nastavovány parametry modemu, může být tato technika využita pro vysílání příkazové zprávy do řídícího programu zařízení. Zpráva je ·♦ ·· φφ φφ • * · · φ ·Φ φ • * φ· φφφφ * · ·· φφφ φφ φ • ΦΦΦ φφφφ ♦ φφ ·Φ φφ φφ interpretována prostřednictvím řídícího programu zařízení a není vysílána přes rozhraní do, například, datového obslužného kanálu. Pro každý vyslaný příkaz řídící program zařízení vyhledá vzor ve zpětné zprávě a podle toho odpoví správci zařízení.In Command mode, that is, when modem parameters are being set, this technique can be used to send a command message to the device manager. The message is ·♦ ·· φφ φφ • * · · φ ·Φ φ • * φ· φφφφ * · ·· φφφ φφ φ • ΦΦΦ φφφφ ♦ φφ ·Φ φφ φφ interpreted by the device manager and is not sent over the interface to, for example, the data service channel. For each command sent, the device manager looks for a pattern in the return message and responds to the device manager accordingly.
V tomto režimu je rovněž možné přijímat zprávu přes rozhraní bez vysílání příkazu. To se může stát, když je například detekováno vyzváněcí napětí. Řídící program zařízení by v tomto případě rovněž měl vyhledat vzor v oIn this mode it is also possible to receive a message over the interface without sending a command. This can happen, for example, when a ringing voltage is detected. In this case, the device control program should also look for a pattern in the
seznamu vzoru události.event pattern list.
V režimu on-line je modem spojen s datovým obslužným kanálem a je možné z tohoto obslužného kanálu přijímat zprávy. Řídící program zařízení vyhledává vzor v posledních znacích přijatých z datového obslužného kanálu.In on-line mode, the modem is connected to a data service channel and can receive messages from this service channel. The device driver searches for a pattern in the last characters received from the data service channel.
Shora uvedené příkazy a události jsou pouze ilustrativní a předkládaný vynález může být realizován množstvím způsobů, přičemž zejména některé.příkazy mohou být kombinovány s jinými, které provádějí podobné funkce, neboThe above commands and events are illustrative only and the present invention may be implemented in a number of ways, in particular some commands may be combined with others that perform similar functions, or
2o některé mohu být vypuštěny ve zjednodušených realizacích.2o some may be omitted in simplified implementations.
Hardwarové a softwarové realizace každé z funkcí mohou být volně slučovány, jak mezi příkazy tak i uvnitř jednoho příkazu.Hardware and software implementations of each function can be freely combined, both between commands and within a single command.
Mělo by být zcela zřejmé, že funkce prováděné hardwarem, počítačový software, a podobně, jsou prováděny na nebo s použitím elektrických a podobných signálů. Softwarové realizace mohou být uloženy v paměti ROM nebo FLASH, nebo mohou být propojeny v paměti FLASH.It should be understood that functions performed by hardware, computer software, and the like, are performed on or using electrical and similar signals. Software implementations may be stored in ROM or FLASH memory, or may be linked in FLASH memory.
• · » · «·· ··· ·· ·· ·· ·· * · « · · « «· « · · · « » · » · · · • · · · · · »· ·» ··• · » · «·· ··· ·· ·· ·· ·· * · « · · « «· « · · · « » · » · · · • · · · · · »· ·» ··
Mělo by být zcela zřejmé, že předkládaný vynález byl popsán čistě prostřednictvím příkladu a v rozsahu vynálezu mohou být prováděny modifikace jednotlivých detailů.It should be understood that the present invention has been described purely by way of example and modifications of particular details may be made within the scope of the invention.
Každý znak popsaný v popisu a (kde je to vhodné) nárocích a znázorněný na výkresech může být zajištěn nezávisle nebo v jakékoliv vhodné kombinaci.Each feature described in the description and (where appropriate) the claims and illustrated in the drawings may be provided independently or in any suitable combination.
Claims (29)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CZ20001198A CZ20001198A3 (en) | 1998-10-02 | 1998-10-02 | Modem control |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CZ20001198A CZ20001198A3 (en) | 1998-10-02 | 1998-10-02 | Modem control |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CZ20001198A3 true CZ20001198A3 (en) | 2000-11-15 |
Family
ID=5470173
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CZ20001198A CZ20001198A3 (en) | 1998-10-02 | 1998-10-02 | Modem control |
Country Status (1)
| Country | Link |
|---|---|
| CZ (1) | CZ20001198A3 (en) |
-
1998
- 1998-10-02 CZ CZ20001198A patent/CZ20001198A3/en unknown
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0996894B1 (en) | Ieee1394 set top box device driver | |
| CZ200243A3 (en) | Launching and testing applications | |
| NO322938B1 (en) | Processing of digital transport stream | |
| AU740740B2 (en) | Data processing system | |
| US6804820B1 (en) | Modem control | |
| JP4642230B2 (en) | Receiver / decoder part | |
| CZ20001198A3 (en) | Modem control | |
| HK1030274B (en) | Modem control | |
| CZ2000264A3 (en) | Method and control device for data communication | |
| MXPA00003213A (en) | Modem control | |
| MXPA00000776A (en) | Ieee set top box device driver | |
| KR20000076406A (en) | Data processing system | |
| CZ331799A3 (en) | Access control system | |
| CZ2000266A3 (en) | Processing of digital transmission data flow | |
| CZ331899A3 (en) | Data processing system | |
| MXPA00009426A (en) | Memory management in a receiver/decoder | |
| CZ332099A3 (en) | Organization of computer memory | |
| CZ20003564A3 (en) | Receiver / Decoder and Broadcasting System | |
| CZ20001579A3 (en) | A method of implementing executable applications into a decoder, a decoder, and a memory card |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PD00 | Pending as of 2000-06-30 in czech republic |