FR2853173A1 - Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data - Google Patents
Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data Download PDFInfo
- Publication number
- FR2853173A1 FR2853173A1 FR0303664A FR0303664A FR2853173A1 FR 2853173 A1 FR2853173 A1 FR 2853173A1 FR 0303664 A FR0303664 A FR 0303664A FR 0303664 A FR0303664 A FR 0303664A FR 2853173 A1 FR2853173 A1 FR 2853173A1
- Authority
- FR
- France
- Prior art keywords
- clock
- packet
- clock drift
- drift
- bridge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40091—Bus bridging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
- H04J3/0655—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40097—Interconnection with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6489—Buffer Management, Threshold setting, Scheduling, Shaping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
Procédé de maintien d'un débit de lecture constant des données d'un fluxMethod for maintaining a constant reading rate of the data of a stream
de données isochrones traversant un pont, programme d'ordinateur et pont isochronous data crossing a bridge, computer program and bridge
correspondants.correspondents.
Le domaine de l'invention est celui des réseaux de communication de données, 5 du type comprenant chacun une pluralité de sous-réseaux connectés entre eux par des équipements appelés ponts. The field of the invention is that of data communication networks, of the type each comprising a plurality of subnets connected together by equipment called bridges.
Plus précisément, l'invention concerne un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones, par exemple un flux audio/vidéo, traversant un pont interconnectant des premier et second sous-réseaux. More specifically, the invention relates to a method for maintaining a constant reading rate of the data of an isochronous data stream, for example an audio / video stream, crossing a bridge interconnecting first and second subnets.
On suppose que les premier et second sous-réseaux véhiculent le flux de données dans des premiers paquets et appartiennent à des premier et second domaines d'horloge respectivement. It is assumed that the first and second subnetworks convey the data flow in first packets and belong to the first and second clock domains respectively.
On suppose également que les données sont associées à des informations d'horodatage (" time stamp " en anglais) indiquant chacune un instant de lecture de 15 données, comme expliqué en détail dans la suite de la description. Typiquement, les données sont comprises dans des seconds paquets, par exemple de type MPEG2 ou DV, qui sont eux-mêmes véhiculés dans les premiers paquets précités. Chaque second paquet comprend une partie utile (" payload "), dans laquelle sont insérées des données, et un en-tête (" header "), dans lequel est notamment insérée une information d'horodatage 20 (" time stamp ") qui est une information de temps absolu, indiquant quand le paquet doit être consommé (lue) par l'application destinataire. It is also assumed that the data is associated with time stamping information ("time stamp" in English) each indicating an instant of reading of data, as explained in detail in the following description. Typically, the data are included in second packets, for example of the MPEG2 or DV type, which are themselves conveyed in the above-mentioned first packets. Each second packet includes a useful part ("payload"), in which data are inserted, and a header ("header"), in which is inserted in particular timestamp information 20 ("time stamp") which is absolute time information, indicating when the packet should be consumed (read) by the recipient application.
L'invention s'applique notamment, mais non exclusivement, dans le cas particulier d'un réseau de communication dont les sous-réseaux sont des bus numériques, par exemple de type IEEE 1394, sur lesquels peuvent être connectés des 25 terminaux. Dans ce cas, les premiers paquets sont des paquets de type IEEE 1394. The invention applies in particular, but not exclusively, in the particular case of a communication network whose subnets are digital buses, for example of the IEEE 1394 type, to which terminals can be connected. In this case, the first packets are packets of type IEEE 1394.
Un tel réseau de bus numériques permet d'interconnecter des terminaux (aussi appelés dispositifs) audio et/ou vidéo, de type numérique, afin qu'ils échangent des signaux audiovisuels. Les terminaux appartiennent par exemple à la liste d'équipements suivante (qui n'est pas exhaustive): récepteurs de télévision (par satellite, par voie 30 hertzienne, par câble, xDSL, ... ), téléviseurs, magnétoscopes, scanners, caméras numériques, appareils photo numériques, lecteurs DVD, ordinateurs, assistants numériques personnels (PDA), imprimantes, etc. On présente maintenant des inconvénients d'un réseau de bus numériques de type IEEE 1394. Il est clair cependant que cette discussion, qui est présentée uniquement 5 à titre illustratif et dans un seul souci de simplification, peut aisément être transposée à d'autres types de réseaux de communication dont les sous-réseaux sont interconnectés par des ponts. Such a digital bus network makes it possible to interconnect digital audio and / or video terminals (also called devices), so that they exchange audiovisual signals. The terminals belong, for example, to the following list of equipment (which is not exhaustive): television receivers (by satellite, over the air, by cable, xDSL, etc.), televisions, video recorders, scanners, cameras digital cameras, digital cameras, DVD players, computers, personal digital assistants (PDAs), printers, etc. We now present the drawbacks of an IEEE 1394 type digital bus network. It is clear, however, that this discussion, which is presented only for illustration and for the sake of simplification, can easily be transposed to other types. communication networks whose subnets are interconnected by bridges.
On rappelle que la norme IEEE 1394 est décrite dans les documents de référence suivants: " IEEE Std 1394-1995, Standard for High Performance Serial Bus " et " IEEE 10 Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ". Un troisième document " IEEE P1394.1 Standard for High Performance Serial Bus Bridges " (version 1.04 en date du 25 octobre 2002) décrit comment connecter différents bus de type IEEE 1394. Note that the IEEE 1394 standard is described in the following reference documents: "IEEE Std 1394-1995, Standard for High Performance Serial Bus" and "IEEE 10 Std 1394a-2000, Standard for High Performance Serial Bus (Supplement)". A third document "IEEE P1394.1 Standard for High Performance Serial Bus Bridges" (version 1.04 dated October 25, 2002) describes how to connect different IEEE 1394 type buses.
De façon classique, un réseau de bus numériques est homogène. Les bus 15 numériques y sont interconnectés entre eux via des ponts homogènes. Chaque pont homogène comprend une première et une seconde portes, à chacune desquelles est connecté un des bus numériques. Chaque pont permet le transfert de paquets depuis un bus, connecté à sa première porte, vers un autre bus, connecté à sa seconde porte. Un exemple d'un tel réseau homogène est présenté par la suite, en relation avec la figure 1. 20 A chaque pont est associé un délai isochrone, pour chaque direction de traversée de l'une vers l'autre de ses portes. Ce délai isochrone représente le laps de temps nécessaire au pont pour passer un paquet isochrone depuis l'une vers l'autre de ses portes. Conventionally, a digital bus network is homogeneous. The digital buses 15 are interconnected there via homogeneous bridges. Each homogeneous bridge includes first and second doors, to which one of the digital buses is connected. Each bridge allows the transfer of packets from a bus, connected to its first door, to another bus, connected to its second door. An example of such a homogeneous network is presented below, in relation to FIG. 1. Each bridge is associated with an isochronous delay, for each direction of crossing from one to the other of its gates. This isochronous delay represents the period of time necessary for the bridge to pass an isochronous packet from one to the other of its gates.
Le délai isochrone est principalement utilisé pour modifier les informations 25 d'horodatage des données (" time stamp "), comprises typiquement dans les seconds paquets (par exemple de type MPEG2 ou DV; voir discussion ci-dessus). En effet, l'information d'horodatage est calculée par l'initiateur isochrone, pour un paquet transféré sur un bus unique (cas o le terminal source et le terminal destinataire sont connectés au même bus numérique). Lorsque un ou plusieurs ponts séparent le terminal 30 source et le terminal destinataire, le délai introduit par la traversée du (des) pont(s) peut faire que le paquet arrive trop tard au terminal destinataire. Afin d'éviter cette situation, chaque pont se trouvant entre le terminal source et le terminal destinataire augmente l'information d'horodatage avec le délai isochrone propre à ce pont (délai de transfert entre les deux bus interconnectés par ce pont). The isochronous delay is mainly used to modify the data timestamp information ("time stamp"), typically included in the second packets (for example of MPEG2 or DV type; see discussion above). In fact, the timestamp information is calculated by the isochronous initiator, for a packet transferred on a single bus (case where the source terminal and the destination terminal are connected to the same digital bus). When one or more bridges separate the source terminal and the destination terminal, the delay introduced by crossing the bridge (s) can cause the packet to arrive too late at the destination terminal. In order to avoid this situation, each bridge located between the source terminal and the destination terminal increases the time stamping information with the isochronous delay specific to this bridge (transfer delay between the two buses interconnected by this bridge).
Par ailleurs, il existe parfois un décalage temporel fixe et déterminé entre les 5 horloges des deux portes du pont. Dans ce cas, outre la prise en compte du délai de traversée du pont, le pont adapte l'information d'horodatage à l'heure locale de la porte de sortie du paquet. Il est à noter que le décalage temporel étant fixe et déterminé, cette mise à l'heure locale ne peut pas tenir compte d'une éventuelle dérive d'horloge. In addition, there is sometimes a fixed and determined time difference between the 5 clocks of the two bridge doors. In this case, in addition to taking into account the bridge crossing delay, the bridge adapts the time stamping information to the local time of the packet exit door. It should be noted that the time difference being fixed and determined, this setting to local time cannot take account of any clock drift.
On connaît également un autre type de réseau de bus numériques, qualifié 10 d'hétérogène (au lieu d'homogène) du fait que les bus numériques y sont interconnectés entre eux soit directement, via des ponts homogènes tels que précités, soit à travers au moins un réseau commuté, via des ponts hétérogènes. Le réseau commuté est vu comme un bus numérique par la pluralité de bus numériques. Un exemple d'un tel réseau hétérogène est présenté par la suite, en relation avec la figure 2. Another type of digital bus network is also known, qualified as heterogeneous (instead of homogeneous) because the digital buses are interconnected therebetween either directly, via homogeneous bridges as mentioned above, or through minus a switched network, via heterogeneous bridges. The switched network is seen as a digital bus by the plurality of digital buses. An example of such a heterogeneous network is presented below, in relation to FIG. 2.
Chaque pont hétérogène comprend une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté. Le réseau commuté comprend une pluralité de noeuds, reliés entre eux par une pluralité de liens. Ces liens sont par exemple du type permettant des transferts de données bidirectionnels, selon la norme IEEE 1355. On rappelle que la norme IEEE 1355 est 20 définie par la référence IEEE Std 1355-1995 Standard for Heterogeneous InterConnect (HIC) (Low Cost Low Latency Scalable Serial Interconnect) (aka ISO/IEC 14575 DIS). Each heterogeneous bridge comprises a first door, to which one of the digital buses is connected, and a second door, to which the switched network is connected. The switched network includes a plurality of nodes, linked together by a plurality of links. These links are for example of the type allowing bidirectional data transfers, according to the IEEE 1355 standard. It is recalled that the IEEE 1355 standard is defined by the reference IEEE Std 1355-1995 Standard for Heterogeneous InterConnect (HIC) (Low Cost Low Latency Scalable Serial Interconnect) (aka ISO / IEC 14575 DIS).
Chaque pont hétérogène joue également le rôle d'un noeud du réseau commuté. Each heterogeneous bridge also plays the role of a node of the switched network.
Le fonctionnement d'un tel réseau hétérogène est le suivant: une connexion est établie, via un ou plusieurs ponts et éventuellement via le réseau commuté, entre un 25 premier terminal (terminal destinataire, ou "listener" en anglais) - connecté à un premier bus numérique -, qui souhaite recevoir des signaux audiovisuels, et un second terminal (terminal source, ou "talker" en anglais) - connecté à un second bus numérique -, qui peut les lui fournir. Par terminal source, on entend par exemple une caméra numérique, un lecteur DVD à sortie numérique, ou tout appareil analogique vu à travers un 30 convertisseur analogique/numérique. The operation of such a heterogeneous network is as follows: a connection is established, via one or more bridges and possibly via the switched network, between a first terminal (recipient terminal, or "listener" in English) - connected to a first digital bus -, which wishes to receive audiovisual signals, and a second terminal (source terminal, or "talker" in English) - connected to a second digital bus -, which can supply them. By source terminal is meant for example a digital camera, a DVD player with digital output, or any analog device seen through an analog / digital converter.
Le réseau (homogène ou hétérogène) de bus numériques est par exemple un réseau audiovisuel domestique, permettant notamment l'échange en temps réel d'images animées, pour une distribution dans le cadre d'une habitation. Dans le cas o il est de type hétérogène, il comprend par exemple un réseau commuté à haut débit. The network (homogeneous or heterogeneous) of digital buses is for example a domestic audio-visual network, allowing in particular the exchange in real time of moving images, for a distribution within the framework of a dwelling. In the case where it is of heterogeneous type, it comprises for example a switched broadband network.
On discute maintenant des problèmes qui se posent à la traversée d'un pont par un flux de données, du fait que chacun des deux bus que connecte ce pont appartient à un domaine d'horloge distinct. We now discuss the problems which arise in crossing a bridge by a data stream, in that each of the two buses which this bridge connects belongs to a distinct clock domain.
Chacune des deux portes d'un pont possède sa propre horloge cyclique, pilotée par un oscillateur libre (24.576 MHz lOOppm). L'horloge cyclique d'une porte est mise en oeuvre 10 dans un registre de temps appelé CTR (" Cycle Time Register "). Le registre CTR possède trois champs: un champ " secondcount " pour les secondes, un champs " cycle-count " pour les cycles, et un champ représentant les fractions d'un cycle (" cycle-offset "). L'oscillateur fait évoluer le registre CTR en incrémentant le champ cycle-offset à chaque période. Tout les 3072 coups de l'oscillateur le champ cyclecount est incrémenté, ce qui représente une durée 15 de 125,us pour un cycle. Each of the two doors of a bridge has its own cyclic clock, controlled by a free oscillator (24.576 MHz lOOppm). The cyclic clock of a door is implemented in a time register called CTR ("Cycle Time Register"). The CTR register has three fields: a "secondcount" field for seconds, a "cycle-count" field for cycles, and a field representing the fractions of a cycle ("cycle-offset"). The oscillator changes the CTR register by incrementing the cycle-offset field at each period. Every 3072 oscillator strokes the cyclecount field is incremented, which represents a duration 15 of 125, us for a cycle.
Afin d'éviter une dérive entre les horloges des équipements connectés à un même bus, l'horloge de l'un des équipements est choisie comme horloge maître (" Cycle Master "). Les horloges des autres équipements connectés au même bus sont mises à jour régulièrement en fonction de cette horloge maître (notion de domaine d'horloge), 20 grâce à des premiers messages de synchronisation (" Cycle Start ") que celle-ci émet à chaque début de cycle (lorsque le champ cycleoffset s'annule). In order to avoid a drift between the clocks of the devices connected to the same bus, the clock of one of the devices is chosen as the master clock ("Cycle Master"). The clocks of the other devices connected to the same bus are updated regularly as a function of this master clock (notion of clock domain), 20 thanks to first synchronization messages ("Cycle Start") which the latter transmits each time cycle start (when the cycleoffset field is canceled).
Mais une dérive entre les horloges des deux portes d'un même pont peut apparaître (c'est-à-dire une dérive entre deux domaines d'horloge). Cette dérive d'horloge entre deux domaines d'horloge va provoquer, par cumul, une discontinuité 25 dans le flux de données lors de la traversée du pont, se traduisant soit par une perte de données et l'impossibilité de maintenir un débit de lecture constant des données du flux de données isochrones, ou par un débordement des files d'attente d'émission. But a drift between the clocks of the two doors of the same bridge can appear (i.e. a drift between two clock domains). This clock drift between two clock domains will cause, by cumulation, a discontinuity in the data flow when crossing the bridge, resulting in either a loss of data and the impossibility of maintaining a read rate. constant data from the isochronous data flow, or by an overflow of the transmission queues.
Une solution à ce problème est proposée dans la norme précitée " IEEE P1394.1 Standard for High Performance Serial Bus Bridges " (aussi appelée " norme P1394.1 " 30 ci-après) qui décrit comment connecter différents bus de type IEEE 1394 et définit notamment les caractéristiques des ponts homogènes. Cette solution consiste à supprimer la dérive elle-même, en choisissant une des horloges maître (" Cycle Master ") comme horloge maître de référence pour l'ensemble des bus du réseau (" Net Cycle Master "). Les ponts se trouvant sur le même bus que cette horloge de référence lui seront synchronisés grâce aux premiers messages de synchronisation. Les autres 5 horloges maître du réseau seront indirectement synchronisés à cette horloge de référence, grâce à des seconds messages de synchronisation (" Gofast/GoSlow ") émis selon le besoin par les ponts. A solution to this problem is proposed in the above-mentioned standard "IEEE P1394.1 Standard for High Performance Serial Bus Bridges" (also called "standard P1394.1" 30 below) which describes how to connect different IEEE 1394 type buses and defines in particular the characteristics of homogeneous bridges. This solution consists in eliminating the drift itself, by choosing one of the master clocks ("Cycle Master") as reference master clock for all the buses of the network ("Net Cycle Master"). The bridges on the same bus as this reference clock will be synchronized to it thanks to the first synchronization messages. The other 5 master clocks on the network will be indirectly synchronized to this reference clock, thanks to second synchronization messages ("Gofast / GoSlow") sent as needed by the bridges.
Cette solution, intimement liée à la norme complémentaire IEEE P1394.1, est efficace mais n'est pas suffisante. En effet, certains équipements sont conformes à la 10 norme IEEE 1394, mais pas à la norme complémentaire PIEEE 1394.1. Par conséquent, si un tel équipement comprend une horloge maître (" Cycle Master "), il est incapable d'interpréter les seconds messages de synchronisation provenant d'un des ponts de son bus (le pont émetteur des seconds messages se trouve dans le chemin de l'horloge de référence) . En d'autres termes, le domaine d'horloge définie par cette horloge maître 15 (" Cycle Master ") ne peut pas être mise à jour par rapport à l'horloge de référence (" Net Cycle Master "). Dans ce cas, dans chaque pont dont une des deux portes appartient à ce domaine d'horloge, il existe un risque de dérive par rapport au domaine d'horloge auquel appartient l'autre porte de ce pont. This solution, closely linked to the complementary standard IEEE P1394.1, is effective but is not sufficient. Indeed, some equipment complies with the IEEE 1394 standard, but not with the complementary PIEEE 1394.1 standard. Consequently, if such equipment includes a master clock ("Cycle Master"), it is unable to interpret the second synchronization messages coming from one of the bridges of its bus (the transmitter bridge of the second messages is in the path of the reference clock). In other words, the clock domain defined by this master clock 15 ("Cycle Master") cannot be updated with respect to the reference clock ("Net Cycle Master"). In this case, in each bridge of which one of the two doors belongs to this clock domain, there is a risk of drift with respect to the clock domain to which the other door of this bridge belongs.
Comme indiqué ci-dessus, une telle dérive d'horloge peut conduire, lors de la 20 traversée du pont par le flux de données, à une perte de données (discontinuité dans le flux de données) et l'impossibilité de maintenir un débit de lecture constant des données du flux. As indicated above, such a clock drift can lead, when the bridge crosses the data stream, to data loss (discontinuity in the data stream) and the impossibility of maintaining a data rate of constant reading of flow data.
L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. The object of the invention is in particular to overcome these various drawbacks of the state of the art.
Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones traversant un pont, malgré une éventuelle dérive d'horloge. More specifically, one of the objectives of the present invention is to provide a method of maintaining a constant reading rate of the data of an isochronous data stream crossing a bridge, despite a possible clock drift.
L'invention a également pour objectif de fournir un tel procédé permettant d'éviter toute perte ou carence de données due à une dérive d'horloge. The invention also aims to provide such a method making it possible to avoid any loss or deficiency of data due to clock drift.
Un autre objectif de l'invention est de fournir un tel procédé qui ne nécessite aucune action sur les horloge maître des différents bus. Another objective of the invention is to provide such a method which requires no action on the master clocks of the various buses.
Un objectif complémentaire de l'invention est de fournir un tel procédé qui soit simple à mettre en oeuvre. An additional objective of the invention is to provide such a method which is simple to implement.
Un autre objectif de l'invention est de fournir un tel procédé qui ne nécessite pas l'envoi de messages sur le réseau, et donc consomme pas de bande passante sur le réseau. Another object of the invention is to provide such a method which does not require the sending of messages over the network, and therefore does not consume bandwidth on the network.
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones traversant un pont interconnectant des premier et second sous- réseaux, les premier et second sous-réseaux véhiculant le flux de 10 données dans des premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données. Pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau, le pont effectue les étapes suivantes obtention de la dérive d'horloge entre les premier et second domaines 15 d'horloge; modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet. These various objectives, as well as others which will appear subsequently, are achieved according to the invention using a method of maintaining a constant reading rate of the data of an isochronous data stream crossing a bridge. interconnecting first and second subnetworks, the first and second subnetworks carrying the flow of data in first packets and belonging to first and second clock domains respectively, the data being associated with timestamp information indicating each a moment of reading data. For each first packet to be transmitted from the first to the second subnetwork, the bridge performs the following steps: obtaining the clock drift between the first and second clock domains; modification, taking into account the clock drift, of each timestamp information contained in said first packet.
Le principe général de l'invention consiste donc à synchroniser le flux, lors de la traversée d'un pont, en modifiant le flux lui-même (et plus précisément les informations d'horodatage des données de ce flux) et non pas les horloges des domaines d'horloge 20 concernés. Ainsi, on maintient un débit de lecture constant des données du flux, même s'il existe une dérive d'horloge entre les domaines d'horloge situés de part et d'autre du pont. The general principle of the invention therefore consists in synchronizing the flow, when crossing a bridge, by modifying the flow itself (and more precisely the timestamp information of the data of this flow) and not the clocks clock domains 20 concerned. Thus, a constant reading rate of the data of the stream is maintained, even if there is a clock drift between the clock domains situated on either side of the bridge.
Ainsi, dans le cas de bus IEEE 1394, le procédé selon l'invention s'applique lorsqu'un équipement comprenant une horloge maître (" Cycle Master ") soit conforme 25 ou non à la norme complémentaire IEEE P1394.1. Dans un mode de réalisation particulier de l'invention (voir description détaillée en relation avec les figures 10 et 11), les ponts mettent en oeuvre soit la technique proposée dans la norme complémentaire IEEE P1394. 1 (avec utilisation de seconds messages de synchronisation), soit la technique selon la présente invention, selon que les équipements comprenant les 30 horloges maître sont conformes ou non à la norme complémentaire IEEE Pi 394. 1. Thus, in the case of an IEEE 1394 bus, the method according to the invention applies when an item of equipment comprising a master clock ("Cycle Master") is or is not compliant with the complementary standard IEEE P1394.1. In a particular embodiment of the invention (see detailed description in relation to FIGS. 10 and 11), the bridges implement either the technique proposed in the complementary standard IEEE P1394. 1 (with the use of second synchronization messages), ie the technique according to the present invention, depending on whether the equipment comprising the 30 master clocks conforms or not to the complementary standard IEEE Pi 394. 1.
Il est à noter par ailleurs que la modification selon l'invention des informations d'horodatage (en fonction de la dérive d'horloge) vient en complément des traitements classiques discutés ci-dessus (prise en compte du délai de traversée du pont et adaptation à l'heure locale de la porte de sortie du paquet). It should also be noted that the modification according to the invention of the time stamping information (as a function of the clock drift) complements the conventional processing operations discussed above (taking into account the time taken to cross the bridge and adaptation at the local time of the package exit door).
Préférentiellement, la prise en compte de la dérive d'horloge consiste à soustraire la dérive d'horloge de chaque information d'horodatage contenue dans ledit premier paquet. Preferably, taking into account the clock drift consists in subtracting the clock drift from each time stamping information contained in said first packet.
De façon avantageuse, les premiers paquets véhiculent des seconds paquets comprenant chacun des données et une information d'horodatage associée à ces 10 données. Advantageously, the first packets convey second packets each comprising data and timestamp information associated with these 10 data.
On notera que, dans ce cas, un premier paquet (par exemple de type IEEE 1394) peut contenir: - aucune information d'horodatage, s'il s'agit d'un premier paquet vide ou s'il contient un morceau d'un second paquet (par exemple de type MPEG2 OU DV) 15 dans lequel ne se trouve pas l'en-tête (et donc l'information d'horodatage) de ce second paquet; - une information d'horodatage, s'il contient un seul en-tête de second paquet (par exemple s'il contient un seul second paquet ou seulement un morceau de second paquet dans lequel se trouve l'en-tête de ce second paquet); - plusieurs informations d'horodatage, s'il contient plusieurs en-têtes de second paquet (par exemple s'il contient plusieurs seconds paquets). Note that, in this case, a first packet (for example of the IEEE 1394 type) may contain: - no time stamp information, if it is a first empty packet or if it contains a piece of a second packet (for example of MPEG2 OR DV type) in which the header (and therefore the time stamp information) of this second packet is not found; - timestamp information, if it contains a single header of the second packet (for example if it contains a single second packet or only a piece of second packet in which the header of this second packet is found ); - several timestamp information, if it contains several second packet headers (for example if it contains several second packets).
Avantageusement, le pont appartient au groupe comprenant: - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau homogène incluant une pluralité de sous-réseaux; - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau hétérogène incluant une pluralité de sous-réseaux et au moins un réseau de base, le réseau de base étant vu comme un sous- réseau par la pluralité de sous-réseaux; - des ponts hétérogènes interconnectant chacun un des sous-réseaux et le réseau de base appartenant audit réseau hétérogène et vu comme un sous- réseau. Advantageously, the bridge belongs to the group comprising: - homogeneous bridges each interconnecting two sub-networks belonging to a homogeneous network including a plurality of sub-networks; - homogeneous bridges each interconnecting two sub-networks belonging to a heterogeneous network including a plurality of sub-networks and at least one basic network, the basic network being seen as a sub-network by the plurality of sub-networks; - heterogeneous bridges each interconnecting one of the subnets and the basic network belonging to said heterogeneous network and seen as a subnetwork.
Dans un mode de réalisation particulier de l'invention, les sous-réseaux sont des bus de type IEEE 1394, les premiers paquets sont des paquets de type IEEE 1394, le réseau de base est un réseau commuté, et les seconds paquets sont des paquets de type MPEG2 ou DV. In a particular embodiment of the invention, the subnets are IEEE 1394 type buses, the first packets are IEEE 1394 type packets, the basic network is a switched network, and the second packets are packets MPEG2 or DV type.
Selon une caractéristique avantageuse, le pont comprenant des première et seconde portes connectées aux premier et second sous-réseaux respectivement, caractérisé en ce que l'obtention de la dérive d'horloge entre les premier et second domaines d'horloge comprend les étapes suivantes: - on obtient une différence d'horloge courante (DIFF,), en soustrayant la valeur d'horloge (CTR2n) dans le second domaine d'horloge à la valeur d'horloge (CTRn) dans le premier domaine d'horloge, à un instant déterminé (ta); - on obtient une dérive (An) pour l'instant déterminé (ta), en soustrayant une différence d'horloge de référence (DIFFef) à la différence d'horloge courante (DIFF.). According to an advantageous characteristic, the bridge comprising first and second gates connected to the first and second subnets respectively, characterized in that obtaining the clock drift between the first and second clock domains comprises the following steps: - a current clock difference (DIFF,) is obtained, by subtracting the clock value (CTR2n) in the second clock domain from the clock value (CTRn) in the first clock domain, from a determined time (ta); - a drift (An) is obtained for the determined time (ta), by subtracting a reference clock difference (DIFFef) from the current clock difference (DIFF.).
Dans un mode de réalisation préférentiel de l'invention, le pont effectue en outre une compensation de la dérive d'horloge entre les premier et second domaines d'horloge, par ajout ou suppression d'au moins un premier paquet. In a preferred embodiment of the invention, the bridge also performs compensation for clock drift between the first and second clock domains, by adding or removing at least one first packet.
Ainsi, on combine la modification des informations d'horodatage (en fonction de la dérive d'horloge) avec une compensation de la dérive d'horloge elle-même. De cette 20 façon, on évite une perte de données qui se produirait si la valeur absolue de la dérive d'horloge devenait supérieure à la durée d'un cycle de traitement d'un premier paquet (un bus aurait alors un cycle de retard sur l'autre et un premier paquet serait perdu). Thus, the modification of the timestamp information (as a function of the clock drift) is combined with compensation for the clock drift itself. In this way, data loss is avoided which would occur if the absolute value of the clock drift becomes greater than the duration of a processing cycle of a first packet (a bus would then have a delay cycle on the other and a first package would be lost).
De façon préférentielle, la compensation de la dérive d'horloge comprend les étapes suivantes, effectuées pour chaque premier paquet à transmettre depuis le premier 25 vers le second sous-réseau: - on compare la valeur absolue de la dérive d'horloge avec un premier seuil; - si la valeur absolue de la dérive d'horloge est inférieure ou égale au premier seuil, aucune compensation de la dérive d'horloge n'est effectuée; - si la valeur absolue de la dérive d'horloge est supérieure au premier seuil, on détermine le signe de la dérive d'horloge: * si la dérive d'horloge est négative, une compensation de la dérive d'horloge est effectuée par insertion d'un premier paquet vide, avant l'envoi du premier paquet courant; * si la dérive d'horloge est positive, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant. Preferably, the compensation for clock drift comprises the following steps, performed for each first packet to be transmitted from the first to the second subnetwork: - the absolute value of the clock drift is compared with a first threshold; - if the absolute value of clock drift is less than or equal to the first threshold, no compensation for clock drift is carried out; - if the absolute value of the clock drift is greater than the first threshold, the sign of the clock drift is determined: * if the clock drift is negative, compensation for the clock drift is carried out by insertion a first empty packet, before sending the first current packet; * if the clock drift is positive, compensation for the clock drift is performed by deleting the first current packet.
Avantageusement, si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive, on détermine si le premier paquet courant est vide ou non: - s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; - sinon, aucune compensation de la dérive d'horloge n'est effectuée. Advantageously, if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive, it is determined whether the first current packet is empty or not: - if it is empty, compensation for the clock drift is performed by deleting the first current packet; - otherwise, no compensation for clock drift is carried out.
En d'autres termes, on ne supprime le premier paquet courant que s'il est vide. D'une façon générale, le premier seuil doit être inférieur à la durée d'un cycle de traitement d'un premier paquet. In other words, the first current packet is only deleted if it is empty. In general, the first threshold must be less than the duration of a processing cycle for a first packet.
Dans une variante avantageuse, si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive on compare la dérive d'horloge avec un second seuil; - si la dérive d'horloge est inférieure ou égale au second seuil, on détermine si le premier paquet courant est vide ou non: 20 * s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; * sinon, aucune compensation de la dérive d'horloge n'est effectuée; - si la dérive d'horloge est supérieure au second seuil, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant. 25 Ainsi, on utilise deux seuils au lieu d'un. Le second seuil permet de décider si la suppression est impérative (c'est-à-dire si la valeur absolue de la dérive d'horloge s'approche de la durée d'un cycle de traitement d'un premier paquet) : si c'est le cas, on supprime le premier paquet courant qu'il soit vide ou non; dans le cas contraire, on ne supprime le premier paquet courant que s'il est vide. In an advantageous variant, if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive, the clock drift is compared with a second threshold; - if the clock drift is less than or equal to the second threshold, it is determined whether the first current packet is empty or not: 20 * if it is empty, compensation for the clock drift is carried out by deleting the first packet current; * otherwise, no compensation for clock drift is carried out; - if the clock drift is greater than the second threshold, compensation for the clock drift is carried out by deleting the first current packet. 25 Thus, two thresholds are used instead of one. The second threshold makes it possible to decide if the deletion is imperative (that is to say if the absolute value of the clock drift approaches the duration of a processing cycle of a first packet): if c 'is the case, we delete the first current packet whether it is empty or not; otherwise, the first current packet is only deleted if it is empty.
D'une façon générale, le second seuil doit être supérieur au premier seuil et inférieur à la durée d'un cycle de traitement d'un premier paquet. In general, the second threshold must be greater than the first threshold and less than the duration of a processing cycle for a first packet.
Préférentiellement, le premier seuil est compris entre le quart et la moitié de la durée d'un cycle de traitement d'un premier paquet. Preferably, the first threshold is between a quarter and a half of the duration of a processing cycle for a first packet.
De façon préférentielle, le second seuil est compris entre la moitié et les trois quarts de la durée d'un cycle de traitement d'un premier paquet. Preferably, the second threshold is between half and three quarters of the duration of a processing cycle for a first packet.
Il est clair cependant, comme déjà indiqué ci-dessus, que d'autres valeurs des premier et second seuils peuvent être envisagés sans sortir du cadre de la présente invention. It is clear however, as already indicated above, that other values of the first and second thresholds can be envisaged without departing from the scope of the present invention.
De façon avantageuse, la différence d'horloge courante (DIFFJ) devient la nouvelle différence d'horloge de référence (DIFFef), si une compensation de la dérive 10 d'horloge est effectuée, par ajout ou suppression d'au moins un premier paquet. Advantageously, the current clock difference (DIFFJ) becomes the new reference clock difference (DIFFef), if compensation for clock drift is made, by adding or removing at least one first packet .
L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé tel que précité, lorsque ledit programme est exécuté sur un ordinateur. The invention also relates to a computer program comprising program code instructions for executing the steps of the method as mentioned above, when said program is executed on a computer.
L'invention concerne aussi un pont interconnectant des premier et second sous15 réseaux, un flux de données isochrones traversant ledit pont, les premier et second sousréseaux véhiculant le flux de données dans des premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données. Le pont comprend: des moyens d'obtention de la dérive d'horloge entre les premier et second 20 domaines d'horloge, pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau; des moyens de modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet; de façon à maintenir un débit de lecture constant des données du flux de données isochrones traversant le pont. The invention also relates to a bridge interconnecting first and second sub-networks, an isochronous data stream crossing said bridge, the first and second sub-networks conveying the data stream in first packets and belonging to first and second clock domains respectively. , the data being associated with timestamp information each indicating an instant of data reading. The bridge comprises: means for obtaining the clock drift between the first and second clock domains, for each first packet to be transmitted from the first to the second subnetwork; modification means, taking into account the clock drift, of each time stamping information contained in said first packet; so as to maintain a constant read rate of the data of the isochronous data stream crossing the bridge.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels: - la figure 1 présente un synoptique d'un exemple de réseau homogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention; 30 - la figure 2 présente un synoptique d'un exemple de réseau hétérogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention; - la figure 3 illustre un exemple de réalisation d'une porte de pont; - les figures 4 et 5 présente la structure d'un paquet IEEE 1394 pour un flux Audio/Vidéo de type MPEG2 ou DV; - la figure 6 présente un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394, indépendamment de la nature du flux de données; - la figure 7 présente un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394 comprenant des données d'un flux de données MPEG2 ou DV; - la figure 8 présente un organigramme d'un premier mode de réalisation particulier du procédé selon l'invention, avec utilisation d'un seul seuil; - la figure 9 présente un organigramme d'un second mode de réalisation particulier du procédé selon l'invention, avec utilisation de deux seuils; - la figure 10 présente un exemple d'algorithme mis en oeuvre par une porte de pont, lorsque se produit une initialisation du bus auquel elle est connectée; - la figure Il présente un exemple d'algorithme mis en oeuvre par une porte de pont, lorsqu'un indicateur de méthode de synchronisation courante est modifié. L'invention concerne donc un procédé de maintien d'un débit de lecture constant des données d'un flux isochrone traversant un pont interconnectant des premier et 20 second sous-réseaux. Pour chaque premier paquet à transmettre depuis le premier vers le second sous- réseau, le pont obtient la dérive d'horloge entre les premier et second domaines d'horloge, et modifie chaque information d'horodatage contenue dans ce premier paquet, en prenant en compte la dérive d'horloge. Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of an indicative and non-limiting example, and the attached drawings, in which: - FIG. 1 presents a block diagram of an example of a homogeneous network of digital buses, in which the method according to the invention can be implemented; FIG. 2 shows a block diagram of an example of a heterogeneous network of digital buses, in which the method according to the invention can be implemented; - Figure 3 illustrates an embodiment of a bridge door; - Figures 4 and 5 shows the structure of an IEEE 1394 packet for an Audio / Video stream of MPEG2 or DV type; - Figure 6 shows an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet, regardless of the nature of the data flow; FIG. 7 shows an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet comprising data from a MPEG2 or DV data stream; - Figure 8 shows a flowchart of a first particular embodiment of the method according to the invention, with the use of a single threshold; - Figure 9 shows a flowchart of a second particular embodiment of the method according to the invention, with the use of two thresholds; - Figure 10 shows an example of an algorithm implemented by a bridge gate, when an initialization of the bus to which it is connected occurs; - Figure It presents an example of algorithm implemented by a bridge door, when an indicator of current synchronization method is modified. The invention therefore relates to a method of maintaining a constant reading rate for the data of an isochronous stream crossing a bridge interconnecting first and second subnetworks. For each first packet to be transmitted from the first to the second subnetwork, the bridge obtains the clock drift between the first and second clock domains, and modifies each time stamping information contained in this first packet, taking into account counts clock drift.
Dans la suite de la description, on considère à titre d'exemple le cas o les sous25 réseaux sont des bus numériques conformes à la norme IEEE 1394, interconnectés par des ponts conformes à la norme complémentaire IEEE P1394.1. Il est clair cependant que la présente invention n'est pas limitée à ces types particuliers de sous-réseaux et ponts. In the following description, we consider by way of example the case where the sub-networks are digital buses conforming to the IEEE 1394 standard, interconnected by bridges conforming to the complementary IEEE P1394.1 standard. It is clear, however, that the present invention is not limited to these particular types of subnetworks and bridges.
On considère aussi dans la suite que chaque premier paquet contient un seul 30 second paquet, c'est-à-dire qu'il y a une information d'horodatage par premier paquet. It is also considered below that each first packet contains only one second packet, that is to say that there is timestamp information per first packet.
On présente maintenant, en relation avec le synoptique de la figure 1, un exemple de réseau homogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention. We now present, in relation to the block diagram of FIG. 1, an example of a homogeneous network of digital buses, in which the method according to the invention can be implemented.
Dans cet exemple, le réseau homogène est constitué d'une pluralité de bus de 5 type IEEE 1394, référencés 4, 23, 47, 58, 145 et 146, et conformes aux première et seconde normes précitées (" IEEE Std 1394-1995, Standard for High Performance Serial Bus " et " IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) "). In this example, the homogeneous network is made up of a plurality of IEEE 1394 type 5 buses, referenced 4, 23, 47, 58, 145 and 146, and conforming to the first and second standards mentioned above ("IEEE Std 1394-1995, Standard for High Performance Serial Bus "and" IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ").
Sur les bus IEEE 1394 sont connectés des terminaux ou dispositifs, référencés 10 Dl à D15. Terminals or devices, referenced 10 Dl to D15, are connected to the IEEE 1394 buses.
Les bus sont interconnectés par des ponts homogènes conformes à la troisième norme précitée " IEEE P1394.1 Standard for High Performance Serial Bus Bridges ". The buses are interconnected by homogeneous bridges conforming to the aforementioned third standard "IEEE P1394.1 Standard for High Performance Serial Bus Bridges".
Les ponts homogènes sont référencés P1I/P2, P3/P4, P5/P6, P7/P8, P9/P1O, avec Pi, i = 1 à 10, représentant une porte d'un pont IEEE P1394.1. Homogeneous bridges are referenced P1I / P2, P3 / P4, P5 / P6, P7 / P8, P9 / P1O, with Pi, i = 1 to 10, representing a gate of an IEEE P1394.1 bridge.
On pourra se reporter à la troisième norme précitée pour obtenir une description détaillée de la structure d'un pont homogène. Reference may be made to the aforementioned third standard for a detailed description of the structure of a homogeneous bridge.
On présente maintenant, en relation avec le synoptique de la figure 2, un exemple de réseau hétérogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention. An example of a heterogeneous network of digital buses is now presented, in relation to the block diagram of FIG. 2, in which the method according to the invention can be implemented.
Dans cet exemple, le réseau hétérogène est constitué d'une pluralité de bus de type IEEE 1394 référencés 110, 120, 130, 140, 150 et 250 interconnectés les uns aux autres et/ou à un réseau commuté 100. In this example, the heterogeneous network consists of a plurality of IEEE 1394 type buses referenced 110, 120, 130, 140, 150 and 250 interconnected to each other and / or to a switched network 100.
Le pont référencé 216/217 est un pont homogène, interconnectant deux bus de type IEEE 1394. The bridge referenced 216/217 is a homogeneous bridge, interconnecting two IEEE 1394 type buses.
L'interconnexion du réseau commuté 100 et des bus IEEE 1394 est réalisée par l'intermédiaire de ponts hétérogènes, conformes à la troisième norme précitée. Ils sont constitués chacun de deux portes appairées, référencés 201/202, 203/204, 205/206, 207/208 et 209/211. Ainsi, un pont hétérogène référencé X/Y est constitué de portes elles-mêmes référencées X et Y. Chacun de ces ponts hétérogènes présente une première 30 porte connectée au réseau commuté 100 et une seconde porte connectée à un bus numérique de type IEEE 1394. The interconnection of the switched network 100 and the IEEE 1394 buses is carried out by means of heterogeneous bridges, conforming to the aforementioned third standard. They each consist of two paired doors, referenced 201/202, 203/204, 205/206, 207/208 and 209/211. Thus, a heterogeneous bridge referenced X / Y consists of gates themselves referenced X and Y. Each of these heterogeneous bridges has a first gate connected to the switched network 100 and a second gate connected to a digital bus of the IEEE 1394 type.
Le réseau commuté 100 est vu comme un bus série par tous les équipements (terminaux, ponts homogènes, contrôleur, ...) qui n'appartiennent pas à ce réseau commuté 100. The switched network 100 is seen as a serial bus by all the equipment (terminals, homogeneous bridges, controller, etc.) which does not belong to this switched network 100.
Sur les bus IEEE 1394 sont connectés des terminaux ou dispositifs, référencés 5 101 à 104 (sur le bus référencé 110), 105 à 107 (sur le bus référencé 120), 108 et 109 (sur le bus référencé 130), 111 à 114 (sur le bus référencé 140), 119 et 121 (sur le bus référencé 250), 115 à 118 (surle bus référencé 150). Ils sont conformes aux première et seconde normes précitées. Terminals or devices are connected to the IEEE 1394 buses, referenced 5 101 to 104 (on the bus referenced 110), 105 to 107 (on the bus referenced 120), 108 and 109 (on the bus referenced 130), 111 to 114 (on the bus referenced 140), 119 and 121 (on the bus referenced 250), 115 to 118 (on the bus referenced 150). They comply with the first and second standards mentioned above.
Le réseau commuté 100 est constitué de liens référencés 160, 170, 180, 190, 200, 10 210, 220, 230 et 240 qui interconnectent: - d'une part des noeuds référencés 201/202, 203/204, 205/206, 207/208 et 209/211, encore appelés ponts hétérogènes, interconnectant le réseau commuté 100 avec des bus IEEE 1394, et - d'autre part des noeuds référencés 212/213 et 214/215, internes au réseau commuté 100. The switched network 100 is made up of links referenced 160, 170, 180, 190, 200, 10 210, 220, 230 and 240 which interconnect: - on the one hand, nodes referenced 201/202, 203/204, 205/206, 207/208 and 209/211, also called heterogeneous bridges, interconnecting the switched network 100 with IEEE 1394 buses, and - on the other hand, nodes referenced 212/213 and 214/215, internal to the switched network 100.
Le routage de paquets au travers du réseau commuté 100 est par exemple réalisé en mettant en oeuvre une méthode de routage par la source (en anglais " source routing "), selon laquelle l'information de routage d'un paquet est calculée par une unité centrale qui connaît la topologie du réseau commuté 100. Cet aspect ne sera pas décrit 20 plus en détails dans le cadre de la présente invention. The routing of packets through the switched network 100 is for example carried out by implementing a method of routing by the source (in English "source routing"), according to which the routing information of a packet is calculated by a unit central which knows the topology of the switched network 100. This aspect will not be described in more detail in the context of the present invention.
On pourra se reporter à la demande de brevet n0 FR 2 828 946, publiée le 28 février 2003, pour obtenir une description détaillée de la structure d'un pont hétérogène. Reference may be made to patent application No. FR 2 828 946, published on February 28, 2003, for a detailed description of the structure of a heterogeneous bridge.
On présente désormais, en relation avec la figure 3, un exemple de réalisation d'une porte de pont conforme à la troisième norme précitée. Les principaux blocs sont 25 décrits successivement. We now present, in relation to FIG. 3, an exemplary embodiment of a bridge door in accordance with the third standard mentioned above. The main blocks are described successively.
Le bloc " noyau de liaison 1394 " (1394 Link Core) 504 est décrit en détail dans les première et seconde normes précitées. Ce bloc 504 comprend notamment les principaux sous-blocs suivants: - un sous-bloc " interface liaison-PHY " (Link-PHY Interface) 503, utilisé la 30 communication avec un " noyau PHY 1394 " (1394 PHY Core), comme décrit dans les première et seconde norme précitées; - un sous-bloc 505 utilisé pour la transmission de données asynchrones et isochrones vers le noyau de la couche PHY (PHY Layer core); - un sous-bloc 506 utilisé pour le calcul et l'insertion d'informations de contrôle d'erreur (CRC), comme décrit dans la première norme précitée; S - une horloge cyclique locale 507, comme décrit dans la première norme précitée; - un sous-bloc 508 utilisé pour la réception de données asynchrones et isochrones transmises par le noyau de la couche PHY (PHY Layer core); - un sous-bloc 510 gérant des registres et des interruptions, conformément aux première, seconde et troisième normes précitées. 10 Le bloc " filtre de paquets ATF " (ATF packet filter) 511 met en oeuvre un algorithme de filtrage sur les paquets venant de la mémoire FIFO de transmission asynchrone (ou mémoire ATF, pour Asynchronous Transmit FIFO). Ce bloc gère tous les signaux utiles ATF et ULC pour la transmission de paquets après l'étape de filtrage. The "1394 Link Core" 504 block is described in detail in the first and second standards mentioned above. This block 504 notably comprises the following main sub-blocks: a “Link-PHY Interface” sub-block 503, used for communication with a “1394 PHY Core”, as described in the first and second standards mentioned above; - a sub-block 505 used for the transmission of asynchronous and isochronous data to the core of the PHY layer (PHY Layer core); - a sub-block 506 used for the calculation and insertion of error control information (CRC), as described in the first aforementioned standard; S - a local cyclic clock 507, as described in the first aforementioned standard; - a sub-block 508 used for the reception of asynchronous and isochronous data transmitted by the core of the PHY layer (PHY Layer core); - a sub-block 510 managing registers and interrupts, in accordance with the first, second and third standards mentioned above. The “ATF packet filter” block 511 implements a filtering algorithm on the packets coming from the asynchronous transmission FIFO memory (or ATF memory, for Asynchronous Transmit FIFO). This block manages all the useful ATF and ULC signals for the transmission of packets after the filtering step.
Le bloc " filtre de paquets ITF " (ITF packet filter) 512 met en oeuvre un 15 algorithme de filtrage sur les paquets venant de la mémoire FIFO de transmission isochrone (ou mémoire ITF, pour Isochronous Transmit FIFO). Ce bloc gère tous les signaux utiles ITF et ULC pour la transmission de paquets après l'étape de filtrage. The “ITF packet filter” block 512 implements a filtering algorithm on the packets coming from the isochronous transmission FIFO memory (or ITF memory, for Isochronous Transmit FIFO). This block manages all the useful ITF and ULC signals for the transmission of packets after the filtering step.
Le bloc " table de routage de flux 1355 " (1355 stream routing table) 513 implémente une matrice de huit lignes, chaque ligne contenant un registre de contrôle de 20 flux sur sept bits. The "1355 stream routing table" block 513 implements an eight-row matrix, each row containing a 20-bit seven-bit control register.
Le bloc " registres d'entrée/sortie d'équipement 1394 " (1394 Device iDr/oDr) 515 implémente deux matrices de quatre lignes: une matrice est associée à des lignes contenant des registres d'entrée sur sept bits (7 bits iDr registers), l'autre matrice étant associée à des lignes contenant des registres de sortie sur neuf bits (9 bits oDr registers). 25 Le bloc " filtre de paquet en réception " (Rx packet filter) 516 met en oeuvre un algorithme de filtrage sur les paquets venant de la mémoire ITF (via un buffer de filtrage) ou de l'ULC. Ce bloc gère tous les signaux d'écriture ARF, IRF et ULC pour la transmission de paquets après l'étape de filtrage. The "1394 device input / output registers" block (1394 Device iDr / oDr) 515 implements two matrices of four lines: a matrix is associated with lines containing input registers on seven bits (7 bits iDr registers ), the other matrix being associated with lines containing nine-bit output registers (9-bit oDr registers). The block "packet filter on reception" (Rx packet filter) 516 implements a filtering algorithm on the packets coming from the ITF memory (via a filtering buffer) or from the ULC. This block manages all the ARF, IRF and ULC write signals for the transmission of packets after the filtering step.
Le bloc " registres de carte de route 1394 " (1394 Route map registers) 517 30 implémente un registre à 256 octets. The 1394 Route map registers 517 30 block implements a 256 byte register.
Le bloc " machine d'acquittement " (Ack engine) 518 génère un signal d'acquittement après réception d'un paquet asynchrone. The "acknowledgment machine" block (Ack engine) 518 generates an acknowledgment signal after reception of an asynchronous packet.
Le bloc " interface IT & registres PHY 1394 " (1394 PHY registers & IT I/F) 521 implémente l'interface permettant d'accéder aux registres du composant 1394 PHY 5 (16 registres maximum) et transporter vers l'interface 13 des signaux d'interruption associés à la couche PHY 1394 et venant de l'ULC. The block "IT interface & PHY 1394 registers" (1394 PHY registers & IT I / F) 521 implements the interface allowing access to the registers of the 1394 PHY 5 component (16 registers maximum) and transport signals to interface 13 interrupts associated with the PHY 1394 layer and coming from the ULC.
Le bloc " interface IT & registres liaison 1394 " (1394 1394Link registers & IT I/F) 522 implémente l'interface permettant d'accéder aux registres du composant 1394 liaison et pont (1394 Link & bridge) et transporter vers l'interface I17 des signaux 10 d'interruption venant de l'ULC, sauf ceux associés à la couche PHY 1394. The block "IT interface & 1394 link registers" (1394 1394Link registers & IT I / F) 522 implements the interface allowing access to the registers of the 1394 link and bridge component (1394 Link & bridge) and transport to the I17 interface interrupt signals from the ULC, except those associated with the PHY 1394 layer.
Le bloc " comparaison d'horloge " (Clkcomp) 523 est utilisé pour la détection de début de cycle de paquet. The "clock comparison" block (Clkcomp) 523 is used for the detection of the start of the packet cycle.
Le bloc " mémoire FIFO de réception asynchrone " (Asynchronous Receive FIFO (ARF)) 524 implémente une FIFO synchrone de 1Kx32 bits. Les signaux 15 d'écriture sont en charge du bloc " filtre de paquet en réception " (Rx packet filter) 516. The "Asynchronous Receive FIFO (ARF)" block 524 implements a synchronous FIFO of 1Kx32 bits. The write signals 15 are in charge of the "packet reception filter" block 516.
Les signaux de lecture sont en charge du bloc " gestion de paquet en réception " (Rx packet management) 516. The read signals are in charge of the "packet management on reception" block (Rx packet management) 516.
Le bloc " mémoire FIFO de réception isochrone " (Isochronous Receive FIFO (IRF)) 525 implémente une FIFO synchrone de 2Kx32 bits. Les signaux d'écriture sont 20 en charge du bloc " filtre de paquet en réception " (Rx packet filter) 516. Les signaux de lecture sont en charge du bloc " gestion de paquet en réception " (Rx packet management) 516. The "Isochronous Receive FIFO (IRF)" block 525 implements a synchronous FIFO of 2Kx32 bits. The write signals are in charge of the Rx packet filter 516 block. The read signals are in charge of the Rx packet management 516 block.
Le bloc " mémoires FIFO de type, validité et taille de paquet " (Pk Size, Validity and Type FIFOs) 526 implémente deux FIFOs (une pour l'isochrone et l'autre pour le 25 non isochrone) associées aux caractéristiques des paquets 1394 entrants. The block "FIFO memories of packet type, validity and size" (Pk Size, Validity and Type FIFOs) 526 implements two FIFOs (one for the isochronous and the other for the non-isochronous) associated with the characteristics of the incoming 1394 packets .
Le bloc " gestion de paquet en réception " (Rx packet management) 527 implémente un algorithme de gestion des paquets venant du bus hôte (122) ou du bus DPRAM (16). Ce bloc gère tous les signaux d'écriture associés aux mémoires ATF et ITF, et partage avec le bloc " gestion de paquet en émission " 533 tous les signaux 30 associés à 122 et 16. The “packet management on reception” block (Rx packet management) 527 implements an algorithm for managing packets coming from the host bus (122) or from the DPRAM bus (16). This block manages all the write signals associated with the ATF and ITF memories, and shares with the "packet transmission management" block 533 all the signals 30 associated with 122 and 16.
Le bloc " registre de carte de génération de réseau " (Netgeneration map register) 528 implémente un registre de carte de génération de réseau. The "Netgeneration map register" block 528 implements a network generation card register.
Le bloc " mémoire FIFO d'émission isochrone " (Isochronous Transmit FIFO (ITF)) 529 implémente une FIFO synchrone de 2Kx32 bits. Les signaux d'écriture sont 5 en charge du bloc " gestion de paquet en émission " (Tx packet management) 533. Les signaux de lecture sont en charge du bloc " filtre de paquets ITF " (ITF packet filter) 512. The "Isochronous Transmit FIFO (ITF)" block 529 implements a synchronous FIFO of 2Kx32 bits. The write signals are in charge of the “packet management” block 533. The read signals are in charge of the “ITF packet filter” block 512.
Le bloc " mémoire FIFO d'émission asynchrone " (Asynchronous Transmit FIFO (ATF)) 530 implémente une FIFO synchrone de 1Kx32 bits. Les signaux 10 d'écriture sont en charge du bloc " gestion de paquet en émission " (Tx packet management) 533. Les signaux de lecture sont en charge du bloc " filtre de paquets ATF " (ATF packet filter) 511. The "Asynchronous Transmit FIFO (ATF)" block 530 implements a synchronous FIFO of 1Kx32 bits. The write signals are in charge of the "packet management in transmission" block (Tx packet management) 533. The read signals are in charge of the "ATF packet filter" block 511.
Le bloc " mémoire FIFO de vitesse d'émission " (Speed Transmit FIFO (STF)) 531 implémente une FIFO synchrone de 512x2 bits. Les signaux d'écriture sont réalisés 15 par l'interface I23. Les signaux de lecture sont en charge du bloc " filtre de paquets ATF " (ATF packet filter) 511. The "Speed Transmit FIFO (STF)" block 531 implements a synchronous FIFO of 512x2 bits. The write signals are produced by the interface I23. The read signals are in charge of the block "ATF packet filter" 511.
Le bloc " gestion de paquet en émission " (Tx packet management) 532 implémente un algorithme de gestion des paquets venant du bus hôte (I22), le bus de DPRAM (16) ou le bus A/V (I100). Ce bloc gère tous les signaux d'écriture associés aux 20 mémoires FIFO ITF et ATF, et partage avec le bloc " gestion de paquet en réception " (Rx packet management) 527 tous les signaux utiles associés à I22, I6 et 1100. The "packet management in transmission" block (Tx packet management) 532 implements an algorithm for managing packets coming from the host bus (I22), the DPRAM bus (16) or the A / V bus (I100). This block manages all the write signals associated with the 20 FIFO memories ITF and ATF, and shares with the “packet management on reception” block (Rx packet management) 527 all the useful signals associated with I22, I6 and 1100.
Les blocs référencés 504, 513 à 518 et 521 à 528 forment ensemble des moyens de réception d'un paquet venant d'un bus. The blocks referenced 504, 513 to 518 and 521 to 528 together form means for receiving a packet coming from a bus.
Les blocs référencés 504, 513 à 515 et 528 à 532 forment ensemble des moyens 25 de réception d'un paquet venant d'un bus. The blocks referenced 504, 513 to 515 and 528 to 532 together form means 25 for receiving a packet coming from a bus.
On présente maintenant, en relation avec les figures 4 et 5, la structure d'un paquet IEEE 1394 pour un flux Audio/Vidéo de type MPEG2 ou DV. Cette brève présentation vise à définir principalement les champs utilisés dans le cadre de la présente invention. Pour une description plus détaillée de cette structure, on pourra se reporter 30 aux première et seconde normes précitées, ainsi qu'à la norme IEC 61883, décrite dans le document de référence suivant: " IEC Std 61883, Consumer audio/video équipement Digital interface ". We now present, in relation to FIGS. 4 and 5, the structure of an IEEE 1394 packet for an Audio / Video stream of MPEG2 or DV type. This brief presentation aims mainly to define the fields used in the context of the present invention. For a more detailed description of this structure, reference may be made to the first and second standards mentioned above, as well as to standard IEC 61883, described in the following reference document: "IEC Std 61883, Consumer audio / video equipment Digital interface ".
Le paquet IEEE 1394 comprend une pluralité de champs, référencés 601 à 607, que l'on présente ci- après successivement. The IEEE 1394 packet includes a plurality of fields, referenced 601 to 607, which are presented successively below.
Le champ " en-tête isochrone " (isochronous header) 601, sur 32 bits, contient des informations générales relatives à une transaction isochrone sur un bus 1394. Il contient un sous-champ " longueur de données " (data length) 701, qui spécifie la longueur du champ de données utiles du paquet isochrone, en octets. Il contient également un sous-champ " TAG " 702, qui fournit une indication de haut niveau sur le 10 format des données transportées par le paquet isochrone. Par exemple, la valeur 012 indique la présence d'en-têtes CIPO 603 et CIPI 604 dans le paquet et donc si les données transportées par le paquet sont des données audio/vidéo (A/V data). The isochronous header field 601, on 32 bits, contains general information relating to an isochronous transaction on a 1394 bus. It contains a "data length" sub-field 701, which specifies the length of the payload field of the isochronous packet, in bytes. It also contains a "TAG" subfield 702, which provides a high level indication of the format of the data transported by the isochronous packet. For example, the value 012 indicates the presence of CIPO 603 and CIPI 604 headers in the packet and therefore if the data transported by the packet is audio / video data (A / V data).
Le champ " en-tête CRC " (CRCs header) 602 est calculé uniquement à partir de l'en-tête isochrone 601 et est utilisé pour le contrôle d'erreur. The "CRC header" field 602 is calculated only from the isochronous header 601 and is used for error control.
Le champ " en-tête CIPO " (CIPO header) 603, sur 32 bits, contient des informations générales relatives aux données audio/vidéo contenues dans le champ " données utiles " 606. Il contient un sous-champ " DBC " 703, qui est un compteur de continuité des blocs de données, permettant de détecter une perte de blocs de données. Il contient également un sous- champ " DBS " 704, qui indique la taille d'un bloc de 20 données, en nombre de mots de 32 bits (quadlets). Un paquet Audio/vidéo est divisé en plusieurs blocs de données, selon le sous-champ FN (Fraction number) 705. Le souschamp " DBS " 704 indique la taille de ces blocs de données. The CIPO header field 603, 32-bit, contains general information relating to the audio / video data contained in the "useful data" field 606. It contains a "DBC" subfield 703, which is a data block continuity counter, used to detect a loss of data blocks. It also contains a "DBS" subfield 704, which indicates the size of a block of 20 data, in number of 32-bit words (quadlets). An audio / video packet is divided into several data blocks, according to the FN (Fraction number) 705 subfield. The "DBS" subfield 704 indicates the size of these data blocks.
Le champ " en-tête CIP1 " (CIP1 header) 604, sur 32 bits, contient lui aussi des informations générales relatives aux données audio/vidéo contenues dans le champ 25 " données utiles " 606. Il contient un souschamp " Format (FMT) " 703. Si ce dernier contient la valeur 1111112 (pas de données), les sous-champs DBS, FN, QPC, SPH et DBC sont ignorés et aucun bloc de données n'est transmis. Le bit de poids fort (MSB) du souschamp FMT 703 indique si le sous-champ SYT 707 est disponible ou non, c'està-dire, seulement pour un flux Audio/Vidéo de type DV, s'il contient une information 30 d'horodatage (Time Stamp) ou non. Quand une information d'horodatage est indiquée par le bit de poids fort du sous- champ FMT, le sous-champ SYT 707 contient les 16 bits de poids faible du registre d'horloge CTR " IEEE 1394 CYCLETIME " plus un décalage (offset). The "CIP1 header" field 604, on 32 bits, also contains general information relating to the audio / video data contained in field 25 "useful data" 606. It contains a "Format (FMT)" subfield "703. If the latter contains the value 1111112 (no data), the DBS, FN, QPC, SPH and DBC subfields are ignored and no data block is transmitted. The most significant bit (MSB) of the FMT 703 subfield indicates whether the SYT 707 subfield is available or not, that is, only for an Audio / Video stream of DV type, if it contains information 30 d time stamp or not. When timestamp information is indicated by the most significant bit of the FMT subfield, the SYT 707 subfield contains the 16 least significant bits of the clock register CTR "IEEE 1394 CYCLETIME" plus an offset .
Le champ " en-tête horodatage " (Time Stamp header) 605 existe seulement pour un flux Audio/Vidéo de type MPEG2. Il contient un sous-champ " horodatage " 5 (Time Stamp) 708 qui représente les 25 bits du registre d'horloge CTR, au moment o le premier bit/octet du paquet du flux de transport (ou paquet TSP, pour " Transport Stream Packet ") arrive de l'application, plus un décalage (offset). Ce décalage est égal au délai global constant entre le moment d'arrivée (du premier bit) et le moment o le paquet TSP (le premier bit) est délivré par un récepteur à l'application. The "Time Stamp header" field 605 exists only for an Audio / Video stream of MPEG2 type. It contains a "time stamp" subfield 5 (Time Stamp) 708 which represents the 25 bits of the clock register CTR, at the moment when the first bit / byte of the transport stream packet (or TSP packet, for "Transport Stream" Packet ") arrives from the application, plus an offset. This offset is equal to the constant global delay between the moment of arrival (of the first bit) and the moment when the TSP packet (the first bit) is delivered by a receiver to the application.
Quel que soit le champ ou sous-champ o elle est contenue, l'information d'horodatage (Time Stamp) est utilisée par le récepteur de données isochrone pour reconstruire une séquence correcte des paquets TSP sur sa sortie. L'information d'horodatage indique l'instant prévu de fourniture du premier bit/octet du paquet TSP depuis la sortie du récepteur vers le décodeur cible du flux de transport. Regardless of the field or subfield in which it is contained, time stamp information is used by the isochronous data receiver to reconstruct a correct sequence of TSP packets on its output. The timestamp information indicates the expected time of delivery of the first bit / byte of the TSP packet from the output of the receiver to the target decoder of the transport stream.
Le champ " données utiles " (data payload) 606 contient les données utiles. The "payload" field 606 contains the useful data.
Le champ " données CRC " (Data CRC) 607 est calculé uniquement à partir des données des champs référencés 602 à 606 et est utilisé pour le contrôle d'erreur. The "CRC data" field (Data CRC) 607 is calculated only from the data of the fields referenced 602 to 606 and is used for error checking.
On présente maintenant, en relation avec la figure 6, un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser les champs d'un paquet IEEE 1394, 20 indépendamment de la nature du flux de données audio/vfdéo (MPEG2, DV, ... ) reçus sur un canal isochrone donné. Un autre algorithme spécifique au cas d'un flux MPEG2 ou DV est présenté ci-après, en relation avec la figure 7. We now present, in relation to FIG. 6, an example of an algorithm implemented by a bridge gate, in order to analyze the fields of an IEEE 1394 packet, independently of the nature of the audio / vfdeo data stream. (MPEG2, DV, ...) received on a given isochronous channel. Another algorithm specific to the case of an MPEG2 or DV stream is presented below, in relation to FIG. 7.
Au sein de la porte de pont, l'algorithme de la figure 6 est appliqué par les blocs " filtre de paquet en réception " (Rx packet filter) et " gestion de paquet en émission " 25 (Tx packet management), référencés 516 et 532 respectivement sur la figure 3. Within the bridge door, the algorithm of FIG. 6 is applied by the “packet reception filter” (Rx packet filter) and “packet transmission management” blocks 25 (Tx packet management), referenced 516 and 532 respectively in FIG. 3.
Lors de l'étape référencée 801, le pont attend la réception d'un paquet de données. Après réception d'un paquet de données, l'en-tête isochrone 601 est d'abord stocké, au cours de l'étape référencée 802, puis analysé au cours des étapes référencées 803 et 804. Au cours de l'étape référencée 803, le sous-champ TAG 702 est vérifié en 30 premier: s'il contient la valeur 012, cela indique la présence des en-têtes CIPO 603 et CIP1 604 et donc que le paquet 1394 courant transporte un contenu audio/vidéo. Sinon, le paquet 1394 courant ne transporte pas un contenu audio/vidéo et il n'est pas nécessaire de poursuivre son analyse: on passe à l'étape finale référencée 813. Si le paquet 1394 courant transporte un contenu audio/vidéo, on passe à l'étape référencée 804, au cours de laquelle le sous-champ de longueur de données 701 est stocké pour une 5 analyse ultérieure, puis à l'étape référencée 805, au cours de laquelle l'en-tête CIPO 603 est stocké. Le sous-champ DBC 703 est alors vérifié lors de l'étape référencée 806: si sa valeur n'est pas égale à 0002, ceci signifie qu'aucun champ ou sous-champ d'information d'horodatage n'est présent dans le paquet courant et aussi que ce paquet courant n'est pas vide. Dans ce cas, l'analyse du paquet est terminée et on passe à 10 l'étape finale référencée 813. Si le sous-champ DBC 703 contient la valeur 000,2 ceci signifie que le paquet courant peut comprendre un champ ou sous-champ d'information d'horodatage 707 ou 708 ou bien que le paquet est vide. Afin de déterminer si le paquet courant est vide ou non, on soustrait deux de la longueur de données 701 (partie utile du paquet 1394 moins les deux en-têtes CIP 603 et 604), lors de l'étape référencée 807. Si 15 le résultat est zéro, le paquet est reconnu comme un paquet vide (étape référencée 809), puis on reçoit et on stocke l'en-tête CIPI 604 (étape référencée 812), avant de passer à l'étape finale référencée 813. Si le résultat n'est pas zéro, le paquet est reconnu comme un paquet non-vide (étape référencée 808), puis on reçoit et on stocke l'en-tête CIPI 604 (étape référencée 810), et enfin on retrouve la valeur de l'information d'horodatage 20 contenue dans le sous- champ SYT 707 ou dans le champ d'information d'horodatage 708 (étape 811), avant de passer à l'étape finale référencée 813. During the step referenced 801, the bridge waits for the reception of a data packet. After receiving a data packet, the isochronous header 601 is first stored, during the step referenced 802, then analyzed during the steps referenced 803 and 804. During the step referenced 803 , the TAG 702 subfield is checked first: if it contains the value 012, this indicates the presence of the CIPO 603 and CIP1 604 headers and therefore that the current 1394 packet carries audio / video content. Otherwise, the current 1394 packet does not transport audio / video content and it is not necessary to continue its analysis: we go to the final step referenced 813. If the current 1394 packet carries audio / video content, we pass in the step referenced 804, during which the data length subfield 701 is stored for further analysis, then in the step referenced 805, during which the CIPO header 603 is stored. The DBC sub-field 703 is then verified during the step referenced 806: if its value is not equal to 0002, this means that no timestamp information field or sub-field is present in the current package and also that this current package is not empty. In this case, the analysis of the packet is finished and we go to the final step referenced 813. If the DBC subfield 703 contains the value 000.2 this means that the current packet can include a field or subfield 707 or 708 timestamp information or that the package is empty. In order to determine whether the current packet is empty or not, two are subtracted from the data length 701 (useful part of the packet 1394 minus the two CIP headers 603 and 604), during the step referenced 807. If the result is zero, the packet is recognized as an empty packet (step referenced 809), then we receive and store the CIPI header 604 (step referenced 812), before going to the final step referenced 813. If the result is not zero, the packet is recognized as a non-empty packet (step referenced 808), then we receive and store the header CIPI 604 (step referenced 810), and finally we find the value of l timestamp information 20 contained in the SYT sub-field 707 or in the timestamp information field 708 (step 811), before going to the final step referenced 813.
On présente maintenant, en relation avec la figure 7 un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394 comprenant des données d'un flux de données MPEG2 ou DV. We now present, in relation to FIG. 7, an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet comprising data from a MPEG2 or DV data stream.
Au sein de la porte de pont, l'algorithme de la figure 7 est appliqué par les blocs " filtre de paquet en réception " (Rx packet filter) et " gestion de paquet en émission " (Tx packet management), référencés 516 et 532 respectivement sur la figure 3. Within the bridge door, the algorithm of FIG. 7 is applied by the "packet reception filter" (Rx packet filter) and "packet transmission management" (Tx packet management) blocks, referenced 516 and 532. respectively in Figure 3.
Lors de l'étape référencée 901, le pont attend la réception d'un paquet de données sur un canal isochrone 1394 donné. Après réception d'un paquet de données, 30 l'en-tête isochrone 601 est d'abord stocké, au cours de l'étape référencée 902, puis analysé au cours des étapes référencées 903 et 904. Au cours de l'étape référencée 903, le sous-champ TAG 702 est vérifié en premier: s'il contient la valeur 012, cela indique la présence des en-têtes CIPO 603 et CIP1 604 et donc que le paquet 1394 courant transporte un contenu audio/vidéo. Sinon, le paquet 1394 courant ne transporte pas un contenu audio/vidéo et il n'est pas nécessaire de poursuivre son analyse: on passe à 5 l'étape finale référencée 915. Si le paquet 1394 courant transporte un contenu audio/vidéo, on passe à l'étape référencée 916, au cours de laquelle le sous-champ de longueur de données 701 est stocké, puis analysé dans une étape référencée 904 afin de déterminer si le paquet courant est vide ou non. Pour cela on soustrait deux de la longueur de données 701 (partie utile du paquet 1394 moins les deux en-têtes CIP 603 et 10 604). Si le résultat est zéro, le paquet courant est reconnu comme un paquet vide (étape 906), puis les en-têtes CIPO 603 et CIPI 604 sont reçus et stockés (étape 914), avant de passer à l'étape finale référencée 915. Si le résultat est différent de zéro, le paquet courant est reconnu comme un paquet non-vide (étape 905), puis l'en-tête CIPO 603 est reçu (étape 907) et son sous- champ DBC 703 est analysé (étape 908). Si la valeur du 15 sous-champ DBC 703 n'est pas égale à 0002, ceci signifie qu'aucun champ ou souschamp d'information d'horodatage n'est présent dans le paquet courant et aussi que ce paquet courant n'est pas vide. Dans ce cas, l'analyse du paquet est terminée et on passe à l'étape finale référencée 915. Si le sous- champ DBC 703 contient la valeur 0002 ceci signifie que le paquet courant peut comprendre un champ ou sous-champ d'information 20 d'horodatage 707 ou 708. On passe alors à l'étape référencée 909, lors de laquelle l'entête CIPI 604 est reçu et stocké. Puis, le sous-champ FMT 706 est analysé. S'il contient la valeur 0000002, cela signifie que le format audio/vidéo transporté par le paquet courant est le format DV, et l'information d'horodatage est obtenue dans le sous-champ SYT 707 de l'en- tête CIP1 604 (étape 912), avant de passer à l'étape finale référencée 25 915. S'il contient la valeur 1000002, cela signifie que le format audio/vidéo transporté par le paquet courant est le format MPEG2. Le champ " en-tête d'information d'horodatage " 605 est reçu (étape 911), puis l'information d'horodatage est obtenue dans le sous-champ " information d'horodatage " 708 de ce champ " en-tête d'information d'horodatage " 605 (étape 913), avant de passer à l'étape finale référencée 30 915. During the step referenced 901, the bridge waits for the reception of a data packet on a given isochronous channel 1394. After receiving a data packet, the isochronous header 601 is first stored, during the step referenced 902, then analyzed during the steps referenced 903 and 904. During the step referenced 903, the TAG subfield 702 is checked first: if it contains the value 012, this indicates the presence of the CIPO 603 and CIP1 604 headers and therefore that the current 1394 packet carries audio / video content. Otherwise, the current 1394 packet does not carry audio / video content and there is no need to continue its analysis: we go to the final step referenced 915. If the current 1394 packet carries audio / video content, we proceeds to step referenced 916, during which the data length subfield 701 is stored, and then analyzed in a step referenced 904 to determine whether the current packet is empty or not. To do this, subtract two from the data length 701 (useful part of the 1394 packet minus the two CIP headers 603 and 10 604). If the result is zero, the current packet is recognized as an empty packet (step 906), then the CIPO 603 and CIPI 604 headers are received and stored (step 914), before going to the final step referenced 915. If the result is other than zero, the current packet is recognized as a non-empty packet (step 905), then the CIPO header 603 is received (step 907) and its DBC subfield 703 is analyzed (step 908 ). If the value of DBC subfield 703 is not equal to 0002, this means that no time stamp information field or subfield is present in the current packet and also that this current packet is not empty. In this case, the analysis of the packet is finished and we go to the final step referenced 915. If the DBC subfield 703 contains the value 0002 this means that the current packet can include an information field or subfield 20 timestamp 707 or 708. We then go to the step referenced 909, during which the CIPI header 604 is received and stored. Then, the FMT 706 subfield is analyzed. If it contains the value 0000002, this means that the audio / video format transported by the current packet is the DV format, and the timestamp information is obtained in the SYT 707 subfield of the CIP1 604 header. (step 912), before going to the final step referenced 25 915. If it contains the value 1000002, this means that the audio / video format transported by the current packet is the MPEG2 format. The "timestamp information header" field 605 is received (step 911), then the timestamp information is obtained in the "timestamp information" subfield 708 of this "header timestamp" field. timestamp information "605 (step 913), before proceeding to the final step referenced 30 915.
On présente maintenant, en relation avec l'organigramme de la figure 8, un premier mode de réalisation particulier du procédé selon l'invention, avec utilisation d'un seul seuil. On rappelle que ce procédé consiste en un ajustement du flux et une mise à jour des informations d'horodatage. Au sein de la porte de pont, l'algorithme de 5 la figure 8 est appliqué par les blocs " gestion de paquet en émission " (Tx packet management) 532 et " comparaison d'horloge " (Clkcomp) 523, référencés 532 et 523 respectivement sur la figure 3. We now present, in relation to the flow diagram of FIG. 8, a first particular embodiment of the method according to the invention, with the use of a single threshold. It will be recalled that this method consists in adjusting the flow and updating the time stamp information. Within the bridge door, the algorithm of FIG. 8 is applied by the blocks "packet management in transmission" (Tx packet management) 532 and "clock comparison" (Clkcomp) 523, referenced 532 and 523 respectively in Figure 3.
On note CTR, et CTR2 les registres d'horloge se trouvant au niveau des portes Pl et P2 respectivement du pont. A chaque début de cycle au niveau de la porte Pi 10 (lorsque le champ " cycleoffset " de son registre CTR, s'annule) (étape référencée 1102, l'instant ta), la valeur de l'horloge relative à la porte P2 est obtenue. Pour cet instant tn, on calcule la différence DIFFn entre la valeur CTRIn contenue dans le registre d'horloge de la porte Pl et la valeur CTR2J, contenue dans le registre d'horloge de la porte P2. Puis, au cours de l'étape référencée 1104, on calcule la dérive d'horloge 15 An = DIFF, - DIFFref, avec DIFFrCf une valeur de différence de référence. We denote CTR, and CTR2 the clock registers located at the doors Pl and P2 respectively of the bridge. At each cycle start at the door Pi 10 (when the "cycleoffset" field of its register CTR, is canceled) (step referenced 1102, the instant ta), the value of the clock relating to the door P2 is obtained. For this instant tn, the difference DIFFn is calculated between the value CTRIn contained in the clock register of gate P1 and the value CTR2J, contained in the clock register of gate P2. Then, during the step referenced 1104, the clock drift 15 An = DIFF, - DIFFref is calculated, with DIFFrCf a reference difference value.
Lors du premier calcul de DIFFn (c'est-à-dire DIFF.), on a: DIFFC, = DIFFo (étapes référencées 1103 et 1116). During the first calculation of DIFFn (that is to say DIFF.), We have: DIFFC, = DIFFo (steps referenced 1103 and 1116).
Il est à noter que pour un pont connectant un bus IEEE 1394 à un réseau commuté (voir ci-dessus la description de la figure 2), il n'y a pas d'émission de paquets 20 de début de cycle du côté du réseau commuté. Afin d'assurer que les horloges de tous les noeuds du réseau commuté sont synchronisées, on effectue par exemple un ajustement du compteur local de chaque noeud, comme décrit dans la demande de brevet FR 2 793 623 publiée le 17 novembre 2000. It should be noted that for a bridge connecting an IEEE 1394 bus to a switched network (see description of FIG. 2 above), there is no transmission of packets at the start of the cycle on the network side. switched. In order to ensure that the clocks of all the nodes of the switched network are synchronized, an adjustment of the local counter of each node is carried out, for example, as described in patent application FR 2 793 623 published on November 17, 2000.
Après le calcul de la dérive d'horloge, on passe à l'étape référencée 1105, au 25 cours de laquelle est appliqué l'un des algorithmes décrits ci-dessus en relation avec les figures 6 et 7, dès qu'un paquet 1394 est reçu provenant du bus référencé 146. Après que l'analyse du paquet a été effectuée, l'information d'horodatage est mise à jour lors de l'étape référencée 1107, si le paquet n'est pas vide (vérification effectuée lors de l'étape référencée 1106). Cette mise à jour consiste à soustraire la dérive d'horloge An à 30 l'information d'horodatage du paquet courant (ou à chacune des informations d'horodatage du paquet courant si celui-ci en comprend plusieurs). L'étape de mise à jour 1107 n'est pas exécutée si le paquet est vide. Lors de l'étape référencée 1108, on détermine si la valeur absolue de la dérive d'horloge est supérieure ou non à un seuil prédéterminé. Ce seuil est par exemple égal à un tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 41,7 gs). Si la valeur absolue de la dérive d'horloge est inférieure ou égale 5 au seuil, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1115) avant le passage à l'étape finale référencée 1117. Si la valeur absolue de la dérive d'horloge est supérieure au seuil, on vérifie le signe de la dérive d'horloge au cours de l'étape référencée 1110. After calculating the clock drift, we go to the step referenced 1105, during which one of the algorithms described above is applied in relation to FIGS. 6 and 7, as soon as a 1394 packet is received from the bus referenced 146. After the analysis of the packet has been performed, the timestamp information is updated during the step referenced 1107, if the packet is not empty (verification carried out during the step referenced 1106). This update consists in subtracting the clock drift An from the time stamp information of the current packet (or from each of the time stamp information of the current packet if the latter comprises several). Update step 1107 is not executed if the package is empty. During the step referenced 1108, it is determined whether or not the absolute value of the clock drift is greater than a predetermined threshold. This threshold is for example equal to one third of an IEEE 1394 cycle time (i.e. 41.7 gs). If the absolute value of the clock drift is less than or equal to the threshold, no adjustment is made and the packet is delivered normally (step referenced 1115) before going to the final step referenced 1117. If the absolute value of the clock drift is greater than the threshold, the sign of the clock drift is verified during the step referenced 1110.
Si la dérive d'horloge est positive, ceci signifie, que l'écart entre les deux 10 domaines d'horloge augmente. Dans ce cas, l'ajustement du flux (compensation de la dérive d'horloge) est effectué en générant et en insérant un paquet vide (étapes référencées 1111 et 1112), à la place du paquet 1394 courant. Ce dernier sera transmis pendant le cycle isochrone suivant. If the clock drift is positive, this means that the difference between the two clock domains increases. In this case, the flow adjustment (compensation for clock drift) is carried out by generating and inserting an empty packet (steps referenced 1111 and 1112), in place of the current 1394 packet. The latter will be transmitted during the next isochronous cycle.
Si la dérive d'horloge est négative, ceci signifie, que l'écart entre les deux 15 domaines d'horloge se réduit. Dans ce cas, on vérifie si le paquet courant est un paquet vide ou non (étape référencée 1113). Si le paquet courant est vide, il est supprimé (c'està-dire pas envoyé) et le paquet suivant est envoyé à la place (étape référencée 1114). If the clock drift is negative, this means that the difference between the two clock domains is reduced. In this case, it is checked whether the current packet is an empty packet or not (step referenced 1113). If the current packet is empty, it is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1114).
Puis la nouvelle différence DIFF11 calculée lors de l'étape référencée 1102 devient la différence de référence DIFFref (étape référencée 1109), avant le passage à l'étape finale 20 référencée 1117. Si le paquet courant n'est pas vide, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée l 15) avant le passage à l'étape finale référencée 1117. Then the new difference DIFF11 calculated during the step referenced 1102 becomes the reference difference DIFFref (step referenced 1109), before passing to the final step 20 referenced 1117. If the current packet is not empty, no adjustment is necessary. 'is performed and the package is delivered normally (step referenced l 15) before proceeding to the final step referenced 1117.
On présente maintenant, en relation avec l'organigramme de la figure 9, un second mode de réalisation particulier du procédé selon l'invention, avec utilisation de 25 deux seuils. A second particular embodiment of the method according to the invention is now presented, in relation to the flow diagram of FIG. 9, with the use of two thresholds.
Les étapes référencées 1201 à 1207 sont identiques aux étapes 1101 à 1107 de la figure 8, décrites ci-dessus. Elles ne sont donc pas décrites à nouveau. The steps referenced 1201 to 1207 are identical to steps 1101 to 1107 in FIG. 8, described above. They are therefore not described again.
Lors de l'étape référencée 1207, on détermine si la valeur absolue de la dérive d'horloge est supérieure ou non à un premier seuil prédéterminé. Ce premier seuil est 30 par exemple égal à un tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 41,7 gs). During the step referenced 1207, it is determined whether or not the absolute value of the clock drift is greater than a first predetermined threshold. This first threshold is for example equal to one third of an IEEE 1394 cycle time (that is to say 41.7 gs).
Si la valeur absolue de la dérive d'horloge est inférieure ou égale au premier seuil, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1216) avant le passage à l'étape finale référencée 1218. If the absolute value of the clock drift is less than or equal to the first threshold, no adjustment is made and the packet is delivered normally (step referenced 1216) before passing to the final step referenced 1218.
Si la valeur absolue de la dérive d'horloge est supérieure au premier seuil, on 5 vérifie le signe de la dérive d'horloge au cours de l'étape référencée 1209. Si la dérive d'horloge est positive, ceci signifie, que l'écart entre les deux domaines d'horloge augmente. Dans ce cas, l'ajustement du flux (compensation de la dérive d'horloge) est effectué en générant et en insérant un paquet vide (étapes référencées 1210 et 121 1), à la place du paquet 1394 courant. Ce dernier sera transmis pendant le cycle isochrone 10 suivant. En outre, la nouvelle différence DIFFn calculée lors de l'étape référencée 1202 devient la différence de référence DIFreF (étape référencée 1215). If the absolute value of the clock drift is greater than the first threshold, the sign of the clock drift is checked during the step referenced 1209. If the clock drift is positive, this means that l The gap between the two clock domains increases. In this case, the flow adjustment (compensation for clock drift) is carried out by generating and inserting an empty packet (steps referenced 1210 and 121 1), in place of the current 1394 packet. The latter will be transmitted during the next isochronous cycle 10. In addition, the new difference DIFFn calculated during the step referenced 1202 becomes the reference difference DIFreF (step referenced 1215).
Si la dérive d'horloge est négative, ceci signifie, que l'écart entre les deux domaines d'horloge se réduit. Dans ce cas, on détermine si la dérive d'horloge est supérieure ou non à un second seuil prédéterminé (aussi appelé valeur critique), lors de 15 l'étape référencée 1212. Ce second seuil est par exemple égal aux deux tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 83,4 is). If the clock drift is negative, this means that the difference between the two clock domains is reduced. In this case, it is determined whether or not the clock drift is greater than a second predetermined threshold (also called critical value), during the step referenced 1212. This second threshold is for example equal to two thirds of a IEEE 1394 cycle time (i.e. 83.4 is).
Si la dérive d'horloge est inférieure ou égale au second seuil, on détermine si le paquet courant est un paquet vide ou non (étape référencée 1213). Si le paquet courant est vide, il est supprimé (c'est-à- dire pas envoyé) et le paquet suivant est envoyé à la 20 place (étape référencée 1214), puis on effectue l'étape référencée 1215 (voir ci- dessus: DIFFref = DIFF.) avant de passer à l'étape finale référencée 1218. Si le paquet courant n'est pas vide, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1216) avant le passage à l'étape finale référencée 1218. If the clock drift is less than or equal to the second threshold, it is determined whether the current packet is an empty packet or not (step referenced 1213). If the current packet is empty, it is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1214), then the step referenced 1215 is performed (see above) : DIFFref = DIFF.) Before going to the final step referenced 1218. If the current package is not empty, no adjustment is made and the package is delivered normally (step referenced 1216) before going to final step referenced 1218.
Si la dérive d'horloge est supérieure au second seuil, le paquet courant est 25 supprimé (c'est-à-dire pas envoyé) et le paquet suivant est envoyé à la place (étape référencée 1214), puis on effectue l'étape référencée 1215 (voir ci-dessus: DIFFrf = DIFFJ) avant de passer à l'étape finale référencée 1218. If the clock drift is greater than the second threshold, the current packet is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1214), then the step is carried out referenced 1215 (see above: DIFFrf = DIFFJ) before proceeding to the final step referenced 1218.
On présente maintenant, en relation avec l'organigramme de la figure 10, un exemple d'algorithme mis en oeuvre par une porte de pont, lorsque se produit une 30 initialisation du bus auquel elle est connectée. We now present, in relation to the flowchart of FIG. 10, an example of algorithm implemented by a bridge door, when an initialization of the bus to which it is connected occurs.
La troisième norme précitée (" IEEE P1394.1 Standard for High Performance Serial Bus Bridges ") décrit le processus de mise à jour de réseau, permettant d'organiser un ensemble de bus IEEE 1394 formant un réseau. Une porte de pont est sélectionnée en tant que porte principale (" prime portal ") et est en charge d'énumérer 5 les bus du réseau. L'horloge du domaine d'horloge auquel appartient la porte principale est l'horloge maître de référence (" Net Cycle Master ") pour l'ensemble du réseau. The third standard mentioned above ("IEEE P1394.1 Standard for High Performance Serial Bus Bridges") describes the network update process, making it possible to organize a set of IEEE 1394 buses forming a network. A bridge door is selected as the main door ("prime portal") and is responsible for listing the 5 buses in the network. The clock of the clock domain to which the main door belongs is the reference master clock ("Net Cycle Master") for the entire network.
Toutes les horloges du réseau doivent se synchroniser avec cette l'horloge maître de référence. Dans ce but, ainsi que pour détecter et éliminer des boucles dans le réseau, des portes alpha (" alpha portals ") sont sélectionnées pour tous les bus du réseau, 10 excepté le bus de la porte principale. Chacune de ces portes alpha est notamment en charge d'assurer, grâce à des messages d'ajustement d'horloge, que son horloge locale est synchronisée avec l'horloge du bus connecté à l'autre porte (" co-portal ") du pont dans lequel est compris cette porte alpha. All the clocks on the network must synchronize with this reference master clock. For this purpose, as well as for detecting and eliminating loops in the network, alpha gates ("alpha portals") are selected for all the buses in the network, except the bus of the main gate. Each of these alpha doors is in particular responsible for ensuring, thanks to clock adjustment messages, that its local clock is synchronized with the clock of the bus connected to the other door ("co-portal") of the bridge in which this alpha gate is included.
Les deuxième et troisième normes précitées (" IEEE Std 1394-1995, Standard 15 for High Performance Serial Bus " et " IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ") décrivent les processus d'auto-identification et d'identification par arborescence qui sont effectués après qu'une initialisation de bus se soit produite sur un bus IEEE 1394. Dans un souci de simplification, ces processus ne sont pas représentés sur la figure 10. The second and third standards mentioned above ("IEEE Std 1394-1995, Standard 15 for High Performance Serial Bus" and "IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement)") describe the self-identification processes and identification by tree structure which are carried out after a bus initialization has occurred on an IEEE 1394 bus. For the sake of simplification, these processes are not shown in FIG. 10.
Lorsqu'une initialisation de bus se produit (étape référencée 1300), la porte de pont réinitialise un indicateur représentant la méthode de synchronisation, de façon que celui-ci indique une méthode par défaut (par exemple, celle définie dans la troisième norme précitée IEEE P1394.1) (étape référencée 1301). Puis, la porte vérifie si elle est sélectionnéeen tant que porte alpha pour le bus auquel elle est connectée (étape 25 référencée 1302). Dans la négative, le processus est terminé et on passe à l'étape finale référencée 1307. Dans l'affirmative, la porte obtient les caractéristiques de l'équipement hébergeant l'horloge maître du bus local (étape référencée 1303), afin de vérifier si cet équipement est conforme à la norme IEEE P1394.1 (c'est-à-dire s'il peut " voir " les ponts et donc recevoir les messages d'ajustement d'horloge précités) (étape référencée 30 1304). Ces caractéristiques sont stockées dans une mémoire " Configuration ROM " de l'équipement. Si l'équipement hébergeant l'horloge maître du bus local est conforme à la norme IEEE P1394.1, la méthode de synchronisation selon la norme IEEE P1394.1 est sélectionnée (étape référencée 1305). Sinon, la méthode d'ajustement de flux selon la présente invention est sélectionnée (étape référencée 1306). When a bus initialization occurs (step referenced 1300), the bridge door resets an indicator representing the synchronization method, so that it indicates a default method (for example, that defined in the aforementioned third standard IEEE P1394.1) (step referenced 1301). Then, the gate checks if it is selected as an alpha gate for the bus to which it is connected (step 25 referenced 1302). If not, the process is finished and we go to the final step referenced 1307. If so, the door obtains the characteristics of the equipment hosting the master clock of the local bus (step referenced 1303), in order to verify if this equipment complies with the IEEE P1394.1 standard (that is to say if it can "see" the bridges and therefore receive the above-mentioned clock adjustment messages) (step referenced 30 1304). These characteristics are stored in a memory "Configuration ROM" of the equipment. If the equipment hosting the local bus master clock complies with the IEEE P1394.1 standard, the synchronization method according to the IEEE P1394.1 standard is selected (step referenced 1305). Otherwise, the flow adjustment method according to the present invention is selected (step referenced 1306).
On présente maintenant, en relation avec l'organigramme de la figure 11, un 5 exemple d'algorithme mis en oeuvre par une porte de pont, lorsqu'un indicateur de méthode de synchronisation courante est modifié. We now present, in relation to the flowchart of FIG. 11, an example of an algorithm implemented by a bridge door, when a current synchronization method indicator is modified.
Cet algorithme est effectué par chaque porte de pont, pour chaque direction de traversée du pont par un flux de données. En fonction de l'indicateur de méthode sélectionnée (étape référencée 1311), la porte applique la méthode de synchronisation 10 selon la norme IEEE P1394.1 (étape référencée 1312) ou la méthode d'ajustement de flux selon la présente invention (étape référencée 1313). This algorithm is performed by each bridge door, for each direction of crossing of the bridge by a data stream. Depending on the method indicator selected (step referenced 1311), the door applies the synchronization method 10 according to the IEEE P1394.1 standard (step referenced 1312) or the flow adjustment method according to the present invention (step referenced 1313).
Quand la méthode de synchronisation selon la norme IEEE P1394.1 est sélectionnée, seul la porte de pont qui est une porte alpha est concernée et est en charge de la transmission des messages d'ajustement d'horloge quand une dérive d'horloge est 15 détectée (conformément à la norme IEEE P1394,1). When the synchronization method according to the IEEE P1394.1 standard is selected, only the bridge gate which is an alpha gate is concerned and is in charge of the transmission of the clock adjustment messages when a clock drift is 15 detected (in accordance with IEEE P1394.1 standard).
Quand la méthode selon la présente invention est sélectionnée, les deux portes du pont sont concernées, chacune pour une direction de traversée du pont. When the method according to the present invention is selected, the two doors of the bridge are concerned, each for a direction of crossing the bridge.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0303664A FR2853173B1 (en) | 2003-03-25 | 2003-03-25 | METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0303664A FR2853173B1 (en) | 2003-03-25 | 2003-03-25 | METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2853173A1 true FR2853173A1 (en) | 2004-10-01 |
FR2853173B1 FR2853173B1 (en) | 2006-01-06 |
Family
ID=32947160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0303664A Expired - Fee Related FR2853173B1 (en) | 2003-03-25 | 2003-03-25 | METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2853173B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942556A2 (en) * | 1998-03-12 | 1999-09-15 | Sony Corporation | Synchronizing method and bridge |
EP1047213A2 (en) * | 1999-04-22 | 2000-10-25 | Nec Corporation | Network synchronization system and network synchronization method |
EP1052793A1 (en) * | 1999-05-11 | 2000-11-15 | Canon Kabushiki Kaisha | Method and device for the synchronisation between two networks |
US20020009049A1 (en) * | 2000-02-16 | 2002-01-24 | Sony Corporation | Method and apparatus for transferring data, and storage medium |
-
2003
- 2003-03-25 FR FR0303664A patent/FR2853173B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942556A2 (en) * | 1998-03-12 | 1999-09-15 | Sony Corporation | Synchronizing method and bridge |
EP1047213A2 (en) * | 1999-04-22 | 2000-10-25 | Nec Corporation | Network synchronization system and network synchronization method |
EP1052793A1 (en) * | 1999-05-11 | 2000-11-15 | Canon Kabushiki Kaisha | Method and device for the synchronisation between two networks |
US20020009049A1 (en) * | 2000-02-16 | 2002-01-24 | Sony Corporation | Method and apparatus for transferring data, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
FR2853173B1 (en) | 2006-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7366754B2 (en) | Multi-media jitter removal in an asynchronous digital home network | |
KR100825171B1 (en) | Multi-media jitter removal in an asynchronous digital home network | |
EP1072166B1 (en) | Method of and apparatus for isochronous data communication | |
EP1303954B1 (en) | Multi-media jitter removal in an asynchronous digital home network | |
US7483451B2 (en) | Multi-media jitter removal in an asynchronous digital home network | |
US20050036512A1 (en) | Timestamping network controller for streaming media applications | |
FR3004878A1 (en) | DISTRIBUTED METHOD OF ACQUIRING DATA IN AN AFDX NETWORK. | |
EP0293314A1 (en) | Method and system for controlling the flow of data packets | |
FR2804812A1 (en) | METHOD AND DEVICE FOR COMMUNICATION BETWEEN A FIRST AND A SECOND NETWORK | |
FR2998125A1 (en) | METHOD FOR TRANSMITTING DATA PACKETS BETWEEN TWO COMMUNICATION MODULES AND TRANSMITTER MODULE AND RECEIVER MODULE | |
US7319704B2 (en) | Semiconductor device capable of correcting time stamp and method of correcting time stamp | |
FR2790892A1 (en) | METHOD AND DEVICE FOR CONTROLLING THE SYNCHRONIZATION BETWEEN TWO SERIAL COMMUNICATION BUSES OF A NETWORK | |
FR2853173A1 (en) | Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data | |
FR2850508A1 (en) | Numerical bus heterogeneous network access control has access level each first packet and second packet formed first packet and associated same access level inserting level second packet access field | |
FR2848056A1 (en) | Audiovisual domestic digital bus heterogeneous network destination node information synchronization having input node second synchronization packet set following first packet and inserting synchronization mark second packet | |
FR2762172A1 (en) | Signal processing circuit receiving packet data from application side for transfer to serial bus | |
WO2002007436A1 (en) | Method and device for reading mpeg recorded data transmitted on an ieee 1394 bus | |
FR2839227A1 (en) | Video data transmission procedure uses proportion of correctly transmitted packets determined at each frame start to adjust rate for wired to radio network transfer | |
FR2793624A1 (en) | Communication network method for synchronization between 2 communication networks exchanging data by frame of informations uses clockm and several clock pulses monitored by counter and uses read information to make synchronization | |
FR2842682A1 (en) | Isochronous data stream connection setting method for digital bus networks uses bridge system with parameterizable delay | |
EP0788716A1 (en) | Digital data packet multiplexer, in particular for digital television | |
FR2760918A1 (en) | RADIOCOMMUNICATION TERMINAL FOR THE PROCESSING OF DATA, INTERNET SERVERS AND ELECTRONIC MESSAGING IN PARTICULAR | |
FR2793625A1 (en) | Communication network method for synchronization between 2 communication networks exchanging data by frame of informations uses clockm and several clock pulses monitored by counter and uses read information to make synchronization | |
FR2831745A1 (en) | Isochronous domestic TV distribution set up procedure equalises sub flow delays | |
FR2949030A1 (en) | Source and destination applications synchronization method for synchronous time division multiplexing network, involves delaying presentation of data such that total elapsed time between data transmission and presentation is equal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20141128 |