Un système de présentation du numéro d'appelant sur PC

Le service de Présentation du Numéro, ou service Class, est disponible auprès de France Télécom depuis l’apparition de Numéris et depuis 2 ans environ sur les lignes analogiques. Dans notre application, c’est le PC qui est chargé de l’affichage du numéro de l’appelant. Ce service téléphonique commence à avoir un certain impact sur nos habitudes et permet de réaliser quelques applications intéressantes dans le domaine de la sécurité et de l’automatisation. Dans ce premier article, nous décrivons, de façon approfondie, les protocoles utilisés et nous présentons le projet d’un appareil permettant l’identification du numéro d’appelant, équipé d’une sortie série.


Le service de “Présentation du numéro” de France Télécom permet à qui reçoit un appel téléphonique de connaître le numéro de téléphone de celui qui est en train d’appeler.
Cette nouvelle fonction, en apparence sans grande importance, a eu, dans les pays où elle est disponible depuis longtemps, un succès inattendu, tant auprès des particuliers qu’auprès des administrations et des entreprises commerciales.
Désormais, dans beaucoup de maisons européennes et américaines, on ne répond plus si le numéro (ou le nom, dans certains systèmes évolués) de celui qui appelle ne s’affiche pas sur l’écran du téléphone.
Cette pratique est même péremptoire dans la plupart des sociétés commerciales disposant de téléphones “intelligents”, capables de faire apparaître sur un écran les informations complètes sur la personne qui appelle.
En pratique, un ordinateur relié au système d’identification téléphonique recherche, dans une base de données, toutes les informations disponibles relatives à l’appelant et les visualise à l’écran.
Dans l’hypothèse basse, l’ordinateur affichera les données concernant uniquement le nom et l’adresse mais si la personne qui appelle a eu, ou a encore, des relations avec la société, toutes les informations la concernant pourront alors s’afficher.
Prenons quelques exemples. Si vous appelez votre banque, votre état civil complet, toutes les informations relatives à votre compte courant et même certaines informations confidentielles pourront apparaître à l’écran de l’employé qui vous répond.
Si vous appelez la concession dans laquelle vous avez acheté votre voiture, avant même qu’il ne décroche le combiné, l’employé peut voir apparaître sur son écran tout l’historique de votre véhicule, la date d’achat, les révisions et les réparations déjà effectuées, etc.
Même les appels d’urgence faits à la police ou aux pompiers suivront une procédure différente de la procédure actuelle : le standardiste, en effet, ne vous demandera plus votre nom et d’où vous appelez, puisque toutes ces informations s’afficheront automatiquement sur l’écran de l’ordinateur sur la base de l’ID (IDentifiant) reçu.
En somme, une approche du téléphone bien différente de celle à laquelle nous sommes habitués. Mais ce n’est pas tout. La possibilité de connaître le numéro de l’appelant permet de mettre en place de nouvelles fonctions dans les systèmes de contrôle, rendre plus sûres certaines pratiques et réaliser des commandes à distance très originales et innovantes. Un secteur, donc, en pleine expansion et qui ne pouvait pas ne pas susciter notre intérêt.
Dans ce premier article, consacré à ce sujet, nous décrivons le fonctionnement de cette technique, les protocoles utilisés ainsi que les circuits intégrés disponibles sur le marché pour réaliser des appareils capables d’identifier le numéro de l’appelant. Comme toujours, nous vous proposons, après la théorie, le montage d’un dispositif identifiant le numéro de l’appelant à relier à n’importe quel PC. L’information nécessaire à l’affichage sur l’écran du PC est envoyée sur une sortie série.
Mais, procédons par ordre et commençons, avant tout, par voir comment fonctionne ce service France Télécom.

(1)- RNIS = Réseau Numérique à Intégration de Services.
- On rencontrera également le terme anglais ISDN qui signifie Integrated Ser vices Digital Network.
- “Numéris” est le nom commercial du RNIS.

