Un codeur/décodeur DTMF pour PC

Voici une petite carte électronique, à relier au port parallèle du PC. Elle permet de reconnaître les 16 tonalités du standard DTMF. Une série de 16 fichiers au format “wave”, reproduits par l’intermédiaire de la carte son, nous permet de générer ces mêmes paires de fréquences avec l’ordinateur. Voilà de quoi contrôler tous les appareils utilisant ce code : téléphones, émetteurs, etc.


Si vous nous suivez depuis quelque temps déjà, vous avez noté que nous avons, à plusieurs reprises, publié des articles concernant des projets à utiliser avec un ordinateur. Un tel choix est presque un passage obligé car, de nos jours, l’ordinateur est présent dans presque tous les foyers et a pris une importance indiscutable dans la vie de tous les jours.
Nombreux sont ceux qui pensent à la façon de l’utiliser pour gérer l’habitation du futur, en lui confiant les automatismes domestiques tels que l’alarme, le téléphone, la gestion du chauffage, etc. Naturellement, l’ordinateur n’est pas exclu des circuits électroniques et, plus précisément, au laboratoire.
Un exemple est donné par des “appareils”, prenant la forme de cartes à introduire dans les connecteurs internes de l’ordinateur, qui, pilotées par un programme adéquat, deviennent analyseur de spectre, fréquencemètre, récepteur toutes bandes, etc.
Dans notre cas, (pour l’instant) nous ne voulons pas en arriver là, mais nous sommes convaincus de l’importance d’informatiser quelques appareils. Pour cela, nous vous proposons la réalisation d’un codeur/décodeur de tonalités DTMF. Il s’agit d’un circuit capable de visualiser dans une fenêtre, sur l’écran du moniteur, quelle tonalité bi-fréquence (les signaux DTMF sont tous formés de deux fréquences) représente le signal appliqué sur son entrée.
Il s’agit donc d’un système destiné à analyser les appareils qui génèrent des notes DTMF, comme les téléphones ou certains émetteurs radio, pour ne citer que les plus communs.
Mais nous ne nous sommes pas limités à cela car, avec le même logiciel utilisé pour l’identification des paires de fréquences, nous pouvons générer, directement à partir de la carte son incluse dans l’ordinateur (“Sound-Blaster” ou compatible), des fichiers programmés avec une extension “.wav” préparés en échantillonnant les signaux originaux issus d’un générateur DTMF. Le résultat est un système complet d’analyse et de reproduction de tonalités DTMF, facilement réalisable et utilisable par toute personne sachant normalement exploiter Windows 95/98.

