DISPOSITIF EVOLUTIF DE TRAITEMENT RAPIDE DE SIGNAUX D'ANTENNES A GRAND NOMBRE D'ELEMENTS
La présente invention se rapporte à un dispositif évolutif de traitement rapide de signaux d'antennes à grand nombre d'éléments.
Les antennes auxquelles s'adresse l'invention sont, de préférence, des antennes (ou sondes) d'échographie médicale, et en particulier des antennes à balayage électronique, mais l'invention peut s'appliquer à d'autres types d'antennes, telles que les antennes radar ou sonar. Le point commun de ces différents types d'antennes est que tous leur éléments émetteurs et récepteurs reçoivent des signaux corrélés temporellement, et que le formateur de faisceaux a pour rôle de décaler temporellement et d'additionner ces signaux de façon à faire ressortir la réponse de l'antenne dans des directions choisies.
On connaît, par exemple d'après le brevet US 5 957 846, un système d'imagerie ultrasonore portatif. Dans ce système, le dispositif de traitement des signaux de la sonde ultrasonore utilise une structure de contrôle unique et centralisée qui doit, en permanence et avant chaque « tir » (émission d'une impulsion dans la partie du corps à explorer), actualiser les paramètres de fonctionnement du circuit de synchronisation des impulsions et du formateur de faisceaux à partir de données stockées dans une mémoire centrale. Le volume de ces données est proportionnel au nombre d'éléments piézoélectriques de la sonde, car chaque élément nécessite des paramètres de fonctionnement différents de ceux de son voisin, et différents d'un tir au suivant (en particulier dans le cas d'une antenne à balayage angulaire telle qu'une antenne « phased array »). Il en résulte que la fréquence et le débit des bus reliant la mémoire centrale au circuit de synchronisation et au formateur de faisceaux sont eux aussi proportionnels aux nombre d'éléments d'antenne actifs. Tant que le nombre d'éléments d'antenne est de l'ordre d'une ou plusieurs centaines, ce qui est le cas des échographes actuels, le système connu est satisfaisant. Cependant, les utilisateurs d'échographes désireraient pouvoir utiliser des sondes à bien plus grand nombre d'éléments (plusieurs milliers), et en particulier des antennes dites «2D», qui ne sont pas de simples réseaux linéaires d'éléments piézoélectriques, mais des matrices à rangées et
colonnes pouvant comporter plusieurs milliers d'éléments. Ces matrices permettent, en réalisant un pointage angulaire, d'explorer un volume par balayage entièrement électronique, sans avoir à déplacer la sonde. L'architecture du système d'imagerie sonore décrit dans ledit brevet américain ne permet pas au formateur de faisceaux de gérer un si grand nombre d'éléments. En outre, dans ce système connu, du fait que les circuits de mémoire centrale sont physiquement distincts du générateur- synchronisateur d'impulsions et du formateur de faisceaux, et leur sont reliés par des pistes de cuivre dessinées sur un circuit imprimé, la fréquence de transfert de données entre eux est limitée, et l'émission électromagnétique parasite ainsi que la consommation d'énergie de l'ensemble du système sont élevées.
La présente invention a pour objet un dispositif de traitement rapide de signaux d'antennes, en particulier pour un système d'imagerie ultrasonore, qui puisse gérer des antennes à grand nombre d'éléments (au moins plusieurs milliers), qui puisse être évolutif sans modifications majeures, qui soit économe en énergie et qui émette le minimum possible de rayonnements parasites.
Le dispositif de traitement conforme à l'invention est un dispositif évolutif de traitement rapide de signaux de formation de faisceaux d'antenne émettrice-réceptrice à grand nombre d'éléments, cette antenne étant reliée à des circuits analogiques aiguillant vers celle-ci les signaux à émettre et aiguillant vers des circuits de réception les signaux reçus par l'antenne, ces circuits de réception comportant des amplificateurs et des convertisseurs analogiques-numériques, et il est caractérisé par le fait que les circuits numériques de formation de faisceaux reliés à la sortie des convertisseurs analogiques-numériques comportent M modules configurables de N voies identiques chacun, les sorties de chaque voie d'un module étant reliées à un premier additionneur dont la sortie est reliée à une première entrée d'un deuxième additionneur dont la deuxième entrée est reliée à la sortie du deuxième additionneur du module précédent et dont la sortie est reliée à la deuxième entrée du deuxième additionneur du module suivant, chaque module comportant en outre des générateurs d'impulsions, des opérateurs de traitement des signaux reçus, une unité de contrôle et de séquencement et une mémoire de paramètres pour toutes les voies traitées par le module,
un dispositif centralisé de séquencement et de paramétrage étant relié par des bus à tous les modules.
La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel :
- la figure 1 est un bloc-diagramme d'un échographe à dispositif de traitement de signaux d'antennes conforme à l'invention, et
- la figure 2 est un bloc-diagramme d'un module de gestion du dispositif de la figure 1. On a représenté en figure 1 le bloc-diagramme d'un échographe, mais on ne décrira en détail que la partie concernée directement par l'invention, c'est-à-dire la partie 1 qui forme les faisceaux, avant tout traitement (filtrage, démodulation, ...).
Cette partie 1 est reliée à une sonde 2 comprenant P = N x M éléments piézoélectriques jouant le rôle d'antennes d'émission-réception ultrasonore. En fait, la sonde 2 n'est pas subdivisée en N ou M éléments, mais comporte P éléments que, pour les besoins de l'invention, on groupe en M fois N éléments. Dans le cas où la sonde 2 est du type matriciel 2D à K rangées de L éléments, les paramètres M et N pourraient être respectivement égaux à K et L, mais cela n'est pas obligatoire. Dans la pratique, le choix d'un de ces paramètres, par exemple N, dépend de la capacité en nombre de voies des modules décrits ci-dessous, cette capacité étant fonction de la capacité et des performances de certains composants des modules, et en particulier de leur capacité mémoire et de leur nombre de cellules logiques ou encore de leur nombre de multiplieurs câblés.
Ainsi, la sonde 2 comporte M entrées/sorties à N voies chacune, chaque groupe de N entrées/sorties étant relié à l'un des M modules identiques, respectivement référencés 3.1 à 3. M et décrits en détail ci- dessous en référence à la figure 2. Chacun des modules 3.1 à 3. M comporte en outre quatre entrées de. gestion référencées E1.1 , E2.1 , E3.1 , E4.1 pour le module 3.1 , à E1.M, E2.M, E3.M, E4.M pour le module 3.M. Toutes les entrées E1.1 , E1.2, E1.M sont reliées à un bus 4. Toutes les entrées
E2.1 , E2.2,... E2.M sont reliées à un bus 5. Toutes les entrées E3.1 , E3.2, ... E3.M sont reliées à un bus 6, et toutes les entrées E4.1 , E4.2, ... E4.M sont reliées à un bus 7. Ces quatre bus sont issus d'un circuit 8 de gestion
centralisée de séquencement et de paramétrage, qui ne sera pas décrit ici en détail, la seule description des signaux produits sur les bus 4 à 7 étant suffisante pour indiquer à l'homme du métier, à la lecture de la présente description, la façon de réaliser ce circuit 8. Comme décrit plus en détail ci-dessous en référence à la figure 2, les sorties des N voies de chacun des modules 3.1 à 3. M sont d'abord additionnées ensemble, puis cette somme est envoyée à un autre additionneur, qui reçoit d'autre part le signal de sortie du module précédent, la sortie de cet autre additionneur étant reliée à l'additionneur de sortie du module suivant. Sur la figure 1 , les sorties des modules 3.1 à 3. M sont respectivement référencées SA.1 , SA.2, ... SA.M, et leurs entrées EA.1 , EA.2, ... EA.M (le module 3.1 étant le premier, son entrée EA.1 n'est pas reliée à la sortie d'un autre module).
La sortie SA.M du module 3. M constitue la sortie du circuit de formation de voies de l'invention. Elle est reliée à un circuit 9 de filtrage et de démodulation, suivi d'un circuit 10 d'élaboration d'image (mode B) et de calcul de différents modes Doppler, qui est relié bi-directionnellement à une interface d'utilisateur 11. Des périphériques de communication et de stockage, référencés 12 dans leur ensemble, sont reliés à la sortie du circuit 10, et sont reliés bi-directionnellement à l'interface 11. L'interface 11 commande d'autre part le circuit 10. Les circuits et dispositifs 9 à 12 étant bien connus en soi, ne seront pas décrits en détail. On précisera seulement que l'interface utilisateur 11 , qui comporte par exemple un clavier et un écran, permet l'exploitation des données issues du module de calcul 10, transmet les ordres de l'utilisateur au circuit 8 de gestion centralisée de séquencement et de paramétrage, et gère les périphériques 12 de stockage et de communication. De façon générale, les modules 3.1 à 3. M produisent des impulsions d'excitation des éléments piézoélectriques de la sonde 2, amplifient les échos reçus en retour, convertissent ces échos en données numériques et effectuent les traitements classiques sur ces données : apodisation, décalage temporel, et, selon l'invention, addition de toutes les voies du même module au résultat de l'addition du module précédent.
Chacun des modules 3.1 à 3. M comprend en outre une structure décentralisée de contrôle et une mémoire locale de paramètres, qui sont reliées par les bus 4 à 7 au circuit 8. Selon l'invention, une des
caractéristiques importantes de l'invention réside dans les caractéristiques des signaux véhiculés par les bus 4 à 7 et produits et contrôlés par le circuit centralisé 8.
Le bus 4 véhicule des signaux analogiques de contrôle, communs à tous les modules. Ces signaux sont typiquement des « rampes » permettant de commander la variation, en fonction du temps, du gain des amplificateurs analogiques inclus dans chaque module. Ces rampes sont également appelées rampes de TGC (« Time Gain Control »). Il peut y avoir plusieurs telles rampes par voie de module, agissant chacune sur un des étages successifs de la chaîne d'amplification analogique de la voie considérée.
Le bus 5 véhicule des signaux numériques d'horloge également générés par le circuit 8. Ces signaux comprennent, outre l'horloge générale de l'échographe, qui est caractérisée par une très faible gigue, nécessaire au fonctionnement en mode Doppler, différents signaux ayant une période égale à la période de répétition des tirs (correspondant typiquement à une fréquence maximale de 12 KHz). Ces signaux sont nécessaires au cadencement des processus internes des modules 3.1 à 3. M pour le contrôle des impulsions d'exploration transmises à la sonde, ainsi que pour les circuits d'apodisation et de focalisation dynamique, tous deux synchronisés sur la période de répétition des tirs.
Le bus 6 véhicule les données de paramétrage qui, avant chaque tir, permettent d'aller chercher dans chaque module les paramètres de fonctionnement appropriés à la génération des impulsions d'émission et les paramètres de réception (apodisation et focalisation). Cette procédure est une des caractéristiques importantes de l'invention. En effet, les données de paramétrage sont globales et identiques pour tous les modules. Il en résulte que la prise en compte des paramètres de tous les modules s'effectue simultanément, en parallèle, et non à tour de rôle, comme c'est le cas pour les dispositifs de l'art antéπeur (par exemple celui décrit dans le susdit brevet US 5 957 846), pour lesquels les paramètres envoyés à l'émetteur d'impulsions et au formateur de faisceaux sont issus d'une mémoire globale unique. Il en résulte un gain important de temps de paramétrage des modules, et donc la possibilité de mettre en oeuvre un nombre important de modules.
Le bus 7 permet, hors de plages de fonctionnement continu de l'échographe, de modifier les paramètres mémorisés dans chaque module, à la manière de ce qui se passe dans les échographes connus. Cependant, il faut noter que dans ces derniers, cette modification se produit entre chaque tir, alors que dans l'échographe de l'invention, la modification ne se fait qu'en dehors des plages de fonctionnement continu, typiquement lorsque l'utilisateur modifie volontairement le mode de fonctionnement de l'échographe, par exemple pour passer du mode B au mode Doppler, ou pour changer de profondeur d'exploration en mode B. Dans tous ces cas, on recharge les paramètres de fonctionnement de l'ensemble des modules. Il faut charger les paramètres d'un nombre suffisant de tirs pour réaliser l'acquisition d'une image entière. Cela représente typiquement une centaine de tirs pour une sonde classique à réseau linéaire d'éléments piézoélectriques, et quelques milliers pour une sonde 2D matricielle. Le bus 7 a également un rôle particulier dans un mode de réalisation de l'invention faisant appel à des circuits FPGA pour réaliser les circuits numériques de tous les modules 3.1 à 3. M, comme décrit ci-dessous en référence à la figure 2. Dans ce mode de réalisation, le bus 7 permet de charger l'architecture même des FPGA à la mise sous tension de l'échographe, c'est-à-dire que ces circuits sont alors configurés en vue d'obtenir des caractéristiques et des fonctions déterminées pour les différents circuits numériques des modules. Grâce à cette caractéristique, on confère une extrême flexibilité à l'échographe en réalisant une modification de la structure même de traitement de signaux, de façon quasi transparente pour l'utilisateur.
Par rapport à l'échographe connu, l'utilisation et la gestion des bus 4 à 7 de l'invention présentent les différences importantes suivantes (outre le fait que l'échographe connu ne comporte pas de modules au sens de l'invention) : - dans le dispositif connu, le bus 6 n'existe pas, et un équivalent du bus 7 est utilisé entre chaque tir pour charger séquentiellement les paramètres de fonctionnement pour le tir suivant. Le temps disponible pour chaque chargement est typiquement de 10μs environ au maximum, si l'on ne veut pas réduire la cadence maximale de tir (appelée « PRF »). Dans l'hypothèse où l'on voudrait faire fonctionner le dispositif connu avec une
sonde 2D à 2500 éléments, on ne disposerait que de 4 nanosecondes pour charger tous les paramètres pour une seule voie et pour un seul tir, ce qui est très insuffisant ;
- dans le dispositif de la présente invention, les bus 6 et 7 sont sollicités à des instants différents, dans les conditions suivantes :
• le bus 7 est utilisé séquentiellement pour le chargement des paramètres de tous les éléments de la sonde pour tous les tirs d'une image. Cela se fait uniquement lors du changement de mode, c'est-à-dire à un moment où l'on peut tolérer un temps de réaction relativement long, de l'ordre d'une seconde. Ainsi, pour une sonde 2D à 2500 éléments, le chargement des paramètres pour 2500 tirs et 2500 voies en une seconde laisse 160ns par élément, c'est-à-dire 40 fois plus que dans le cas de l'échographe connu, ce qui est tout à fait réaliste.
• le bus 6 est utilisé avant chaque tir pour fixer les données de paramétrage (et non pas les paramètres eux-mêmes), ces données se résumant à deux adresses, identiques pour l'ensemble des modules : une adresse à laquelle sont mémorisés, dans chaque module, les paramètres de ce tir (caractéristiques de génération des impulsions) et une adresse à laquelle sont mémorisés les paramètres de réception correspondants (apodisation et focalisation). Le transfert de ces deux adresses, identiques pour l'ensemble des modules, dure beaucoup moins d'une microseconde.
Selon un exemple de réalisation, auquel se réfère en particulier la figure 2, le nombre N d'éléments de sonde reliés à chaque module est de 16, et le nombre M de modules est égal à 4, mais il est bien entendu que ces nombres N et M peuvent avoir d'autres valeurs. Cet exemple de réalisation du dispositif de l'invention est donc prévu pour traiter 64 voies indépendantes. Il est donc capable de traiter directement, par exemple, une sonde de type « Phased Array « à 64 éléments. S'il est envisagé que ce dispositif soit compatible avec des sondes à plus grand nombre d'éléments, l'invention prévoit d'intégrer dans le corps de la sonde un multiplexeur haute tension qui choisit, à un moment donné, 64 éléments parmi tous ceux de la sonde. On peut alors relier au dispositif de l'invention des sondes linéaires, de type convexes abdominales, ou endocavitaires à 128 éléments ou plus.
On a représenté en figure 2 le bloc-diagramme d'un des modules de la figure 1 , référencé 3.K. Ce module comporte essentiellement un
ensemble 13 de circuits analogiques et un ensemble 14 de circuits numériques (délimité par un rectangle en traits interrompus). Selon une caractéristique de l'invention, l'ensemble 14 est synthétisé à l'intérieur d'un circuit de type FPGA, par exemple tel que le circuit « Virtex 2 » de XILINX, de taille 500.
L'ensemble 13 de circuits analogiques fait appel à des circuits « COTS », c'est-à-dire des circuits courants du commerce (disponibles sur étagères). Cet ensemble analogique 13 présente des bonnes caractéristiques relatives à son facteur de bruit et à sa linéarité, ce qui rend l'échographe apte à traiter de façon satisfaisante le mode Doppler et le mode imagerie harmonique.
L'ensemble 13 comporte, pour chacune des N voies, un diplexeur à diodes, 1-5.1 à 15.N, dont la sortie est reliée à un amplificateur à gain variable, respectivement 16.1 à 16.N, et dont une entrée est reliée à la sortie d'un circuit de commande (appelé également « driver »), respectivement 17.1 à 17.N, une entrée-sortie de chaque diplexeur étant reliée à un élément piézoélectrique correspondant de la sonde 2. Le rôle des diplexeurs est d'isoler les entrées des amplificateurs des impulsions haute tension générées par les « drivers » correspondants. Les « drivers » 17.1 à 17.N comportent des transistors haute tension (par exemple de marque SUPERTEX) commandés, via des translateurs de niveau (par exemple de marque ELANTEC) par les signaux logiques issus de N générateurs correspondants, 18.1 à 18.N. Ces « drivers », étant connus en soi , on ne rappelle ici que leurs caractéristiques essentielles, nécessaires à la compréhension du fonctionnement de modules 3.1 à 3. M. Chaque « driver » comporte deux transistors haute tension reliés respectivement à une tension positive et à une tension négative, égales en valeur absolue. Chacun de ces transistors est commandé par un signal logique qui lui est propre. Dans l'exemple cité ici, l'ensemble numérique 14 produit donc 32 signaux logiques pour permettre aux « drivers » de générer les impulsions d'excitation des éléments piézoélectriques de la sonde 2.
Chaque amplificateur 16.1 à 16.N comporte avantageusement trois étages d'amplification à gain variable. Le dernier de ces étages est, par exemple, le circuit du commerce AD605 de la Société ANALOG DEVICES.
Le bus 4 véhicule trois « rampes » analogiques pour commander en temps réel la variation du gain de ces étages amplificateurs. Les « rampes » sont des signaux de commande connus en soi, dont l'évolution au cours du temps ne suit pas une loi déterminée, mais dépend des conditions de fonctionnement de la sonde 2.
Les signaux analogiques amplifiés par les étages d'amplification précités sont convertis par des convertisseurs 19.1 à 19.N en signaux numériques, par exemple sur 10 bits avec un débit de 33 méga-échantillons par seconde. Les convertisseurs 19.1 à 19.N sont, par exemple, des circuits ANALOG DEVICES AD9203. Les sorties de ces convertisseurs sont avantageusement multiplexées, par exemple par 2 (de façon non représentée sur le dessin) pour limiter le nombre de voies numériques entrant dans l'ensemble 14 (N/2 voies entrantes dans le cas du multiplexage par 2). L'ensemble numérique 14 comporte N chaînes de traitement numérique C.T.1 à C.T.N reliées aux sorties des convertisseurs 19.1 à 19.N respectivement. Chacune de ces chaînes de traitement comporte, dans l'ordre, de son entrée à sa sortie :
- un circuit de compensation auto-adaptative d'offset (20.1 à 20. N), basé sur l'utilisation en boucle fermée d'un intégrateur et d'un soustracteur,
- un circuit de gestion de délai grossier (21.1 à 21. N), qui est simplement une mémoire numérique à longueur commutable dynamiquement. La précision ainsi obtenue est une période d'horloge d'échantillonnage, soit 30 nanosecondes dans le présent exemple.
- un multiplieur d'apodisation ( 22.1 à 22. N) qui multiplie le signal de sortie du circuit de délai grossier par une valeur dépendant du temps. Cette valeur est indépendante, pour chaque multiplieur, des valeurs relatives aux autres multiplieurs. Elle est générée, pour chacune des N voies, à l'aide d'un opérateur d'apodisation correspondant (23,1 à 23. N). Chacun de ces opérateurs est capable de générer une courbe (loi de variation de la valeur dépendant du temps) choisie parmi par exemple 512 courbes mémorisées dans une mémoire de paramètres 24, décrite ci-dessous,
-un circuit d'interpolation (25.1 à 25. N), qui permet de choisir entre deux états de phase, ce qui double la précision de focalisation (15ns dans le
présent exemple). A chaque voie (19.1 à 19.N) est associé un opérateur de focalisation dynamique (26.1 à 26.N) qui calcule le retard de chaque élément piézoélectrique de la sonde 2 par rapport à l'élément de référence (typiquement, l'élément piézoélectrique central). La précision requise (de 15 ns dans le cas présent) peut être obtenue par un calcul analytique à partir de données d'entrée stockées dans les mémoires 24 (par exemple 18 bits par tir et par voie ). La partie entière de la valeur du retard calculé commande la sortie de la mémoire de délai grossier ( 21.1 à 21. N), tandis que sa partie fractionnaire détermine la phase d'interpolation, à savoir 0 ou 180 degrés, dans le circuit d'interpolation ( 25.1 à 25. N).
Les données des voies 1 à N apodisées et remises à la bonne phase sont toutes additionnées ensemble par un premier additionneur 27, puis le résultat de cette addition est additionné par un deuxième additionneur 28 au résultat disponible à la sortie du deuxième additionneur 28 de l'étage précédent (3.K-1 ), qui représente la somme des résultats des additions de tous les modules précédents (3.1 à 3.K-1). De cette façon, on cascade les résultats d'addition des modules successifs 3.1 à 3. M. Bien entendu, les additionneurs 28 délivrent leur résultat de façon décalée dans le temps depuis le module 3.2 jusqu'au module 3. M, de façon à laisser aux additionneurs précédents de la cascade d'additionneurs 28 le temps de fournir leurs résultats respectifs.
Outre les voies CT.1 à CT.N, et les additionneurs 27 et 28, l'ensemble numérique 14 comporte une structure de contrôle et de gestion, qui comprend les circuits suivants : - une unité de contrôle et de séquencement 29 qui a pour rôle :
• à la mise sous tension de configurer tous les circuits de l'ensemble 14 à partir des données qui arrivent par le bus 7,
• à chaque changement de mode, de charger la mémoire de paramètres 24 avec les nouveaux paramètres d'émission et de réception véhiculés par le bus 7,
• avant chaque tir, de charger les opérateurs d'émission 18.1 à 18.N, d'apodisation 23.1 à 23. N et de focalisation dynamique 26.1 à 26. N avec les paramètres issus de la mémoire 24 et stockés aux adresses véhiculées par le bus de données de paramétrage 6.
- Une mémoire de paramètres 24 déjà citée ci-dessus, qui comporte, pour chacun des éléments de la sonde 2 reliés au module en question, et pour l'ensemble répétitif de tirs permettant de construire une image, les ensembles de paramètres P1 à P5 suivants : • P1 : paramètres définissant une forme d'onde d'émission
(codée sur 3 bits dans le présent exemple),
• P2 : une valeur de retard d'émission (codée sur 12 bits, avec une résolution de 7,5 ns, dans le présent exemple),
• P3 : un choix d'apodisation (codé sur 9 bits dans le présent exemple),
• P4 : un temps de retard à affecter aux signaux de réception (codé sur 12 bits dans le présent exemple),
• P5 : un index d'écart par rapport à la voie centrale (codé sur 6 bits dans le présent exemple). - N générateurs d'impulsions 18.1 à 18.N, déjà cités ci-dessus, chargés de générer pour chaque élément piézoélectrique de sonde la forme d'onde définie par P1 , au moment déterminé par le paramètre P2.
- N opérateurs d'apodisation 23.1 à 23. N, déjà cités ci-dessus, chargés de générer pour chaque élément de sonde une forme d'onde à plusieurs pentes, telle que déterminée par le paramètre P3 correspondant.
- N opérateurs de focalisation 26.1 à 26.N, déjà cités ci-dessus, chargés de calculer la courbe de focalisation dynamique de chaque élément de sonde à partir des paramètres P4 et P5 spécifiques de l'élément considéré. Les autres sous-ensembles de l'échographe conforme à l'invention (figure 1) sont avantageusement réalisés de la façon suivante :
- l'unité de filtrage et de démodulation 9 ainsi que le circuit logique centralisé de séquencement et de paramétrage 8 sont intégrés au sein d'un unique circuit intégré, par exemple le circuit FPGA, référencé VIRTEX 2 de la Société XILINX, dé taille 1000 ou 1500.
- l'unité d'élaboration d'image et de calcul Doppler 10, ainsi que l'interface utilisateur 11 sont des programmes informatiques tournant sur un ordinateur personnel,
- les périphériques 12 sont des périphériques standard de microinformatique,
- la liaison 9A, entre les sous-ensembles 9 et 10, est un canal isochrone de liaison série haut débit, de type IEEE 1394.
- la liaison 11 A, entre les sous-ensembles 11 et 8, est un canal asynchrone de liaison série haut débit IEEE 1394. De façon non représentée sur la figure 1 , un microcontrôleur monocircuit est utilisé pour gérer le protocole IEEE 1394, en liaison avec deux circuits spécifiques implémentant les fonctions « physical layer » et « link layer » de la liaison. Ce microcontrôleur est également utilisé pour la programmation des circuits FPGA à la mise sous tension de l'échographe. Ainsi, grâce à l'utilisation de modules de traitement numérique de voies ( 3.1 à 3. M), dont les additionneurs de sortie (28) peuvent être cascades, il est facile d'étendre à volonté le nombre de voies pouvant être traitées, donc d'utiliser ultérieurement des sondes de plus grande capacité que celle de la sonde initiale. La seul contrainte de conception est que la mémoire de paramètres 24 devra alors mémoriser un nombre plus grand de paramètres de tir, ce qui obligera à choisir un circuit FPGA disposant de plus de mémoire. Cependant, cela ne pose pas de problème, du fait que dans le mode de réalisation décrit ci-dessus, le circuit FPGA utilisé est un VIRTEX 2- 500, le plus petit de la gamme considérée. Selon une première variante de l'invention, au lieu d'utiliser un ordinateur personnel pour effectuer une partie du traitement de signal (fonction 10 et 11), on peut mettre en oeuvre des techniques conventionnelles sans ordinateur, avec des circuits de calcul spécialisés enfouis dans un équipement monobloc. Dans ce cas, les liaisons 9A et 11A ne sont plus des liaisons IEEE 1394, mais de simples liaisons entre circuits intégrés d'une même carte à circuits imprimés (ou de deux cartes proches l'une de l'autre).
Selon une deuxième variante de l'invention, dans le cas où le grand nombre de tirs nécessaires pour constituer une image implique un très grand volume de mémoire locale de paramètres (24), tous les modules, sauf leur mémoire locale 24, sont intégrés dans le même FPGA, tandis que l'ensemble des mémoires locales est exporté dans un ou plusieurs circuits intégrés de mémoire classiques externes. En effet, dans ce cas, il ne serait pas économique d'utiliser un FPGA de grosse taille, qui serait onéreux, tandis que les circuits classiques de mémoire sont beaucoup moins onéreux.
Bien entendu, on peut utiliser, pour réaliser les modules, des circuits autres que des FPGA.
Selon encore une autre variante de l'invention, on supprime dans les modules 3.1 à 3.N les circuits d'interpolation 25.1 à 25. N, et on les remplace par des fonctions simple suivantes, consistant à former en aval de chaque circuit d'apodisation 22.1 à 22. N deux chemins de sortie identiques, à savoir un premier chemin pour les échantillons supposés être à la phase zéro, qui sont additionnés entre eux, et un second chemin, identique au premier, pour additionner entre eux les échantillons supposés être à la phase 180°. A cet effet, on supprime les interpolateurs 25.1 à 25. N et on branche à la place de chacun d'eux un démultiplexeur « un vers deux » qui aiguille chaque échantillon vers l'un des deux chemins précités selon sa phase calculée par le circuit opérateur de focalisation correspondant (26.1 à 26. N). Par conséquent, chaque module comporte alors deux sorties : une sortie à phase nulle et une sortie à phase de 180°. Bien entendu, il faut ensuite effectuer une interpolation unique entre la sortie du dernier module 3.N à phase de 180° et le circuit de filtrage-démodulation 9. La sortie de cet interpolateur est ensuite ajoutée à celle de la voie à phase zéro. Ainsi, au lieu de M x N interpolateurs, on n'a plus qu'un interpolateur unique. Selon encore une autre variante de l'invention, on profite de la possibilité qu'ont les circuits FPGA de fonctionner généralement quatre fois plus rapidement que les convertisseurs analogique-numérique. Ainsi, à partir d'un même ensemble de données arrivant de la sonde, on calcule quatre faisceaux différents d'apodisation et de focalisation différents. A cet effet, il faut multiplier par quatre la fréquence de fonctionnement des circuits 21.1 à 21. N de délai grossier, 22.1 à 22. N d'apodisation, 25.1 à 25. N d'interpolation, ainsi que celle des additionneurs 27 et 28. Les données de sortie représentant les quatre faisceaux sont ensuite multiplexées temporellement en aval du dernier module. En. outre, il faut aussi utiliser quatre fois plus d'opérateurs d'apodisation 23.1 à 23. M et d'opérateurs de focalisation 26.1 à 26.N, ou utiliser les mêmes ressources quatre fois plus vite. La mémoire de paramètre 24 doit également contenir quatre fois plus de données de focalisation et d'apodisation. Bien entendu, si la vitesse de fonctionnement des FPGA dont on dispose est un peu inférieure à celle mentionnée ci- dessus, ou si l'on ne veut pas multiplier par quatre le nombre de circuits
nécessaires, on peut ne former que deux faisceaux au lieu de quatre à partir des mêmes données.
Selon encore une autre variante de l'invention, on peut réduire la taille de l'unité 8 de la façon suivante. Cette unité 8 doit envoyer à chaque tir, à l'ensemble des modules 3.1 à 3. M, une adresse de tir et une ou plusieurs adresses de lecture (pour réaliser l'apodisation et la focalisation). De plus, on associe à chaque tir la durée le séparant du tir suivant. L'ensemble de ces trois types de données constitue ce que l'on appelle la « séquence list ». Cette « séquence list » n'est cependant pas suffisante pour générer les signaux analogiques et numériques véhiculés par les bus 4 et 5. Chacun de ces signaux se décrit par un certain nombre de paramètres de durée et/ou de pente de vitesse de variation entre deux instants.
Plutôt que de mémoriser pour chaque tir l'intégralité de ces paramètres pour tous ces signaux, l'invention prévoit de définir plusieurs ensembles différents de configuration temporelles de ces signaux, par exemple quatre tels ensembles. Il suffit alors, pour chaque tir, à l'aide de deux bits seulement, de choisir la configuration temporelle souhaitée parmi les quatre disponibles. On peut alors appeler par exemple la configuration 1 pour le mode B ou M, la configuration 2 pour le mode Doppler spectral, la configuration 3 pour le mode Doppler couleur et la configuration 4 pour l'imagerie harmonique. Cet adressage indirect permet de diminuer nettement la taille de la mémoire embarquée dans l'unité 8. Cette mémoire peut alors être celle du FPGA utilisé pour synthétiser l'ensemble numérique 14.
Selon encore une autre variante de l'invention, on réalise un échographe à grand nombre de canaux en « empilant » plusieurs dispositifs tels que celui de la figure 1 et produisant chacun un signal de voie formée (c'est-à-dire comportant les éléments 2 à 9 , et comportant des circuits programmables à l'utilisation, tels que des FPGA. Tous ces dispositifs « empilés » sont alors connectés à un ordinateur unique, de type PC par un bus rapide, de type IEEE 1394. Pour les faire fonctionner en synchronisme, il suffit d'effectuer les modifications suivantes :
- désactiver la liaison 9A de tous les dispositifs sauf un (la liaison de ce dernier est alors isochrone), considéré comme maître,
- cascader le flux de données sortantes de tous les dispositifs non maîtres de l'un vers le suivant, jusqu'au maître, qui est le dernier de la cascade, et qui envoie le flux final de données au PC par son lien 9A activé,
- utiliser le bus 5 du maître pour synchroniser temporellement tous les autres dispositifs.