Système d'acquisition de données modulable
La présente invention concerne un système d'acquisition de données modulable, en particulier un système d'acquisition basé sur un jeu de cartes modulaires.
De nombreux systèmes d'acquisitions existent qui permettent d'acquérir des données numériques ou analogiques, par exemple des données fournies par un capteur ou un transducteur, de les convertir dans un format approprié et de les traiter par exemple au moyen d'un processeur de traitement de signal ou d'un processeur générique. Ces systèmes sont utilisés notamment pour effectuer des mesures ou pour détecter des événements particuliers. Les données acquises par le système peuvent être sauvegardées, affichées, imprimées ou transmises via un réseau de télécommunication par exemple.
On connaît par exemple des systèmes d'acquisition basés sur un micro-ordinateur muni d'une carte d'acquisition et éventuellement d'un modem ou d'autres interfaces de communication. Ces systèmes sont volumineux et relativement coûteux, en sorte qu'ils ne conviennent pas pour toutes les applications.
On connaît d'autre part de nombreux systèmes d'acquisition dédiés à une utilisation particulière, par exemple des systèmes destinés à contrôler différents paramètres dans un environnement industriel ou domestique. Ces systèmes sont peu polyvalents et généralement onéreux puisque réservés à une utilisation restreinte excluant une diffusion de masse.
Un but de la présente invention est donc de proposer un système d'acquisition amélioré par rapport aux systèmes de l'art antérieur, en particulier un système d'acquisition permettant d'éviter les inconvénients mentionnés.
Un autre but est de proposer un assortiment complet de systèmes d'acquisition très spécialisés, permettant de couvrir une palette de besoins étendue, tout en permettant une fabrication de chaque composant en nombre suffisant pour garantir des coûts de production réduits.
Selon l'invention, ces buts sont atteints au moyen d'un jeu de cartes et d'un système d'acquisition selon les caractéristiques des revendications de type correspondant.
En particulier, ces buts sont atteints au moyen d'un jeu de cartes électroniques comprenant une pluralité de cartes de communication comprenant chacune, sur un support PCB, un processeur numérique et un module d'interface pour un réseau de télécommunication externe d'au moins deux types différents, ainsi qu'une pluralité de cartes d'acquisition comprenant chacune, sur un support PCB, un ou plusieurs convertisseurs analogiques-numériques et/ou numériques analogiques d'au moins deux types différents. Selon l'invention, chacune desdites cartes d'acquisition peut être connectée directement à n'importe laquelle desdites cartes de communication de manière à inclure ledit convertisseur dans l'espace mémoire dudit processeur numérique.
L'invention a donc notamment consisté à répartir les composants et les fonctions d'un système d'acquisition d'une manière nouvelle sur deux cartes électroniques distinctes, de façon à permettre de les connecter mutuellement afin d'inclure le convertisseur sur la carte d'acquisition dans l'espace mémoire du processeur numérique sur la carte de communication.
Cette disposition offre l'avantage pour le fabricant de satisfaire, avec un jeu limité de cartes de communication et de cartes d'acquisition, un grand nombre de besoins différents. Elle offre l'avantage pour l'utilisateur de pouvoir sélectionner exactement les composants dont il a besoin, et de faire évoluer ultérieurement le système d'acquisition si nécessaire en remplaçant une seule carte.
Comme le convertisseur de la carte d'acquisition communique directement avec le microprocesseur de la carte de communication, la connexion entre les deux cartes peut être réalisée simplement en prolongeant le bus de données et d'adresses, ainsi qu'éventuellement une ou plusieurs lignes d'interruption, du microprocesseur vers la carte d'acquisition. On évite ainsi le coût d'une conversion des données selon le format d'un bus intermédiaire, ainsi que les éventuelles limitations de débit de ce bus.
Un système d'acquisition complet, apte à acquérir des données et à les transmettre au travers d'un réseau de télécommunication, peut ainsi être réalisé de manière très compacte et économique en combinant dans un boîtier une carte de communication avec une carte d'acquisition sélectionnées selon ses besoins. Hormis une alimentation, aucun autre composant n'est indispensable.
La modularité et les possibilités d'évolution du système d'acquisition sont encore améliorées dans une variante préférentielle de l'invention dans laquelle le programme sur la carte de communication est enregistré dans une mémoire semi-permanente et peut être mis à jour en téléchargeant une nouvelle version, ou un nouvel applet dans le cas d'un programme Java, au travers du réseau de télécommunication. Par mémoire semi-permanente, on entend ici une mémoire qui ne perd pas son contenu lorsque l'alimentation est interrompue, mais qui peut être mise à jour ou réécrite plusieurs fois. A titre d'exemple, on citera par exemple une mémoire de type EEPROM, Flash, ou une mémoire comprenant un disque magnétique.
L'invention sera mieux comprise à la lecture de la description donnée à titre d'exemple et illustrée par les figures annexées qui montrent:
La figure 1 un schéma-bloc du système d'acquisition selon l'invention.
La figure 2 un organigramme illustrant les étapes nécessaires au téléchargement d'une nouvelle version du programme de commande du microprocesseur.
La figure 1 illustre de manière schématique un système d'acquisition comprenant une carte de communication 2 et une carte d'acquisition 4 montées dans un boîtier 1. Les deux cartes sont constituées par des cartes PCB superposées, par exemple au format standardisé Europe (env. 166X103X35mm), sur lesquelles sont montés différents composants électroniques. Elles sont de préférence fixées sur une ou plusieurs faces intérieures du boîtier 1 par leur tranche insérée dans un rail de guidage et de positionnement; des colonnettes de maintien supplémentaires peuvent être prévues. Les deux cartes sont en outre reliées mécaniquement et électriquement entre elles au moyen d'un connecteur carte-à-carte 40 par lequel transitent les données entre les cartes, comme expliqué plus loin. Le système est de préférence alimenté par une source d'alimentation externe au travers de deux connecteurs d'alimentation à basse tension 28, 30; un circuit d'alimentation 6 sur la carte de communication 2 permet de réguler cette tension de manière à fournir deux tensions stables Vdd et Vss alimentant l'ensemble du système.
La carte de communication 2 comprend un microprocesseur 8, par exemple un processeur générique, un processeur de traitement de signal ou de préférence un microcontrôleur incluant également une zone de mémoire pour le programme et les données. Le microprocesseur 8 exécute un programme enregistré dans une mémoire semi-permanente 18, par exemple une mémoire Flash ou EEPROM. La mémoire semi-permanente 18 peut être réalisée sous la forme d'un circuit électronique distinct du microprocesseur 8 ou être intégrée dans le même circuit. Comme on le verra plus loin, elle est de préférence partagée en deux portions 180, 181, un fanion non illustré indiquant la portion actuellement utilisée. Une mémoire vive de programme et/ou de données (RAM) 20 peut en option être prévue ou être intégrée dans le microprocesseur 8. Le microprocesseur communique avec les composants externes, notamment avec la mémoire
semi-permanente 18 et avec la mémoire vive 20, au travers d'un bus de données et d'adresses 22.
La carte de communication 2 comprend en outre de préférence un module d'interface sérielle 12, par exemple une interface de type RS232, connecté au bus 22 et permettant au processeur 8 de communiquer au travers d'un connecteur 34 avec un dispositif à proximité. Le connecteur 34 peut être de type câblé ou sans fil, par exemple de type infrarouge. Dans une variante, l'interface RS232 est remplacée par une interface sans fil de type Bluetooth. Le module d'interface sériel 12 permet de programmer la mémoire 18 et de vérifier le fonctionnement de l'ensemble du système d'acquisition au moyen d'un ordinateur relié à cette interface.
Une horloge programmable 10 est de préférence prévue sur la carte de communication 2 afin de fournir au microprocesseur 8 une référence de temps. L'horloge peut de préférence être programmée pour fournir un signal d'interruption à un instant précis, selon une période répétitive ou après un intervalle prédéterminé.
Selon l'invention, la carte de communication 2 comprend en outre un module d'interface 14 permettant de la connecter dans un réseau de télécommunication externe au travers d'un connecteur 38. Différents types de cartes de communication, aptes à être utilisées dans différents types de réseaux de télécommunications, peuvent être proposés. On pourra par exemple prévoir dans un jeu des cartes de communication 2 selon au moins deux des types suivants:
-Cartes munies d'un modem pour un réseau téléphonique fixe (PSTN).
-Cartes munies d'un adaptateur pour un réseau ISDN.
-Cartes munies d'une interface pour un réseau sans fil, par exemple carte DECT ou Bluetooth.
-Cartes munies d'un modem pour un réseau cellulaire (GSM, GPRS, HSCSD, EDGE, CDMA ou UMTS par exemple).
-Cartes munies d'un serveur pour un réseau Internet, par exemple pour un serveur FTP ou http, et d'une interface vers le réseau Internet.
-Cartes d'adaptation pour un réseau LAN (local Area Network), par exemple carte Ethernet ou CAN-bus.
-Cartes munies de deux ou davantage d'interfaces des types ci- dessus.
-Etc.
Selon l'invention, ces différentes cartes de communication, qui font partie d'un même jeu présenté dans un catalogue par exemple, sont compatibles entre elles et peuvent être interchangées dans le même boîtier pour permettre d'adapter le système d'acquisition aux besoins et de le connecter à différents types de réseaux. Il est ainsi possible d'adapter et de faire évoluer un système d'acquisition en fonction de ses besoins de communication simplement en remplaçant la carte de communication 2.
Le système d'acquisition comprend en outre une carte d'acquisition 4 montée dans le même boîtier 1 que la carte de communication 2 et reliée à cette dernière au moyen d'un connecteur 40. La carte d'acquisition comprend un ou plusieurs convertisseurs 54 permettant d'acquérir et/ou de générer des signaux analogiques 58 sur un connecteur 62 et/ou des signaux numériques 60 sur un connecteur 64. Le connecteur 64 peut être par exemple de type barrette et comprendre plusieurs canaux d'entrées-sorties analogiques et/ou numériques, par exemple 24 canaux, un ou plusieurs canaux pouvant être de type différentiels. La carte d'acquisition 4 comprend en outre une ou plusieurs zones de mémoire, par exemple des registres de contrôle et/ou de données 52 dans lesquels les données converties ou à convertir sont mémorisées, et permettant par ailleurs de contrôler le fonctionnement du convertisseur 54.
Une mémoire RAM supplémentaire 50 peut être prévue comme zone de stockage tampon intermédiaire avant que les données converties par le convertisseur 54 ne soient transférées à la carte de communication 2. La carte d'acquisition 4 peut par ailleurs comprendre un circuit de détection d'événements (trigger) 66 apte à détecter des événements particuliers prédéterminés dans le flux de données acquises, par exemple un passage par zéro, par un seuil prédéterminé ou par un maximum, une interruption du signal, un motif particulier dans le signal, une situation d'erreur, etc. Le circuit de trigger 66 peut réagir à la détection d'un événement par exemple en générant un signal d'interruption du microprocesseur 8, en modifiant le fonctionnement du convertisseur 52 ou en modifiant le contenu d'un registre 52. On comprendra que le circuit de trigger peut selon différentes variantes analyser le signal d'acquisition soit avant conversion, soit après conversion.
Selon l'invention, les composants 50, 52, 54 et 66 sur la carte d'acquisition 4 sont reliés à un bus de données et d'adresses 48 directement connecté par l'intermédiaire du connecteur carte-à-carte 40 au bus 22 sur la carte de communication 2. Les composants de la carte d'acquisition 4 se trouvent ainsi directement dans l'espace mémoire pouvant être accédé par le microprocesseur 8. Le microprocesseur 8 peut ainsi être programmé de manière à accéder directement aux données converties par le convertisseur 54 ou aux données stockées par celui-ci dans les registres 52 et/ou dans la mémoire 50. Par ailleurs, les conditions de déclenchement du circuit de trigger 66 peuvent être directement modifiées par le processeur 8. Dans le cas où le circuit 66 génère un signal d'interruption du microprocesseur 8, on prévoira de préférence une ou plusieurs lignes d'interruption sur le bus 48 et 22.
Afin de ne pas surcharger le bus de données et d'adresses 22, 48, le convertisseur 54 a de préférence la possibilité d'écrire et de lire dans les registres 52 et dans la mémoire 50 au travers d'un bus supplémentaire 56 interne sur la carte d'acquisition.
Différents types de cartes d'acquisition 4, aptes à acquérir et/ou à restituer différents types de signaux, peuvent être proposés. On pourra par exemple prévoir dans un jeu des cartes d'acquisition 4 selon au moins deux des types suivants:
-Cartes munies d'un convertisseur analogique-numérique (ADC) pour acquérir des signaux analogiques fournis par exemple par un ou plusieurs capteurs sur l'entrée analogique 62.
-Cartes munies d'un convertisseur numérique-analogique (DAC) pour générer des signaux analogiques fournis sur l'entrée analogique 62.
-Cartes munies d'un codeur-décodeur (codée) pour acquérir ou générer des signaux analogiques.
-Cartes munies d'un convertisseur numérique-numérique pour acquérir ou générer des signaux numériques sur l'entrée numérique 64 et les convertir dans un format compatible avec celui utilisé dans le système d'acquisition, par exemple cartes de contrôle numérique.
-Cartes avec un nombre de canaux analogiques et/ou numériques variables.
-Cartes munies de deux ou plusieurs convertisseurs des types ci- dessus.
-Etc..
On voit donc que, selon l'invention, le système peut inclure des cartes d'acquisition de type très divers, y compris des cartes n'incluant que des convertisseurs numériques-analogiques ou des cartes comportant n'importe quelle combinaison de convertisseurs ci-dessus par exemple.
Selon l'invention, ces différentes cartes d'acquisition 4, qui font partie d'un même jeu présenté dans un catalogue par exemple, sont
compatibles entre elles et peuvent être interchangées dans le même boîtier 1 pour permettre d'adapter le système d'acquisition aux besoins et d'acquérir ou de restituer différents types de signaux. Il est ainsi possible d'adapter et de faire évoluer un système d'acquisition en fonction du nombre et du type de signaux à acquérir simplement en remplaçant la carte d'acquisition 4.
Chaque carte de communication 2 étant compatible avec chaque carte d'acquisition 4, on comprendra qu'il est possible avec un nombre de cartes limité d'adapter le système d'acquisition à un grand nombre de besoins très divers.
Afin d'augmenter encore la flexibilité et l'adaptabilité du système, le programme mémorisé dans la mémoire 18 pour contrôler le microprocesseur 8, ainsi que de préférence les données de contrôle de l'horloge programmable 10 et/ou du circuit de trigger 66, peuvent être modifiés par téléchargement au travers du réseau de télécommunication externe et de l'interface sérielle 12. La figure 2 illustre à titre d'exemple les principales étapes du procédé de mise à jour de la mémoire de programme 18.
Au cours de l'étape 100, le microprocesseur 8 attend des instructions reçues au travers de l'interface sérielle 12 ou du module d'interface 14 pour un réseau externe. Une instruction de début de téléchargement est reçue au cours de l'étape 102. Le microprocesseur 8 se met alors en mode de téléchargement pour recevoir les données transmises (étape 104) et les mémoriser au fur et à mesure dans un secteur, par exemple dans le secteur 181, de la mémoire semi-temporaire 18 (étape 106). Le téléchargement est seulement interrompu lorsqu'un caractère de fin de fichier (EOF) est reçu (test 108).
Lorsque le téléchargement dans la mémoire 18 est terminé, le processeur 8 vérifie un code d'erreur, par exemple un code de redondance cyclique (CRC) transmis avec le fichier et le compare avec un code calculé à partir des données reçues. Si le code reçu est différent du code calculé (test
110), cela signifie que les données transmises sont corrompues ou incomplètes, en sorte que la mise à jour ne doit pas être effectuée. Dans ce cas, le programme retourne à l'étape 100 d'attente sans envoyer de message de confirmation de réception. Dans le cas contraire, les données sont considérées comme très vraisemblablement correctes et un message de confirmation est envoyé à l'émetteur au cours de l'étape 112. Le programme mémorisé dans la portion de la mémoire 18 peut alors être utilisé. Pour cela, un fanion dans la mémoire 18 ou dans un registre du microprocesseur 8 est inversé au cours de l'étape 114 pour indiquer au microprocesseur de lire la nouvelle portion 181 de la mémoire semi- permanente 18 au lieu de la portion 180 utilisée précédemment. Le programme se termine alors au cours de l'étape 116 ou retourne à l'étape 100 d'attente de nouvelle instruction.
Au terme du prochain téléchargement, les données reçues seront écrites dans la portion 180 de la mémoire 18 et le fanion mentionné sera inversé pour indiquer au microprocesseur de basculer à nouveau sur cette portion 180 de la mémoire 18.
Le programme dans la mémoire 18 peut être par exemple un programme en assembleur ou en C, ou un programme en langage orienté- objet, par exemple C++ ou Java (marque déposée de Sun Microsystems). On comprendra qu'il est aussi possible de ne télécharger que des portions de programmes, par exemple des modules ou des applets, ou des drivers pour différents capteurs et transducteurs susceptibles d'être connectés sur les entrées-sorties 62 et 64 du système.
On comprendra ainsi qu'il est possible de remplacer à distance le programme de commande du microprocesseur 8, ou de modifier par un procédé similaire les paramètres de commande de l'horloge 10 et/ou du circuit de trigger 66. Il est ainsi possible de programmer facilement à distance le système d'acquisition pour effectuer par exemple des mesures à intervalles définis et envoyer des résultats dès qu'un événement particulier est détecté.
Les programmes de commande du microprocesseur 8, ainsi que les paramètres de contrôle des modules d'horloge 10 et de trigger 66, peuvent être commercialisés indépendamment du système d'acquisition lui- même, et distribués par exemple sur des supports de données informatiques tels que disquettes ou CD-Roms, ou au moyen d'un serveur de fichier par exemple sur internet.
Le système d'acquisition de l'invention peut être utilisé pour contrôler des paramètres variables dans différents types d'applications. Citons à titre d'exemple le contrôle de distributeurs automatiques, le contrôle de caisses et de points de vente informatisés, des applications industrielles pour le contrôle de machines ou de chaufferies par exemple, des applications de domotique pour le contrôle et la surveillance à distance de logements, des systèmes d'alarmes anti-feu et anti-effractions, des applications pour les laboratoires, des systèmes d'alarme pour ascenseurs, etc..