Schéma électrique
Voyons à présent le schéma électrique de l’appareil, au demeurant très simple.
Il s’agit de l’interface d’acquisition des tonalités DTMF à relier au port parallèle de l’ordinateur. Le circuit qui se charge de la transformation des signaux basse fréquences reçus est un décodeur DTMF spécialement conçu pour cet usage U1 un 8870 relié à un connecteur mâle 25 points par 6 fils, qui sont dans l’ordre : +5 volts (broche 2), Q1 (13), Q2 (12), Q3 (11), Q4 (10) et STD (15).
Pour ceux qui ne connaissent pas ce circuit intégré produit par les sociétés GTE, MOSTEK ou UMC (il est alors référencé UM92870), nous pouvons dire que c’est un décodeur de tonalité DTMF complet à condition que son oscillateur à quartz fonctionne sur 3,58 MHz. Il est capable d’exprimer, sous forme binaire de 4 bits, le numéro correspondant aux paires de notes reçues.
En pratique si nous injectons sur son entrée BF (broche 2) un signal correspondant au chiffre 4, sur le bus de données Q1, Q2, Q3, Q4, se présente une combinaison équivalente au chiffre 4, lequel, suivant la table de vérité du circuit, est en binaire : 0100 (respectivement Q4, Q3, Q2, Q1). De cet exemple nous pouvons déduire immédiatement que Q1 est le bit de poids faible (LSB) et Q4, le plus significatif (MSB).
Pour comprendre le fonctionnement de l’interface, vous devez vous rappeler que les sorties des données sont pourvues de latch (mémoire), activées à l’arrivée de chaque tonalité.
Si, par exemple, le chiffre 4 arrive, les informations 0100 demeurent sur Q4, Q3, Q2, Q1, jusqu’à ce qu’une autre tonalité appartenant au standard DTMF soit reçue par le décodeur. Si le chiffre 1 est décodé, le bus indique 0001 et il reste ainsi jusqu’à la réception d’un autre chiffre. Si, ensuite, le chiffre 9 est décodé, le bus devient 1001 et il reste dans cet état.
Dans ce mode de fonctionnement, il est nécessaire que l’élément destiné à lire les informations puisse distinguer à quel moment lui parvient une tonalité, car le latch du 8870 est constitué de telle manière que si 2 notes identiques arrivent à la suite l’une de l’autre, l’état du bus n’est pas modifié.
Par exemple, si le décodeur reçoit deux fois le chiffre 4 en séquence, Q4, Q3, Q2, Q1 reste avec l’état 0100. C’est pour cela qu’a été prévu la broche 15 appelée STD. Cette broche est au niveau bas au repos, elle passe au niveau haut pendant la durée de la réception de la tonalité et retourne au niveau bas. Cela permet au dispositif de lecture, de faire la distinction entre deux tonalités de même valeur. Dans le cas de notre inter face, c’est l’ordinateur qui lit le signal STD, simultanément à la lecture des 4 bits constituant le chiffre décodé.
La broche 2 du connecteur DB25, qui est la ligne D0, alimente le montage en +5 volts par rapport à la masse (broche 25) nécessaire au fonctionnement du décodeur U1. Il reste peu de choses à dire de l’inter face car il y a peu de composants. R1 et R2 permettent la contre-réaction de l’étage préamplificateur du 8870, cet étage ayant ainsi un gain unitaire. Le potentiomètre ajustable R5 permet de régler le niveau du signal appliqué au circuit 8870 en le limitant au niveau nécessaire pour une bonne reconnaissance et en évitant la saturation. Notez enfin la LED LD1, disposée entre STD et la masse, qui clignote à chaque réception de tonalité, permettant ainsi de s’assurer du bon fonctionnement du décodeur. On peut ainsi vérifier visuellement si la platine reçoit ou non une tonalité DTMF. En ce qui concerne le port parallèle, les signaux suivants sont utilisés : “Select” (broche 13, Q1), “Paper end” (broche 12, Q2), “Busy” (broche 11, Q3), “Acknowledge” (broche 10, Q1) et “Printer error” (broche 15, STD du 8870).
Le +5 volts est fourni par la broche 2 (D0), grâce au maintien de cette broche au niveau haut, dès que le programme est lancé et ce, jusqu’à la fermeture de la fenêtre WinDTMF. Il est en effet possible de prélever un faible courant par ce moyen, car le bus de données du port parallèle est géré par un registre de la carte mère doté de sortie push-pull à structure MOS et non pas à collecteurs ouverts avec résistance de tirage, autrement cela ne serait pas possible.

Figure 1 : Schéma électrique du générateur DTMF.

Figure 2 : Schéma d’implantation des composants.



Figure 3 : Dessin du circuit imprimé à l’échelle 1.

Liste des composants
R1 = 100 kΩ
R2 = 100 kΩ
R3 = 330 kΩ
R4 = 1 kΩ
R5 = 47 kΩ trimmer vert.
C1 = 100 nF polyester
C2 = 100 nF polyester
LD1 = LED rouge Ø 5 mm
U1 = Intégré 8870
Q1 = Quartz 3,58 MHz

Divers :
1 Support 2 x 9 broches
1 Connecteur 25 broches 90° pour ci
1 Prise RCA 90° pour ci
1 Circuit imprimé réf. S283


Vue du prototype terminé. Le circuit est très simple car nous utilisons simplement un circuit intégré 8870, un quartz 3,58 MHz et un ajustable pour régler le niveau du signal d’entrée. Le circuit peut être relié directement au port série du PC en enlevant les deux entretoises du connecteur DB25.

