FR2915338A1 - Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants - Google Patents

Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants Download PDF

Info

Publication number
FR2915338A1
FR2915338A1 FR0702790A FR0702790A FR2915338A1 FR 2915338 A1 FR2915338 A1 FR 2915338A1 FR 0702790 A FR0702790 A FR 0702790A FR 0702790 A FR0702790 A FR 0702790A FR 2915338 A1 FR2915338 A1 FR 2915338A1
Authority
FR
France
Prior art keywords
cycle
data
network
node
transmission
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.)
Withdrawn
Application number
FR0702790A
Other languages
English (en)
Inventor
Pierre Visa
Laurent Frouin
Arnaud Closset
Kolli Yacine Smail El
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0702790A priority Critical patent/FR2915338A1/fr
Priority to US12/054,911 priority patent/US8243751B2/en
Priority to EP08103199A priority patent/EP1983691B1/fr
Priority to JP2008108303A priority patent/JP4701263B2/ja
Priority to CN2008100922189A priority patent/CN101291208B/zh
Priority to KR1020080035825A priority patent/KR100977653B1/ko
Publication of FR2915338A1 publication Critical patent/FR2915338A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/204Multiple access
    • H04B7/212Time-division multiple access [TDMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6448Medium Access Control [MAC]
    • H04L2012/6451Deterministic, e.g. Token, DQDB

Abstract

L'invention concerne un Procédé d'émission d'au moins un contenu de données par un noeud émetteur (110), associé à une application génératrice, vers au moins un noeud récepteur (111), chacun associé à une application consommatrice, dans un réseau de communication (1000) comprenant une pluralité de noeuds, chacun étant associé à une application, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau.Selon l'invention, chaque noeud du réseau met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre ledit noeud du réseau et son application associée, ledit cycle réseau étant égal à un multiple entier P, P >= 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus.

Description

Procédé d'émission et de réception de contenus de données dans un réseau
de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui des transmissions de contenus de données dans un réseau de communication. L'invention concerne notamment la transmission de contenus dans un réseau de communication sans-fil synchrone et plus particulièrement la transmission de contenus dans un système de transmission radio à 60 GHz.
Les systèmes de transmission radio à 60 GHz sont particulièrement bien adaptés pour la transmission de données à très haut débit sur courtes distances. Par exemple, un tel système de transmission est bien adapté à la connectivité entre les différents éléments d'un home cinema (ou cinéma à domicile en français). En effet, pour ce cas d'utilisation, la portée de la transmission est limitée à une dizaine de mètres, mais les débits mis en jeux sont très élevés, parfois au-delà du gigabit par seconde, de part la nature (aussi bien audio que vidéo) et la haute résolution de l'information transmise. De manière à limiter la puissance nécessaire à la transmission de données dans un système radio à 60 GHz, il est préférable d'utiliser des antennes orientables électroniquement. Ces antennes sont en fait des matrices de points électromagnétiques activés de manière à définir un angle (ou orientation) d'émission et/ou de réception des données. Dans un tel réseau de communication, il est nécessaire de pouvoir supporter simultanément plusieurs applications audiovisuelles concurrentes de manière synchrone. Un tel réseau est par exemple : - un home cinema (ou cinéma à domicile en français) avec des haut-parleurs sans fils (réseau de type point vers multipoint) ; - un réseau à base de multiples sources vidéo connectées à un dispositif d'affichage (réseau de type multipoint vers point) ; - un réseau à base de multiples sources vidéo connectées à de multiples dispositifs d'affichage (réseau de type multipoint vers multipoint). 2. Solutions de l'art antérieur De manière à pouvoir gérer plusieurs applications audiovisuelles concurrentes de manière synchrone, le réseau de communication doit être capable d'assurer un temps de latence induit par la transmission des données d'un noeud source vers un ou plusieurs noeud(s) récepteur(s) qui est fixe et déterminé. En effet, dans le cas par exemple d'une application home cinema, une donnée audio devant être diffusée par plusieurs haut-parleurs devra être présentée par le réseau de communication aux couches de traitement des données audio (ou applications) des haut-parleurs de manière simultanée. Le réseau de communication doit ainsi être capable : -de reproduire la vitesse d'échantillonnage de données en sortie des noeuds récepteurs ; - synchroniser la présentation de données en sortie de multiples noeuds récepteurs.
Ces pré-requis imposent alors que : - toutes les horloges de référence des noeuds sont synchronisées entre elles ; - le temps de transmission dans le réseau est limité à une valeur fixe et prédéterminée ; - des moyens sont mis en oeuvre afin de présenter des données à un instant prédéfini et précis. Dans les réseaux de communication implémentant des applications synchrones concurrentes, les techniques d'horodatage sont largement mises en oeuvre afin de présenter aux couches de traitement des données (ou applications) à des instants prédéterminés et précis les données transmises. De manière simplifiée, un horodatage est associé par le dispositif émetteur à chaque donnée et est communiqué aux noeuds récepteurs. Après réception des données et de l'horodatage associé, le noeud récepteur peut comparer la valeur de son horloge locale avec la valeur indiquée dans l'horodatage, et ainsi assurer la présentation des données aux couches de traitement des données (ou applications) à un instant précis, déterminé par la source. Une telle technique d'horodatage et par exemple décrite dans le document IEC 611883-4 Matériel audio/vidéo grand public û Interface numérique û Partie 4: Transmission de données MPEG2-TS . Cependant, l'horodatage présente plusieurs inconvénients. Tout d'abord, il nécessite d'introduire des données supplémentaires dans chaque paquet ce qui conduit à une réduction de la bande passante utile et augmente la taille des mémoires tampon ( buffer ) de réception. De plus, l'horodatage nécessite des moyens de traitement additionnels afin de comparer la valeur de l'horloge locale avec l'instant de présentation souhaité, des moyens de synchroniser les différentes horloges des noeuds du réseau de communication afin qu'elles fassent référence à un même temps absolu. Une telle référence à un même temps absolu peut être obtenue par exemple par numérotation des cycles d'horloge en utilisant un registre synchronisé de comptage de cycles Cycle Time Register , tel que défini dans la norme IEEE 1394 IEEE Standard for a High Performance Serial Bus, IEEE1394-1995 utilisée en complément de la norme IEC 61883 précitée.
Un noeud maître (ou cycle master en anglais) copie alors la valeur de son registre Cycle Time Register dans ceux des autres noeuds du réseau par le biais d'un message d'indication de début de cycle Cycle Start Packet , assurant ainsi la synchronisation à phase constante de tous les noeuds du réseau. Tous les noeuds ont ainsi une même référence horaire et, par horodatage des données, peuvent assurer la présentation des données transmises aux couches de traitement des données (ou applications) à des instants prédéterminés et précis. Il est alors possible d'assurer un temps de transmission constant dans un réseau de communication en divisant un cycle réseau en intervalles de temps fixes et en allouant à chaque noeud un ensemble d'intervalles de temps pour la communication des données, chaque noeud émettant ainsi à tour de rôle à des moments prédéterminés dans un cycle du réseau de communication. Une telle technique est connue sous le nom de TDM pour Time Division Multiplex ou TDMA Time Division Multiple Access , fréquemment utilisée dans les réseaux de communication sans-fil. Cependant une telle technique présente des inconvénients. En effet, dans un réseau de communication où un même noeud récepteur peut être en communication simultanée avec plusieurs sources, nécessitant une orientation d'antenne différente selon le noeud source émettant, comme cela peut être le cas dans un système de transmission radio à 60GHz, l'intervalle de temps d'attente ( gap en anglais) entre chaque intervalle de temps de communication devient non négligeable dans un cycle du réseau de communication, tout particulièrement quand les intervalles de temps de communication sont courts. Le mode de transmission en rafale (ou mode burst en anglais) est alors particulièrement avantageux dans le cas où les noeuds du réseau nécessitent un temps d'orientation d'antenne important (par rapport à la durée d'un cycle du réseau). Afin de limiter le nombre des commutations, le mode de transmission en rafale permet de transmettre une large quantité de données dans une même trame. De ce fait, le temps dédié aux commutations est négligeable devant le temps dédié aux émissions / réceptions de données et la bande passante du réseau est ainsi efficacement utilisée. Cependant, une telle solution ne permet pas d'obtenir des intervalles de temps de communication par noeud suffisamment courts et précis pour permettre d'éviter l'utilisation d'horodatage de données. 3. Objectifs de l'invention L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir, dans un réseau de communication comprenant plusieurs noeuds récepteurs recevant au moins un contenu de données, une technique permettant d'assurer que soit présenté, en sortie des noeuds récepteurs, au moins une partie dudit au moins un contenu de données à un instant prédéterminé et précis, ladite technique ne mettant pas en oeuvre d'horodatage, ledit instant prédéterminé et précis étant le même, lorsqu'au moins deux noeuds récepteurs présentent sur leur sortie la même partie du même contenu de données. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de mettre en oeuvre une telle technique qui permette de rendre négligeable l'intervalle de temps d'attente entre chaque intervalle de temps de communication entre les noeuds sources et les noeuds récepteurs du réseau. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de mettre en oeuvre une telle technique qui soit compatible avec un réseau de communication mettant en oeuvre des communications de type N vers N, c'est-à-dire de type multipoint vers multipoint. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de mettre en oeuvre une telle technique qui puisse être mise en oeuvre pour un ou plusieurs flux synchrones, chacun étant associé à une vitesse d'échantillonnage déterminée. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de mettre en oeuvre une telle technique qui puisse être mise en oeuvre pour tout type de flux synchrone à toute vitesse d'échantillonnage. L'invention, dans au moins un de ses modes de réalisation, a encore pour objectif de mettre en oeuvre une telle technique qui soit simple à mettre en oeuvre et pour un faible coût. 4. Exposé de l'invention Dans un mode de réalisation particulier de l'invention, il est proposé un procédé d'émission d'au moins un contenu de données par un noeud émetteur, associé à une application génératrice, vers au moins un noeud récepteur, chacun associé à une application consommatrice, dans un réseau de communication comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau.
Selon l'invention, le noeud émetteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P a 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et le noeud émetteur effectue les étapes suivantes : - concaténation des données obtenues de l'application génératrice associée audit noeud émetteur pendant les intervalles de temps correspondant aux canaux virtuels affectés à la transmission dudit ou desdits contenus sur un nombre P de cycles locaux consécutifs, afin de former au moins un bloc de données concaténées ; - émission sur le réseau de communication dudit ou desdits bloc(s) de données concaténées, lors d'un temps de parole affecté audit noeud émetteur pendant un cycle réseau ultérieur prédéterminé. Le principe général de l'invention consiste à mettre en oeuvre, dans le cadre de la transmission d'au moins un contenu dans un réseau de communication mettant en oeuvre un premier cadencement qui définit un cycle, dit cycle réseau, de transmission de données sur le réseau, un second cadencement qui définit un cycle, dit cycle local (ou cycle TDM), de transmission de données au sein des noeuds du réseau, le cycle réseau étant égal à un multiple entier P, P a 1, du cycle local (ou cycle TDM), le début du cycle réseau coïncidant avec le début d'un cycle local (ou cycle TDM), le cycle local (ou cycle TDM) comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affecté à la transmission du ou des contenus. De plus, le noeud émetteur effectue les étapes suivantes : - concaténation des données obtenues de l'application génératrice associée audit noeud émetteur pendant chacun des canaux virtuels affectés à la transmission du ou des contenus sur un nombre P de cycles locaux (ou cycles TDM) consécutifs, afin de former au moins un bloc de données ; - émission sur le réseau de communication du ou des bloc(s) de données concaténées, lors d'un temps de parole affecté audit noeud émetteur pendant un cycle réseau ultérieur prédéterminé.
Ainsi, tel qu'expliqué ci-après en relation avec la figure 2A, du fait notamment que le cycle réseau est un multiple du cycle local (ou cycle TDM) de chaque noeud du réseau, et que les données après concaténation par un noeud émetteur sur un ensemble prédéterminé de cycles locaux (ou cycles TDM) sont émises dans un cycle réseau prédéterminé, l'invention, dans au moins un de ses modes de réalisation, permet de fournir une technique permettant d'assurer que soit présentée, en sortie d'au moins deux des noeuds du réseau, au moins une partie d'un des contenus de données à un instant prédéterminé et précis, ladite technique ne mettant pas en oeuvre d'horodatage. Cet instant prédéterminé et précis est le même, lorsqu'au moins deux noeuds récepteurs présentent sur leur sortie la même partie du contenu de données. Par ailleurs une telle technique est compatible avec un réseau de communication mettant en oeuvre des communications de type multipoint vers multipoint ou des communications de type point vers multipoint.
En outre, une telle technique peut être mise en oeuvre pour un ou plusieurs flux synchrones, chacun étant associé à une vitesse d'échantillonnage déterminée et peut être mise en oeuvre pour tout type de flux synchrone à toute fréquence d'échantillonnage. Préférentiellement, l'étape de concaténation s'effectue sur un nombre P de cycles locaux consécutifs coïncidant avec un cycle réseau. La concaténation des données s'effectue alors pendant un cycle réseau, ce qui permet d'envoyer les blocs de données ainsi formés pendant le prochain cycle réseau quelque soit la position du temps de parole du noeud émetteur dans une séquence de transmission de données sur le réseau.
Avantageusement, l'étape de concaténation comprend une étape d'insertion d'au moins une information, dite information de bourrage, lorsque aucune donnée n'est obtenue de l'application génératrice associée audit noeud émetteur pendant le ou les intervalle(s) de temps correspondant(s) à au moins un desdits canaux virtuels, dit(s) canal ou canaux virtuel(s) vide(s), affecté(s) à la transmission dudit ou desdits contenu.
Par exemple, un noeud écrit un symbole nul (information de bourrage) dans le cas où il n'a pas d'échantillon de données obtenues de l'application génératrice dans un canal virtuel qui était affecté en écriture (c'est-à-dire un canal virtuel destiné à la transmission de données d'un des contenus fournis par l'application génératrice vers le réseau de communication). L'introduction de tels symboles nul rend la durée des cycles locaux (ou cycles TDM) adaptée à un large spectre de fréquences d'échantillonnage utilisées par l'application génératrice, tout en garantissant la délivrance des données à l'application consommatrice à un instant précis et déterminé. En effet, une fréquence d'échantillonnage qui n'est ni un multiple ni un sous-multiple de la fréquence de cadencement du cycle local (ou cycle TDM) fait que pendant certains intervalles de temps (ou canaux virtuels) l'application génératrice ne fourni pas de données. Lorsque le noeud émetteur génère un symbole nul, identifiant une rupture dans le flot de données en provenance de l'application génératrice, le noeud récepteur peut cependant conserver la synchronisation de la fourniture des données à l'application consommatrice (utilisant une fréquence identique à la fréquence utilisée par l'application génératrice) en reproduisant la rupture identifiée dans le flot de données. Préférentiellement, une partie de l'information de bourrage est de taille égale à la quantité de données que le noeud émetteur peut obtenir pendant le ou les intervalle(s) de temps correspondant(s) audit canal ou auxdits canaux virtuel(s) vide(s) et ladite partie de l'information de bourrage est insérée dans un desdits blocs de données comme si elle avait été reçue de ladite application génératrice pendant le canal ou les canaux virtuel(s) vide(s).
L'information de bourrage (ou une partie) est alors d'une taille équivalente à celle des données transmises pendant un canal virtuel et s'insère dans la trame émise par le noeud émetteur sur le réseau, ce qui permet de garantir une taille constante de trames émises par le noeud émetteur sur le réseau de communication quelque soit la fréquence d'échantillonnage de l'application génératrice, et donc de faciliter la synchronisation du flux de données avec l'application consommatrice par le noeud récepteur. Avantageusement, ladite étape de concaténation comprend une étape d'entrelacement de données qui effectue un regroupement, afin de former un conteneur, par canal virtuel des données obtenues de l'application génératrice pendant le nombre P de cycles locaux consécutifs. Les données sont ainsi regroupées selon leur canal virtuel utilisé dans le cycle local (ou cycle TDM) du noeud émetteur (qui équivaut au canal virtuel utilisé dans le cycle local (ou cycle TDM) du noeud récepteur). Il est alors possible d'appliquer des mécanismes de correction d'erreur par groupement (ou conteneur) ainsi réalisé, afin d'éviter qu'une erreur produite sur le réseau de transmission n'affecte l'ensemble des contenus en cours de transmission. Dans le cadre d'une application home cinéma, cela permet qu'une erreur de transmission sur le réseau affecte seulement le contenu d'un canal audio restitué par un haut-parleur, sans affecter les contenus de canaux audio restitués par les autres haut-parleurs. L'invention concerne aussi un procédé de réception d'au moins un contenu de données par un noeud récepteur, associé à une application consommatrice, provenant d'au moins un noeud émetteur, chacun associé à une application génératrice, dans un réseau de communication comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau. Selon l'invention, le noeud récepteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et le noeud récepteur effectue les étapes suivantes : - réception en provenance du réseau de communication d'au moins un bloc(s) de données concaténées, lors d'un temps de parole affecté à au moins un desdits noeud émetteurs ; -extraction, du ou des bloc(s) de données concaténées reçus, de données associées à un canal virtuel, dit canal virtuel de lecture, desdits canaux virtuels affectés à la transmission dudit ou desdits contenus ; - à partir d'un cycle réseau ultérieur prédéterminé, fourniture des données extraites à l'application consommatrice associée au noeud récepteur, pendant l'intervalle de temps correspondant audit canal virtuel de lecture pendant la durée d'un nombre P de cycles locaux consécutifs. Ainsi, le noeud récepteur de blocs de données en provenance du réseau de communication fournit ces données à l'application consommatrice dans un canal virtuel (canal virtuel affecté en lecture) déterminé et pendant un cycle local (ou cycle TDM) déterminé. Les données accusent alors, entre le moment où elles sont obtenues par le noeud émetteur de la part de l'application génératrice et le moment où elles sont fournies par le noeud récepteur à l'application consommatrice, un délai fixe et déterminé, sans qu'aucune information d'horodatage ne soit utilisée. Avantageusement, chaque noeud récepteur met en oeuvre une étape de détection de la présence, dans ledit bloc de données, d'au moins une information, dite information de bourrage, associée(s) à au moins un canal virtuel affecté à la transmission dudit ou desdits contenus, la ou lesdites information(s) de bourrage n'étant pas fournie(s) à l'application consommatrice pendant l'étape de fourniture. Le noeud récepteur, sur détection d'une information de bourrage associée à un canal virtuel donné, ne fournit pas à l'application consommatrice de données pendant le canal virtuel donné et ainsi permet de conserver la synchronisation de l'application consommatrice et de l'application génératrice, même si leur fréquence d'échantillonnage n'est ni un multiple ni un sous-multiple de la fréquence de cadencement du cycle local (ou cycle TDM). Préférentiellement, une partie de la ou des information(s) de bourrage est de taille égale à la quantité de données que le noeud récepteur peut fournir pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées. L'information de bourrage (ou une partie) est alors d'une taille équivalente à celle des données transmises pendant un canal virtuel et est insérée dans la trame émise par le noeud émetteur sur le réseau, ce qui permet de garantir une taille constante de trames émises par le noeud émetteur sur le réseau de communication quelque soit la fréquence d'échantillonnage de l'application génératrice, et donc de faciliter la synchronisation du flux de données avec l'application consommatrice par le noeud récepteur.
Préférentiellement, le noeud récepteur efface la ou les information(s) de bourrage pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées. Les données reçues pendant un cycle réseau peuvent alors être stockées dans une FIFO dans l'ordre suivant lequel elles devront être émises pendant P cycles locaux (ou cycles TDM) et le noeud récepteur, sur détection d'un début de canal virtuel affecté en lecture, pourra extraire les prochaines données disponibles de la FIFO, analyser si elles correspondent à une information de bourrage et si tel est le cas, effacer ces données pendant le lapse de temps du canal virtuel concerné, les données suivantes étant ainsi prêtes à être transmises à l'application consommatrice au prochain canal virtuel affecté en lecture. Avantageusement, ladite étape d'extraction comprend une étape de désentrelacement de données, qui identifie des regroupements, dits conteneurs, par canal virtuel, de données obtenues d'une application génératrice associée à un desdits noeuds émetteurs, et qui réordonne les données par cycle local de fourniture à l'application consommatrice du noeud récepteur. Les données sont ainsi regroupées selon leur canal virtuel utilisé dans le cycle local (ou cycle TDM) du noeud émetteur (qui équivaut au canal virtuel utilisé dans le cycle local (ou cycle TDM) du noeud récepteur). Il est alors possible d'appliquer des mécanismes de correction d'erreur par groupement (ou conteneur) ainsi réalisé, afin d'éviter qu'une erreur produite sur le réseau de transmission n'affecte l'ensemble des contenus à fournir par le noeud récepteur à l'application consommatrice. L'invention concerne également un produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur comprenant des instructions de code de programme pour la mise en oeuvre du procédé d'émission tel que précédemment décrit et/ou du procédé de réception tel que précédemment décrit.
L'invention concerne également un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé d'émission tel que précédemment décrit et/ou le procédé de réception tel que précédemment décrit.
L'invention concerne également un noeud émetteur, associé à une application génératrice, ledit noeud émetteur comprenant des moyens d'émission d'au moins un contenu de données vers au moins un noeud récepteur, chacun associé à une application consommatrice, dans un réseau de communication comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau. Selon l'invention, le noeud émetteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P z 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et les moyens d'émission comprennent : - des moyens de concaténation des données obtenues de l'application génératrice associée audit noeud émetteur pendant les intervalles de temps correspondant aux canaux virtuels affectés à la transmission dudit ou desdits contenus sur un nombre P de cycles locaux consécutifs, afin de former au moins un bloc de données concaténées ; - des moyens d'émission sur le réseau de communication dudit ou desdits bloc(s) de données concaténées, lors d'un temps de parole affecté audit noeud émetteur pendant un cycle réseau ultérieur prédéterminé. les moyens de concaténation sont activés sur un nombre P de cycles locaux 10 consécutifs coïncidant avec un cycle réseau. Avantageusement, les moyens de concaténation comprennent des moyens d'insertion d'au moins une information, dite information de bourrage, lorsque aucune donnée n'est obtenue de l'application génératrice associée audit noeud émetteur pendant le ou les intervalle(s) de temps correspondant(s) à au moins un 15 des canaux virtuels, dit(s) canal ou canaux virtuel(s) vide(s), affecté(s) à la transmission dudit ou desdits contenus. Préférentiellement, une partie de l'information de bourrage est de taille égale à la quantité de données que le noeud émetteur peut obtenir pendant le ou les intervalle(s) de temps correspondant(s) audit canal ou auxdits canaux virtuel(s) 20 vide(s) et le noeud émetteur comprend des moyens d'insertion de ladite partie de l'information de bourrage dans un desdits blocs de données comme si elle avait été reçue de ladite application génératrice pendant le canal ou les canaux virtuel(s) vide(s). Avantageusement, les moyens de concaténation comprennent des moyens 25 d'entrelacement de données qui effectue un regroupement, afin de former un conteneur, par canal virtuel des données obtenues de l'application génératrice pendant le nombre P de cycles locaux consécutifs. L'invention concerne également un noeud récepteur associé à une application consommatrice, ledit noeud récepteur comprenant des moyens de 30 réception d'au moins un contenu de données provenant d'au moins un noeud émetteur, chacun associé à une application génératrice, dans unréseau de communication comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau.
Selon l'invention, le noeud récepteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et les moyens de réception comprennent : - des moyens de réception en provenance du réseau de communication d'au 15 moins un bloc(s) de données concaténées, lors d'un temps de parole affecté à au moins un desdits noeud émetteurs ; - des moyens d'extraction, du ou des bloc(s) de données concaténées reçus, de données associées à un canal virtuel, dit canal virtuel de lecture, desdits canaux virtuels affectés à la transmission dudit ou desdits contenus ; 20 - des moyens de fourniture, à partir d'un cycle réseau ultérieur prédéterminé, des données extraites à l'application consommatrice associée au noeud récepteur, pendant l'intervalle de temps correspondant au canal virtuel de lecture pendant la durée d'un nombre P de cycles locaux consécutifs. 25 Les avantages des produit programme d'ordinateur, moyen de stockage, noeud émetteur et noeud récepteur sont sensiblement les mêmes que ceux des procédé d'émission et procédé de réception tel que précédemment décrits. Préférentiellement, le noeud récepteur comprend des moyens de détection de la présence, dans ledit bloc de données, d'au moins une information, dite 30 information de bourrage, associée(s) à au moins un canal virtuel affecté à la transmission dudit ou desdits contenus, la ou lesdites information(s) de bourrage n'étant pas fournie(s) à l'application consommatrice par les moyens de fourniture. Avantageusement, une partie de la ou des information(s) de bourrage est de taille égale à la quantité de données que le noeud récepteur peut fournir pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées. Préférentiellement, le noeud récepteur comprend des moyens d'effacement de la ou des information(s) de bourrage pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées. Avantageusement, les moyens d'extraction comprennent des moyens de désentrelacement de données, lesdits moyens de désentrelacement comprenant des moyens d'identification de regroupements, dits conteneurs, par canal virtuel, de données obtenues d'une application génératrice associée à un desdits noeuds émetteurs, et des moyens permettant de réordonner les données par cycle local de fourniture à l'application consommatrice du noeud récepteur. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un schéma d'un réseau de communication dans lequel peut être mis en oeuvre des procédés d'émission et de réception selon un mode de réalisation particulier conforme à l'invention ; - les figures 2A et 2B présentent des exemples de graphiques de l'évolution temporelle d'échantillons de données audio dans le noeud WSC et dans un noeud WAS du réseau la figure 1 selon le mode de réalisation particulier de l'invention ; la figure 3 présente un schéma d'un cycle de transmission du réseau maillé sans fil de la figure 1 selon le mode de réalisation particulier de l'invention la figure 4 présente le schéma d'un noeud générique du réseau maillé sans fil selon le mode de réalisation particulier de l'invention ; la figure 5 illustre la génération de signaux (ou événements) TDM_cycle_start et SF_cycle_start par le gestionnaire de bus TDM du noeud générique conformément au mode de réalisation particulier de l'invention la figure 6 illustre les échanges entre le gestionnaire de bus TDM, le dispositif d'insertion de valeurs nul , l'ensemble de FIFOs SSTF, l'ensemble de FIFOs SMTF et la FIFO SyncTF_to_MAC dans le noeud générique selon le mode de réalisation particulier de l'invention ; la figure 7 illustre les échanges entre le gestionnaire de bus TDM, le dispositif d'analyse de valeurs nul , l'ensemble de FIFOs SSRF, l'ensemble de FIFOs SMRF et la FIFO SyncRF_from_MAC dans le noeud générique selon le mode de réalisation particulier de l'invention ; la figure 8 présente un exemple d'architecture du registre de répartition TDM (registre TDM_MAP) selon le mode de réalisation particulier de l'invention la figure 9 présente un exemple d'architecture de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention ; - la figure 11 présente un exemple d'architecture des registres de multiplexage/démultiplexage mux_demux des conteneurs selon le mode de réalisation particulier de l'invention ; la figure 12 présente les étapes principales d'un algorithme de traitement mis en oeuvre par le gestionnaire de bus TDM sur la période d'un cycle réseau selon le mode de réalisation particulier de l'invention ; les figures 13A et 13B présentent les étapes principales d'algorithmes de traitement mis en oeuvre par le dispositif d'insertion de valeurs nul (figure 13A) et par le dispositif d'analyse de valeurs nul (figure 13B) selon le mode de réalisation particulier de l'invention ; la figure 14 présente les étapes principales d'un algorithme de traitement mis en oeuvre par le module de gestion de conteneurs en transmission de l'adaptateur MAC selon le mode de réalisation particulier de l'invention la figure 15 présente les étapes principales d'un algorithme de traitement mis en oeuvre par le module de transmission vers la couche MAC de l'adaptateur MAC selon le mode de réalisation particulier de l'invention la figure 16 présente les étapes principales d'un algorithme de traitement mis en oeuvre par le module de réception depuis la couche MAC de l'adaptateur MAC selon le mode de réalisation particulier de l'invention -la figure 17 présente les étapes principales d'un algorithme de traitement mis en oeuvre par le module de réception vers le bus TDM de l'adaptateur MAC selon le mode de réalisation particulier de l'invention ; 6. Description d'un mode de réalisation de l'invention Selon une application particulière des procédés d'émission et de réception selon un mode de réalisation particulier de l'invention, on se place dans la suite dans le cadre d'un réseau de communication 1000 qui est un réseau home cinema (ou home theater ) de type 5.1 illustré par la figure 1. Bien entendu, l'invention s'applique également dans le cadre d'un réseau home cinema de type 7.1. Bien entendu, le procédé de selon au moins un autre mode de réalisation de l'invention peut être également mis en oeuvre dans tout réseau de communication dans lequel il est nécessaire d'implémenter simultanément plusieurs applications synchrones concurrentes, tel que par exemple l'un des réseaux suivants : - un réseau à base de multiples sources vidéo connectées à un dispositif d'affichage (réseau de type multipoint vers point) ; - un réseau à base de multiples sources vidéo connectées à de multiples dispositifs d'affichage (réseau de type multipoint vers multipoint). Dans le cadre du réseau home cinema 5.1 1000, les haut-parleurs sont connectés à la source audio grâce à un réseau maillé sans fil 101.
Le réseau home cinema 5.1 1000 comprend un terminal source audiovidéo 102 (par exemple un lecteur DVD), un écran de télévision 103, un premier haut-parleur 104, dit haut-parleur central 104, un second haut-parleur 105, dit caisson de basse 105, un troisième haut-parleur 106, dit haut-parleur avant-gauche 106, un quatrième haut-parleur 107, dit haut-parleur avant-droit 107, un cinquième haut-parleur 108, dit haut-parleur d'ambiance droit 108 et un sixième haut-parleur 109, dit haut-parleur d'ambiance gauche 109. Chaque haut-parleur joue l'un des six canaux audio délivrés par le terminal source 102. Afin de réaliser le réseau maillé sans fil 101, on met en oeuvre un contrôleur d'ambiance sans fil 110 ci-après désigné par noeud WSC (pour Wireless Surround Controller ) 110 et des premier, second, troisième, quatrième, cinquième et sixième noeuds actifs sans fil 111, ci-après désignés par noeuds WAS (pour Wireless Active Speaker ) 111, chacun étant associé à un des haut-parleurs précités.
La fonction d'un noeud WAS 111 est de réaliser une interface entre le haut-parleur auquel il est associé et le noeud WSC 110 dans le réseau maillé sans fil 101. Chaque noeud WAS 111 est connecté au haut-parleur auquel il est associé grâce à un câble coaxial 116. Pour un noeud WAS 111 donné, en fonction de l'emplacement de l'amplificateur et du convertisseurs numérique / analogique (dans le noeud WAS ou dans le haut-parleur), le câble 116 transporte des signaux audio numérique ou analogique. Chacun des noeuds WAS 111 et noeud WSC 110 est alimenté grâce à une prise de courant 113 (cette prise de courant n'est pas représentée pour chacun des noeuds 110, 111 sur la figure 1) et comprend une antenne 112 afin de mettre en oeuvre des communications sans fil. L'antenne 112 est préférentiellement une antenne électromagnétique commandée électroniquement. Le noeud WSC 110 reçoit des flux audio-vidéo transmis par le terminal source audio-vidéo 102 au moyen d'un câble 115 puis il transmet, grâce à une communication sans fil, les données audio numériques issues des flux audio-vidéo reçues à l'ensemble des haut-parleurs et il transmet, grâce à un câble 114, les données vidéo numériques issues des flux audio-vidéo reçues à l'écran de télévision 103. Par exemple, les câbles 114 et 115 sont des câbles conformes au protocole HDMI (pour High Definition Multimedia Interface ). Le terminal source 102 ou le noeud WSC 110 comprennent un décodeur de canal audio afin d'identifier et de séparer les échantillons de données audio de chaque canal. De plus, ils comprennent un processeur d'ambiance pour appliquer des modifications aux échantillons audio en fonction des caractéristiques acoustiques de la pièce. Afin d'améliorer la compacité du système, le noeud WSC 110 peut être intégré dans le terminal source 102 et chaque noeud WAS 111 peut être intégré dans le haut-parleur auquel il est associé. Dans le cadre du présent réseau 1000, les contraintes temporelles suivantes sont critiques : - le décalage temporel relatif entre le signal audio et le signal vidéo issu d'un même contenu audio-vidéo doit être minimisé : - le décalage temporel relatif entre l'émission des différents haut-parleurs (ou entre les canaux audio) doit être minimisé. Le décalage temporel relatif entre le signal audio et le signal vidéo issu d'un même contenu audio-vidéo, généralement appelé synchronisation de lèvres (ou lip synchronization en anglais) doit être minimisé. Pour le confort de l'utilisateur, le décalage temporel relatif entre le signal audio et le signal vidéo doit rester dans l'intervalle s'étendant entre -30ms et +IOOms. Dans le cas de connexions sans fil, les émetteurs/récepteurs radio ajoutent des décalages temporels dus à la transmission, ainsi le signal audio est décalé relativement au signal vidéo. Si ce décalage devient supérieur à 100ms, alors il est nécessaire de retarder le signal vidéo à la sortie du terminal source 102. Dans le réseau home cinema 1000, la distance entre le ou les postes d'écoute pour l'utilisateur et le haut-parleur varie généralement en fonction du haut-parleur considéré. Du fait de la vitesse de propagation du son dans l'air (environ 343 m/s), le temps de propagation de l'onde sonore depuis le haut- parleur jusqu'au poste d'écoute est différent pour chaque canal audio. Par exemple, une différence de trajet de propagation de 34cm entre deux canaux audio implique un décalage temporel de lms à la réception des deux canaux audio. Ainsi, de sorte à conserver des décalages temporels relatifs entres les canaux audio acceptables (inférieurs à 100 s), la plupart des systèmes home cinema implémentent un mécanisme de compensation automatique de ces décalages temporels. Lors de l'installation du réseau maillé 101, une attention particulière doit être apportée au respect de ces contraintes temporelles. La présente invention permet de garantir que le temps de transmission dans le réseau est fixe. Par ailleurs dans le cadre du réseau 1000, la compensation des décalages temporels dus aux effets de distance est réalisée à la sortie des noeuds WAS 111. Ainsi, chaque noeud WAS 111 délivre simultanément, à leur couche application consommatrice (ou réceptrice), un échantillon audio provenant d'une application génératrice (ou émettrice) du WSC 110 après un retard fixé et commun aux noeuds WAS. La compensation des décalages temporels dus aux effets de distance est réalisée dans chaque WAS avant l'entrée dans l'étage d'amplification. Dans le cadre du réseau 1000 de cette figure 1, on réalise une communication de type 1 vers N (N=6), c'est-à-dire point vers multipoint, depuis le noeud WSC 110 vers les 6 noeuds WAS 111. Avantageusement, chacun des noeud WSC et WAS est capable d'émettre et de recevoir des données, ce qui permet d'établir des communications de type N vers N, c'est-à-dire multipoint vers multipoint. On se place dans la suite dans le cadre de la diffusion dans le réseau 1000, via le noeud WSC, d'une application qui est par exemple un contenu audio. Les procédés d'émission et de réception selon l'invention (décrit de manière plus détaillée en relation avec les figures 12 à 18) est mis en oeuvre sous la forme d'un logiciel et/ou d'une pluralité de sous logiciels (comprenant une pluralité d'algorithmes décrits ci-après) qui est (sont) exécuté(s) dans plusieurs machines du réseau 1000, par exemple dans le noeud WSC 110 et les noeuds WAS On présente, en relation avec les figure 2A et 2B, des exemples de graphiques de l'évolution temporelle d'échantillons de données audio dans le noeud WSC 110 et dans un noeud WAS 111 du réseau 1000 la figure 1.
Tel qu'illustré par la figure 2A (donnant une illustration globale sur tout le réseau 1000 des procédés d'émission et réception selon l'invention), le noeud WSC 110 génère le cadencement d'un premier bus TDM (pour Time Division Multiplexing ) 201 représenté sur un axe temporel. Dans le cadre de ce premier bus TDM, des événements de démarrage de cycle TDM sont représentés par des flèches 202 et les événements d'identification de démarrage de cycle (cycle réseau) de transmission sur le réseau maillé sans fil 101 sont représentés par des flèches 203. Dans cette figure 2, parmi les premier WAS1, second WAS2, troisième WAS3, quatrième WAS4, cinquième WAS5 et sixième WAS6 noeuds WAS 111, seul le second noeud WAS WAS2 est représenté ; il génère le cadencement d'un second bus TDM 221. Chacun des premier WAS1, second WAS2, troisième WAS3, quatrième WAS4, cinquième WAS5 et sixième WAS6 noeud WAS est associé respectivement à des premier canal audio (ci-après référencé canal 1), second canal audio (ci-après référencé canal 2), troisième canal audio (ci-après référencé canal 3), quatrième canal audio 4 (ci-après référencé canal 4), cinquième canal audio (ci-après référencé canal 5) et sixième canal audio (ci-après référencé canal 6). Il est à noter que, dams le cas d'une application home cinema, un même canal audio peut être transmit à deux haut-parleurs (effet surround simple). Chaque événement 223 d'indentification de démarrage de cycle réseau dans le second bus TDM 221 du noeud WAS2 est synchronisé sur l'événement 203 d'identification de démarrage de cycle réseau du premier bus TDM 201 dans le noeud WSC 110. Dans le cadre de ces exemples, il y a huit cycles TDM référencés TDMO à TDM7 pendant un cycle du réseau maillé sans fil 101, dont le début est marqué par un démarrage de cycle réseau.
Une super trame dans le réseau maillé sans fil 101 comprend sept trames MAC 210 à 216, chacune correspondant à une émission de données effectuée par l'un des noeuds WSC, WAS 1, WAS2, WAS3, WAS4, WAS5 et WAS6 dans le réseau maillé 101 pendant un cycle réseau. Une première trame MAC 210 est émise par le noeud WSC 110, une seconde trame MAC 211 est émise par le noeud WAS 1, une troisième trame MAC 212 est émise par le noeud WAS2, une quatrième trame MAC 213 est émise par le noeud WAS3, une cinquième trame MAC 214 est émise par le noeud WAS4, une sixième trame MAC 215 est émise par le noeud WAS5 et une septième trame MAC 216 est émise par le noeud WAS6.
Dans le noeud WSC 110, les échantillons audio pour les canaux audio canal 1 à canal 6 sont collectés respectivement dans des première FIFO (pour First In First Out ) de transmission de flux de données 205.1 associée au canal 1, seconde FIFO de transmission de données 205.2 associée au canal 2, troisième FIFO 205.3 associée au canal 3, quatrième FIFO 205.4 associée au canal 4, cinquième FIFO 205.5 associée au canal 5 et sixième FIFO 205.6 associée au canal 6. Dans le cadre de ces exemples, un cycle TDM (de l'un des premier 201 et second 221 bus TDM) présente une durée fixée à 125 s et la fréquence d'échantillonnage audio est égale à 96 kHz. Ce qui signifie qu'à chaque cycle TDM, il y a douze nouveaux échantillons audio par canal disponible dans les FIFOs 205.1 à 205.6 du noeud WSC 110. Tel que plus précisément illustré par la figure 2B (donnant une illustration particulière au niveau du noeud WSC 110 du procédé d'émission selon l'invention), le noeud WSC 110, remplit les cycles TDM 204 du premier bus 201 à partir des données collectées dans les FIFOs 205.1 à 205.6. Pour ce faire, un cycle TDM (d'une durée de 125 s) 204 est décomposé en un certain nombre de canaux virtuels correspondant à des intervalles temporels (ou time slots en anglais), par exemple 100 canaux virtuels VCO à VC99 ; ainsi, en prenant par exemple une capacité de canal virtuel égale à la taille d'un échantillon audio (par exemple 24 bits), 72 de ces canaux virtuels sont préalablement alloués ou dédiés (selon une séquence prédéterminée stockée dans un registre TDM_MAP de répartition TDM, par exemple accessible par chacun des noeuds du réseau 101, tel qu'indiqué ci-après en relation avec la figure 4 et que décrit ci-après en relation avec la figure 8) à un canal audio (soit pour une opération d'écriture soit pour une opération de lecture). Les 28 canaux virtuels restants sont libres et pourront être utilisés pour transférer d'autres contenus de données. On entend par opération de lecture d'un canal au sein d'un noeud de communication une opération d'obtention d'une donnée issue du réseau de communication et à destination d'une application consommatrice, et on entend par opération d'écriture d'un canal au sein d'un noeud de communication une opération d'obtention d'une donnée issue d'une application génératrice et à destination du réseau de communication. Ainsi, pour le noeud WSC, les 72 canaux virtuels réservés au contenu audio sont alloués en écriture, alors que pour chaque WAS, 12 de ces 72 canaux virtuels sont alloués en lecture (chaque WAS ayant 1 canal audio à faire reproduire par le haut-parleur auquel il est associé). Ainsi, la séquence prédéterminée indique par exemple que : le premier canal virtuel VCO du cycle 204 est alloué au second canal audio 2 associé à la seconde FIFO 205.2 et ainsi, pendant le canal virtuel VCO, le noeud WSC récupère un échantillon de la seconde FIFO 205.2 ; le second canal virtuel VC1 du cycle 204 est alloué au troisième canal audio 3 associé à la troisième FIFO 205.3 et ainsi, pendant le canal virtuel VC1, le noeud WSC récupère un échantillon de la troisième FIFO 205.3 ; - le soixante et onzième canal virtuel VC71 du cycle 204 est alloué au quatrième canal 4 associé à la quatrième FIFO 205.4 et ainsi, pendant le canal virtuel VC71, le noeud WSC récupère un échantillon de la quatrième FIFO 205.4. Puis, le noeud WSC récupère les données écrites par les applications pendant les huit cycles TDM constituant un cycle du réseau maillé 101, les concatène (par exemple au moyen d'une technique d'entrelacement) afin de réaliser un ensemble concaténé qu'il place dans une mémoire interne 206. Puis, ces données sont envoyées dans une trame MAC 210 au prochain temps de parole accordé au noeud WSC pendant le cycle C+l du réseau maillé 101. De la même manière à chacun des noeuds WAS 1 à WAS6 est accordé (ou affecté) un temps de parole pendant lequel le noeud concerné émet un trame MAC (respectivement 211 à 216). Le temps de parole accordé (ou affecté) à un noeud est défini par : un instant de démarrage, qui dépend de l'instant auquel le noeud le précédent dans la séquence de transmission a cessé d'émettre, auquel est ajouté un intervalle de temps d'attente (pour permettre la réorientation des antennes et compenser la gigue ( jitter en anglais) inhérente au réseau sans-fil 101 ; - une durée, qui dépend du nombre de données que le noeud doit transmettre (mode rafale). Les paquets concaténés envoyés par le noeud WSC sont reçus par l'ensemble des noeuds WAS1 à WAS6, chacun récupérant les données qui lui sont destinées. Par exemple, le noeud WAS2 place dans une mémoire interne 207 le paquet concaténé précité envoyé par le noeud WSC avant de répartir les paquets de données de ce paquet concaténé sur le second bus TDM 221, et d'en extraire les données qui lui sont destinées.
La figures 2A illustre notamment l'obtention des échantillons audio présentés sur le bus TDM pendant la durée d'un cycle référencé C du réseau maillé 101 et envoyés en mode rafales par le WSC 110 pendant le cycle référencé C+1 suivant. Au démarrage du premier cycle TDM du cycle référencé C+1 du réseau maillé 101, les FIFOs 205.1 à 205.6 sont lues au rythme des canaux virtuels d'écriture alloués dans le bus TDM 201 et l'ensemble est transféré dans la mémoire 206. Ceci est répété pendant 8 cycles TDM avec des nouveaux échantillons audio disponibles dans les FIFOs 205.1 à 205.6. A la fin du huitième cycle TDM du cycle référencé C+1 du réseau maillé 101, la mémoire 206 comprend les échantillons audio collectés pendant les huit cycles TDM ce qui correspond à la durée d'un cycle du réseau maillé 101. Il a, au total, douze échantillons multiplié par six canaux multiplié par huit cycles TDM, ce qui fait 576 échantillons audio. Au prochain temps de parole accordé au noeud WSC du cycle réseau C+2, le WSC 110 émet, dans le réseau maillé sans fil 101, une trame MAC 210 qui comprend les 576 échantillons audio précités dans ses données utiles. Chaque noeud WAS et notamment le noeud WAS2 reçoit la trame MAC 210 envoyée par le noeud WSC 110. L'instant de début de réception de la trame MAC 210 émise par le WSC indique au noeud WAS concerné le début d'un cycle du réseau maillé 101. Chaque noeud WAS synchronise le début du cycle TDM suivant de son bus TDM sur cette indication. L'ensemble des bus TDM des noeuds WAS du réseau maillé est ainsi synchronisé sur le cadencement du bus TDM du noeud WSC 110. Dans le présent cas, on considère que chaque noeud WAS a reçu les trames MAC provenant du noeud WSC à la fin du cycle réseau C+l. La figure 2A présente notamment une mémoire de réception 207 comprise dans le noeud WAS2 (chaque noeud WAS comprend une telle mémoire interne). Cette mémoire de réception 207 comprend les données provenant de la trame MAC 210 transmise par le noeud WSC : 576 échantillons audio précédemment émis par le noeud WSC pendant le cycle C du réseau maillé 101.
Lors de l'occurrence d'un événement de démarrage de cycle 223 du réseau maillé 101, chaque noeud WAS met en oeuvre l'extraction des données issues du cycle réseau précédent et stockées dans sa mémoire interne (par exemple la mémoire de réception 207 pour le noeud WAS2). Tel qu'illustré par la figure 2, le noeud WAS2 utilise les canaux virtuels de lecture alloués sur son bus TDM 221 afin de transférer les échantillons audio pour le canal 2 depuis la mémoire de réception 207 vers une FIFO de réception de flux synchrones 209. Les canaux virtuels de lecture alloués sur le bus TDM d'un WAS pour le transfert de données associées à un canal audio donné correspondent aux canaux virtuels d'écriture alloués sur le bus TDM du WSC 110 pour le transfert de ces mêmes données audio du canal audio donné.
Ainsi, en se référant à la figure 2B, le canal virtuel VC1 du bus TDM du WSC 110 est affecté à l'écriture des données du canal audio 2 (récupération des données de l'application génératrice) et le canal virtuel VC1 du bus TDM du noeud WAS2 111 est affecté à la lecture des données du canal audio 2 (présentation des données à l'application consommatrice). Après le premier cycle TDM du cycle réseau C+3 (non représenté) qui succède au cycle réseau C+2, la FIFO 209 comprend douze nouveaux échantillons audio pour le canal audio 2. Ces échantillons audio sont prêts à être délivrés au haut-parleur (application consommatrice) auquel est associé le noeud WAS2 à la vitesse d'échantillonnage de 96kHz. Cette opération est répétée à chaque cycle TDM. Au démarrage de l'application, chaque WAS attend que les douze premiers échantillons audio issus d'un premier cycle TDM de lecture soient présents dans la FIFO de réception, puis commence le transfert des données vers le haut-parleur au démarrage du cycle TDM suivant. En conséquence, chaque noeud WAS associé à un canal donné, peut délivrer les échantillons audio du canal donné à son haut-parleur à un instant prédéterminé et précis identique pour l'ensemble des noeuds WAS. Ainsi, la présente invention, selon au moins un de ses modes de réalisation est basée sur un mécanisme de multiplexage d'intervalles temporels (TDM) de cycles de bus de données internes aux noeuds de communication et pour lequel l'allocation des intervalles temporels en lecture et écriture est répartie sur l'ensemble des noeuds du réseau de communication. Chaque noeud étant cadencé par une horloge locale, les horloges locales des différents noeuds du réseau étant synchronisées en phase et en fréquence.
Chaque cycle TDM comprend un nombre entier M (M étant par exemple au moins égal au nombre de noeuds sur le réseau) de canaux virtuels chacun étant associé à un intervalle temporel dédié à l'écriture par un noeud. Cette condition garantie que chaque noeud a au moins un canal virtuel réservé dans un cycle TDM afin de pouvoir introduire des données dans un cycle TDM afin de communiquer sur le réseau maillé 101. En outre, préférentiellement, le multiplexage temporel TDM est dimensionné (en terme notamment de nombre de canaux virtuels par cycle TDM et de taille, en bits, des canaux virtuels) de sorte à pouvoir absorber les débits de données pics du réseau. Préférentiellement, lors d'un cycle TDM, chaque noeud a : un nombre entier prédéterminé X de canaux virtuels en écriture pour entrer des données (X l) ; un nombre entier prédéterminé Y de canaux virtuels en lecture pour obtenir des données (MaX+Y). Chaque noeud du réseau peut déterminer, grâce à une table de répartition des canaux stockée de manière permanente dans un registre TDM_MAP de répartition TDM415 présent dans chacun des noeud du réseau, à quel noeud sont alloués en écriture les canaux virtuels des cycles TDM. A chaque cycle TDM, chaque noeud utilise les canaux virtuels en écriture qui lui sont alloués pour écrire des échantillons de données dans sa ou ses FIFO(s) de transmission (par exemple la FIFO 206 pour le noeud WAS2). Un noeud écrit un symbole nul dans le cas où il n'a pas d'échantillons de données à écrire dans d'un canal virtuel en écriture qui lui est alloué, c'est-à-dire quand la FIFO applicative (par exemple l'une des FIFO 205.1 à 205.6 pour le WSC) correspondante est vide. L'introduction de tels symboles nul rend ainsi la durée des temps de parole des noeuds sur le réseau de communication 101 indépendante de la fréquence d'échantillonnage de l'application (c'est-à-dire la quantité de données émises par une application). Ainsi, en plus du fait que les noeuds concatènent un ensemble de données de quantité prédéterminée (correspondant au nombre de canaux virtuels qui leur sont alloués en écriture) pendant un nombre de cycle TDM prédéterminé (correspondant à la durée d'un cycle du réseau maillé 101), le temps de parole de chaque noeud sur le réseau maillé 101, en mode rafale, est maîtrisé et déterministe. Pendant un nombre entier P (Pz1) de cycles TDM, chaque noeud concatène les données collectées du bus TDM. La durée de P cycles TDM correspond à la durée d'un cycle du réseau maillé 101. Au terme de ces P cycles TDM, chaque noeud réalise une trame MAC de données comprenant les données concaténées. Puis, au sein du cycle réseau suivant, chaque noeud a successivement accès au réseau maillé pour envoyer sa trame MAC. Chaque noeud reçoit les trames MAC provenant des autres noeuds et stocke les données reçues dans une (des) FIFO de réception. Après une durée fixe, au moins supérieure à la latence du réseau (par exemple la durée d'un cycle réseau), chaque noeud a reçu l'ensemble des trames MAC émises sur le réseau. Ainsi, chaque noeud attend le début du prochain cycle réseau. A cet instant précis (début du prochain cycle réseau), chaque noeud commence à extraire les données reçues dans les canaux virtuels qui lui sont alloués en lecture. Grâce à la table stockée dans le registre TDM_MAP de répartition TDM 415, chaque noeud connaît les canaux virtuels qui lui sont alloués en lecture. A l'occurrence d'un événement identifiant le début d'un canal virtuel en lecture, le noeud (auquel le canal virtuel est alloué) obtient les échantillons de données à partir de la FIFO en réception appropriée. Lorsqu'un symbole nul est détecté, l'échantillon correspondant n'est pas utilisé et est effacé ; tout autre symbole est présenté en sortie du noeud au sein d'un canal virtuel affecté à la présentation à l'application consommatrice du canal audio auquel appartient le symbole. En conséquence, les échantillons de données de l'application sont présentés en sortie de chacun des noeuds (récepteurs de ces échantillons) dans le même ordre qu'ils étaient présentés à l'entrée du noeud (transmetteur de ces échantillons) qui a préalablement reçu l'application. De plus, lorsqu'au moins deux noeuds récepteurs présentent sur leur sortie la même partie du contenu de données, chacun de ces noeuds du réseau présente les échantillons de données de l'application au même instant prédéterminé et précis, car ces échantillons de données sont présentés dans le même intervalle de temps (canal virtuel) du même cycle TDM sur chacun des noeuds récepteurs, les horloges des noeuds récepteurs étant synchronisées en phase et en fréquence. Ainsi, des échantillons de données diffusés sur un réseau peuvent être présentés en sortie d'une pluralité de noeuds du réseau au même instant prédéterminé et précis.
On présente, en relation avec la figure 3, un schéma d'un cycle réseau 313 de transmission dans le réseau maillé sans fil 101. La super trame 300 s'inscrit dans un cycle réseau 313 d'une durée fixe de par exemple lms. Pendant cette durée, chaque noeud WSC ou WAS du réseau 101 envoie, pendant son temps de parole sa trame MAC dans le réseau maillé sans fil 101, selon une séquence d'envoi prédéfinie. Ainsi, la trame 1 est envoyée par le noeud WSC 110 et les seconde (trame 2) à septième (trame 7) trames sont envoyées respectivement par les premier à sixième noeuds WAS. Ces première à septième trames MAC forment la super-trame 300.
La première trame (Trame 1) dans la super-trame 300 correspond à l'envoie de la trame MAC du noeud maître qui est le noeud WSC 110. On appel cette trame la Head trame . Les noeuds WAS 1 à WAS6 étant des noeuds esclaves. En effet, le WSC 110 est le noeud du réseau qui cadence le réseau maillé 101 et définit les cycles du réseau maillé en générant le signal 203 de début de cycle réseau. Chaque trame MAC comprend une entête MAC 308 et un champ de données utiles 309. L'entête MAC 308 comprend trois champs : le champ SF_id 310 qui identifie la super-trame 300 ; le champ MF_id 311 qui identifie la trame MAC dans la séquence de trames dans la super-trame ; le champ NODE_id 312 qui comprend un identifiant du noeud qui envoie la trame MAC. Préférentiellement, des délais d'attente entre les trames, référencés inter_trames 316.1 à 316.7 sont prévus entre les trames Trame 1 à Trame 7 afin d'absorber la gigue générée par les différents noeuds du réseau et afin de permettre le basculement entre le mode émission et le mode réception ou de permettre la réorientation des antennes. On présente, en relation avec la figure 4, le schéma d'un noeud générique 400 du réseau maillé sans fil 101 selon le mode de réalisation particulier de l'invention.
Par exemple, chacun des noeud WSC et noeuds WAS du réseau maillé sans fil 101 est identique au noeud générique 400. Le noeud générique 400 comprend les cinq modules suivants : un module de présentation de données 401 qui est chargé d'obtenir des données auprès d'une application émettrice (ou génératrice) de données et de fournir ou présenter des données à une application réceptrice (ou consommatrice) de données ; un module de gestion TDM 402a qui est chargé d'implémenter un multiplexage temporel de type TDM au sein du noeud du réseau maillé 101 (ce module 402a est utilisé comme une couche de transport par le module de présentation de données 401) ; un module d'adaptation MAC 402b qui permet l'implémentation du réseau maillé sans fil 101 et qui réalise l'adaptation entre l'arrangement sous forme de canaux virtuels du module de gestion TDM 402a et l'arrangement sous forme de trames MAC d'un module de synchronisation MAC 403 ci-après décrit ; le module de synchronisation MAC 403 qui implémente le protocole d'accès au média. Il est en charge de la correction d'erreurs de retransmission et de la synchronisation de l'accès au média. Dans le cas d'un noeud esclave, il fournit de la synchronisation temporelle au module de gestion TDM 402a. Il réalise également de la modulation et de la démodulation sur les données à destination d'un ou provenant d'un module radio 404 ci-après décrit ; le module radio 404 est la partie analogique de l'accès au média. Il est adapté pour communiquer (émettre / recevoir) au moyen d'ondes millimétriques. Les données provenant de l'application émettrice (ou génératrice) sont stockées dans un ensemble de FIFOs de transmission de flux synchrones (ou SSTF pour Synchronous Stream Transmit FIFO ) 408 par l'application émettrice (ou génératrice) à une fréquence référencée par Fs_IN.
Les données à destination de l'application réceptrice sont stockées dans un ensemble de FIFOs de réception de flux synchrones (ou SSRF pour Synchronous Stream Receive FIFO ) 407 par un gestionnaire de bus TDM 414. Ces données sont lues par l'application réceptrice à une fréquence référencée par Fs_OUT. L'application peut envoyer et recevoir des commandes de contrôle grâce à une interface de gestion de commandes 409 et une paire de FIFO comprenant un ensemble de FIFOs de réception de messages synchrones (ou SMRF pour Synchronous Message Receive FIFO ) 410 et un ensemble de FIFOs de transmission de messages synchrones (ou SMTF pour Synchronous Message Transmit FIFO ) 411. Le noeud générique 400 comprend une horloge de référence 405 qui est utilisée par le gestionnaire de bus TDM 414 pour définir les cycles TDM et les cycles réseau. Cette horloge de référence est également utilisée par une boucle à verrouillage de phase (ou PLL) 406 pour générer la fréquence Fs_OUT. La configuration de la boucle à verrouillage de phase (ou PLL) 406 pour la génération de la fréquence Fs_OUT est réalisée par l'interface de gestion de commandes 409. En entrée du noeud générique 400, l'interface de gestion de commandes 409 détecte et transmet la valeur de la fréquence Fs_IN grâce à la FIFO de transmission de messages synchrones 411. Dans un noeud distant (par rapport au noeud 400) l'interface de gestion de commandes de ce noeud distant reçoit cette valeur de la fréquence Fs_IN grâce à la FIFO de réception de messages synchrones de ce noeud distant. Ainsi, le noeud distant peut configurer sa boucle à verrouillage de phase afin de délivrer la même valeur de fréquence.
Le gestionnaire de bus TDM 414 contrôle un bus de données 435 qui interconnecte les FIFOs SSRF 407, SSTF 408, SMRF 410, SMTF 411, un dispositif 416 analyseur de valeurs nul et un dispositif 418 d'insertion de valeurs nul . Le gestionnaire de bus TDM 414 répartit les données de l'application sur des canaux virtuels TDM tel que définis par le registre TDM_MAP de répartition TDM 415 déjà mentionné.
A chaque cycle TDM, le gestionnaire de bus TDM 414 demande au dispositif 418 d'insertion de valeurs nul de lire les données de l'application émettrice à partir soit de la FIFO SSTF 408, soit de la FIFO SMTF 411 pour l'ensemble des canaux virtuels alloués en écriture. Il se peut qu'il n'y ait pas suffisamment de données dans les FIFOs SSTF et SMTF pour satisfaire tous les canaux virtuels alloués, dans ce cas, le dispositif 418 d'insertion de valeurs nul ajoute des symboles nul de manière à combler les canaux virtuels alloués en écriture pour lesquels une quantité de données est manquante. Par ailleurs, à chaque cycle TDM, le gestionnaire de bus TDM 414 demande au dispositif 416 analyseur de valeurs nul d'obtenir les données TDM à partir d'une FIFO SyncRF_from_MAC 417. Ces données sont écrites soit dans la FIFO SSRF 407 soit dans la FIFO SMRF 410 grâce au registre TDM_MAP de répartition TDM 415. Certains canaux virtuels véhiculent des flux de données TDM présentant des symboles nul . Le dispositif 416 analyseur de valeurs nul traite les symboles nul de telle sorte qu'ils ne puissent pas être interprétés par le gestionnaire de bus TDM 414 comme des données d'application. En effet, les symboles nul ayant été insérés par le dispositif 418 d'insertion de valeurs nul , ils ne doivent pas être communiqués à l'application réceptrice (ou consommatrice). Le canal virtuel alloué en lecture correspondant est alors laissé vide. Les symboles nul sont utilisés pour assurer qu'une même quantité de données est envoyé par le noeud générique 400 à chaque cycle réseau, c'est-à-dire que la trame MAC qu'il génère est de taille fixe d'un cycle réseau à l'autre, quelque soit le débit de l'application émettrice (ou génératrice). De plus, l'application réceptrice (ou consommatrice) récupère les données à la fréquence Fs_OUT qui correspond à la fréquence Fs_IN utilisée par l'application émettrice (ou génératrice) pour cadencer l'émission (ou génération) des données, comme précédemment décrit. Les symboles nul ne sont pas transmis à l'application réceptrice (ou consommatrice) de manière à ce qu'elle ne reçoive pas plus de données que ce l'application émettrice avait émises et ainsi éviter tout décalage temporel de réception de données et éviter le débordement ( overflow en anglais) de la FIFO SSRF 407. Les symboles nul permettent aussi d'assurer qu'une donnée sera présentée pendant le même canal virtuel que celui qui avait été utilisé sur le noeud émetteur, un certain nombre de cycles TDM auparavant, pour émettre cette même donnée.
L'adaptateur MAC 428 du module d'adaptation MAC 402b obtient les données issues des canaux virtuels alloués en écriture à partir de la FIFO SyncTF_to_MAC 419 à chaque cycle TDM. Puis, il arrange les canaux virtuels TDM dans des conteneurs qui forment des blocs de données. Les données transportées dans une trame MAC sont groupées en fonction du canal virtuel auquel elles sont associées. Un ensemble de données groupées selon leur canal virtuel d'écriture est appelé conteneur. L'adaptateur MAC 428 a connaissance de l'allocation des canaux virtuels utilisés en écriture (ainsi qu'en lecture) par accès au registre TDM_MAP de répartition TDM 415 par le biais du lien 457. Une fois construits, ces conteneurs, sont transmis à un module 424 d'encodage sous la forme de trames MAC lors de la réception d'un signal référencé Tx_cycle_event 451 (indiquant le début du temps de parole du noeud générique 400) délivré par un contrôleur MAC 420. Ces conteneurs constitueront alors les données utiles 309 de la trame MAC émise par le noeud générique 400. En parallèle, le module d'encodage 424 attribue des valeurs prédéfinies 20 aux champs SF_id 310, MF_id 311 et NODE_id 312 dès que le signal Tx_cycle_event 451 est actif. Puis, avantageusement, une correction de type FEC (pour Forward Error Correction ) peut être mise en oeuvre sur la trame MAC par le module d'encodage 424 avant que la trame MAC soit transmise à un modulateur de trame 25 MAC 425. Réciproquement, une fois qu'une trame MAC est reçue par un démodulateur de trame MAC 422, elle est transmise à un décodeur de trame MAC 423 qui peut mettre en oeuvre une correction de type FEC. Si l'entête de la trame MAC est correcte, une copie référencée 30 frame_Rx_frame_id du champ MF_id 311 de l'entête MAC 308 est envoyée au contrôleur MAC 420 tout en activant un signal référencé frame_Rx_event, par le biais d'un lien 454. Cette information est utilisée ensuite pour la synchronisation du contrôle d'accès. En parallèle, une copie référencée frame_Rx_event du champ SF_id 310 et une copie référencée frame_Rx_Node_id du champ NODE_id 312 de l'entête MAC 308 sont envoyées, par le biais d'un lien 453, à l'adaptateur MAC 428 qui lit les blocs de données du champ données utiles 309 de la trame MAC délivrées par le décodeur de trame MAC 423 et qui les stocke dans une mémoire. L'adaptateur MAC 428 reçoit les données provenant du décodeur de trame MAC 423 sous forme de conteneurs, c'est-à-dire que les données transportées dans une trame MAC sont groupées en fonction du canal virtuel auquel elles sont associées. L'adaptateur MAC 428 est alors en charge de réordonner les données de manière à les injecter dans la FIFO SyncRF_from_MAC 417 en respectant l'ordre selon lequel les données devront être présentées sur le bus 435, cycle TDM après cycle TDM. L'adaptateur MAC 428 a connaissance de l'allocation des canaux virtuels utilisés en lecture (ainsi qu'en écriture) par accès au registre TDM_MAP de répartition TDM 415 par le biais du lien 457. Le contrôleur MAC 420 est chargé de l'implémentation du processus de synchronisation MAC à la fois pour la détermination des débuts de temps de parole (génération du signal Tx_cycle_event 451) et pour la génération du signal représentatif des débuts de cycle réseau pour les noeuds esclaves (signal SF_slave_cycle_start 524). Le signal Tx_cycle_event 451 indiquant l'instant à partir duquel le noeud peut émettre sur le réseau, suivant l'instant auquel le noeud le précédent dans la séquence de transmission a cessé d'émettre, auquel est ajouté un intervalle de temps d'attente (pour permettre la réorientation des antennes et compenser la gigue ( jitter en anglais) inhérente au réseau sans-fil 101. Il est à noter que dans le cas du noeud maître la génération du signal représentatif des débuts de cycle réseau est le signal SF_master_cycle_start 520 et qu'il est généré par le gestionnaire de bus TDM 414. Le contrôleur MAC 420 contrôle également l'orientation de l'antenne 112 en réception, par le biais d'un signal Antenna_Ctrl 455. Il est considéré ici, dans un mode particulier de mise en oeuvre du réseau maillé 101 que les noeuds orientent leurs antennes radio en réception et utilisent leur antenne en mode omnidirectionnel en émission, afin d'assurer que l'ensemble des noeuds reçoivent l'information diffusée par le noeud émetteur tout en limitant la puissance nécessaire à la transmission du signal radio. Un module d'émission RF (pour Radio Fréquence ) 434 implémente les fonctions habituelles d'un émetteur radio : conversion de la fréquence intermédiaire à la sortie du modulateur 425 vers la fréquence de la porteuse utilisée par les transmissions radio (conversion en haute fréquence), amplification, émission via une antenne, ... Un module de réception RF (pour Radio Fréquence ) 433 implémente les fonctions habituelles d'un récepteur radio : réception via une antenne, filtrage, détection de niveau, contrôle de gain automatique, conversion en basse fréquence, ...
On illustre, en relation avec la figure 5, la génération de signaux (ou événements) TDM_cycle_start 531 et SF_cycle_start 532 par le gestionnaire de bus TDM 414 du noeud générique 400 conformément au mode de réalisation particulier de l'invention. Un premier compteur 501 associé à un premier comparateur 504 génère 20 une impulsion à chaque cycle TDM. Le premier compteur 501 est cadencé par l'horloge de référence 405. La sortie du premier compteur 501 est reliée à l'entrée 512 du premier comparateur 504 afin que ce dernier compare cette sortie du premier compteur 501 avec la valeur d'un signal TDM_cycle_duration 513 qui indique la durée d'un cycle 25 TDM. Lorsque le premier compteur 501 atteint la valeur du signal TDM_cycle_duration 513, la sortie 531 du premier comparateur 504 bascule vers la valeur 1 et le premier compteur 501 est initialisé par un signal 530 ci-après décrit. En conséquence, une impulsion sur la sortie 531 est générée à chaque 30 cycle TDM, l'impulsion constituant un signal TDM_cycle_start 531, marquant ainsi le début de chaque cycle TDM. Un second compteur 502 compte le nombre de cycles TDM. Sa sortie est reliée à l'entrée 515 d'un second comparateur 505 pour que ce dernier compare cette sortie avec la valeur d'un signal Nb_TDM_per_SF 516 qui indique le nombre de cycle TDM par cycle du réseau maillé 101. Lorsque le second compteur 502 atteint la valeur du signal Nb_TDM_per_SF, la sortie 520 du second comparateur 505 bascule vers la valeur 1 et les premier 501 et second 502 compteurs sont initialisés. En conséquence, une impulsion sur la sortie 520 du second comparateur 505 est générée à chaque cycle du réseau maillé 101, constituant un signal SF_master_cycle_start 520. Si le noeud générique 400 est un noeud maître (noeud WSC 110), un signal SEL 523 est appliqué en entrée d'un multiplexeur 508 afin de connecter la sortie 532 du multiplexeur 508 au signal SF_master_cycle_start 520. Si le noeud générique 400 est un noeud esclave (noeuds WAS1 à WAS6), un signal SEL 523 est appliqué en entrée d'un multiplexeur 508 afin de connecter la sortie 532 du multiplexeur 508 à un signal SF_slave_cycle_start 524. La sortie 531 du premier comparateur 504, transportant le signal TDM_cycle_start, ainsi que la sortie du multiplexeur 508, transportant le signal SF_cycle_start, sont reliés aux entrées d'une porte ET 507 et permettent de générer un signal 530 d'initialisation du premier compteur 501. Cette initialisation est mis en oeuvre afin d'éliminer un décalage temporel existant entre un noeud esclave et un noeud maître lors de l'initialisation des noeuds. Cette initialisation permet de synchroniser le premier signal SF_cycle_start avec le début d'un cycle TDM.
Le signal TDM_cycle_start est utilisé par le gestionnaire de bus TDM 414 pour déclencher des opérations de lecture et d'écriture sur les canaux virtuels TDM. Le signal SF_master_cycle_start 520 est envoyé au contrôleur MAC 420. Les messages TDM_cycle_start 531 et SF_cycle_start 532 sont envoyés à l'adaptateur MAC 428, comme décrit en relation avec la figure 4.
On illustre, en relation avec la figure 6, les échanges entre le gestionnaire de bus TDM 414, le dispositif 418 d'insertion de valeurs nul , l'ensemble de FIFO SSTF 408 (parfois simplement appelé FIFO SSTF par souci de simplification), l'ensemble de FIFOs SMTF 411 (parfois simplement appelé FIFO SMTF par souci de simplification) et la FIFO SyncTF_to_MAC 419 dans le noeud générique 400 selon le mode de réalisation particulier de l'invention. Tel qu'expliqué précédemment en relation avec la figure 4, l'application écrit des échantillons de données dans la FIFO SSTF 408 à la fréquence d'échantillonnage Fs_IN de l'application et écrit des échantillons de commande dans la FIFO SMTF 411.
La taille des échantillons peut être 16bits, 24bits 48 bits, 64bits ou même toute autre taille. On suppose que l'ensemble de FIFOs SSTF 408 comprend m+l FIFOs référencées SSTF[] à SSTF[m] et que l'ensemble de FIFOs SMTF 411 comprend n+l FIFOs référencées SMTF[0] à SMTF[n]. Sur cette figure 6, seuls les FIFOs SSTF[] 408.0, SSTF[1] 408.1, SSTF[m] 408.m, SMTF[0] 411.0, SMTF[1] 411.1 et SMTF[n] 411.n sont représentés avec leurs signaux de contrôle (Ctrl) et de données (Données) respectifs. Les tailles des FIFOs SSTF et SMTF sont choisies de sorte à pouvoir absorber la quantité maximale de données d'application qui peut être fournie par l'application émettrice (ou génératrice) pendant la durée d'un cycle TDM. Cette quantité maximale peut être calculée au moyen de la fréquence Fs_IN et de la taille des échantillons de données d'application. Le gestionnaire de bus TDM 414 contrôle des signaux FIFO_Enable[0, m+n+l] 602 utilisés pour sélectionner la FIFO qui doit être lue par le dispositif 418 d'insertion de valeurs nul . Les signaux FIFO_Enable[0, m+n+l] 602 sont également utilisés pour configurer un multiplexeur 600 de sorte que le dispositif 418 d'insertion de valeurs nul soit connecté à la FIFO sélectionnée. La taille du bus de données entre le dispositif 418 d'insertion de valeurs nul et les FIFO SSTF/SMTF est de 48bits, ce qui est la taille d'un canal virtuel du bus TDM.
Le dispositif 418 d'insertion de valeurs nul écrit également des données dans la FIFO SyncTF_to_MAC 419. Dans ce cas, le bus de données présente une taille de 49bits du fait que le dispositif 418 d'insertion de valeurs nul ajoute un bit d'entête qui donne une information sur la validité du canal virtuel. Ce bit d'entête est le bit le plus significatif (ou MSB pour Most Significant Bit ) des données écrites dans la FIFO SyncTF_to_MAC 419. Le bit d'entête prend la valeur 1 pour indiquer que le canal virtuel est valide et prend la valeur 0 pour indiquer que le dispositif 418 d'insertion de valeur nul écrit un symbole nul dans la FIFO SyncTF_to_MAC 419. Par exemple un symbole nul est codé avec une valeur O.
La taille de la FIFO SyncTF_to_MAC 419 est choisie de sorte à pouvoir absorber les données de l'ensemble des canaux virtuels lors d'un cycle TDM. Une interface de commande 601 est utilisée par le gestionnaire de bus TDM 414 afin de demander au dispositif 418 d'insertion de valeur nul de traiter chaque canal virtuel alloué en écriture tel que décrit ci-après en relation avec les algorithmes des figures 12 et 13A. On illustre, en relation avec la figure 7, les échanges entre le gestionnaire de bus TDM 414, le dispositif 416 d'analyse de valeurs nul , l'ensemble de FIFOs SSRF 407 (parfois simplement appelé FIFO SSRF par souci de simplification), l'ensemble de FIFOs SMRF 410 (parfois simplement appelé FIFO SMRF par souci de simplification) et la FIFO SyncRF_from_MAC 417 dans le noeud générique 400 selon le mode de réalisation particulier de l'invention. Tel qu'expliqué précédemment en relation avec la figure 4, l'application lit les échantillons de données à partir de la FIFO SSRF 407 à la fréquence d'échantillonnage Fs_OUT de l'application et lit les échantillons de commande à partir de la FIFO SMRF 410. La taille des échantillons peut être l6bits, 24bits 48 bits, 64bits ou même toute autre taille. On suppose que l'ensemble de FIFO SSRF 407 comprend k+l FIFOs référencées SSRF[0] à SSRF[k] et que l'ensemble de FIFO SMRF 411 comprend j+l registres référencés SMRF[0] à SMRF[j]. Sur cette figure 7, seuls les registres SSRF[] 407.0, SSRF[1] 407.1, SSRF[m] 407.m, SMRF[0] 410.0, SMRF[1] 410.1 et SMRF[j] 410.j sont représentés avec leurs signaux de contrôle (Ctrl) et de données (Données) respectifs. Les tailles des FIFOs SSRF et SMRF sont choisies de sorte à pouvoir absorber la quantité maximale de données d'application qui peut être présentée à l'application réceptrice (ou consommatrice) pendant la durée d'un cycle TDM. Cette quantité maximale peut être calculée au moyen de la fréquence Fs_OUT et de la taille des échantillons de données d'application. Le gestionnaire de bus TDM 414 contrôle des signaux FIFO_Enable[0, k+j+l] 702 utilisés pour sélectionner la FIFO qui doit être écrite par le dispositif 416 d'analyse de valeurs nul . Les signaux FIFO_Enable[0, k+j+l] 702 sont également utilisés pour configurer un multiplexeur 700 de sorte que le dispositif 416 d'analyse de valeurs nul soit connecté à la FIFO sélectionnée. La taille du bus de données entre le dispositif 416 d'analyse de valeurs nul et les FIFO SSRF/SMRF est de 48bits, ce qui est la taille d'un canal virtuel du bus TDM.
Le dispositif 416 d'analyse de valeurs nul lit également des données dans la FIFO SyncRF_from_MAC 417. Dans ce cas, le bus de données présente une taille de 49bits du fait qu'un canal virtuel est associé à un bit d'entête qui donne une indication sur la validité du canal. Le dispositif 416 d'analyse de valeurs nul extrait le bit d'entête (qui est le bit le plus significatif, ou MSB pour Most Significant Bit ) des données lues dans la FIFO SyncRF_from_MAC 417. Si le bit d'entête possède la valeur 1, alors les échantillons de données du canal virtuel sont écrits dans la FIFO sélectionnée (FIFO SSRF ou SMRF). Si le bit d'entête possède la valeur 0, ce qui correspond à un symbole nul , les données du canal virtuel (c'est-à-dire le symbole nul ) sont supprimées. La taille de la FIFO SyncRF_from_MAC 417 est choisie de sorte à pouvoir absorber les données de l'ensemble des canaux virtuels lors d'un cycle TDM. L'interface de commande 701 est également utilisée par le gestionnaire de bus TDM 414 afin de demander au dispositif 416 d'analyse de valeur nul de traiter chaque canal virtuel alloué en lecture tel que décrit ci-après en relation avec les algorithmes des figures 12 et 13B. On présente, en relation avec la figure 8, un exemple d'architecture du registre TDM_MAP de répartition TDM 415 selon le mode de réalisation particulier de l'invention.
Le registre TDM_MAP de répartition TDM 415 comprend une zone mémoire de 32 bits pour chaque canal virtuel. Les données dans le registre TDM_MAP de répartition TDM 415 sont ordonnancées selon la numérotation des canaux virtuels donné : à la première adresse décalée ( offset en anglais) alignée sur 32 bits du registre se trouve la zone mémoire correspondant au canal virtuel 0 et à la nième adresse décalée ( offset en anglais) alignée sur 32 bits du registre se trouve la zone mémoire correspondant au canal virtuel n. La zone mémoire 800 d'un canal virtuel donné comprend six champs : un champ fonction 801 qui comprend deux bits et qui identifiela nature du canal virtuel, par exemple b00 signifie canal virtuel en lecture , b0l signifie canal virtuel en écriture et blx signifie canal virtuel non utilisé ; un champ SSRF 802 qui comprend six bits et qui identifie la FIFO SSRF qui est associée au canal virtuel, par exemple, b000000 signifie que c'est la FIFO SSRF[0], b000001 signifie que c'est la FIFO SSRF[1], et bl l l l l l signifie qu'aucune FIFO SSRF n'est associée au canal virtuel ; un champ SMRF 803 qui comprend six bits et qui identifie la FIFO SMRF qui est associée au canal virtuel, par exemple, b000000 signifie que c'est la FIFO SMRF[0], b000001 signifie que c'est la FIFO SMRF[1], et b111111 signifie qu'aucune FIFO SMRF n'est associée au canal virtuel ; un champ SSTF 804 qui comprend six bits et qui identifie la FIFO SSTF qui est associée au canal virtuel, par exemple, b000000 signifie que c'est la FIFO SSTF[0], b000001 signifie que c'est la FIFO SSTF[1], et bl l l l l l signifie qu'aucune FIFO SSTF n'est associée au canal virtuel ; - un champ SMTF 805 qui comprend six bits et qui identifie la FIFO SMTF qui est associée au canal virtuel, par exemple, b000000 signifie que c'est la FIFO SMTF[0], b000001 signifie que c'est la FIFO SMTF[1], et b111111 signifie qu'aucune FIFO SMTF n'est associée au canal virtuel ; un champ reservé 806 qui comprend six bits qui sont réservés pour toute prochaine application. On présente, en relation avec la figure 9, un exemple d'architecture de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention. L'adaptateur MAC 428 comprend une mémoire 900 (par exemple du type RAM, pour Random Access Memory ), des registres Mux_demux 906 et les quatre modules suivants : un module de gestion de conteneurs en transmission 901 qui est chargé de la disposition des canaux virtuels du bus TDM de la FIFO SyncTF_to_MAC 419 dans la mémoire 900 de manière à créer des conteneurs ; ce module de gestion de conteneurs en transmission 901 s'interface avec la mémoire 900 grâce au registre RefBaseAddrRegister 911 qui fournit des adresses de base pour l'écriture de données ; un module Tx_To_MAC 902 de transmission vers la couche MAC qui est chargé du transfert des conteneurs à transmettre depuis la mémoire 900 vers le module 424 d'encodage sous la forme de trames MAC. Le module Tx_To_MAC 902 s'interface avec la mémoire 900 grâce au registre TxToMACBaseAddrRegister 912 qui fournit des adresses de base pour la lecture de données ; un module Rx_From_MAC 903 de réception depuis la couche MAC qui est chargé du transfert des conteneurs reçus depuis le décodeur de trame MAC 423 vers la mémoire 900. Le module Rx_From_MAC 903 s'interface avec la mémoire 900 grâce au registre RxFromMACBaseAddrRegister 913 qui fournit des adresses de base pour l'écriture de données ; un module Rx_To_TDM 904 de réception vers le bus TDM qui est chargé de l'extraction des données de leurs conteneurs depuis la mémoire 900 et de l'écriture des données extraites dans la FIFO SyncRF_From_MAC 417. Le module Rx_To_TDM 904 s'interface avec la mémoire 900 grâce au registre RxToTDMBaseAddrRegister 914 qui fournit des adresses de base pour la lecture de données.
A chaque début de cycle TDM défini par le signal TDM_cycle_start provenant du gestionnaire de bus TDM 414, le module de gestion de conteneurs en transmission 901 lit le contenu de la FIFO SyncTF_to_MAC 419. Ce contenu comprend des données des canaux virtuels avec des bits d'entête accumulés pendant les précédents cycle TDM. Chaque donnée est alors écrite dans la mémoire 900 à une adresse définie grâce aux informations contenues dans les registres du registre TDM_MAP de répartition TDM 415 et obtenues par le biais du lien 457. A chaque début de cycle du réseau maillé 101 défini par un événement SF_cycle_start provenant du gestionnaire de bus TDM 414, l'adaptateur MAC 428 a accumulé les données des canaux virtuels pendant la durée du cycle réseau précédent. Dans la mémoire 900, les données des canaux virtuels sont arrangées dans des conteneurs, tel qu'indiqué ci-après en relation avec la figure 10. A la réception d'un signal Tx_cycle_event 451 provenant du contrôleur MAC 420 et suite à la réception d'un signal ReadyForTx 916 provenant du module de gestion de conteneurs en transmission 901, le module Tx_To_MAC 902 lit les conteneurs de données à transmettre depuis la mémoire 900 aux adresses définies grâce aux informations contenues dans le registre TDM_MAP de répartition TDM 415 et écrit les conteneurs de données dans le module 424 d'encodage sous la forme de trames MAC. Le module Tx_To_MAC 902 s'attachera à la lecture des conteneurs pour lesquels il a reçu un signal ReadyForTx 916 en provenance du module de gestion de conteneurs en transmission 901. A la réception d'un événement frame_Rx_event sur le lien 454, le module Rx_From_MAC 903 lit les conteneurs de données reçus depuis le décodeur de trame MAC 423 et écrit ces conteneurs de données dans la mémoire 900 aux adresses définies grâce aux informations contenues dans le paramètre frame_Rx_Node_id obtenu par le lien 454 et dans les registres Mux_demux 906. En effet, comme décrit ci-après en relation avec la figure 11, les registres Mux_demux 906 permettent d'identifier quels conteneurs, c'est-à-dire quels canaux virtuels, sont présents dans les trames générées par chacun des noeuds du réseau maillé 101. A chaque début de cycle réseau défini par un événement SF_cycle_start provenant du gestionnaire de bus TDM 414, le module Rx_To_TDM 904 lit les données des canaux virtuels TDM avec leurs bits d'entêtes des conteneurs reçus et stockés dans la mémoire 900. Les adresses pour cette lecture sont définies grâce aux informations contenues dans le registre TDM_MAP de répartition TDM 415 et obtenues par le biais du lien 457. Puis, les données des canaux virtuels TDM avec leurs bits d'entêtes sont écrits dans la FIFO SyncRF_from_MAC 417. Cette opération est répétée ensuite à la réception de chaque signal TDM_cycle_start, indiquant le début d'un nouveau cycle TDM, jusqu'à la fin de la durée du cycle réseau. A chaque début de cycle réseau défini par un événement SF_cycle_start provenant du gestionnaire de bus TDM 414, le registre RefBaseAddrRegister 911 prend une des trois valeurs possibles d'adresses de base de la mémoire 900. En effet, comme décrit ci-après en relation avec la figure 10, la mémoire 900 est divisée en trois compartiments. Chacun de ces compartiments est utilisé alternativement pour : construire les conteneurs à envoyer vers la couche MAC à partir des données issues du bus TDM ; - envoyer les conteneurs vers la couche MAC et recevoir les conteneurs de la couche MAC ; - désassembler les conteneurs pour envoyer les données vers le bus TDM. A chaque changement de cycle réseau, les modules de gestion de conteneurs en transmission 901, Tx_To_MAC 902, Rx_From_MAC 903 et Rx_To_TDM 904 utilisent une zone mémoire différente et donc utiliser des adresses de base différentes. L'information contenue dans le registre le registre RefBaseAddrRegister 911 est transmise aux modules Tx_To_MAC 902, Rx_From_MAC 903 et Rx_To_TDM 904 au moyen d'un lien 915 et les registres TxToMacBaseAddrRegister 912, RxFromMacBaseAddrRegister 913 et RxToTDMBaseAddrRegister 914 prennent une valeur d'adresse de base de la mémoire 900 en fonction de l'information reçue par le biais du lien 915. On présente, en relation avec la figure 10, un exemple d'architecture de la mémoire 900 selon le mode de réalisation particulier de l'invention. La mémoire 900 comprend un premier compartiment associé à une adresse 10 de base 0, un second compartiment associé à une adresse de base 1 et un troisième compartiment associé à une adresse de base 2. Chaque compartiment de la mémoire 900 peut contenir le même nombre M de conteneurs. Un conteneur comprend une entête de conteneur et un nombre P de canaux virtuels. P est le nombre de cycles TDM par cycle réseau. Par exemple, 15 le conteneur numéro k comprend le canal virtuel numéro k du premier cycle TDM, le canal virtuel numéro k du second cycle TDM, ... jusqu'au canal virtuel numéro k du dernier cycle TDM d'un même cycle réseau. L'entête de conteneur est par exemple une concaténation de bits d'entêtes ajoutés à chaque cycle TDM par le dispositif 418 d'insertion de valeur nul pour les données du canal virtuel 20 associé au conteneur. M est le nombre de canaux virtuels par cycle TDM. Chaque compartiment de la mémoire 900 peut contenir tous les canaux virtuels de la durée d'un cycle réseau. Les conteneurs sont ordonnés en fonction de leur numéro de conteneur, depuis le plus petit numéro de conteneur vers le plus grand numéro de conteneur. 25 Les canaux virtuels sont ordonnés en fonction de leur numéro, depuis le plus petit vers le plus grand numéro de canal virtuel. La taille de l'entête de conteneur est comprise dans un champ ChunkHeaderSize , la taille du conteneur est comprise dans un champ ChunkSize , la taille d'un canal virtuel est comprise dans un champ VcSize . 30 Dans le cas d'un canal virtuel de 48bits et d'un bus de données de 48bits pour la mémoire 900, le champ VcSize possède la valeur 1, le champ ChunkSize possède la valeur P + ChunkHeaderSize et le champ ChunkHeaderSize possède la valeur suivante : Int(P/48) + 1 où Int() est la fonction partie entière . A chaque cycle réseau, une tache spécifique est attribuée à chaque compartiment de la mémoire 900. Par exemple si pour un cycle réseau donné : - le premier compartiment est utilisé pour l'arrangement de conteneurs provenant d'un bus TDM (des données associées au cycle réseau C par exemple) ; - le second compartiment est utilisé pour la transmission vers ou la réception du réseau maillé 101 (données associées au cycle réseau C-1) ; - le troisième compartiment est utilisé pour réaliser du désassemblage de conteneurs et de l'extraction de canaux virtuels vers le bus TDM (données associées au cycle réseau C-2), alors lors du prochain cycle réseau : - le premier compartiment est utilisé pour la transmission vers ou la réception du réseau maillé ; - le second compartiment est utilisé pour réaliser de l'extraction de canal virtuel vers un bus TDM ; - le troisième compartiment est utilisé pour l'arrangement de conteneurs provenant d'un bus TDM. Le registre RefBaseAddrRegister 911 sélectionne successivement les trois adresses de base de la mémoire 900 dans l'ordre suivant : adresse de base 2, adresse de base 1 et adresse de base O. Le changement de la valeur de l'adresse de base est déclenché par la réception du signal SF_cycle_start, comme précédemment décrit. On présente, en relation avec la figure 11, un exemple d'architecture des registres mux_demux 906 selon le mode de réalisation particulier de l'invention. Les registres muxdemux 906 fournissent la liste des conteneurs transmis par chacun des noeuds. Un registre est associé à chaque noeud. Les données sont ordonnancées selon la numérotation des noeuds du réseau : à la première adresse décalée ( offset en anglais) se trouve la zone mémoire correspondant aux conteneurs du noeud 0 et à la nième adresse décalée ( offset en anglais) se trouve la zone mémoire correspondant aux conteneurs du noeud n. Pour chaque registre, la valeur du bit en position I indique si le conteneur numéro I (c'est à dire associé au canal virtuel I) est transmis ou pas par ce noeud. La valeur Ob indique que le conteneur n'est pas transmis par le noeud, la valeur lb indique que le conteneur est transmis par le noeud. On présente, en relation avec la figure 12, les étapes principales d'un algorithme de traitement mis en oeuvre par le gestionnaire de bus TDM 414 sur la période d'un cycle réseau selon le mode de réalisation particulier de l'invention. Après une phase d'initialisation, le gestionnaire de bus TDM 414 est dans un état d'attente du début d'un cycle réseau dans une étape 1200. Au début d'un cycle réseau, caractérisé par un signal SF_cycle_start, dans une étape 1201, le noeud générique 400 peut commencer des opération de lecture / écriture. Dans le cas où le noeud générique 400 est un noeud esclave, cela signifie que ce noeud esclave vient de se synchroniser sur le noeud maître. Dans une étape 1202, un compteur de canaux virtuels TDM_VC est initialisé à 0. Dans une étape 1203, le gestionnaire de bus TDM 414 lit les registres du registre TDM_MAP de répartition TDM 415 à l'adresse décalée ( offset en anglais) définie par la valeur du compteur TDM_VC. Il obtient ainsi des informations à propos de la fonction (lecture ou écriture) du canal virtuel courant et à propos de la FIFO de l'application à sélectionner (SSRF 407, SSTF 408, SMRF 410 ou SMTF 411). Dans une étape 1204, il est vérifié si le canal virtuel courant est un canal virtuel alloué en écriture. Si le canal virtuel courant est un canal virtuel alloué en écriture, alors dans une étape 1205, le gestionnaire de bus TDM 414 sélectionne la FIFO (SSTF 408 ou SMTF 411) d'émission (de l'application) qui doit être lue. Dans cette étape, le gestionnaire de bus TDM 414 active le signal FIFO_Enable[i], où i est la valeur extraite du registre de répartition TDM 415, comme décrit précédemment en relation avec la figure 6.
Dans une étape 1206, une requête comprenant une commande de réalisation d'une opération de lecture de la FIFO sélectionnée est envoyée au dispositif 418 d'insertion de valeurs nul . Puis, dans une étape 1210, la valeur de TDM_VC est incrémentée d'une unité.
Si le canal virtuel courant n'est pas un canal virtuel en écriture, alors dans une étape 1207, le gestionnaire de bus TDM 414 vérifie si le canal virtuel courant est un canal virtuel en lecture (sinon, cela signifie que le canal virtuel n'est pas affecté pour la transmission de données). Si le canal virtuel courant est un canal virtuel en lecture, alors dans une étape 1208, le gestionnaire de bus TDM 414 sélectionne la FIFO (SSRF 407 ou SMRF 410) de réception (de l'application) qui doit être écrite. Dans cette étape, le gestionnaire de bus TDM 414 active le signal FIFO_Enable[i], où i est la valeur extraite du registre de répartition TDM 415, comme décrit précédemment en relation avec la figure 7. Dans une étape 1209, une requête comprenant une commande de réalisation d'une opération d'écriture dans la FIFO sélectionnée est envoyée au dispositif 416 d'analyse de valeurs nul . Puis, dans l'étape 1210, la valeur de TDM_VC est incrémentée d'une unité. Si le canal virtuel courant n'est pas un canal virtuel en lecture et n'est pas un canal virtuel en écriture, alors l'étape 1210 est directement mise en oeuvre après l'étape 1207. Puis dans une étape 1211, le gestionnaire de bus TDM 414 vérifie si tous les canaux virtuels du cycle TDM ont été traités. Sinon, l'étape 1203 est remise en oeuvre. Si oui, dans une étape 1212, le gestionnaire de bus TDM 414 attend l'arrivée d'un signal TDM_cycle_start qui caractérise le démarrage d'un nouveau cycle TDM. Dans une étape 1213, lors de l'arrivée d'un signal TDM_cycle_start, le gestionnaire de bus TDM 414 remet en oeuvre l'étape 1202 pour traiter le nouveau cycle TDM. On présente, en relation avec les figures 13A et 13B, les étapes principales d'algorithmes de traitement mis en oeuvre par le dispositif 418 d'insertion de valeurs nul (figure 13A) et par le dispositif 416 d'analyse de valeurs nul (figure 13B) selon le mode de réalisation particulier de l'invention. Concernant la figure 13A, après une phase d'initialisation, dans une étape 1300, le dispositif 418 d'insertion de valeurs nul est dans un état d'attente d'une requête de lecture de FIFO (SSTF 408 ou SMTF 411) d'émission (de l'application) en provenance du gestionnaire de bus TDM 414. Dans une étape 1301, le dispositif 418 d'insertion de valeurs nul reçoit une telle requête identifiant une sélection de FIFO (SSTF 408 ou SMTF 411) d'émission (de l'application). Puis, dans une étape 1302, le dispositif 418 d'insertion de valeurs nul vérifie si la FIFO sélectionnée est vide ou pas.
Si la FIFO sélectionnée est déclarée vide du fait que la FIFO présente une quantité de données disponibles inférieure à la capacité d'un canal virtuel (48bits), le dispositif 418 d'insertion de valeurs nul attribue la valeur 0 au bit d'entête de l'échantillon de données pour le canal virtuel dans une étape 1303. Puis, dans une étape 1304, il écrit, dans la FIFO SyncTF_to_MAC 419, l'échantillon de données avec une entête à 0 à laquelle il concatène un symbole nul (qui est dans le présent cas 48 bits à la valeur 0). Puis l'étape 1300 est remise en oeuvre. Si la FIFO sélectionnée n'est pas déclarée vide, alors dans une étape 1305, le dispositif 418 d'insertion de valeurs nul lit l'échantillon de 48 bits de données dans la FIFO sélectionnée. Puis il attribue la valeur 1 au bit d'entête de l'échantillon de données pour le canal virtuel dans une étape 1306. Puis, dans une étape 1307, il écrit, dans la FIFO SyncTF_to_MAC 419, l'échantillon de données avec une entête à 1 à laquelle il concatène les données de la FIFO sélectionnée. Puis l'étape 1300 est remise en oeuvre. Concernant la figure 13B, après une phase d'initialisation, dans une étape 1310, le dispositif 416 d'analyse de valeurs nul est dans un état d'attente d'une requête d'écriture dans une FIFO (SSRF 407 ou SMRF 410) de réception (de l'application) en provenance du gestionnaire de bus TDM 414. Dans une étape 1311, le dispositif 416 d'analyse de valeurs nul reçoit une telle requête identifiant une sélection de FIFO (SSRF 407 ou SMRF 410) de réception (de l'application). Puis, Dans une étape 1312, le dispositif 416 d'analyse de valeurs nul vérifie si la FIFO SyncRF_from_MAC 417 est vide ou pas. Si la FIFO SyncRF_from_MAC 417 est déclarée vide du fait qu'aucun échantillon n'est disponible dans la FIFO, alors l'étape 1310 est remise en oeuvre. Si la FIFO SyncRF_from_MAC 417 n'est pas déclarée vide, alors dans une étape 1313, le dispositif d'analyse de valeurs nul 416 lit l'échantillon de 49 bits de données dans la FIFO SyncRF_from_MAC 417. Puis il en extrait le bit le plus significatif correspondant au bit de validité du canal virtuel. Dans une étape 1314, le dispositif d'analyse de valeurs nul 416 vérifie si la valeur du bit d'entête est O.
Si la valeur du bit d'entête est 0, alors le canal virtuel comprend un symbole nul qui a été inséré par le dispositif 418 d'insertion de valeurs nul d'un noeud distant (noeud émetteur) du noeud générique 400. La donnée est alors supprimée et l'étape 1310 est remise en oeuvre. Si la valeur du bit d'entête est 1, alors le contenu du canal virtuel (48 bits) est écrit dans la FIFO sélectionnée par le gestionnaire de bus TDM 414 puis l'étape 1310 est remise en oeuvre. On présente, en relation avec la figure 14, les étapes principales d'un algorithme de traitement mis en oeuvre par le module de gestion de conteneurs en transmission 901 de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention. Après une phase d'initialisation, dans une étape 1400, le module de gestion de conteneurs en transmission 901 est dans un état d'attente du démarrage d'un cycle réseau (caractérisée par un signal SF_cycle_start). Dans une étape 1401, un signal SF_cycle_start est reçu, ce qui indique le démarrage d'un cycle réseau courant. Puis, dans une étape 1402, un compteur TDM_cycle de cycles TDM est initialisé à 0 et des opérations de lecture / écriture de canaux virtuels vont alors être mises en oeuvre par le module de gestion de conteneurs en transmission 901 en commençant par le premier cycle TDM du cycle réseau (TDM_cycle = 0).
Dans une étape 1403a, le module de gestion de conteneurs en transmission 901 initialise une variable VCnum à la valeur -1. Puis, dans une étape 1403b, le module de gestion de conteneurs en transmission 901 va alors chercher, en utilisant les informations contenues dans le registre TDM_MAP de répartition TDM 415, à déterminer le prochain canal virtuel alloué en écriture. La recherche est effectuée dans l'ordre croissant des numéros de canaux virtuels, en partant de la valeur contenue dans la variable VCnum. Le numéro identifiant le canal virtuel alloué en écriture trouvé est alors stocké dans la variable VCnum. Dans une étape 1404, le module de gestion de conteneurs en transmission 901 vérifie si un canal alloué en écriture a été trouvé, c'est-à-dire en vérifiant si la variable VCnum est égale à -1. Si la variable VCnum n'est pas égal à -1, alors dans une étape 1406a, le module de gestion de conteneurs en transmission 901 lit une quantité de données contenues dans la FIFO SyncTF_to_MAC 419, la quantité de données lues étant égale à la taille d'un canal virtuel du bus TDM. Ces données correspondent aux données émises sur le bus TDM dans le canal virtuel trouvé à l'étape précédente. De manière à assurer la création d'un conteneur associé au canal virtuel identifié par VCnum, le module de gestion de conteneurs en transmission 901 écrit alors ces données dans la mémoire 900 à l'adresse décalée ( offset en anglais) définie par la somme suivante : (VCnum * ChunkSize) + ChunkHeaderSize + (TDM_cycle * VcSize), où ChunkSize est la taille d'un conteneur de données, ChunkHeaderSize est la taille d'un entête de conteneur de données et VcSize la taille d'un canal virtuel. Puis le module de gestion de conteneurs en transmission 901 écrit ou met à jour l'entête du conteneur concerné dans la mémoire 900 à l'adresse définie par la multiplication suivante : VCnum*ChunkSize. Dans un mode particulier de mise en oeuvre de l'invention, les données stockées dans la partie données utiles d'un conteneur sont les données (48 bits par cycle TDM) émises dans le canal virtuel associé au conteneur et l'entête du conteneur comprend, pour chaque cycle TDM, le bit d'entête ajouté par le module 418 d'insertion de valeurs nul pour ce canal virtuel.
Puis, dans une étape 1406b, le module de gestion de conteneurs en transmission 901 va chercher, en utilisant les informations contenues dans le registre TDM_MAP de répartition TDM 415, à déterminer le prochain canal virtuel alloué en écriture, de la même manière que réalisé dans l'étape 1403b.
L'étape 1404 est alors remise en oeuvre. Si, dans l'étape 1404, VCnum est égal à -1, alors, cela signifie que tous les canaux virtuels alloués en écriture du cycle TDM ont été traités et le compteur de canaux virtuels TDM_cycle est incrémenté d'une unité dans une étape 1405. Puis, dans une étape 1407, le module de gestion de conteneurs en transmission 901 vérifie si le cycle TDM courant est le dernier cycle TDM du cycle réseau courant. Si le cycle TDM courant n'est pas le dernier cycle TDM du cycle réseau courant, alors dans une étape 1408, le module de gestion de conteneurs en transmission 901 attend le démarrage du prochain cycle TDM (caractérisé par l'arrivée d'un signal (ou événement) TDM_cycle_start). Puis, dans une étape 1409, un signal TDM_cycle_start est reçu avant que l'étape 1403 ne soit remise en oeuvre pour ce prochain cycle TDM. Si le cycle TDM courant est le dernier cycle TDM du cycle réseau courant, alors dans une étape 1410, le module de gestion de conteneurs en transmission 901 attend le démarrage du prochain cycle réseau (caractérisé par l'arrivée d'un signal SF_cycle_start). Puis, dans une étape 1411, un signal SF_cycle_start est reçu. Ensuite le module de gestion de container en transmission 901 génère un message ReadyForTx 916 qu'il envoie au module Tx_To_MAC 902 afin de l'informer de la disponibilité des conteneurs à émettre sur le réseau maillé 101 avant que l'étape 1402 ne soit remise en oeuvre pour ce prochain cycle réseau.
On présente, en relation avec la figure 15, les étapes principales d'un algorithme de traitement mis en oeuvre par le module Tx_To_MAC 902 de transmission vers la couche MAC de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention. Après une phase d'initialisation, dans une étape 1500, le module 30 Tx_To_MAC 902 de transmission vers la couche MAC est dans un état d'attente d'un signal ReadyForTx 916 provenant du module de gestion de conteneurs en transmission 901 l'informant qu'il a terminé la création des conteneurs à insérer dans une trame à émettre. Dans une étape 1501, le module Tx_To_MAC 902 reçoit un signal ReadyForTx 916.
Puis, dans une étape 1502, le module Tx_To_MAC 902 attend le début (caractérisé par la réception d'un signal Tx_cycle_event 451) du temps de parole accordé au noeud générique 400 (auquel il appartient) pour la transmission sur le réseau pendant le cycle réseau courant. A la réception d'un signal (ou événement) Tx_cycle_event (étape 1503), le module Tx_To_MAC 902 peut transmettre des conteneurs de données au module 424 d'encodage sous la forme de trames MAC. Puis, dans une étape 1504, le module Tx_To_MAC 902 obtient le numéro du prochain canal virtuel en écriture de la manière précédemment décrite en relation avec l'étape 1403b. Le résultat correspond au numéro du prochain conteneur à transmettre (le premier quand l'étape 1504 est mise en oeuvre pour la première fois pendant un cycle réseau). Par ailleurs, le registre TxToMacBaseAddrRegister permettant la sélection de l'adresse de base pour l'accès à la mémoire 900 est mis à jour à partir des informations obtenues par le biais du lien refBaseAddr 915. Dans une étape 1505, le module Tx_To_MAC 902 vérifie si un autre conteneur est à traiter pour ce cycle réseau. Si c'est le cas, alors l'étape 1500 est remise en oeuvre. Si ce n'est pas le cas, alors, dans une étape 1506, le module Tx_To_MAC 902 lit le conteneur (entête du conteneur et les canaux virtuels du conteneur) dans la mémoire 900 en commençant à l'adresse mémoire définie par la multiplication VCnum*ChunkSize, où ChunkSize est la taille d'un conteneur de données et VCnum le numéro identifiant le canal virtuel concerné. Puis il écrit le conteneur dans le module 424 d'encodage sous la forme de trames MAC. Puis, le module Tx_To_MAC 902 demande le numéro du prochain canal virtuel alloué en écriture avant de remettre en oeuvre l'étape 1505. On présente, en relation avec la figure 16, les étapes principales d'un 30 algorithme de traitement mis en oeuvre par le module Rx_From_MAC 903 de réception depuis la couche MAC de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention. Après une phase d'initialisation, dans une étape 1600, le module Rx_From_MAC 903 est dans un état d'attente du démarrage d'une super trame (caractérisée par un message SF_cycle_start). Dans une étape 1601, un signal SF_cycle_start est reçu qui indique le démarrage d'un cycle réseau. Puis, dans une étape 1602, le module Rx_From_MAC 903 attend le début (caractérisé par un signal frame_Rx_event) indiquant la réception d'une trame MAC par le noeud générique 400 (auquel il appartient) sur le réseau.
Lors de la détection (étape 1603) d'un signal frame_Rx_event provenant du décodeur de trame MAC 423, le module Rx_From_MAC 903 peut obtenir les conteneurs de données reçues provenant du décodeur de trame MAC 423. Puis, dans une étape 1604, le module Rx_From_MAC 903 initialise une variable ChunkNum à la valeur -1. Le module Rx_From_MAC 903 va alors chercher, en utilisant les informations contenues dans les registres Mux_demux 906, à déterminer le prochain conteneur présent dans la trame reçue, qui a été émise par le noeud identifié par l'information frame_Rx_Node_id obtenue par le lien 454. La recherche est effectuée dans l'ordre croissant des conteneurs (ou numéros de canaux virtuels), en partant de la valeur contenue dans la variable ChunkNum. Le numéro identifiant le conteneur (c'est-à-dire correspondant à un canal virtuel du bus T.DM alloué en lecture) trouvé est alors stocké dans la variable ChunkNum. Par ailleurs,le registre RxFromMacBaseAddrRegister permettant la sélection de l'adresse de base pour l'accès à la mémoire 900 est mis à jour à partir des informations obtenues par le biais du lien refBaseAddr 915. Dans une étape 1605, le module Rx_From_MAC 903 vérifie si la nouvelle valeur du paramètre ChunkNum est -1. Si c'est le cas, cela signifie que l'ensemble des conteneurs transmis par le noeud identifié a été traité par le module Rx_From_MAC 903 et l'étape 1602 est remise en oeuvre. Si ce n'est pas le cas, alors dans une étape 1606, le module Rx_From_MAC 903 lit le conteneur (entête du conteneur et les canaux virtuels du conteneur) sur le décodeur de trame MAC 423, puis il l'écrit dans la mémoire 900 en commençant à l'adresse mémoire décalée (ou offset en anglais) définie par la multiplication suivante : ChunkNum*ChunkSize, où ChunkSize est la taille d'un conteneur de données.
Puis, le module Rx_From_MAC 903 recherche le numéro du prochain conteneur à obtenir du noeud ayant émis la trame reçue avant de remettre en oeuvre l'étape 1605. On présente, en relation avec la figure 17, les étapes principales d'un algorithme de traitement mis en oeuvre par le module Rx_To_TDM 904 de réception vers le bus TDM de l'adaptateur MAC 428 selon le mode de réalisation particulier de l'invention. Après une phase d'initialisation, dans une étape 1700, le module Rx_To_TDM 904 est dans un état d'attente du démarrage d'un cycle réseau (caractérisé par un message SF_cycle_start). Dans une étape 1701, un signal SF_cycle_start est reçu qui indique le démarrage d'un cycle réseau. Puis, dans une étape 1702, le module Rx_To_TDM 904 initialise un compteur TDM_cycle à 0 et commence à mettre en oeuvre des opérations de lecture ou écriture de données associées à des canaux virtuels. Une première opération consiste à mettre à jour l'adresse de base pour l'accès à la mémoire 900 dans le registre RxtoTdmBaseAddrRegister à partir des informations obtenues par le biais du lien refBaseA.ddr 915. Puis, dans une étape 1703, une variable VCnum est initialisé à -1. Dans une étape ].704, le module Rx_To_TDM 904 va alors chercher, en utilisant les informations contenues dans le registre TDM_MAP de répartition TDM 415, à déterminer le prochain canal virtuel alloué en lecture. La recherche est effectuée dans l'ordre croissant des numéros de canaux virtuels, en partant de la valeur contenue dans la variable VCnum. Le numéro identifiant le canal virtuel alloué en lecture trouvé est alors stocké dans la variable VCnum. Dans une étape 1705, le module Rx_To_TDM 904 vérifie si un canal 30 alloué en lecture a été trouvé, c'est-à-dire en vérifiant si la variable VCnum est égale à -1. Si VCnum est égal à -1, alors, cela signifie que tous les canaux virtuels du cycle TDM ont été traités et le compteur de cycles TDM TDM_cycle est incrémenté d'une unité dans une étape 1706. Puis, dans une étape 1707, le module Rx_To_TDM 904 vérifie si le cycle TDM courant est le dernier cycle TDM du cycle réseau courant. Si le cycle TDN[ courant n'est pas le dernier cycle TDM du cycle réseau courant, alors dans une étape 1708, le module Rx_To_TDM 904 attend le démarrage du prochain cycle TDM (caractérisé par l'arrivée d'un signal TDM_cycle_start). Puis, dans une étape 1709, un signal TDM_cycle_start est reçu avant que l'étape 1703 ne soit remise en oeuvre pour ce prochain cycle TDM. Si le cycle TDM courant est le dernier cycle TDM du cycle réseau courant, alors l'étape 1700 est remise en oeuvre. Si, dans l'étape 1705, VCnum n'est pas égal à -1, alors dans une étape 1713, le module Rx_To_TDM 904 lit la partie de données de ce canal virtuel alloué en lecture dans la mémoire 900 à l'adresse définie par la somme suivante : (VCnum*ChunkSize)+ChunkHeaderSize+(TDM_cycle*VcSize) où ChunkSize est la taille d'un conteneur de données, ChunkHeaderSize est la taille d'un entête de conteneur de données et VcSize la taille d'un canal virtuel. Puis, le module Rx_To_TDM 904 lit l'entête du canal virtuel dans la mémoire 900 à l'adresse définie par la multiplication suivante : VCnum*ChunkSize, puis écrit la concaténation de l'entête du canal virtuel et des données du canal virtuel dans la FIFO SyncRF_from_MAC 417. L'étape 1704 est alors remise en oeuvre pour obtenir le numéro du prochain canal virtuel alloué en lecture à traiter.

Claims (22)

REVENDICATIONS
1. Procédé d'émission d'au moins un contenu de données par un noeud émetteur (110), associé à une application génératrice, vers au moins un noeud récepteur (111), chacun associé à une application consommatrice, dans un réseau de communication (1000) comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau, caractérisé en ce que le noeud émetteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P a 1, du cycle local, le début du cycle réseau coïncidant avec 1.e début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et en ce que le noeud émetteur (110) effectue les étapes suivantes : - concaténation des données obtenues de l'application génératrice associée audit noeud émetteur pendant les intervalles de temps correspondant aux canaux virtuels affectés à la transmission dudit ou desdits contenus sur un nombre P de cycles locaux consécutifs, afin de former au moins un bloc de données concaténées ; - émission sur le réseau de communication dudit ou desdits bloc(s) de données concaténées, lors d'un temps de parole affecté audit noeud émetteur (110) pendant un cycle réseau ultérieur prédéterminé.
2. Procédé d'émission selon la revendication 1, caractérisé en ce que l'étape de concaténation s'effectue sur un nombre P de cycles locaux consécutifs coïncidant avec un cycle réseau.
3. Procédé d'émission selon l'une quelconque des revendications 1 et 2, caractérisé en ce que l'étape de concaténation comprend une étape d'insertion d'au moins une information, dite information de bourrage, lorsque aucune donnéen'est obtenue de l'application génératrice associée audit noeud émetteur (110) pendant le ou les intervalle(s) de temps correspondant(s) à au moins un desdits canaux virtuels, dit(s) canal ou canaux virtuel(s) vide(s), affecté(s) à la transmission dudit ou desdits contenus.
4. Procédé d'émission selon la revendication 3, caractérisé en ce qu'une partie de l'information de bourrage est de taille égale à la quantité de données que le noeud émetteur (110) peut obtenir pendant le ou les intervalle(s) de temps correspondant(s) audit canal ou auxdits canaux virtuel(s) vide(s) et en ce que ladite partie de l'information de bourrage est insérée dans un desdits blocs de données comme si elle avait été reçue de ladite application génératrice pendant le canal ou les canaux virtuel(s) vide(s).
5. Procédé d'émission selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite étape de concaténation comprend une étape d'entrelacement de données qui effectue un regroupement, afin de former un conteneur, par canal virtuel des données obtenues de l'application génératrice pendant le nombre P de cycles locaux consécutifs.
6. Procédé de réception d'au moins un contenu de données par un noeud récepteur (111), associé à une application consommatrice, provenant d'au moins un noeud émetteur (110), chacun associé à une application génératrice, dans un réseau de communication comprenant une pluralité de noeuds, le réseau (1000) mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau (1000), caractérisé en ce que le noeud récepteur met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P z 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ;et en ce que le noeud récepteur effectue les étapes suivantes : - réception en provenance du réseau de communication d'au moins un bloc(s) de données concaténées, lors d'un temps de parole affecté à au moins un desdits noeud émetteurs (110) ; - extraction, du ou des bloc(s) de données concaténées reçus, de données associées à un canal virtuel, dit canal virtuel de lecture, desdits canaux virtuels affectés à la transmission dudit ou desdits contenus ; - à partir d'un cycle réseau ultérieur prédéterminé, fourniture des données extraites à l'application consommatrice associée au noeud récepteur (111), pendant l'intervalle de temps correspondant audit canal virtuel de lecture pendant la durée d'un nombre P de cycles locaux consécutifs.
7. Procédé de réception selon la revendication 6, caractérisé en ce que chaque noeud récepteur (110) met en oeuvre une étape de détection de la présence, dans ledit bloc de données, d'au moins une information, dite information de bourrage, associée(s) à au moins un canal virtuel affecté à la transmission dudit ou desdits contenus, la ou lesdites information(s) de bourrage n'étant pas fournie(s) à l'application consommatrice pendant l'étape de fourniture.
8. Procédé de réception selon la revendication 7, caractérisé en ce qu'une partie de la ou des information(s) de bourrage est de taille égale à la quantité de données que le noeud récepteur (111) peut fournir pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées.
9. Procédé de réception selon l'une quelconque des revendications 7 et 8, caractérisé en ce que le noeud récepteur (111) efface la ou les information(s) de bourrage pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées.
10. Procédé de réception selon l'une quelconque des revendications 6 à 9, caractérisé en ce que ladite étape d'extraction comprend une étape de désentrelacement de données, qui identifie des regroupements, dits conteneurs,par canal virtuel, de données obtenues d'une application génératrice associée à un desdits noeuds émetteurs, et qui réordonne les données par cycle local de fourniture à l'application consommatrice du noeud récepteur (111).
11. Produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé d'émission selon l'une au moins des revendications 1 à 5 et/ou du procédé de réception selon l'une au moins des revendications 6 à 10.
12. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé d'émission selon l'une au moins des revendications 1 à 5 et/ou le procédé de réception selon l'une au moins des revendications 6 à 10.
13. Noeud émetteur (110), associé à une application génératrice, ledit noeud émetteur comprenant des moyens d'émission d'au moins un contenu de données vers au moins un noeud récepteur (111), chacun associé à une application consommatrice, dans un réseau de communication (1000) comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau, caractérisé en ce qu'il met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P z 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et en ce que les moyens d'émission comprennent : - des moyens de concaténation des données obtenues de l'applicationgénératrice associée audit noeud émetteur (110) pendant les intervalles de temps correspondant aux canaux virtuels affectés à la transmission dudit ou desdits contenus sur un nombre P de cycles locaux consécutifs, afin de former au moins un bloc de données concaténées ; - des moyens d'émission sur le réseau de communication dudit ou desdits bloc(s) de données concaténées, lors d'un temps de parole affecté audit noeud émetteur (110) pendant un cycle réseau ultérieur prédéterminé.
14. Noeud émetteur selon la revendication 13, caractérisé en ce que les moyens de concaténation sont activés sur un nombre P de cycles locaux consécutifs coïncidant avec un cycle réseau.
15. Noeud émetteur selon l'une quelconque des revendications 13 et 14, caractérisé en ce que les moyens de concaténation comprennent des moyens d'insertion d'au moins une information, dite information de bourrage, lorsque aucune donnée n'est obtenue de l'application génératrice associée audit noeud émetteur pendant le ou les intervalle(s) de temps correspondant(s) à au moins un des canaux virtuels, di t(s) canal ou canaux virtuel(s) vide(s), affecté(s) à la transmission dudit ou desdits contenus.
16. Noeud émetteur selon la revendication 15, caractérisé en ce qu'une partie de l'information de bourrage est de taille égale à la quantité de données que le noeud émetteur (110) peut obtenir pendant le ou les intervalle(s) de temps correspondant(s) audit canal ou auxdits canaux virtuel(s) vide(s) et en ce qu'il comprend des moyens d'insertion de ladite partie de l'information de bourrage dans un desdits blocs de données comme si elle avait été reçue de ladite application génératrice pendant le canal ou les canaux virtuel(s) vide(s).
17. Noeud émetteur selon l'une quelconque des revendications 13 à 16, caractérisé en ce que les moyens de concaténation comprennent des moyens d'entrelacement de données qui effectue un regroupement, afin de former un conteneur, par canal virtuel des données obtenues de l'application génératrice pendant le nombre P de cycles locaux consécutifs.
18. Noeud récepteur (111) associé à une application consommatrice, leditnoeud récepteur comprenant des moyens de réception d'au moins un contenu de données provenant d'au moins un noeud émetteur (110), chacun associé à une application génératrice, dans un réseau de communication (1000) comprenant une pluralité de noeuds, le réseau mettant en oeuvre un premier cadencement qui définit un premier cycle, dit cycle réseau, pour la transmission de données sur ledit réseau, caractérisé en ce qu'il met en oeuvre un second cadencement qui définit un second cycle, dit cycle local, pour la transmission de données entre chacun desdits noeuds émetteur et récepteur et son application associée, ledit cycle réseau étant égal à un multiple entier P, P a 1, du cycle local, le début du cycle réseau coïncidant avec le début d'un cycle local, le cycle local comprenant une pluralité de canaux virtuels correspondant à des intervalles temporels, un ensemble desdits canaux virtuels étant affectés à la transmission dudit ou desdits contenus ; et en ce que les moyens de réception comprennent : - des moyens de réception en provenance du réseau de communication d'au moins un bloc(s) de données concaténées, lors d'un temps de parole affecté à au moins un desdits noeud émetteurs (110) ; des moyens d'extraction, du ou des bloc(s) de données concaténées reçus, de données associées à un canal virtuel, dit canal virtuel de lecture, desdits canaux virtuels affectés à la transmission dudit ou desdits contenus ; - des moyens de fourniture, à partir d'un cycle réseau ultérieur prédéterminé, des données extraites à l'application consommatrice associée au noeud récepteur (111), pendant l'intervalle de temps correspondant au canal virtuel de lecture pendant la durée d'un nombre P de cycles locaux consécutifs.
19. Noeud récepteur selon la revendication 18, caractérisé en ce qu'il comprend des moyens de détection de la présence, dans ledit bloc de données, d'au moins une information, dite information de bourrage, associée(s) à au moins un canal virtuel affecté à la transmission dudit ou desdits contenus, la ou lesdites information(s) de bourrage n'étant pas fournie(s) à l'application consommatricepar les moyens de fourniture.
20. Noeud récepteur ;selon la revendication 19, caractérisé en ce qu'une partie de la ou des information(s) de bourrage est de taille égale à la quantité de données que le noeud récepteur (111) peut fournir pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées.
21. Noeud récepteur selon l'une quelconque des revendications 19 et 20, caractérisé en ce que le noeud récepteur comprend des moyens d'effacement de la ou des information(s) de bourrage pendant le ou les intervalle(s) de temps correspondant(s) au canal ou aux canaux virtuel(s) au(x)quel(s) la ou les information(s) de bourrage est(sont) associées.
22. Noeud récepteur selon l'une quelconque des revendications 18 à 21, caractérisé en ce que les moyens d'extraction comprennent des moyens de désentrelacement de données, lesdits moyens de désentrelacement comprenant des moyens d'identification de regroupements, dits conteneurs, par canal virtuel, de données obtenues d'une application génératrice associée à un desdits noeuds émetteurs (110), et des moyens permettant de réordonner les données par cycle local de fourniture à l'application consommatrice du noeud récepteur.
FR0702790A 2007-04-17 2007-04-17 Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants Withdrawn FR2915338A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0702790A FR2915338A1 (fr) 2007-04-17 2007-04-17 Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants
US12/054,911 US8243751B2 (en) 2007-04-17 2008-03-25 Methods of transmitting and receiving data content in a communications network, and corresponding computer-readable storage media and devices
EP08103199A EP1983691B1 (fr) 2007-04-17 2008-03-31 Procédé de transmission et de réception de contenus de données dans un réseau de communications, produit de programme informatique correspondant, supports et dispositifs de stockage
JP2008108303A JP4701263B2 (ja) 2007-04-17 2008-04-17 通信ネットワークにおいてデータコンテンツを送受信する方法、コンピュータプログラム、記憶媒体及びデバイス
CN2008100922189A CN101291208B (zh) 2007-04-17 2008-04-17 通信网络中数据内容的传送和接收方法和相应设备
KR1020080035825A KR100977653B1 (ko) 2007-04-17 2008-04-17 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0702790A FR2915338A1 (fr) 2007-04-17 2007-04-17 Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants

Publications (1)

Publication Number Publication Date
FR2915338A1 true FR2915338A1 (fr) 2008-10-24

Family

ID=38961769

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0702790A Withdrawn FR2915338A1 (fr) 2007-04-17 2007-04-17 Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants

Country Status (6)

Country Link
US (1) US8243751B2 (fr)
EP (1) EP1983691B1 (fr)
JP (1) JP4701263B2 (fr)
KR (1) KR100977653B1 (fr)
CN (1) CN101291208B (fr)
FR (1) FR2915338A1 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051222B2 (en) * 2008-06-25 2011-11-01 Redpine Signals, Inc. Concatenating secure digital input output (SDIO) interface
FR2949031B1 (fr) * 2009-08-04 2011-07-29 Canon Kk Procede et dispositif de synchronisation d'evenements externes
FR2954027B1 (fr) * 2009-12-14 2012-05-04 Canon Kk Procede de configuration d'un reseau de communication radio multicanal, produit programme d'ordinateur, moyen de stockage et noeud gestionnaire correspondants.
US10284437B2 (en) * 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US8699617B2 (en) 2011-03-28 2014-04-15 Infineon Technologies Ag Transmitter, receiver, method for transmitting and method for receiving
CN102388359B (zh) * 2011-09-15 2014-01-01 华为技术有限公司 信号保序方法和装置
US10129160B2 (en) * 2013-02-08 2018-11-13 Telefonaktiebolaget Lm Ericsson (Publ) Time slot allocation for burst switched network
US9455933B2 (en) 2014-01-25 2016-09-27 Cisco Technology, Inc. Flexible deterministic binary scheduler
CN106850465B (zh) * 2016-12-27 2019-10-25 深圳市海思半导体有限公司 一种Flex E数据交换方法及交换设备
WO2018177509A1 (fr) * 2017-03-28 2018-10-04 Ista International Gmbh Système de communication de signaux
US10278174B2 (en) * 2017-08-04 2019-04-30 Charter Communications Operating, Llc System and method of spectrum allocation
CN108683488B (zh) * 2018-04-24 2021-03-26 北京航天控制仪器研究所 一种基于仿真转台的软同步方法
EP4201037A1 (fr) * 2020-08-18 2023-06-28 Telefonaktiebolaget LM Ericsson (publ) Procédés et agencements permettant de prendre en charge l'estimation de la latence sur un trajet de communication dans un réseau de communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010030978A1 (en) * 1999-12-08 2001-10-18 Holloway John T. Synchronized transport across non-synchronous networks
US20030185174A1 (en) * 1999-08-31 2003-10-02 Currivan Bruce J. Cancellation of interference in a communication system with application to S-CDMA
EP1357705A1 (fr) * 2002-04-23 2003-10-29 CopperGate Communications Ltd. Protocole d'accès adaptatif synchrone pour des réseaux avec support partagé

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445213A (en) * 1979-07-31 1984-04-24 Bell Telephone Laboratories, Incorporated Communication line interface for controlling data information having differing transmission characteristics
US5361261A (en) * 1992-11-02 1994-11-01 National Semiconductor Corporation Frame-based transmission of data
JP3185420B2 (ja) * 1992-12-10 2001-07-09 松下電器産業株式会社 多チャンネル多重装置
JPH09298521A (ja) * 1996-05-08 1997-11-18 Nec Eng Ltd 無線中継制御方法及び無線通信中継制御方式
US6577610B1 (en) * 1997-06-30 2003-06-10 Spacenet, Inc. Flex slotted Aloha transmission system and method
US6188699B1 (en) * 1997-12-11 2001-02-13 Pmc-Sierra Ltd. Multi-channel encoder/decoder
US6128318A (en) * 1998-01-23 2000-10-03 Philips Electronics North America Corporation Method for synchronizing a cycle master node to a cycle slave node using synchronization information from an external network or sub-network which is supplied to the cycle slave node
US7075937B1 (en) 1998-05-19 2006-07-11 Canon Kabushiki Kaisha Method and device for sending data, method and device for receiving data
US6891797B1 (en) 1998-07-06 2005-05-10 Canon Kabushiki Kaisha Method and device for communicating information
EP1051000B1 (fr) 1999-03-25 2014-05-07 Canon Kabushiki Kaisha Procédé et dispositif pour l'affectation d'au moins un identificateur d'achéminement à au moins un pont dans un réseau
JP3353824B2 (ja) * 1999-04-22 2002-12-03 日本電気株式会社 ネットワーク同期システム及びネットワーク同期方法
JP3894406B2 (ja) * 1999-10-22 2007-03-22 パイオニア株式会社 多チャンネルデータの伝送方法ならびにそのシステム
DE60138266D1 (de) * 2000-02-18 2009-05-20 Bridgeco Ag Verteilung einer zeitreferenz über ein netzwerk
US6792005B1 (en) * 2000-09-08 2004-09-14 Lucent Technologies Inc. Timing circuitry for muxing/demuxing of optical communication signals
JP2002094493A (ja) * 2000-09-13 2002-03-29 Toshiba Corp 伝送システム
ATE380422T1 (de) * 2000-10-19 2007-12-15 Thomson Licensing Verfahren zur verbindung mehrerer kommunikationsbusse mit drahtlosen verbindungen
EP1199840A1 (fr) * 2000-10-19 2002-04-24 THOMSON multimedia Méthode pour connecter, via une liaison sans fil, un appareil éloigné de type IEEE1394 à un groupe d'appareils de type IEEE1394
DE10103927A1 (de) * 2001-01-30 2002-08-14 Infineon Technologies Ag Datenübertragungssystem
US7283556B2 (en) * 2001-07-31 2007-10-16 Nishan Systems, Inc. Method and system for managing time division multiplexing (TDM) timeslots in a network switch
US7177971B2 (en) * 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
US7151745B2 (en) * 2001-11-08 2006-12-19 Broadcom Corporation Scalable synchronous packet transmit scheduler
FR2834152B1 (fr) * 2001-12-26 2004-04-30 Nortel Networks Ltd Procede de traitement de symboles numeriques dans un systeme de communication et emetteur et recepteur pour la mise en oeuvre du procede
US20040052274A1 (en) * 2002-09-13 2004-03-18 Nortel Networks Limited Method and apparatus for allocating bandwidth on a passive optical network
ATE354217T1 (de) * 2003-03-13 2007-03-15 Qualcomm Inc Verfahren und system zur datenübertragung in einem kommunikationssystem
FR2857809A1 (fr) 2003-07-15 2005-01-21 Canon Kk Procede de selection et d'etablissement d'une connexion de flux de donnees via un equipement intermediaire, programme d'ordinateur et equipement intermediaire correspondants.
US7298744B1 (en) * 2003-12-30 2007-11-20 Intel Corporation Method and apparatus for centralized processing of contiguously and virtually concatenated payloads
KR20060083051A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기
US7912081B2 (en) * 2005-04-22 2011-03-22 Olympus Corporation Defragmentation of communication channel allocations
JP4669366B2 (ja) * 2005-09-30 2011-04-13 アイホン株式会社 インターホン装置
JP4162093B2 (ja) * 2005-12-09 2008-10-08 三菱電機株式会社 通信システム
US7835271B2 (en) * 2005-12-29 2010-11-16 Alcatel-Lucent Usa Inc. Signaling protocol for p-cycle restoration
JP5049652B2 (ja) * 2006-09-07 2012-10-17 キヤノン株式会社 通信システム、データの再生制御方法、コントローラ、コントローラの制御方法、アダプタ、アダプタの制御方法、およびプログラム
US7986713B2 (en) * 2006-12-09 2011-07-26 Mark Henrik Sandstrom Data byte load based network byte-timeslot allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030185174A1 (en) * 1999-08-31 2003-10-02 Currivan Bruce J. Cancellation of interference in a communication system with application to S-CDMA
US20010030978A1 (en) * 1999-12-08 2001-10-18 Holloway John T. Synchronized transport across non-synchronous networks
EP1357705A1 (fr) * 2002-04-23 2003-10-29 CopperGate Communications Ltd. Protocole d'accès adaptatif synchrone pour des réseaux avec support partagé

Also Published As

Publication number Publication date
EP1983691A1 (fr) 2008-10-22
CN101291208A (zh) 2008-10-22
JP2009005340A (ja) 2009-01-08
US20080259950A1 (en) 2008-10-23
EP1983691B1 (fr) 2012-12-05
US8243751B2 (en) 2012-08-14
CN101291208B (zh) 2013-01-16
KR100977653B1 (ko) 2010-08-24
JP4701263B2 (ja) 2011-06-15
KR20080093922A (ko) 2008-10-22

Similar Documents

Publication Publication Date Title
FR2915338A1 (fr) Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants
EP0493287B1 (fr) Système de transmission de données par répartition dans l'espace temps-fréquence, avec structuration en canaux
US20070230462A1 (en) Audio network system
FR2922066A1 (fr) Procede de gestion de la bande passante dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants
FR2968791A1 (fr) Dispositif de selection de flux de service numerique, et procede, programme d'ordinateur et moyens de stockage correspondants
FR2926937A1 (fr) Procedes de synchronisation d'horloges applicatives dans un reseau de communication synchrone, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants.
FR2939992A1 (fr) Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants
FR2918832A1 (fr) Procedes de transmission de donnees par des noeuds relais dans un reseau de communication synchrone, procede de reception, produit programme d'ordinateur, moyen de stockage et noeuds correspondants.
FR2931021A1 (fr) Procede de synchronisation d'un flux de donnees transmis sur un reseau de communication synchrone, produit programme d'ordinateur, moyen de stockage et dispositif recepteur correspondants.
FR2951340A1 (fr) Procede de gestion d'acces a un reseau de communication resistant aux masquages, produit programme d'ordinateur et dispositifs correspondants.
FR2795261A1 (fr) Procede et dispositif de determination d'un instant de reference lie a la reception de donnees
EP3643072A1 (fr) Procédé et équipement de génération d'un flux de transport, procédé et site de diffusion, et programme d'ordinateur correspondants.
FR2949030A1 (fr) Procede et dispositif de synchronisation d'applications dans un reseau
EP2345250B1 (fr) Modification du debit d'un flux de donnees diffuse dans un reseau monofrequence
FR2940873A1 (fr) Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants
FR2929484A1 (fr) Procede de transmission de trames dans un reseau de communication synchrone par un noeud courant, produit programme d'ordinateur, moyen de stockage et noeud courant
FR2947408A1 (fr) Procede et dispositif de configuration de transmission de donnees de sous-reseaux
FR2758922A1 (fr) Procede de transmission d'une voie de service dans une trame plesiochrone de ladite voie de service et systeme de transmission correspondant
FR2962875A1 (fr) Diffusion synchronisee de flux
FR2954027A1 (fr) Procede de configuration d'un reseau de communication radio multicanal, produit programme d'ordinateur, moyen de stockage et noeud gestionnaire correspondants.
FR2891973A1 (fr) Procede et dispositif de changement de groupes de datagrammes achemines par des paquets d'un flux de transport recu par un dispositif de reception radiofrequence
FR2863436A1 (fr) Procede et systeme de stockage et/ou de restitution d'un flux de donnees audio video au sein d'un reseau de communication heterogene
FR2793624A1 (fr) Procede et dispositif de controle de la synchronisation entre deux noeuds d'un reseau
FR2949031A1 (fr) Procede et dispositif de synchronisation d'evenements externes
FR2942685A1 (fr) Procede de gestion d'acces a un reseau de communication pendant un intervalle de temps partage, produit programme d'ordinateur, moyen de stockage et noeud decisionnaire correspondants.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20081231