Brevet FR2878391A1 — publié le 20060526

Procédé pour réaliser un réseau en étoile formé de bus de type CAN à l'aide d'un répétiteur La présente invention concerne un procédé pour réaliser un réseau en étoile formé de bus de type CAN (Control Area Network en anglais), à l'aide d'un répétiteur. La présente invention a pour but de rendre plus flexible une utilisation des bus de communication de type CAN. L'invention trouve une application particulièrement avantageuse, mais non exclusive, dans le domaine des systèmes médicaux, tels que les machines à rayons X. Les bus de communication de type CAN ou bus CAN correspondent à un des standards des bus de communication électronique. Des contrôleurs associés à des organes, tels que des moteurs ou des actionneurs, sont reliés à ces bus pour communiquer entre eux. Ces contrôleurs assurent une gestion des signaux que l'organe émet ou reçoit sur un bus. Ces contrôleurs peuvent soit jouer un rôle d'émetteur et émettre un signal à destination d'un autre contrôleur du bus, soit jouer un rôle de récepteur et recevoir un signal émis par un autre contrôleur. Dans un exemple, un contrôleur est un micro-contrôleur ou un microprocesseur muni de mémoires, couplé à un circuit contrôleur CAN. Dans la norme des bus CAN, lorsqu'un contrôleur émet ou reçoit des signaux sur un bus, tous les autres contrôleurs connectés à ce bus reçoivent ces signaux. En outre, les signaux observables sur le bus encodent des numéros de priorité sur une zone d'adresse. Ainsi, lorsqu'un premier contrôleur émet un premier signal associé à une première adresse et qu'un deuxième contrôleur émet au même moment un deuxième signal associé à une deuxième adresse, les émissions sont organisées. En effet, dans le cas où la deuxième adresse possède un niveau de priorité plus important que la première adresse, le deuxième contrôleur est autorisé à émettre tandis que le premier ne sera autorisé à émettre qu'après que le deuxième contrôleur ait terminé d'émettre. On connaît des systèmes médicaux comportant des bus CAN destinés à faire communiquer entre eux différents contrôleurs reliés à ces bus et associés à des organes. La figure 1 a montre ainsi une machine 1 à rayons X comportant un socle 2 sur lequel est accroché un bras 3 intermédiaire par l'intermédiaire 2878391 2 d'une première liaison 4 motorisée. Un bras 5 en forme de C est accroché au bras 3 par l'intermédiaire d'une deuxième liaison 6 motorisée. Ce bras 5 comporte un émetteur 7 à rayons X ainsi qu'un détecteur 8 à rayon X situés de part et d'autre d'une table 9 médicale. Un patient (non représenté) s'allonge sur cette table 9 pendant la durée d'un examen. La table 9 comporte des organes permettant d'orienter le patient dans l'espace lors de l'examen. Un organe peut par exemple être une manette qui commande un moteur, ou le moteur lui-même. Des contrôleurs 20-22 associés respectivement à la manette et aux moteurs peuvent communiquer entre eux par l'intermédiaire d'un bus 14 de type CAN. Même si le bus 14 n'est représenté ici que par un seul trait, ce bus 14 comporte généralement deux connexions pour assurer le transport de signaux différentiels. Les contrôleurs 20-22 se situent à l'intérieur d'armatures métalliques 1618 creuses. Or dans l'état de la technique, la norme des bus CAN impose de définir un segment de bus principal, ici le bus 14, aux extrémités duquel deux résistances sont reliées. Cette norme impose de relier les contrôleurs 20-22 à ce segment principal par l'intermédiaire de segments 24-26 de connexions. Ces segments 24-26 possèdent une distance inférieure dans un rapport donné à la longueur du segment 14 de bus principal. Dans ces conditions, le bus 14 doit donc aller et venir à l'intérieur cle ces armatures, afin de limiter la longueur des segments 24-26 de connexion. Une telle configuration de bus engendre donc notamment un gaspillage de connexion. Par ailleurs, dans une telle configuration, un problème de connexion peut altérer la communication entre tous les contrôleurs. En effet, lorsqu'une rupture de bus se produit à l'intérieur des armatures 16-18, sur un des segments 24-26 de connexion, la communication sur tout le bus est coupée et le système médical devient inutilisable. Dans le cas où un des contrôleurs 20-22 est éloigné du bus 14 d'une distance plus grande qu'une distance limite, on peut relier cet organe au bus 14 par l'intermédiaire d'un segment de connexion dont une extrémité est connectée à une résistance de terminaison. Cette résistance évite que le segment ne joue un rôle d'antenne par rapport au bus 14. Toutefois, cette résistance est vue par le bus 14 comme une résistance qui lui est connectée en parallèle. En conséquence, plus le bus 14 comporte de segments de connexion, plus l'impédance globale du bus est faible. De ce fait, les contrôleurs voient leurs sorties connectées quasiment en courtcircuit et ils ne peuvent pas débiter assez de courant pour émettre un signal sur le bus 14. Dans le commerce, on peut trouver des commutateurs de bus CAN pour dupliquer des signaux sur différents bus. Ces commutateurs sont aussi appelés Gateway en anglais. Toutefois, dans ces commutateurs, les signaux sont traités de manière logicielle par un micro-contrôleur et reproduits après un filtrage logiciel sur un autre bus. Ce traitement logiciel engendre une perte de temps dans la transmission de signaux sur un bus. En outre, ces systèmes nécessitent une programmation de paramètres pour définir des bus sur lesquels des signaux vont être dupliqués. En conséquence, les signaux observables sur différents bus reliés à un commutateur peuvent être différents les uns des autres. L'invention se propose notamment de s'affranchir d'une contrainte 15 imposée par l'utilisation des bus de type CAN. A cet effet, dans l'invention, les bus CAN sont reliés entre eux par l'intermédiaire d'un répétiteur. Ce répétiteur duplique des signaux observables sur un bus sur tous les autres bus qui lui sont reliés. Il n'est plus alors question de segments de connexion et de segment de bus principal, puisque tous les bus reliés au répétiteur sont indépendants et se comportent comme s'ils ne formaient qu'un seul et même bus. Ainsi, un signal émis sur un des bus, sera observable sur tous les autres bus reliés au répétiteur. En conséquence, même si les bus sont isolés physiquement les uns des autres, ils sont reliés virtuellement à un bus commun et échangent des signaux par l'intermédiaire du répétiteur. En outre, dans l'invention, les résistances connectées aux extrémités de chaque bus ne sont pas vues comme des résistances connectées en parallèle par un contrôleur. Un grand nombre de bus peut donc être relié au répétiteur sans que l'ajout d'un nouveau bus ne perturbe une communication entre les autres bus. Par ailleurs, dans l'invention, les signaux sont traités en temps réel car le temps de traitement d'un signal par le répétiteur est court et connu. En effet, les signaux sont dupliqués sur les différents bus à l'aide d'éléments logiques réalisés dans un ASIC ou un FPGA, dont on connaît exactement les temps de commutation. Le temps de latence du système formé par le répétiteur et l'ensemble des bus qui lui sont reliés est donc toujours court et connu. Alors que le temps de latence du système formé par un commutateur et l'ensemble des bus qui lui sont reliés est changeant. L'invention concerne donc un procédé pour réaliser un réseau en étoile formé de bus de type CAN à l'aide d'un répétiteur, caractérisé en ce qu'il comporte les étapes suivantes: - on relie des premiers contrôleurs connectés à des extrémités des bus à un répétiteur connecté à tous les bus, et - le répétiteur reproduit les signaux observables sur chaque bus sur tous les autres bus. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Ces figures sont données à titre indicatif mais nullement limitatif de l'invention. Ces figures montrent: - Figure 1 a: une représentation schématique déjà décrite d'une machine à rayons X comportant une table médicale à l'intérieur de laquelle un bus CAN de l'état de la technique est utilisé ; - Figure 1 b: une représentation schématique d'une table médicale comportant des bus CAN reliés entre eux par l'intermédiaire d'un répétiteur selon l'invention; Figure 2a: une représentation schématique de contrôleurs reliés à un répétiteur selon l'invention soit directement, soit par l'intermédiaire d'un bus de type CAN; - Figure 2b: une représentation schématique d'un circuit de communication; - Figure 2c: une représentation schématique d'un signal observable sur un bus CAN; -Figure 3: un diagramme d'état de fonctionnement du répétiteur réalisé selon l'invention. La figure 1 b montre un exemple de réalisation de l'invention dans laquelle trois bus 141-143 de type CAN relient respectivement les contrôleurs 20-22 au répétiteur 19. Ce répétiteur 19 reproduit les signaux émis sur un bus sur les autres bus. Par exemple, lorsque le contrôleur 20 émet un signal sur le bus 141, ce signal est reproduit sur les bus 142 et 143. Ce répétiteur 19 permet donc de substituer le bus 14 par trois bus 141-143 distincts. Ces différents bus 141- 143 se comportent comme s'ils ne formaient qu'un seul et même bus. A cette fin, le répétiteur organise les émissions de signaux sur ces bus 141-143. Dans cette nouvelle configuration, il n'est plus nécessaire aux bus 141143 de décrire des boucles à l'intérieur de chaque armature 16-18, afin de relier tous les contrôleurs 20-22 entre eux. Cette nouvelle configuration de bus permet ainsi d'économiser une longueur de connexion de bus. En outre, lorsqu'une rupture de connexion se produit sur un bus, l'invention permet toujours aux autres bus de communiquer entre eux par l'intermédiaire du répétiteur 19. En effet, clans cette nouvelle configuration, les bus 141-143 sont isolables physiquement les uns des autres et les signaux observables sur ces bus 141-143 sont indépendants les uns des autres. L'architecture des bus autour du répétiteur 19 est aussi appelée architecture en étoile, par analogie avec la forme qu'ils peuvent avoir autour du répétiteur 19. La figure 2a montre notamment une représentation schématique de deux premiers contrôleurs 231 et 232 reliés au répétiteur 19 par l'intermédiaire de deux bus 261 et 262 de type CAN et d'un deuxième contrôleur 233 relié directement au répétiteur 19. Comme on le verra dans la figure 2b, les bus 261 et 262 sont des bus bidirectionnels sur lesquels sont observables des signaux 351 et 352. Chacun de ces bus 261 ou 262 comportent chacun un premier circuit 241 ou 242 de communication et un deuxième circuit 251 ou 252 de communication. Chacun de ces bus 261 ou 262 comporte en outre deux résistances 341, 342 ou 361, 362 situées à ses extrémités, et connectées électriquement en parallèle avec des connexions 271, 272 ou 281, 282 du bus 261 ou 262. Ces connexions 271, 272 ou 281, 282 relient les premiers circuits de communication aux deuxièmes circuits de communication. Les circuits de communication (transceiver en anglais) assurent généralement, comme on le verra dans la figure 2c, la transformation d'un signal tout ou rien digital en un signal physique de transport. Dans cette réalisation, chacun des premiers circuits 241 ou 242 de communication est relié au répétiteur 19 par l'intermédiaire de deux liaisons filaires 301, 311 ou 302, 312. Chacun des deuxièmes circuits 251 ou 252 de communication est relié à un des premiers contrôleurs 231 ou 232 par l'intermédiaire de deux liaisons 371, 381 ou 372, 382. Le deuxième contrôleur 233 est connecté directement au répétiteur 19 par l'intermédiaire de deux connexions 41 et 42. Des premiers signaux 321-322 de transmission sont émis par le répétiteur 19 à destination des premiers circuits de communication. Et des premiers signaux 331-332 de réception émis par ces premiers circuits de communication sont reçus par le répétiteur 19. Un deuxième signal 44 de transmission est émis par le répétiteur 19 à destination du deuxième contrôleur 233. Et un deuxième signal 43 de réception est émis par le deuxième contrôleur 233 à destination du répétiteur 19. Comme on le verra dans la figure 3, le répétiteur 19 organise des émissions des signaux de transmission et de réception à destination des premiers circuits 241 et 242 de communication et du deuxième contrôleur 233. Cette organisation des émissions de signaux est réalisée de manière à simuler l'interconnexion des premiers contrôleurs 231 et 232, et du deuxième contrôleur 233 à un même bus. En variante, d'autres contrôleurs peuvent être connectés aux bus 261 ou 262. Par exemple, le contrôleur 46 est connecté au bus 261 par l'intermédiaire d'un circuit 47 de communication. Dans la pratique, on regroupe physiquement chacun des deuxièmes contrôleurs avec le deuxième circuit 251, 252 de communication et la résistance 361, 362 lui correspondant sur des circuits électroniques 27 et 28. Par ailleurs, le répétiteur 19, les résistances 341-362, les premiers circuits de communication 372, 373, et le deuxième contrôleur 233 peuvent aussi être regroupés physiquement sur un seul et même circuit électronique 29. La figure 2b montre une représentation schématique détaillée du circuit 241 de communication, dont la structure est identique à celle des circuits 242, 251 et 252. Le circuit 241 de communication assure une communication bidirectionnelle sur le bus 261. En effet, le circuit 241 est à la fois capable d'émettre le signal 321 sur le bus 261, et de recevoir le signal 331 émis sur le bus 261. Ainsi, le circuit 241 transforme le signal 321 de transmission de type tout ou rien en un signal 351 de transport, et le signal 351 de transport en un signal 331 de réception de type tout ou rien. Plus précisément, lorsqu'un signal 321 de transmission est émis par le répétiteur sur le bus 261, un premier élément 50 de transformation assure une transformation de ce signal en un signal 351 de type différentiel. Des connexions 52 et 53 prélèvent ce signal et l'appliquent aux bornes d'un deuxième élément 51 de transformation. Ce deuxième élément 51 de transformation 35 transforme alors le signal de tension différentiel observable sur le bus en un signal 331 de réception. Un tel prélèvement de signal permet au répétiteur 19 qui est connecté au circuit 241 de recevoir tous les signaux observables sur le bus 261, y compris ceux qu'il émet lui-même. Le répétiteur 19 peut ainsi synchroniser des émissions de signaux de transmission en fonction des autres signaux émis sur le bus 261. Les signaux de transmission et de réception possèdent soit un niveau récessif, soit un niveau dominant. Un signal de niveau dominant ne peut pas être modifié par un signal de niveau récessif, tandis qu'un signal de niveau récessif peut être modifié par un signal de niveau dominant. En général dans un état de repos, un contrôleur émet des signaux de niveau récessif. Dans un exemple, ce circuit de communication est un circuit du type 82C250. En variante, les circuits de communication assurent une transformation des signaux tout ou rien en signaux de transport optiques ou radiofréquences. La figure 2c montre une allure du signal 351 différentiel observable sur le bus 261. Ce signal 351 est plus précisément observable entre les connexions 271 et 281 du bus 261. Ce signal 351 est de type différentiel car les potentiels des deux connexions 271 et 281 mesurables par rapport à une masse possèdent un même écart par rapport à une valeur moyenne A. A un instant initial par exemple, on observe un signal 351 possédant un niveau de tension de A volts aux bornes de la résistance 341. Ce niveau de tension A correspond à un niveau récessif. A un instant t1, un signal de type dominant est émis sur le bus 261. La tension 351 commence alors à croître et atteint à un instant t2 un niveau 2*A correspondant à un niveau dominant. A l'instant t2, une des connexions possède alors un potentiel de 2*A Volts, tandis que l'autre possède un potentiel de 0 Volts. A un instant t3, un signal de niveau récessif est émis sur le bus 261. La tension 351 diminue alors et atteint à un instant t4, un niveau correspondant au niveau récessif. Il existe un certain retard entre l'instant où un changement de niveau est imposé au signal et celui où le signal atteint le niveau demandé. Ce retard correspond en fait à la charge ou à la décharge de condensateurs utilisés dans les circuits de communication ou à des effets capacitifs parasites introduits notamment par des câbles ou des pattes de composants. La durée nécessaire au signal pour qu'il passe d'un niveau dominant à un niveau récessif est appelée période 49 de recouvrement. Pendant cette période 49 de recouvrement, on ne peut pas détecter avec certitude quel est le niveau du signal observé sur le bus. La figure 3 montre un diagramme d'état correspondant à la mise en oeuvre du procédé selon l'invention. Dans la description qui suit, on entend par émetteur, un élément qui est relié directement au répétiteur 19 et qui émet un signal à destination de ce répétiteur 19. Et on entend par destinataires tous les éléments qui sont reliés directement au répétiteur 19, sauf l'émetteur. Lorsque le répétiteur 19 reçoit de l'émetteur un signal de réception de niveau dominant, le répétiteur 19 émet des signaux de transmission dont le niveau est fonction du destinataire et / ou de l'émetteur. Plus précisément, dans un état 78 de repos, les signaux 331, 332 et 43 de réception reçus par le répétiteur 19 possèdent des niveaux récessifs. Lorsque le répétiteur 19 reçoit un premier signal 331 de réception de niveau dominant émis par le premier circuit 241 de communication (qui est alors émetteur), il entre dans un premier état 80. Dans cet état 80, le répétiteur 19 émet des signaux 322 et 44 de transmission de niveau dominant à destination de tous les destinataires 242 et 233. Cette émission de signaux dominants à destination du premier circuit de communication 242 et du deuxième contrôleur 233 permet de simuler le fait que les contrôleurs 231-233 sont reliés au même bus. En outre, le répétiteur 19 émet un signal 321 de transmission de niveau récessif à destination de l'émetteur 241. Cette émission d'un signal 321 de transmission de niveau récessif a pour but d'éviter des blocages dans ce premier état 80. En effet, dans l'hypothèse où le signal 321 posséderait aussi un niveau dominant, le signal 351 observable sur le bus 261 posséderait constamment un niveau dominant et aucun autre contrôleur 231-233 ne serait alors autorisé à émettre de signal dominant à destination du répétiteur 19. Les émissions de signaux à destination de l'émetteur 241 et des destinataires 242 et 233 par le répétiteur 19 se produisent tant que l'émetteur 241 émet un signal 331 de niveau dominant. Par ailleurs, tant que l'émetteur 241, émet un signal de niveau dominant, le répétiteur 19 ne traite pas les signaux de réception 332 et 43 émis par les destinataires 233 et 242. Cette absence de traitement permet également d'éviter un blocage du système, dans le cas où le répétiteur 19 ne recevrait que des signaux de niveau dominant. Le répétiteur 19 sort du premier état 80 et passe à une étape 79 de temporisation lorsque l'émetteur 241 émet un signal 331 de niveau récessif à destination du répétiteur 19. Dans l'étape 79 de temporisation, le répétiteur 19 émet des signaux de transmission de niveau récessif à destination des destinataires 242, 233 et de l'émetteur 241 pendant une durée de temporisation. Cette étape 79 de temporisation permet de s'affranchir des éventuels problèmes que le système pourrait rencontrer lorsque le niveau des signaux observables sur les bus 261 et 262 est indéterminé. En effet, la durée de temporisation est au moins aussi longue que la période 48 de recouvrement. Cette durée est comprise entre 0 ns et 700 ns, et est choisie en fonction d'une application donnée. Lorsque la durée de temporisation est écoulée, on retourne à l'étape 78 de repos où le répétiteur 19 est à l'écoute des signaux de niveau dominant susceptibles d'être émis. Lorsque le premier circuit 242 de communication devient à son tour émetteur, le répétiteur 19 se comporte avec les destinataires d'une manière qui correspond à celle dont il se comporte lorsque le premier circuit 241 de communication est émetteur. Lorsque le répétiteur 19 se trouve dans un état de repos et qu'il reçoit un signal 43 de réception émis par le deuxième contrôleur 233 (qui devient alors émetteur), il entre dans un troisième état 82. Dans ce troisième état 82, le répétiteur 19 émet des signaux 321, 322 et 44 de transmission de niveau dominant vers tous les destinataires 241, 242 et l'émetteur 233. Le contrôleur 233 directement relié au répétiteur 19 reçoit ainsi un signal de réception de même niveau que le signal d'émission qu'il est en train d'émettre, de manière à pouvoir organiser des émissions de signaux et à toujours recevoir un signal 44 correspondant aux signaux émis sur le bus. Là encore, tant que l'émetteur 233, émet un signal de niveau dominant, le répétiteur 19 ne traite pas les signaux de réception émis par les destinataires 241, 242. Le répétiteur 19 sort de l'état 82 lorsque le contrôleur 233 émet un signal 43 de niveau récessif à destination du répétiteur 19. Le répétiteur 19 entre alors comme précédemment dans une étape 79 de temporisation. A la fin de cette étape 79, le répétiteur 19 retourne alors à nouveau dans l'état 78 de repos. Dans l'exemple de mise en oeuvre, deux premiers contrôleurs (donc deux premiers circuits 241 et 242), et un seul deuxième contrôleur 233 sont connectés au répétiteur 19. Toutefois, dans le cas général, un nombre quelconque de premiers contrôleurs et un nombre quelconque de deuxièmes contrôleurs peuvent être reliés au répétiteur 19. En variante, il est bien sûr possible de relier uniquement des premiers contrôleurs ou uniquement des deuxièmes contrôleurs au répétiteur 19. REVENDICATIONS 1 - Procédé pour réaliser un réseau en étoile formé de bus de type CAN à l'aide d'un répétiteur (19), caractérisé en ce qu'il comporte les étapes suivantes: - on relie des premiers contrôleurs (231, 232) connectés à des extrémités des bus au répétiteur (19) connecté à tous les bus (141-143), et - le répétiteur (19) reproduit les signaux observables sur chaque bus sur tous les autres bus. 2 - Procédé selon lé revendication 1 caractérisé en ce que - on relie les premiers contrôleurs (231, 232) au répétiteur (19) par l'intermédiaire des bus (261, 262) reliés à des premiers circuits (241, 242) de communication et à des deuxièmes circuits (251, 252) de communication, les premiers circuits (241, 242) de communication étant reliés directement au répétiteur (19), le répétiteur (19) étant capable d'émettre des premiers signaux (321, 322) de transmission à destination de ces premiers circuits (241, 242) de communication et de recevoir des premiers signaux (331, 332) de réception émis par les premiers circuits (241, 242) de communication, et - on relie des deuxièmes contrôleurs (233) directement au répétiteur (19), le répétiteur (19) étant capable d'émettre des deuxièmes signaux (44) de transmission à destination des deuxièmes contrôleurs (233), et de recevoir des deuxièmes signaux (43) de réception émis par ces deuxièmes contrôleurs (233). 3 - Procédé selon la revendication 2 caractérisé en ce que - les contrôleurs (241, 242, 233) et le répétiteur (19) sont capables d'émettre et / ou de recevoir des signaux électriques de niveau dominant ou récessif, le signal de niveau récessif pouvant être modifié par un signal de niveau dominant, et le niveau dominant ne pouvant pas être modifié par un signal de niveau récessif. 4 - Procédé selon la revendication 3 caractérisé en ce que -lorsque le répétiteur (19) reçoit un signal de réception de niveau dominant émis par un émetteur, cet émetteur étant soit un des premiers circuits (241, 242) de communication, soit un des deuxièmes contrôleurs (233), le répétiteur (19) émet vers un ensemble de destinataires (241, 242, 233), ces destinataires étant tous les premiers circuits (241, 242) de communication et les deuxièmes contrôleurs (233) sauf l'émetteur, un signal de transmission dont le niveau est fonction du destinataire et / ou de l'émetteur. - Procédé selon la revendication 4 caractérisé en ce que -lorsque l'émetteur (19) est un premier circuit (241) de transmission, alors le répétiteur (19) émet des signaux (322, 44) de transmission de niveau dominant à destination de tous les destinataires (242, 233) et un signal (321) de transmission de niveau récessif à destination de l'émetteur, ces émissions se produisant tant que l'émetteur (241) émet un signal (331) de niveau dominant. 6 - Procédé selon la revendication 4 caractérisé en ce que -lorsque l'émetteur est un deuxième contrôleur (233), alors le répétiteur (19) émet des signaux (321, 322, 44) de transmission de niveau dominant vers les destinataires (241, 242, 233) et l'émetteur (233), ces émissions se produisant tant que l'émetteur (233) émet un signal (43) de réception de niveau dominant. 7 - Procédé selon l'une des revendications 4 à 6 caractérisé en ce que tant que l'émetteur émet un signal de niveau dominant, le répétiteur (19) ne traite pas les signaux de réception émis par les destinataires. 8 - Procédé selon l'une des revendications 4 à 7 caractérisé en ce que dès que l'émetteur émet un signal de réception de niveau récessif, alors le répétiteur (19) émet des signaux de transmission de niveau récessif à destination de tous les destinataires (241, 242, 233) et de l'émetteur pendant une durée de temporisation. 9 - Procédé selon la revendication 8 caractérisé en ce que - on fait durer la temporisation entre 0 ns et 700 ns. - Procédé selon l'une des revendications 2 à 9 caractérisé en ce que - on utilise des circuits de communication de type 82C250.