Le logiciel WinDTMF
Après avoir parlé de la partie matérielle, nous allons évoquer la partie logicielle. Après avoir relié la carte au port LPT de l’ordinateur à l’aide d’un câble imprimante, nous pouvons analyser le programme de gestion et la fenêtre de l’affichage vidéo. La première chose à effectuer est de prendre la première des trois disquettes fournies contenant le programme WinDTMF et de l’insérer dans le lecteur A, après avoir mis l’ordinateur en ser vice.
Observez que notre programme fonctionne sous Windows 95/98, nous ne l’avons pas testé sous Windows NT mais il devrait fonctionner également.
A présent ouvrez “Fichiers”, “Exécuter” et écrivez la ligne “A :setup”, confirmez par “enter” ou cliquez sur “OK”. Lorsque la disquette est chargée, introduisez la deuxième disquette, à l’apparition de la boîte de dialogue, répondez “OK” à la première demande (envoi) et cliquez sur l’icône en haut à gauche lorsqu’apparaît la demande de changement de directory, à moins que vous ne vouliez installer le programme vers un chemin différent de celui suggéré.
Confirmez à l’aide de la barre d’espace. Après le chargement de la deuxième disquette, la demande d’introduire la troisième apparaît, faitesle.
A la fin du chargement, après le message d’installation complète, vous aurez un groupe de programmes nommé WinDTMF.
Pour lancer immédiatement le programme, il suffit de cliquer deux fois sur l’icône “téléphone” afin de faire apparaître l’écran de travail, représentant un rectangle de forme allongée en haut avec, à sa droite, un bouton marqué “RAZ” (mise à zéro).
Au-dessous, vous verrez un clavier virtuel à 16 touches, avec, à sa droite, un rectangle plus petit dans lequel seront inscrits les numéros composés sur le clavier. Au-dessous de ce dernier, vous avez deux boutons, un à gauche marqué “Répétition” (répète le numéro), et un autre à droite marqué “RAZ” (mise à zéro). La partie supérieure, est une sorte d’afficheur et fonctionne effectivement avec l’interface décrite au début.
Les signaux DTMF appliqués sur le jack d’entrée (Audio In) et décodés par U1, parviennent sur le port parallèle et sont traduits en code binaire. Ils sont ensuite lus par le programme de réception qui retranscrit sur l’afficheur les chiffres respectifs, ou bien les lettres. Par exemple, si la tonalité du chiffre 4 est appliquée sur la platine, dans le cadre de l’afficheur, s’inscrit le chiffre 4, si le 5 est ensuite appliqué sur l’entrée, le chiffre 5 s’inscrit à gauche de l’afficheur. En somme, nous pouvons visualiser une longue séquence et même la sélection d’un numéro de téléphone complet. Si vous cliquez sur le bouton “RAZ”, l’affichage est effacé.
La section suivante, requiert l’utilisation et donc la présence d’une carte son dans l’ordinateur, carte “Sound-Blaster” ou compatible.
Une 8 bits est suffisante. Cette carte doit être convenablement paramétrée pour un fonctionnement sous Windows. Le système, comme vous l’avez vu, est composé d’un clavier, d’un afficheur et de deux boutons sur l’écran. A l’aide de la souris, cliquez sur un des boutons alphanumériques (0 à 9 ou A, B, C, D) le PC génère la note DTMF que le programme a mémorisé sur le disque dur sous la forme d’un fichier “wave”, qui peut également être reproduit par la carte son ou tout autre appareil pouvant reproduire un fichier “wave”.
Sur l’afficheur est inscrit le chiffre choisi et sur la sortie audio ou sur les haut-parleurs de la carte son vous entendez la tonalité correspondant au chiffre ou à la lettre choisi. Le son peut être récupéré sur la sortie et envoyé sur un appareil nécessitant un code DTMF pour être déclenché ou pour un test.
A ce propos, nous rappelons que, suivant vos besoins, vous pouvez et devez utiliser la prise de sortie la mieux adaptée en fonction des caractéristiques de votre carte. En effet, il existe, dans le commerce, différentes versions des cartes “Sound-Blaster”. Certains modèles sont équipés de deux sorties, d’autres d’une seule.
Dans le premier cas, une sortie “LIGNE OUT” (sortie ligne) est présente, elle est à haute impédance et doit être exclusivement appliquée à des entrées bas niveau ayant une impédance minimum de 600 ohms. L’autre “SPK OUT” (sortie haut-parleur) est adaptée pour piloter directement des haut-parleurs d’une impédance comprise entre 8 et 32 ohms, pouvant dissiper 4 à 5 watts (le circuit intégré de sortie est généralement un TDA1515 ou TDA1510). Si vous ne disposez que d’une seule sortie, le choix est simple, il s’agit d’une sortie basse impédance (hautparleur).
Retournons à notre écran, une fois l’afficheur rempli par les chiffres composés au clavier, il suffit de cliquer sur le bouton “RAZ” pour effacer le tout. Toutefois, si vous continuez à cliquer sur le clavier alors qu’il n’y a plus de place pour afficher les chiffres sur l’afficheur, ceux-ci seront tout de même générés, mais ils ne seront pas affichés.
Enfin, l’autre bouton, (Répétition) correspond à la touche “Bis” d’un téléphone classique. Si vous cliquez dessus, le programme lit tous les chiffres que vous avez préalablement cliqués avec la souris et qui sont inscrits sur l’afficheur et les reproduit. Les chiffres sont lus de gauche à droite. A ce point, il ne reste rien à ajouter, il nous faut passer à la réalisation pratique, où vous verrez comment monter la petite platine de l’inter face, comment la relier au port parallèle et nous terminerons par quelques exemples d’utilisation.



