FR 2828947 A1 20030228 FR 0111141 A 20010827 La présente invention concerne le champ d'application des"bus de terrain"en matière d'informatique de contrôle commande à intelligence répartie. Les domaines concernés par sa mise en oeuvre se trouvent dans tous les secteurs, notamment l'industrie en général, la domotique, l'automobile, l'aéronautique, le spatial, le naval ect.... Elle fait référence au concept UCE décrit dans le cerficat d'utilité Français ? 96 01096 qui décrit comment un"Bus Externe" (BE) qui relie des"Unités Locales" (UL) par leur"Interface au Bus" (IB) respective, peut être le siège de calculs logiques entre plusieurs variables géographiquement distantes. Les résultats de ces calculs sont accessibles par toutes les unités locales du réseau. Un réseau UCE réalise donc un programme"global"qui a été"fragmenté"en programmes"locaux"et qui ont été répartis sur les UL concernées. Cette invention concerne le mode de fonctionnement UCE et définit : - La fonction"OUT"qui équipent les IB de chaque UL permettant à chaque UL d'écrire des données sur le bus. - La sérialisation des calculs par les fonctions"OUT". - La fonction"IN"équipant les IB de chaque UL permettant de saisir et Sou de tester les résultats qui apparaissent sur le bus. Fonctionnement"UCE" La Figure 1 montre une stucture"bus UCE". Le bus (7) est le canal d'information externe à l'unité locale maitre (l). Le bus est l'extention de sa fonction OUT et retourne vers sa fonction IN. Les autres UL (2) sont dites"esclave". Le bus est continu. C'est à dire que pour un réseau UCE donné et constitué de plusieurs unités locales, à tout instant du fonctionement en mode UCE, l'état du bus est accessible, en lecture, par chacune des fonctions IN et, en écriture, par chaque fonction OUT de chacune des UL du réseau. Certaines de ces UL pourraient avoir un statut de maître ou d'esclave mais à tout instant il n'y a qu'une seule UL maître sur le réseau. La structure réseau mimimun est constituée d'une UL maître et d'une UL esclave. Chaque unité locale est constituée d'une #Interface au Bus (IB) (3), équipée des ports IN et OUT. La Figure 2 montre le synoptique faisant apparaître l'ensemble des signaux de base véhiculés entre les parties matérielles des fonctions IN (10) et OUT (16) et la structure (4) d'une part et le bus (7) d'autre part. Ces deux fonctions sont quasiment autonomes au détail prés de leur signal"Wr/Rd" (14) (Ecriture/Lecture) qui leur est commun dans le fonctionnement UCE. La connexion (8) est la sortie"out"sur le bus (7) de la fonction OUT (16). La connexion (9) est l'entrée "in" depuis le bus (7) de la fontion IN (10). #d'une structure (4) pourvue d'un ensemble d'entrées (6) et de sorties (5) tous types confondus. Cette structure peut être de type"ordinateur", avec une "logique programmée" installée, ou de type Iflogique cabléelf. Quelque soit leur nature, ces logiques gèrent, entre autre, les signaux schématisés en Figure 2 : . (11) et (12) signaux de sorties de la fonction IN (10) vers la structure (4) intitulés dans le texte qui suit comme "IFZ" (si zero) et "IFNZ" (si un). En mode UCE, ils sont le résultat d'un test de l'état du bus. . (14) signal d'entrée de la fonction IN (10) et de la fonction OUT (16) intitulé dans le texte qui suit comme "Wr/Rd" (Ecriture/Lecture). En mode UCE, il correspond à un signal d'horloge permettant sur un premier front actif d'écrire une donnée sur le bus par la fonction OUT (16) puis sur le front suivant d'effectuer la lecture de l'état du bus par la fonction IN (10). . (13) signal d'entrée de la fonction IN (10) intitulé dans le texte qui suit comme "Select Trig" (Sélection de déclenchement). Le niveau actif de ce signal permet d'activer le "mode UCE". Il permet alors de générer les signaux IFZ et IFNZ à partir d'un cycle du signal "Wr/Rd" (14). Le niveau non actif permet de générer les signaux sur les lignes (11) et (12) à partir d'un changement d'état défini du bus (7). t) slgnal aenlree ae la ronctlon uUi nlllule dans le texte qui suit comme"D" (Data). Il correspond à la sortie d'un registre de décalage "SHIFT OUT" de la structure (4). Il permet la sérialisation de données vers le bus (7) depuis la structure (4). + (17) signal de sortie de la fonction IN (10) vers la structure (4) intitulé dans le texte qui suit comme "res in" (result in). Il correspond à l'entrée d'un registre"SHIFT IN"de la structure (4). Il permet les saisies successives des états du bus depuis le bus vers la structure (4). Les registres "SHIFT IN" et "SHIFT OUT" fonctionnent en fait comme la ressource"SPI"d'un micro contrôleur. Une SPI (Serial Peripheral Interface) est une liaison série synchrone. Le signal de synchronisation peut être le même que le signal Wr/Rd (14). Ils ne seront plus représentés sur les schémas suivants que par leur sorties série "D" et entrée série"res in". Ils sont gérés par la structure (4). LE FONCTIONNENT UCE Le fonctionnement UCE est caractérisé par la capacité des fonctions OUT (16) à effectuer une"Ecriture simultanée" sur le bus (7) par une gestion rationnelle des conflits d'état. Rappels sur le principe : Les UL connectées sur un même bus réalisent des opérations logiques schématisées par l'organigramme de base représenté en Figure 3. - L'organigramme est de type SERIE ("ET", "non OU" ou mixte) si le résultat le moins probable"r" (21) a pour état UN alors que le résultat le plus probable"R" (22) a pour état ZERO. - L'organigramme est de type PARALLELE ("OU", "non ET" ou mixte) si le résultat le moins probable"r" (21) a pour état ZERO alors que le résultat le plus probable"R" (22) a pour état UN. Caractéristiques principales : OLes états r et R pour chaque type d'opération sont complémentaires. Les opérations Séries et Parallèles ont donc un caractère "antagoniste". Elles ne peuvent se faire que de manière séparée. OLe nombre de tests élémentaires (20) peut être théoriquement "infini". Dans la pratique, il dépend entre autre, des admittances des portes logiques qui réalisent ces tests. 8Toute fonction logique complexe est décomposable en une suite d'organigrammes de base. Le type Série est le plus pratique, puisque les fonctions logiques se décomposent en une somme logique de plusieurs opérations de type série : F= a (bc+hj) =abc + ahj. OLa loi de Morgan définit les conditions qui permettent de commuter une opération d'un type à l'autre : (a. b =/ (/a+/b) ; a+b=/ (/a./b)). Un réseau UCE réalise son programme global par le moyen d'opérations logiques de base de type Série et/ou Parallèles mais de manière séparée, afin de réduire au minimum le nombre de conflits d'état sur le Bus. Le fonctionnement en mode UCE permet la réalisation sur le bus d'opérations logiques sous forme de : - d'opérations logiques multivariables - de transferts de données entre différentes UL. Dans la Figure 4, le registre"res"représente le bus (7). . Cas de la réalisation d'opérations logiques multivariables. a) L'UL maître n'intervient pas dans l'opération logique en cours. Le bus (7) est initialisé par une opération d'écriture (18) de la fonction OUT (16) de l'UL "Maître" à la valeur"r". Les fonctions OUT des autres UL. esclaves, ne peuvent écrire que la valeur"R"si leur état y correspond. Dans le cas contraire leur sortie est en haute impédance. Ces opérations d'écritures se réalisent simultanément sur les fronts synchronisés des signaux Wr/Rd de chaque UL. La résolution du conflit d'état est traité ci-aprés. b) L'UL maître intervient dans l'opération par une de ses variables. L'initialisation (18) du bus sera fonction de l'état de la variable. Le test qui représente son intervention est celui de la variable"n" (19) de la Figure 3. Ce test est équivalent à un "chargement" du bus (7) par un état fonction de la variable "n" et du type d'opération en cours. +Cas du transfert de données Le transfert d'une seule donnée sur le bus est une opération logique qui implique l'écriture d'un seul état d'une variable donnée sur le bus (7) par une UL dite "source" et sa lecture par une ou plusieurs UL dite Tt "dessinatrice (s) II. Les organigrammes des Figures 5 et 6 schématisent les cas d'écriture sur le bus (7) des fonctions OUT de L'UL source selon son statut de "Maître " ou d'"Esclave". la Figure 5 représente le schéma de fonctionnement du transfert pour une UL esclave. L'opération est répartie entre l'UL maître qui initialise (18) Figure 5 le bus avec l'état"r"et l'UL"source"qui mettra l'état"R"si son état y correspond. La Figure 6 représente le schéma de fonctionnement du transfert pour une UL maître. l'opération n'implique que sa seule fonction OUT. L'acquisition de la valeur ainsi chargée ne dépend que de (s) UL "dessinatrice(s) " par leur fonction IN respective. A) Caractéristiques matérielles des fonctions OUT des interfaces au bus Esclave et Maître. Les Figures 7, 8, 9, 10 et 11 représentent à titre non exhaustif, diverses possibilités de fonctions OUT selon qu'elles participent à des opérations de type parallèle ou série et selon leur statut de maître ou d'esclave. L'interface "support media" (25) schématise une porte dont la sortie est adaptée à un support physique quelconque pouvant remplir la fonction de bus (RS485, RS232, radio, courant porteur ect....). Cette porte est une"séparation"qui permet l'adaptation des signaux en provenance des portes logiques TTL, CMOS ect... qui constituent l'IB (3) aux caractéristiques physiques des signaux véhiculés par le bus (7). Ces portes ont en général dans le sens"écriture sur bus", une entrée (23) DI (Data In) dont l'état peut passer sur leur sortie"out"si leur entrée (24) DE (Data Enable) est active. L'entrée DE inactive met la sortie out en"haute impédance"vis à vis du bus. Le terme de haute impédance doit être pris au sens large. C'est donc une"absence"ou une"non influence"du bus. a) La fonction OUT"Esclave. La fonction OUT dite"Esclave"équipe une interface au bus esclave. Elle ne peut écrire que l'état logique correspondant à celui du résultat le plus probable"R" (22) de l'opération logique effectuée. L'autre état est celui de haute impédance. La Figure 7 et la Figure 8 représentent la commande type Série de l'interface (25) par une bascule"D" (26). Seul l'état ZERO peut passer sur le bus. La Figure 9 représente une variante de commande type Parallèle. Elles contribuent à inverser la polarité de la commande DE (23) et de la donnée DI (24). L'émission de la donnée"d"vers le bus sera effectuée par l'apparition d'un front actif sur l'entrée clk de la bascule (26). La donnée ne passera la porte (25) que si son niveau coïncide avec le niveau actif de la commande (24). Sinon la donnée positionnera la porte (25) en haute impédance. Durant le fonctionnement UCE, la fonction OUT"esclave" lie ses entrées DI et DE de la fonction OUT à l'état de la donnée à placer sur le bus (7). Cette relation est telle que seul l'état du résultat le plus probable"R" (22) de l'opération en cours peut passer sur le bus (7). De cette manière, un conflit d'état sur le bus entre les fonction OUT esclaves devient impossible durant l'exécution d'une opération logique donnée. La Figure 16 représente une interface au Bus esclave. La fonction OUT y apparaît. Dans ce cas de figure les opérations logiques exécutées sont de type série. Les chronogrammes de la Figure 17 font entrevoir la relation entre les états des signaux D (15), la sortie "out" (8) de la porte (25) et l'état du bus en synchronisme avec le signal Wr/Rd (14). On aperçoit que pour une valeur de D égale à UN, la sortie Q out slave est en haute impédance. L'état du bus est alors déterminé par : - Soit l'UL maître pour les deux états possibles si elle engage une variable (Figure 6) dans l'opération en cours ou pour le seul état "UN" "R" d'initialisation dans le cas contraire (Figure 5, (18)). - Soit par une autre UL esclave si son état D est ZERO Figure 5 (res=R). nota : Les aspects des conflits d'états sur le bus est développé dans le chapitre suivant. b) La fonction PUT"Maître". La fonction OUT"Maître"équipe une interface au bus maître. Les Figures 10 et 11 représentent à titre non exhaustif des fonctions OUT possibles. Elle correspondent à un simple passage de l'état"d"vers DI (23) puis vers le bus (7) par l'apparition d'un front actif sur l'entrée clock de la bascule (26). Cette fonction peut donc écrire les deux états logiques correspondant aux valeurs des états "r" ou "R" ou être en haute impédance. La commande DE (24) n'est plus fonction de l'état de la variable à placer sur le bus. Cette commande est séparée et doit être maintenue à son niveau actif lors du fonctionnement en mode UCE. La Fig. 12 met en évidence le seul état conflictuel (28) qui peut alors apparaître lors d'une écriture d'un état"R"d'une des UL esclaves du réseau et de l'état Ifrlf par l'interface UL maître. Durant le fonctionnement UCE, la sortie (8) de la fonction OUT "maître" est le seul point du bus (7) où un conflit d'état peut se produire. Au niveau du bus, ce conflit d'état doit être capté afin de faire basculer la sortie OUT maître en l'état prioritaire"R". Le conflit d'état est alors annihilé. Le bus se trouve en l'état "R". Pratiquement, ce basculement se fait par le système (27) en Figures 10 et 11 en détectant "l'état conflictuel" au niveau du bus même et en agissant sur les entrées prioritaires d'initialisation S/R de la bascule D (26). Le choix des deux Figures 10 et 11 dépend du type d'opération série ou parallèle en cours de réalisation. La Figure 12 représente le cas d'un bus au normes IEEE RS 485 dit"à différentiel de tension". Le composant représente un UN sur son entrée DI par un potentiel VA > VB sur les deux fils du bus. Un ZERO sur son entrée DI est traduit par un potentiel VA La Figure 13 représente un montage qui capte ce court circuit. Le schéma de la fonction OUT ainsi représentée permet la résolution d'opérations logiques de type série. Si la bascule maître provoque un court circuit sur le bus avec l'une au moins des UL esclaves, le schéma électrique équivalent de la ligne est représenté en Figure 14. - Le courant minimum de court circuit dans les sorties A et B du composant est donné par le constructeur à 35 mA, - Le courant"normal"passant par A et B est de +/-1mA, - Le courant IF maximum de la diode de l'opto coupleur (30) 4N25 est de 30mA : L'opto-coupleur fonctionne et rend bien l'état"0" prioritaire sur le bus. Les 2 portes Triggers et la capacité C assurent une mise en forme du signal de retour sur l'entrée Reset de la bascule D. La résistance R protège la diode. La figure 19 montre les chronogrammes des signaux de la fonction OUT maitre de la figure 18. Le"transitoire" (38) montre le fonctionnement du circuit de détection du conflit d'état sur le bus. La fenêtre occupé par ce transitoire détermine la fréquence maximale du signal Wr/Rd. B) Sérialisation des opérations logiques ou des transferts sur le bus. Le but de la sérialisation est de réduire le nombre de canaux du bus et de permettre des longueurs de bus plus importantes que le ferait une transmition multi-canal. Cette technique de transmission de données se concrétise par l'envoi de trames de données séparées par des informations principalement appelées"Bit de Startet "Bit de Stop". Généralement, le bit de Start est l'événement qu'un émetteur doit placer sur le bus pour activer les récepteurs et leur permettre de se synchroniser avec la trame de données à venir. Le bit de stop a un caractère de contrôle de la trame reçue par les récepteurs. Un envoi de plusieurs trames successives se traduit par une juxtaposition d'un bit de stop et de start. Ils sont donc de polarité inverse. Dans la pratique le bit de start est un niveau bas, le bit de stop est un niveau haut. La trame de type UCE pourrait donc être constituée : - D'un bit de Start de valeur ITRIT, entre autre, pour la mise en synchronisme du réseau et émis par la seule IB maitre. -D'une partie"données"où chaque bit"résulte"d'une intervention simultanée sur le bus de plusieurs unités locales par le moyen des fonctions OUT de leur interface au bus. - D'un bit de Stop de valeur"r"permettant la surveillance de la trame. Il peut être émis par toutes les unités locales de telle sorte que la présence d'un niveau"R" (prioritaire) signalerait un"arrêt d'urgence"par au moins une des UL du réseau. En choisissant les niveaux standards pour les bits de start et de stop on définit ainsi le couple (r, R) équivalent à (1,0). Ceci va dans le sens de la priorité d'emploi des opérations de type série sur le type parrallèle. La partie "donnée" de la trame représente donc une suite de résultats. Si l'on considère une trame à huit bits de données, il faudra huit impulsions Wr/Rd (14) au niveau des UL du réseau pour que les registres SHIFT OUT se soient vidés. Ces impulsions sont synchronisées par le bit de start émis par l'UL maître seule. Lorsqu'un bit de donnée de la trame est émis, - les sorties des UL esclaves non intervenantes sont en haute impédance. Les structures (4) correspondantes place donc un niveau UN sur leur entrée D (15). - La sortie de l'UL Maître en cours initialise le bus avec D (15) à UN si elle est non intervenante. Dans le cas contraire c'est l'état de la variable intervenante qui y est placée. En ce sens, les trames"apparentes"sont modulées par la capacité des fonctions OUT à réaliser simultanément des opérations logiques à partir des variables qui y participent. La mise en forme du registre SHIFT OUT des unités locales peut être faite durant le bit de start. Elle correspond au décodage des programmes locaux implantés sur les UL. La Figure 20 représente les étapes que doit suivre les séquenceurs de transmission de base dont doit être équipée chaque UL maître et esclave du réseau. Ces séquenceurs peuvent être émulés ou câblés. Ils contribueront à gérer les signaux des Fonctions OUT et IN de l'IB. Les résultats qui apparaissent sur le bus doivent donc être traités. La fonction IN devra les saisir afin de pouvoir être exploités par la structure (4). La fonction"IN" (10) en mode UCE activé, génère les signaux IFZ (11) et IFNZ (12) à chaque front de lecture du signal Wr/Rd. Ces signaux peuvent appeler des programmes d'interruption afin de permettre un traitement au"fil de l'eau". Cette propriété est nécéssaire à l'achèvement des opérations logiques de base en cours d'exécution, pour complémenter ou non le résultat avant traitement de la tâche locale. (tansformation d'opération logique d'un type à l'autre par loi de Morgan). Dans certains cas, il sera nécessaire d'attendre le bit de stop pour traiter la partie calcul de la trame. Ceci étant nécessaire, entre autre, par l'existence de calculs intermédiaires résultant de la décomposition du programme global en opérations logiques de base. C) La Fonction IN Le rôle de la fonction IN est d'opérer la saisie de l'état du bus mais aussi de le tester. La Figure 15 représente le schéma synoptique de la fonction. On y trouve la porte (31) qui représente la séparation et la transformation des signaux présents sur le bus afin d'être exploités par la logique TTL ou CMOS qui constitue la Fonction IN. Les deux circuits (33) génèrent les signaux "IFZ" (11) et"IFNZ" (12). Ils reçoivent tous les deux le signal Wr/Rd (14) de la structure (4) par leur entrée B (35). Seule une des entrées A (34) reçoit directement l'état du bus, l'autre, le reçoit complémenté par la porte NON (32). L'état actif des deux entrées A n'est donc présent que sur l'une d'entre elles seulement. L'entrée A active sélectionne le circuit (33) qui pourra générer son signal de sortie Q vers la structure (4). L'entrée"Dir" (36) permet de sélectionner l'origine des signaux de sortie"IFZ" (11) et"IFNZ" (12). Pour le fonctionnement UCE"activé", ces signaux sont générés sur front du signal Wr/Rd. Le rôle de la fonction IN est alors d'opérer un test sur l'état du bus. Ce test est nécessaire à la conversion d'une opération de type série en opération de type parallèle et vice-verca. Pour le fonctionnement UCE "désactivé", les signaux sont activés par les changements d'état du bus. Ce comportement est, entre autre, utilisé pour la détection du bit de start pour les UL esclaves. La Figure 20 mentionne ce mode ce fonctionnement à l'étape SO d'une UL esclave. Les signaux (11) et (12) n'ont alors qu'un caractère événementiel par rapport à leur signification en mode UCE. La figure 16 représente les fonctions IN (10) et OUT (16) d'une UL esclave réalisant des opérations de type Série. Les chronogrammes de la Figure 17 décrivent le comportement des signaux concernés par le fonctionnement en Mode UCE activé. C'est le signal Wr/Rd qui génèrent les signaux IFZ ou IFNZ selon la porte A active des deux circuits (33). Ces signaux sont alors exploités par la structure (4) soit par une logique câblée correspondant à une application bien précise soit par un programme interruptif"local"alors que les résultats apparaissent sur le bus. La figure 17 représente les chronogrammes des signaux IFZ ou IFNZ en fonction du signal Wr/Rd. Le mode UCE est censé être activé. L'état lu n'est pas une simple donnée mais bien le résultat de l'opération logique en cours représentée par l'organigramme Figure 3. Elle montre aussi la mise en état haute impédance lorsque la donnée D (15) est à UN. Durant ce moment l'état du bus est déterminé soit par une ou plusieurs autres UL esclave si celles-ci placent l'état ZERO, soit par l'UL maître. Compte tenu de ce qui est écrit ci-dessus, seul l'un des signaux (11) ou (12) est alors activé au front de lecture Wr/Rd. La figure 18 représente les fonctions IN et OUT de l'UL maître réalisant des opérations de type Serie. Elle montre que dans le principe, le fonctionnement de la fonction IN n'est pas différent. Dans ce cas le mode UCE"désactivé" n'est pas nécessaire pour le fonctionnement de base décrit par les séquenceurs figure 20. REVENDICATIONS l) Ensemble de stuctures matérielles connectées par un bus (7), chacune constituée d'une logique câblée et/ou intégrée et/ou programmée et qui à un instant donné, par leur fonctionnement propre, réalisent un ensemble de fonctions IN (10), un ensemble de fonctions OUT (16) dites "esclaves"et au moins une fonction OUT (16) dite "maître"afin d'effectuer une opération logique de base, entre plusieurs variables, et dont le résultat determinera immédiatement et directement l'état logique du bus (7). 2) Ensemble de stuctures matérielles selon la revendication 1 qui réalise la fonction OUT (16) dite "esclave", caractérisé en ce que sa sortie ne peut positionner le bus (7) que dans le seul état du résultat le plus probable"R" (22) de l'opération logique en cours d'exécution ou être isolée du bus (7). 3) Ensemble de stuctures matérielles selon la revendication 1 qui réalise la fonction OUT (16) dite "maître", caractérisé en ce que sa sortie peut positionner le bus (7) dans l'état du résultat le moins probable"r" (21) de l'opération logique en cours d'exécution. Dans ce cas, et pour un bus (7) positionné en l'état"R" (22), cette sortie sera à l'origine d'un conflit d'état (28) sur le bus (7). 4) Ensemble de stuctures matérielles selon la revendication 3, caractérisé par la capacité qu'il donne à la fonction OUT (16) dite"maître"de détecter le conflit d'état (28) provoqué par sa sortie, et de supprimer ce conflit, de manière prioritaire sur sa cause initiale, en basculant (38) cette sortie dans un autre état compatible. 5) Ensemble de stuctures matérielles selon la revendication 1 à 3, caractérisé par la propriété qu'il donne à chacune des fonctions OUT connectées de sérialiser sur le bus (7), selon leur fonctinnement propre, toutes ensemble et en synchronisme, des trames d'états binaires fournies par leur strucure (4) utilisatrice. 6) Ensemble de stuctures matérielles selon les revendications 1 à 5 qui réalise l'une ou l'autre des fonctions OUT (16), caractérisé par le fait que tout bit de la trame observable sur le bus (7) a le même état que celui du résultat de l'opération logique de base qui lie les états binaires alors mis en présence sur le bus (7) au travers des fonctions OUT concernées. 7) Ensemble de stuctures matérielles selon la revendication 1 qui réalise la fonctions IN (10) caractérisé par sa capacité à tester l'état du bus (7) et de rendre le résultat de ce test instantanément accessible et exploitable par leur strucure (4) utilisatrice. 8) Ensemble de stuctures matérielles selon la revendication 5 à 7, caractérisé par la propriété qu'il donne à chacune des fonctions IN (10) connectées d'effectuer le test de l'état stabilisé de chaque bit de la trame observable, sur le bus (7), au fur et à mesure de leur apparition. 9) Ensemble de stuctures matérielles pouvant équiper les fonctions IN (10) selon la revendication 1 caractérisé par la propriété qu'il donne aux fonctions IN (10) connectées de détecter l'événement sur le bus (7) qui permettra au réseau de passer en mode de calcul d'opération logique sur le bus (7) à partir d'un autre mode et vice-versa.