Toutes les lignes RNIS(1) sont habilitées à l’envoi et à la reconnaissance de l’ID, pratiquement depuis la mise en service de ce réseau. Depuis 2 ans environ, les lignes analogiques (les anciennes lignes, si vous préférez), sont également en mesure de bénéficier de ce service.
La présentation du numéro de l’appelant dépend de l’abonnement que vous avez souscrit. En effet, selon votre type d’abonnement ce service est soit inclus soit payant. Dans le second cas, la somme à acquitter est modeste : 10 F TTC par mois. Si ce service n’est pas inclus dans votre abonnement, il faut en faire la demande auprès de France Télécom (en téléphonant au 1014, appel gratuit). L’activation se fait en quelques jours au plus, sans aucune intervention sur l’installation téléphonique de la maison.
Pour voir s’afficher le numéro des correspondants, il faut, soit disposer d’un téléphone intelligent prévu pour ce faire, soit relier l’appareil que nous allons vous proposer en série sur la ligne téléphonique.
L’envoi de votre ID, à votre correspondant, est automatique et il est activé par défaut, quel que soit le téléphone que vous utilisez. Vous pouvez interdire, de façon permanente, l’envoi de votre ID en en faisant la demande écrite à France Télécom. Si vous désirez garder ce service mais que vous voulez néanmoins pouvoir l’interdire avant de téléphoner à certains correspondants, il vous suffit de taper le code “3651” avant le numéro à appeler.
Voyons à présent comment fonctionne ce procédé.



Principe de fonctionnement
Comme toujours, dans ce domaine comme dans les autres, il existe différents standards qui varient légèrement les uns par rapport aux autres, aussi bien au niveau des composants physiques spécifiques que des logiciels. Fort heureusement les différences sont minimes et les circuits intégrés disponibles sur le marché sont capables de fonctionner avec tous ces standards.
Comme on le voit sur la figure 1a, les données, avec toutes les informations qui nous intéressent, sont envoyées par le central téléphonique à l’appareil de l’utilisateur recevant l’appel, entre la première et la seconde sonnerie.
Ces données sont transmises une seule fois, c’est pourquoi elles doivent être décodées à coup sûr.
Avant la véritable information, un train d’impulsions spécial est envoyé, permettant d’activer la section de “Tone Alert” des circuits de décodage. En utilisant cette technique (ou bien un “Ding-Detector” (détecteur de sonnerie)), on peut maintenir les circuits de décodage en position “Power-Down” (faible alimentation), de façon à limiter la consommation au repos à quelques microampères. Le système de “Tone Alert Detection” réactive le circuit qui peut alors se préparer à reconnaître les données entrantes. Toutefois, avant ces dernières, un autre train d’impulsions est encore envoyé pour permettre au circuit de réception de se synchroniser correctement.
Les véritables données modulent en FSK (Frequency-Shift Keying) une fréquence porteuse qui, en fonction des cas, répond au standard Bell 202 ou CCITT V.23. La transmission s’effectue toujours à la vitesse de 1 200 bauds avec un format “N,8,1”, mais la fréquence porteuse varie : dans le standard Bell 202, elle est de 1 200 et 2 200 Hz (correspondant respectivement aux niveaux logiques 1 et 0), tandis que dans le standard CCITT V.23, elle est de 1 300 et 2 100 Hz.
Dans notre pays, tout comme dans les autres pays d’Europe, on utilise le standard CCITT, tandis que le système Bell est employé exclusivement aux États-Unis et dans quelques autres pays hors communauté.



Figure 1a : Données d’ID transmises par le central téléphonique.