Notre circuit est en mesure d’afficher dans la fenêtre de réception le chiffre représenté par une tonalité DTMF appliquée à son entrée. En outre, avec le même programme de décodage, nous pouvons générer des tonalités bi-fréquence, directement à partir de la carte son (carte “Sound-Blaster” ou compatible).
Nous avons reproduit les fichiers adéquats en échantillonnant des tonalités DTMF standard. En reliant la sortie de la carte audio avec l’entrée BF disponible sur notre carte, nous observons que le chiffre envoyé en cliquant sur les touches du clavier virtuel est affiché dans la case réception.
Cela signifie que les parties codeur et décodeur fonctionnent correctement.



Sur la figure, l’écran principal du programme WinDTMF. La partie située en haut (réception) est une sorte d’afficheur sur lequel apparaissent les chiffres correspondant aux tonalités correctement décodées. Le bouton “RAZ” (remise à zéro) efface le contenu de l’afficheur. La section du dessous (composition) représente un clavier virtuel, un afficheur (comme ci-dessus) et deux boutons. En cliquant à l’aide de la souris sur un des boutons alphanumériques du clavier, l’ordinateur génère la tonalité DTMF correspondante.
Sur l’afficheur apparaît alors le chiffre sélectionné. Le bouton “RAZ” permet d’effacer le contenu de l’afficheur et l’autre bouton “BIS” (répétition du numéro) fonctionne comme la commande du même nom sur un téléphone classique.

Figure 4 : Câble de liaison entre le PC et la carte DTMF. Mini jack 3,5 mm stéréo à relier à la prise OUT de la carte son. Résistances de 680 ohms 1/4 watt. Fiche RCA mono à relier à l’interface.

Avec ce câble de liaison et le programme WinDTMF, il est possible de tester la platine. Connectez le jack stéréo à la sortie de la carte son (la sortie qui est habituellement utilisée pour être reliée aux enceintes) et la fiche RCA à l’interface. En utilisant le programme WinDTMF les tonalités transmises du PC, seront décodées par l’interface et visualisées par le programme.

Le paramétrage du port parallèle
L’importante diffusion des scanners parallèles a fait que de nombreux utilisateurs d’ordinateurs ont paramétré le mode ECP sur la sortie LPT1, respectant ainsi les conseils des constructeurs. Si ce paramétrage accélère le transfert des données et l’acquisition des images, pour certains périphériques cela peut présenter un problème. Si vous deviez rencontrer des difficultés de fonctionnement avec la platine codeur/décodeur DTMF et si vous avez un scanner installé sur la sortie LPT1, vous pouvez résoudre ce problème en pratiquant de la façon suivante : entrez dans le BIOS de l’ordinateur et redéfinissez le mode de fonctionnement du port LPT1 en choisissant le mode EPP. Ce mode, bien que ralentissant le transfert des données par le scanner, permet de faire fonctionner toutes les inter faces reliées sur le port.


