Brevet FR2808343A1 — publié le 20011102

présente invention concerne un dispositif de génération de signal numérique, qui peut être utilisé, par exemple, pour commander un transducteur. objectif de l'invention est de fournir un dispositif capable de délivrer, de manière simple, un signal numérique de forme et de fréquence prédéfinies, et utilisant essentiellement des circuits électroniques standard. A cette fin, il est prévu un dispositif de génération de signal numérique, caractérisé en ce qu'il comprend un microprocesseur, un circuit de base temps pour fournir au microprocesseur un signal commande à des instants prédéterminés, et un circuit de sortie, le microprocesseur étant programmé pour changer l'état d'un signal numérique de sortie du circuit de sortie en reponse à chaque réception du signal de commande, sorte que la largeur de chaque impulsion du signal numérique de sortie corresponde au temps écoulé entre deux instants prédétenninés successifs. Ainsi, la présente invention ne nécessite pas de recourir a des circuits électroniques spécifiques, tels qu'un oscillateur, pour produire un signal numérique de forme et de fréquence prédéfinies. Le microprocesseur, le circuit de base de temps et le circuit de sortie sont en effet des composants classiques, que l'on retrouve, ensemble, dans de nombreux appareils électroniques, et qui peuvent remplir diverses fonctions. Le dispositif selon l'invention peut consister en un microcontrôleur du commerce, programmé de manière appropriée. Les instants prédéterminés peuvent être périodiques. Le microprocesseur est alors programmé pour charger dans le circuit de base de temps une valeur représentative de la période de ces instants prédéterminés, par exemple en réponse à chaque réception du signal de commande. variante, une table de valeurs représentative desdits instants prédéterminés peut être stockée dans une mémoire, le microprocesseur étant programmé pour charger dans le circuit de base de temps une valeur prise dans table de valeurs en réponse à chaque réception du signal de commande. De préférence, le signal de commande est un signal d'interruption qui commande l'exécution, par le microprocesseur, d'une routine d'interruption pour changer l'état du signal numérique de sortie. De cette manière, le microprocesseur n'est pas monopolisé par l'opération de génération du signal numérique, mais peut au contraire, entre deux interruptions, effectuer d'autres tâches, telles que l'exécution d'un traitement numerique ou la mise en oeuvre d'un algorithme de fonctionnement d'un objet électronique l'incorporant. Le dispositif selon l'invention peut comprendre un moyen pour filtrer le signal de sortie. Selon une application particulière de la présente invention, le dispositif de génération de signal numérique est utilisé pour commander un transducteur, tel qu'un transducteur électroacoustique. La présente invention porte également sur un objet portatif, par exemple du carte à puce, comprenant le dispositif génération de signal numérique et un transducteur électroacoustique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée suivante faite en référence aux dessins annexés, dans lesquels - la figure 1 est un bloc-diagramme d'un dispositif génération de signal numérique selon l'invention ; - la figure 2 montre un algorithme mis en oeuvre par le dispositif illustré à la figure 1 ; - les figures 3 et 4 montrent les diagrammes temporels de deux types de signaux produits par le dispositif illustré à la figure 1 ; - la figure S montre schématiquement la manière dont est obtenue une table de valeurs utilisée dans le dispositif illustré à la figure 1 ; - la figure 6 est une vue éclatée schématique d'une carte à puce incorporant dispositif illustré à la figure 1 ; et - la figure 7 est un bloc-diagramme représentant la partie électronique de la carte à puce illustrée à la figure 6. La figure 1 représente le dispositif de génération de signal numérique selon l'invention. Ce dispositif se présente sous la forme d'un microcontrôleur 1, programmé de manière appropriée. Le microcontrôleur 1 comprend, de façon conventionnelle, un microprocesseur 10 auquel sont reliés par l'intermédiaire d'un bus de données 11, des mémoires 12, 13, 14 et circuit de base de temps 15 (en anglais : timer). Le circuit de base de temps 15 est par ailleurs connecté à une entrée d'interruption 16 du microprocesseur 10 via une ligne directe 17. Il reçoit un signal d'horloge H, issu d'un circuit de génération d'horloge (non représenté) prévu soit dans le microcontrôleur soit à l'extérieur de celui-ci. Un circuit d'entrée/sortie 18, relié au bus 11, assure l'interface entre le microprocesseur 10 et l'extérieur du microcontrôleur, et remplit notamment une fonction d'adaptation d'impédance. Le microcontrôleur 1 est par exemple un microcontrôleur de type "ST 19SF08" commercialisé par la société ST Microelectronics. Le microcontrôleur 1 peut être intégré dans un objet électronique, pour gérer le fonctionnement de ce dernier ou effectuer des traitements numériques particuliers. A cet effet, il comprend un programme informatique, appelé système d'exploitation, qui est stocké dans une mémoire morte ROM (Read Only Memory), désignée par 13 à la figure 1, et mis en oeuvre par le microprocesseur 10. Conformément à la présente invention, le système d'exploitation du microcontrôleur est également conçu pour produire, à des instants choisis, un signal numérique selon l'algorithme illustré à la figure 2. A une première étape E 1 de cet algorithme, le microprocesseur 10 active le circuit de base de temps 15 par mise à "1" d'un drapeau d'activation/désactivation dans celui-ci. Le microprocesseur 10 lit ensuite une valeur V dans la mémoire ROM 13, et charge cette valeur dans un registre (non représenté) du circuit de base de temps 15 par l'intermédiaire du bus 11 (étape E2). La valeur est représentative d'un instant prédéterminé IP à compter de son chargement dans le circuit de base de temps 15, auquel le circuit 15 devra interrompre le microprocesseur 10. A une étape suivante E3, le circuit de base temps 15 décrémente la valeur V à chaque cycle d'horloge H. Dès que la valeur V est égale à zéro, c'est-à-dire à l'instant IP précité, le circuit 15 envoie au microprocesseur 10 un signal d'interruption SI (étape E4), se présentant typiquement sous la forme d'un bit, pour déclencher, dans le microprocesseur, l'exécution d'une routine d'interruption du système d'exploitation. Ladite routine d'interruption modifie l'état "0" ou "1" d'un signal binaire de sortie SN du circuit d'entrée/sortie 18, c'est-à-dire fait passer ce signal de sortie à l'état 'T' s'il était auparavant à l'état "0", et à l'état "0" s'il était auparavant à l'état 'T' (étape E5). Si, à une étape E6, il est détenniné par le système d'exploitation que la production du signal SN n'est pas tenninée, la routine d'interruption commande en outre la lecture dans la mémoire ROM 13 d'une nouvelle valeur représentative d'un instant prédéterminé IP subséquent, le chargement de cette valeur dans le circuit de base de temps 15 (étape Le cycle des étapes E3 à E6 est recommencé avec cette nouvelle valeur, et ainsi suite jusqu'à ce que la durée du signal SN ou le nombre de ces impulsions atteigne une valeur souhaitée. Lorsque, à l'étape E6, la production du signal SN est tenninée, le microprocesseur 10 désactive le circuit de base de temps par remise à "0" de son drapeau d'activation/désactivation (étape E8). Ainsi, comme le signal SN change d'état à chaque interruption du microprocesseur 10 par le circuit de base de temps 15, c'est-à-dire à chaque instant prédétenniné IP, la durée entre deux fronts successifs 20 (cf. figure 1), et donc la durée de chaque impulsion 21 du signal, est déterminée par l'intervalle de temps entre deux interruptions successives. La forme du signal est donc liée à la (ou aux) valeur(s) V contenue(s) dans la mémoire 13. Pour produire un signal numérique de durée d'impulsion et de fréquence fixes, la même valeur V est chargée à chaque fois dans le circuit de base de temps 15 aux étapes E2 et E7. En variante, il est possible de générer un signal numérique SN ayant une durée d'impulsion variable, en utilisant une table de valeurs V I à Vn, préalablement stockée dans la mémoire 13. Chacune des valeurs de la table est alors représentative d'un instant prédéterminé IP, ou, de manière équivalente, de la durée entre deux fronts successifs donnés 20 du signal SN. La première valeur V 1 est chargée dans le circuit de base de temps 15 à l'étape E2 de l'algorithme selon l'invention. Les valeurs suivantes V2 à Vn sont chargées successivement dans le circuit 15 au rythme des interruptions du microprocesseur (étape E7). La production du signal SN est considérée comme terminée (étape E6) lorsque la dernière valeur Vn a été chargée. On notera que le fait d'appliquer le signal SI délivré par circuit de base de temps 15 à une entrée d'interruption du microprocesseur 10 permet la production du signal numérique de sortie SN alors qu'un traitement est déjà en cours dans le microprocesseur. Dans un tel cas, en effet, réception du signal SI entraîne l'interruption de ce traitement, afin que les étapes E5, E6 et puissent être mises en oeuvre. Après l'étape E7, le microprocesseur peut reprendre les opérations qu'il était en train d'exécuter, jusqu'à l'interruption suivante (étape E4). application préférée du dispositif selon l'invention consiste à utiliser ce dernier pour commander un transducteur électroacoustique 2 (cf. figure 1), par exemple du type piézoélectrique. Le transducteur 2 est connecté au circuit d'entrée/sortie 18 du microcontrôleur 1 manière à recevoir le signal SN. Le signal SN provoque des vibrations dans le transducteur 2, qui produisent un signal sonore, perceptible par un utilisateur. La figure 3 montre la forme d'un type de signal numérique SN délivré par le microcontrôleur 1 et pouvant servir à commander le transducteur électroacoustique 2. Dans l'exemple de la figure 3, signal SN a une fréquence et une durée d'impulsions fixes. La durée T1 d'une impulsion donnée est égale à la durée T2 entre deux impulsions consécutives. La fréquence 1 /(T 1 +T2) se situe dans la plage fréquences acoustiques perceptibles par l'oreille humaine (16 Hz à 16 kHz environ), de sorte que lorsqu'il alimente le transducteur électroacoustique 2, le signal SN entraîne la production d'un signal sonore continu par ce transducteur. En répétant l'algorithme de la figure 2, ou au moins ses étapes E2 à E7, plusieurs fois à des intervalles réguliers, il est ainsi possible de produire des sons "bips". Un autre type de signal numérique SN apte à alimenter le transducteur 2 est illustré à la figure 4. Le signal de la figure 4 présente une durée d'impulsion variable. Les durées TI', T2', T3', T4', etc., entre deux fronts successifs du signal sont déterminées par une table de valeurs respectives V1, V2, V3, V4, etc., contenue dans la mémoire 1 du microcontrôleur, comme expliqué précédemment. La table de valeurs précitée est construite de telle maniere à représenter un message de parole, ou un morceau de musique. Elle est typiquement obtenue en codant préalablement un signal analogique initial produit un microphone 4, au moyen d'un codeur 5 à modulation de largeur d'impulsion PWM (Pulse Width Modulation) de type connu, comme illustré sur figure 5. Dans le cas d'un tel signal à modulation PWM, on peut se contenter, en ce qui concerne la table de valeurs V I à Vn, de mémoriser dans la mémoire 13 une valeur sur deux V1, V3, V5, etc., et de déduire les autres valeurs, au niveau du microprocesseur 10, avant leur chargement dans le circuit de base de temps 5 (étape E7), de la façon suivante V2 = T-V I V4 = T-V3 V6 = T-V5, et ainsi de suite jusqu'à la fin de la table, où T représente la période, par définition constante, du signal PWM. En outre, avant l'exécution de l'algorithme selon l'invention, il peut être envisagé de multiplier ou diviser, dans le microprocesseur 10, les valeurs table par un même coefficient, afin de diminuer ou augmenter la fréquence du signal sonore qui sera produit par le transducteur 2, et ainsi rendre plus ou moins grave. De préférence, lorsque le signal SN est un signal à modulation PWM, un filtre passe-bas 3 est interposé entre le microcontrôleur I le transducteur électroacoustique 2, pour éliminer les fréquences de modulation (cf. figure 1). Le signal en sortie du filtre 3 correspond ' la valeur moyenne du signal PWM, et est sensiblement identique au signal analogique initial produit par le microphone 4. Toutefois, en pratique, l'étape de filtrage peut être réalisée le transducteur 2 lui-même, car ce dernier peut avoir une bande passante limitée le faisant agir comme un filtre. Les figures 6 et 7 montrent une carte à puce 6 selon l'invention, dans laquelle un module électronique, désigné par le repère 60, est associé à un transducteur électroacoustique piézoélectrique 61. Le module électronique 60 et le transducteur 61 sont montés sur une face arrière 62 de la carte et traversent, au moins en partie, via des trous respectifs 65, une face avant 63 fixée à la face arrière 62. Le trou 65 permet notamment le passage du son produit par le transducteur 61. module électronique 60 sert de support à un microcontroleur 600, également appelé "puce", identique au microcontrôleur 1 de la figure 1, c'est-à dire programmé pour mettre en oeuvre l'algorithme illustré à la figure 2, et à une interface 610 connectée au circuit d'entrée/sortie du microcontrôleur. L'interface 610 consiste en des contacts électriques adaptés pour coopérer avec des contacts correspondants d'un tenninal lecture de carte à puce. Le corps de la carte 6 peut également loger un filtre (non représenté) du même type que celui représenté en 3 à la figure 1. Le microcontrôleur ou puce 600 exécute le système d'exploitation, gère l'organisation des fichiers de données, etc., et effectue des traitements numériques, tels que l'exécution d'algorithmes de chiffrement. commande en outre le transducteur électroacoustique 61 de la manière illustrée aux figures 1 et 2, pour émettre des messages sonores destinés à l'utilisateur. Ces messages peuvent par exemple être émis lors d'un traitement effectué par le microprocesseur de la puce, afin de signaler à l'utilisateur qu'une opération est en cours. Bien que le dispositif de génération de signal numérique selon l'invention trouve une application particulière dans la commande d'un transducteur électroacoustique, d'autres applications peuvent être envisagees. Par exemple, le dispositif selon l'invention pourrait être utilisé pour commander un transducteur électrooptique, tel qu'un voyant lumineux. De manière générale, la présente invention peut être intégrée dans tout équipement électronique nécessitant la production d'un signal numérique de forme prédéfinie. D'autre part, l'application de l'invention aux cartes à puce n'est pas limitée a des cartes à puce à contacts électriques. Le dispositif de génération de signal peut être intégré dans une carte à puce comprenant, aux lieu et place des contacts électriques, des moyens d'émission/réception radiofréquence, incluant une antenne, pour la communication avec un terminal de lecture. Dans ce cas, la carte à puce ne comporte pas de module de support. En variante, la carte à puce peut être une carte incorporant deux interfaces pour la communication avec un terminal de lecture, l'une à contacts électriques, et l'autre à moyens d'émission/réception radiofréquence. Le dispositif de génération signal numérique et le transducteur selon l'invention peuvent en outre être intégrés dans d'autres types d'objets portatifs que les cartes à puces. REVENDICATIONS 1. Dispositif (1) de génération de signal numérique, caractérisé en qu'il comprend un microprocesseur (10), un circuit de base de temps (1 pour fournir microprocesseur un signal de commande (SI) à des instants prédéterminés (IP), et un circuit de sortie (18), le microprocesseur (10) étant programmé pour changer l'état ("0", "1 ") d'un signal numérique de sortie (SN) du circuit de sortie (18) en réponse à chaque réception du signal commande (SI), de sorte que la largeur de chaque impulsion (21) du signal numérique sortie (SN) corresponde au temps écoulé entre deux instants prédéterminés (IP) successifs. 2. Dispositif selon la revendication 1, dans lequel lesdits instants prédéterminés (IP) sont périodiques. 3. Dispositif selon la revendication 2, dans lequel le microprocesseur (10) est programmé pour charger dans le circuit de base de temps (15) une valeur (V) représentative de la période desdits instants prédéterminés (IP). 4. Dispositif selon la revendication 1, comprenant une mémoire (13) dans laquelle est stockée une table de valeurs (V I à Vn) représentative desdits instants prédéterminés. 5. Dispositif selon la revendication 4, dans lequel le microprocesseur (10) est programmé pour charger dans le circuit de base de temps (15) valeur prise dans ladite table de valeurs (V I à Vn) en réponse à chaque réception du signal de commande (SI). 6. Dispositif selon l'une quelconque des revendications 1 à 5, dans lequel le signal de commande est un signal d'interruption (SI) commande l'exécution, par le microprocesseur (10), d'une routine d'interruption pour changer l'état du signal numérique de sortie (SN). Dispositif selon l'une quelconque des revendications à 6, comprenant en outre un moyen (3) pour filtrer le signal de sortie (SN). Dispositif selon l'une quelconque des revendications à 7, caractérisé en ce qu'il est constitué par un microcontrôleur (1). Utilisation d'un dispositif selon l'une quelconque des revendications 1 à 8 pour commander un transducteur (2), tel qu'un transducteur électroacoustique. 10. Dispositif électrique comprenant un dispositif (1) de génération de signal numérique tel que défini dans l'une quelconque des revendications 1 à 8, et un transducteur électroacoustique (2) relié audit dispositif de génération pour recevoir ledit signal de sortie (SN). 1. Objet portatif (6) comprenant le dispositif électrique (60, 61) selon la revendication 10. 2. Objet portatif selon la revendication 11, caractérisé en qu'il consiste en une carte à puce (6). 3. Procédé de génération de signal numérique, caractérisé en qu'il consiste notamment à fournir à un microprocesseur (10) un signal de commande (SI) à des instants prédéterminés (IP), et à faire changer, par le microprocesseur (10), l'état d'un signal numérique de sortie (SN) d'un circuit de sortie (18) en réponse à chaque réception du signal de commande (SI), de sorte que la largeur de chaque impulsion (21) du signal numérique de sortie (SN) corresponde au temps écoulé entre deux instants prédéterminés (IP) successifs. 14. Procédé selon la revendication 13, selon lequel le signal de commande est un signal d'interruption (SI) qui commande l'exécution, par le microprocesseur (10), d'une routine d'interruption pour changer l'état du signal numérique de sortie (SN). 15. Procédé selon la revendication 14, selon lequel le signal d'interruption (SI), lorsqu'il est reçu le microprocesseur (10), interrompt l'exécution d'un traitement en cours dans ledit microprocesseur, lequel traitement est ensuite repris après que l'état du signal numérique de sortie (SN) a été changé, jusqu'à la réception suivante du signal d'interruption (SI).