Le Protocole
Le protocole (voir figure 2) prévoit l’envoi d’une séquence de données bien précise. La première donnée, identifiant le type de message, est toujours un 80 (en hexadécimal) : ce chiffre identifie un message multiformat. La donnée suivante indique le nombre de caractères composant la chaîne, c’est-à-dire le nombre de caractères qui seront encore envoyés à partir de ce moment-là, du central au téléphone.
En général, lorsque le numéro de l’appelant est disponible, cette donnée correspond à 16 ou 17 hexadécimal (la chaîne est donc composée de 22 ou 23 caractères). Tout de suite après, on trouve deux chiffres (d’ordinaire 01 ou 08) qui indiquent la présence, dans la séquence envoyée, de l’information concernant la date et l’heure (01) ainsi que le nombre de caractères qui composent cette information (08). Les informations étant toujours présentes et composées du même nombre de chiffres, ces deux caractères sont toujours les mêmes. Puis vient la véritable information avec ses huit chiffres indiquant le mois, le jour, l’heure et les minutes. On trouve ensuite deux caractères qui indiquent, dans l’ordre, la présence ou l’absence du numéro de téléphone (02 = numéro disponible, 04 = numéro non disponible) ainsi que les chiffres qui composent ce même numéro. Rappelons que l’indication est toujours en hexadécimale.
Si le numéro n’est pas disponible, on trouve 01, c’est-à-dire l’indication qu’il n’y a à sa place qu’un seul caractère, correspondant au nombre hexadécimal 70 (112 en décimal), qui, comme par hasard, est utilisé dans le tableau ASCII pour indiquer la lettre “P” (privé). La dernière donnée de la chaîne est la “checksum” (somme de contrôle) qui permet au circuit de l’ID de vérifier si les données sont arrivées correctement.
Pour mieux comprendre ce protocole, observons la fenêtre de la figure 1b, dans laquelle sont visualisées les données brutes “capturées” par un circuit d’identification de l’ID. Les trois appels proviennent respectivement d’un téléphone portable (0612338711), d’un téléphone fixe (0299425273) et d’un autre appareil, également fixe, dont la fonction ID a été désactivée par l’utilisateur.
Dans le premier cas, on visualise ces caractères : [80] [16] [01] [08] 01041615 [02] [0A] 0612338711 [{].
Cela signifie ceci :

80         = multiformat ;
16 = 22 caractères suivants ;
01 = indication chronologique présente ;
08 = indication mois/jour/ heure/minutes composée de 8 chiffres;
01041615 = janvier, le 4, à 16:15 ;
02 = numéro de téléphone présent ;
0A = numéro de téléphone composé de 10 chiffres ;
0612338711 = numéro de téléphone de l’appelant ;
{ = checksum.

Dans le second exemple, rien ne change si ce n’est l’heure et le numéro de téléphone.
Dans le troisième cas, c’est un peu tout qui change, mais la différence la plus significative est l’apparition du caractère “P” avant la “checksum”. On trouve également les caractères 01 et 08 qui précèdent l’information chronologique, toujours composée des huit mêmes chiffres.
En espérant avoir été suffisamment clairs, nous passons à présent à la description détaillée des composants physiques.

Figure 1b : Fenêtre dans laquelle sont visualisées les données brutes “capturées” par un circuit d’identification de l’ID.

Figure 2 : Le protocole prévoit l’envoi d’une séquence de données dont le format est donné ici.

Le fonctionnement
Pour décoder l’information contenant l’ID de l’appelant, il est possible d’utiliser un circuit intégré spécifique ou plusieurs circuits intégrés ordinaires. Dans tous les cas, le signal alternatif présent sur la ligne téléphonique entre la première et la seconde sonnerie, doit être envoyé à un filtre à bande passante de bonne qualité (on pourrait utiliser, par exemple, un filtre quadruple opérationnel de type LM324) et placé à la suite d’un démodulateur FSK (un simple XR2211 fera très bien l’affaire).
Ce dernier, d’ailleurs, pourrait également détecter le “Tone Alert”.
En ce qui nous concerne, nous avons choisi un circuit intégré spécifique produit par Mitel, société spécialisée dans les microcircuits utilisés en téléphonie.
Parmi les différents circuits intégrés proposés pour cette application, nous avons choisi le MT8843 en version “dual-inline”.
Son brochage est donné en figure 3 et son schéma synoptique en figure 4. Plus que pour des raisons techniques, ce choix nous a été dicté par des raisons commerciales : le MT8843 est en effet le modèle le plus couramment diffusé.
Comme on le voit sur le schéma synoptique, ce microcircuit contient un filtre passe-bande, un démodulateur FSK, un “Tone Alert Detector” ainsi que différents circuits auxiliaires.
Le circuit intégré peut fonctionner aussi bien en mode synchrone qu’en mode asynchrone. Il travaille en 5 volts et peut opérer avec les deux standards (Bell ou CCITT), en modifiant simplement les valeurs de quelques résistances. Pour pouvoir exploiter toutes les fonctions de ce microcircuit, il est nécessaire d’utiliser un microcontrôleur externe, comme on le voit sur le schéma d’application constructeur de la figure 5. Il est toutefois possible, en renonçant à certaines fonctions secondaires et en utilisant le microcircuit en mode asynchrone, de prélever directement les données de la broche 17 à laquelle on peut relier une ligne série à 1200 bauds. Nous rappelons que le signal présent sur une telle broche est au niveau logique TTL.
Le mode de fonctionnement (synchrone ou asynchrone) dépend de la broche 9, tandis que la broche 14 s’occupe du contrôle du “Power-Down” (basse consommation). Dans ces conditions, le circuit consomme à peine 0,5 microampère et toutes les lignes d’entrée et de sortie sont désactivées à l’exception des entrées de “trigger”. On indique, dans le schéma d’application constructeur, comment réaliser le circuit du “Ring-Detector” qui est généralement utilisé pour le “réveil” du microcircuit.
L’oscillateur interne utilise un quartz économique de 3,58 MHz, relié entre les broches 10 et 11.
Il est préférable d’isoler la boucle de couplage téléphonique grâce à un transformateur de ligne de rapport 1:1. On évite ainsi que l’une des deux extrémités de la ligne téléphonique ne soit reliée à la terre par l’intermédiaire de la masse du circuit d’alimentation ou du PC.

Figure 3 : Brochage du circuit intégré Mitel MT8843.

Figure 4 : Schéma synoptique du circuit intégré Mitel MT8843.

Figure 5 : Schéma d’application constructeur du Mitel MT8843 (sans transformateur d’isolement). Dans les systèmes plus complexes, il est préférable d’utiliser un transformateur de couplage de façon à isoler la ligne téléphonique des appareils du système.

Grâce à l’emploi du circuit intégré Mitel MT8843, notre décodeur ID est particulièrement simple.



Le circuit électrique
Comme on le voit sur le schéma de la figure 6, notre décodeur à sortie série utilise, outre le circuit intégré Mitel (U1), quelques autres composants parmi lesquels un convertisseur TTL/RS232 (U3, un simple MAX232) et un microcontrôleur préprogrammé (U4). Ce dernier opère la vérification des données qui arrivent ainsi que leur conversion en caractères plus facilement lisibles.
Mais procédons par ordre.
Le dispositif peut être alimenté avec une tension continue comprise entre 8 et 15 volts. Un petit transformateur, capable de débiter une tension de 12 volts avec un courant d’une centaine de milliampères, est plus que suffisant.
La tension continue est ensuite filtrée par C1 et rendue parfaitement stable par le circuit intégré régulateur U2 (7805), fournissant en sortie les 5 volts nécessaires à l’alimentation de tous les étages.
L’entrée de notre dispositif est représentée par le transformateur de ligne TF1 et par le condensateur C4. Cet étage n’est pas capable de “fermer” la ligne, étant donné que le condensateur C4 se charge du découplage en courant continu. Tous les signaux de basse fréquence (y compris le train d’impulsions qui nous intéresse) sont tout simplement transférés aux bornes du secondaire et, de là, à l’entrée du circuit intégré MT8843, plus précisément aux broches 1 et 2 de ce circuit.
Le réseau formé par les résistances R1, R2, R3 et R4 et par les diodes D2, D3, D4 et D5, a pour rôle de limiter l’amplitude du signal d’entrée à ±0,7 volt en “coupant” de façon radicale le signal d’appel (ring), qui, comme on le sait, atteint facilement une amplitude de ±40 volts.
Le gain de l’étage d’entrée et sa polarisation dépendent des valeurs des résistances R5, R6 et R7. Nous avons relié à la masse, outre les broches d’alimentation (12 et 13), la broche 9 pour sélectionner le mode de fonctionnement “0” (sortie asynchrone) et la broche 14, pour éviter que le dispositif n’entre en “Power Down”. On a relié la broche d’alimentation 24 au positif ainsi que la broche d’activation du démodulateur FSK (broche 15). Le réseau chargé de détecter le “Tone Alert” dépend des broches 22 et 23.
Dans notre cas, les lignes de contrôle faisant partie de cet étage ne sont pas utilisées.
Le quartz de 3,58 MHz, enfin, est relié entre les broches 10 et 11. Le signal de sortie asynchrone est disponible sur la broche 17.
En pratique, on trouve sur cette ligne, à chaque appel, la séquence d’informations décrite précédemment. Ces données sont transférées à la vitesse de 1 200 bauds (avec format “N,8,1”) au microcontrôleur U4, lequel se charge d’en analyser le contenu.
Comme on peut le voir sur l’organigramme du programme installé dans le PIC12C672, à l’allumage, et après avoir initialisé de façon opportune les portes, le microcontrôleur allume et éteint deux fois les diodes LED et envoie à la porte série de sortie l’indication “SYSTEM STARTUP”.
La transmission en série s’effectue avec le même format, mais à une vitesse de 9600 bauds. A ce stade, le programme commence à analyser les données reçues à la recherche des caractères 01 et 08. Le programme effectue l’analyse du reste de la chaîne seulement s’il a reçu ces caractères en séquence, en “capturant” alors les données concernant la date, l’heure et le numéro de téléphone. Ces informations sont envoyées à la sortie et visualisées comme le montre l’écran de la figure 8.
Si la chaîne ne contient pas le numéro de téléphone, soit parce que le central de celui qui appelle n’est pas encore activé pour ce ser vice, soit parce le service d’ID a été supprimé, soit parce que l’envoi de l’ID a été désactivé manuellement par le 3651, on voit apparaître à l’écran le message “UNAVAILABLE NUMBER” (numéro indisponible).
L’indication fournie par les deux diodes LED est évidente : la diode verte clignote une fois si la chaîne reçue contient l’ID de l’appelant, tandis que dans le cas contraire, c’est la diode rouge qui clignote.
La sortie série du microcontrôleur est reliée au connecteur de sortie à 25 broches, grâce au circuit intégré U3 (MAX232) qui sert à convertir le niveau logique de TTL (0/5 volts) au niveau RS232 (+/– 12 volts). La tension négative –12 volts et la tension positive +12 volts sont générées par le même microcircuit, par l’intermédiaire d’un élévateur de tension capacitif qui exploite les condensateurs C7, C8, C9 et C10. Pour visualiser les données disponibles sur le connecteur de sortie, il est possible d’utiliser n’importe quel programme de communication, des plus simples aux plus complexes : l’important étant de fixer la vitesse à 9 600 bauds et de sélectionner le format “N,8,1”.
Il est bien évident que le simple affichage du numéro de l’appelant n’a que peu d’intérêt. Si l’ambition de cet article se limitait à cela, il aurait mieux valu utiliser un des dispositifs économiques vendus dans le commerce ! En réalité, ce projet est la première pierre posée avant la réalisation de systèmes plus complexes. Il fournit, en effet, au logiciel de communication toutes les données nécessaires à l’élaboration de montages beaucoup plus ambitieux.
Occupons-nous à présent des aspects concernant la réalisation pratique de ce montage.

Figure 6 : Schéma électrique du système de présentation du numéro d’appelant sur PC.

Figure 7 : Diagramme du programme implanté dans le microcontrôleur.

Figure 8 : Le microcontrôleur est chargé de la vérification des données reçues. Il élimine donc les caractères de contrôle inutiles et affiche les messages figurants dans cette fenêtre.

Réalisation pratique
Disons, pour commencer, que la réalisation de ce décodeur d’ID ne présente aucune difficulté car il ne contient ni circuits critiques, ni étages à calibrer : en somme, l’emploi d’un circuit intégré spécifique rend tout beaucoup plus simple et rapide.
Tous les composants trouvent leur place sur le circuit imprimé simple face mis au point par nos soins. Le support, mesurant 110 x 80 millimètres, doit être réalisé grâce à la méthode de photogravure, en utilisant le dessin publié en dimensions réelles en figure 10.
Réalisez une photocopie de cette sérigraphie sur papier normal ou, mieux encore, sur papier transparent et utilisez-la pour imprimer le support.
Développez et gravez la plaque jusqu’au dépouillement complet du cuivre non protégé. Après avoir percé et nettoyé la platine, vous obtiendrez un circuit imprimé parfaitement semblable à celui que nous avons utilisé pour monter notre prototype final.
La phase suivante consiste à insérer et à souder les différents composants.
Vérifiez attentivement, à l’aide du plan d’implantation donné en figure 9, la position exacte ainsi que l’orientation de chacun des composants que vous insérerez les uns après les autres.
Comme d’habitude, commencez le montage avec les composants passifs et ceux de plus petite dimension. Poursuivez avec les diodes, les condensateurs électrolytiques et les diodes LED.
Pour finir, insérez et soudez le régulateur U2, le quartz et le transformateur de ligne. A propos de ce dernier, nous rappelons que le rapport entre primaire et secondaire doit être unitaire (de 1:1) et que l’impédance (pas la résistance !) des deux enroulements doit être de 600 ohms. Ce genre de transformateur est presque exclusivement utilisé dans des applications de type téléphonique et c’est la raison pour laquelle, si votre fournisseur de composants électroniques habituel n’en a pas, vous pourrez toujours vous adresser à un magasin de pièces détachées pour la téléphonie.
Avant le montage des trois circuits intégrés, installez leurs supports en les orientant convenablement, comme indiqué sur le dessin. Pour la connexion au PC, nous avons utilisé un connecteur “femelle” à 25 broches pour circuit imprimé. Après avoir soudé ce dernier composant, nous pouvons considérer que le montage est terminé.
Toutefois, il est bon de vérifier une dernière fois le travail et particulièrement les soudures (pas de pont entre les pistes), avant de mettre l’appareil sous tension.
Le circuit doit être relié en parallèle à la ligne téléphonique grâce à une boucle de couplage normale, et alimenté avec un petit transformateur capable de fournir les 12 volts nécessaires.
Pour la connexion au port de l’ordinateur (com1 ou com2), on utilise un simple câble série avec connecteurs DB25. Commencez par lancer le programme de communication, sélectionnez le port utilisé, fixez la vitesse à 9 600 bauds et sélectionnez le protocole “N,8,1”. Mettez l’appareil sous tension, vérifiez que les diodes LED clignotent deux fois et que le message “SYSTEM STARTUP” envoyé par le microcontrôleur au PC, apparaît bien à l’écran. Vous pouvez, dès lors, essayer d’appeler le numéro de téléphone auquel vous avez relié le circuit et vérifier que les données qui s’affichent correspondent bien à la réalité, en contrôlant l’indication chronologique ainsi que celle concernant le numéro de téléphone de l’appelant.

Figure 9 : Schéma d’implantation des composants du système de présentation du numéro d’appelant sur PC.

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



Liste des composants du FT296
R1, R2 = 470 kΩ
R3, R4 = 33 kΩ
R5 = 470 kΩ
R6 = 68 kΩ
R7 = 56 kΩ
R8 = 100 Ω
R9, R10 = 470 kΩ
R11, R12 = 470 Ω
C1, C2 = 470 μF 16 V électrolytique
C3 = 100 nF polyester
C4 = 4,7 μF 63 V non pol.
C5 = 100 nF 63 V non pol.
C6 = 100 nF 63 V non pol.
C7 = 1 μF 100 V électrolytique
C8 = 1 μF 100 V électrolytique
C9 = 1 μF 100 V électrolytique
C10 = 1 μF 100 V électrolytique
C11, C12 = 22 nF polyester
D1 à D5 = Diode 1N4007
D6 = Diode 1N4148
LD1 = LED verte 5 mm
LD2 = LED rouge 5 mm
Q1 = Quartz 3,58 MHz
TF = Transfo. rapp. 1/1
U1 = Intégré Mitel MT8843
U2 = Régulateur 7805
U3 = Intégré MAX232
U4 = μcontrôleur PIC12C672/P (MF296)

Divers :
1 Support 2 x 12 broches large
1 Support 2 x 8 broches
1 Support 2 x 4 broches
1 Prise alimentation pour ci
1 Connecteur DB25 femelle pour ci
1 Bornier deux pôles
1 Circuit imprimé réf. S296

0 commentaires:

Enregistrer un commentaire

Related Posts Plugin for WordPress, Blogger...