Si vous démontez les deux entretoises du connecteur DB25, il est possible de connecter directement la carte interface DTMF sur le port parallèle LPT1 de votre ordinateur sans avoir besoin d’un câble. En effet, la LED, le connecteur RCA et le potentiomètre ajustable du niveau d’entrée du signal, ont été disposés sur le côté opposé au connecteur.
La LED est reliée à la ligne STD du décodeur et, donc, elle clignote à la réception de chaque tonalité DTMF, permettant ainsi un contrôle visuel du fonctionnement du testeur.

Réalisation pratique
Comme d’habitude, il faut tout d’abord préparer le circuit imprimé. Utilisez, si possible, la méthode photographique, ou une photocopie sur calque ou transparent afin d’avoir un film exploitable.
Le dessin du tracé est représenté à l’échelle 1/1. Après avoir gravé et percé la platine, vous pouvez commencer à monter les composants, en commençant comme à l’accoutumé par les composants les plus bas, donc par les résistances et par le support pour le circuit intégré 8870. Attention lors de l’insertion du circuit dans le support, il faut orienter son repère-détrompeur en U vers la résistance R1.
Montez ensuite les deux condensateurs et le connecteur mâle coudé 25 broches pour circuit imprimé. Montez la diode LED, l’anode (patte la plus longue) étant à placer du côté de R4 et la cathode à la masse. Soudez le quartz de 3,58 MHz, et le potentiomètre ajustable vertical R5. Pour terminer, montez une prise RCA coudée à souder sur circuit imprimé afin de permettre l’insertion d’une fiche RCA pour appliquer le signal.
Contrôlez visuellement toutes les soudures et le montage en général afin de détecter une éventuelle erreur.
Pour la liaison de la platine à l’ordinateur, il faut employer un câble, identique à celui utilisé pour l’imprimante, le côté mâle du câble vers l’ordinateur, le côté femelle vers la platine.
Le programme ayant été chargé suivant nos indications, tout doit normalement fonctionner au premier essai.
Après avoir allumé l’ordinateur, vous vous trouvez en présence de la fenêtre de travail évoquée précédemment. Rappelez-vous que notre montage ne requiert pas d’alimentation car, comme nous l’avons déjà indiqué plus haut, le +5 volts est prélevé directement sur le port parallèle.
Le premier essai que nous vous conseillons de faire est celui qui consiste à tester le fonctionnement de l’ensemble carte et programme.
Connectez à l’aide d’un câble, terminé par un jack 3,5 mm stéréo, la sortie de la carte son du PC (sortie haut-parleur) à la platine décodeur cette fois, à l’aide d’une fiche RCA (les deux conducteurs seront reliés ensemble à l’aide de deux résistances de 680 ohms car la carte son est stéréo et notre entrée sur la carte décodeur est du type mono, voir le dessin). Insérez la fiche mâle RCA dans la prise du circuit (AUDIO IN).
Vous avez ainsi relié l’ordinateur à l’interface et tout est prêt pour fonctionner.
Lancez le programme WinDTMF en cliquant sur l’icône, puis cliquez sur un chiffre afin d’envoyer une tonalité DTMF sur la sortie de la carte son et par là même à l’entrée du décodeur.
Si tout fonctionne convenablement, vous devez voir apparaître sur l’afficheur du haut de l’écran, avec un léger retard, le chiffre cliqué au clavier.
De manière identique, il apparaît également sur l’afficheur du bas.
Si cela ne se passe pas ainsi, contrôlez et retouchez la position de R5, car de son réglage dépend le niveau d’entrée du signal qui est probablement trop faible. Après ce réglage recommencez la procédure jusqu’à ce que l’affichage soit correct.
Vous pouvez également vous aider de la LED de visualisation qui permet, par son clignotement, d’apprécier avec une bonne précision la qualité du signal audio reçu. Si la LED ne clignote pas malgré l’envoi de tonalité DTMF à partir du clavier virtuel, il est probable que vous ayez un problème avec le port parallèle de l’ordinateur, ou bien que le programme n’a pas été convenablement chargé.

À Découvrir

Schema Electronique