Presentation du numero de telephone (CID) sur TV

De MicElectroLinGenMet.

Sommaire

Afficheur Présentation du numéro de téléphone (CID) et Messagerie Top-Message sur TV

Ce montage a pour but d'afficher le numéro de téléphone de l'appelant et d'indiquer les messages reçus de Top-Message sur une TV.
(Il faut pour cela être abonner aux services "Présentation du numéro" et "Top-Message" de France Télécom)
Je me suis inspiré pour cela du site de Mathieu Benoit concernant son montage Détecteur de l'appelant compatible France Télécom à base du MC68HC11A1P où de nombreuses informations concernent ce sujet.

Le montage reprend la partie processeur du montage Presentation du numero de telephone (CID) sur LCD
L'interface avec la ligne téléphonique utilisera un circuit spécialisé le MC145447P de Motorola permettant de récupérer les données CID sous forme série à 1200bps, 8bit, sans parité et 1 stop.
Cette interface sera relié au port série d'un uC 89C2051 pour le décodage des trames CID et l'affichage sur une télé. grace à une interface télétexte à Saa5246 des numéros reçus. Une horloge I2C PCF8583 dont la remise à l'heure se fera avec les trames CID reçus, une eprom I2c 24C65 de 8Ko qui servira d'annuaire pour afficher le nom à la place du n° reçu et 4 boutons permettront la gestion de l'ensemble.

Description du fonctionnement

Les taches du micro-controleur se décomposent en 4 parties principales:
(la Flash Rom du 89C2051 de 2ko étant remplie, il faudra supprimer les fonctions débug (dump de la Ram Interne) pour rajouter des fonctions supplémentaires.

  1. Scrute l'horloge, Réaffiche la date, l'heure et le nombre d'appels et de messages reçus si heures passée (Cela permet de voir le montage tourné).
    • Le circuit RTC PCF8583 contient 256 octets de Ram dont 240 sont disponibles pour sauvegarder les appels reçus.
    • L'horloge RTC étant remise à l'heure à chaque appel "normal", il n'est pas prévu d'autre réglage.
    • Un condo. d'1mF sauvegarde l'horloge ainsi que le contenu de sa mémoire de 256 octets.


  1. Scrute le port série: Recoit et décode la trame CID reçu et affiche le numéro ou nom de l'appelant si le numéro est dans l'annuaire.
    • L'annuaire est contenu dans l'eeprom I2C de 8ko.Chaque champs contient le n° de téléphone codé en BCD sur 5 octets, suivi du nom sous forme ASCII de 12 caractères.Les 6 1ier champs contiennent les cas particuliers (voir ci-dessous).La fin de l'annuaire est indiqué par le code FFh.Il n'est pas prévu de gérer le contenu de l'annuaire par ce montage (à voir), prévoir à programmer cette eeprom.
      Exemple de contenu:
      db 'M', "Message(s) "
      db 'F', "Fin message "
      db 'P', "Appel secret "
      db 'O', "Non renvoye "
      db 'I', "Erreur trame "
      db 'G', "Err. top-mes "
      db 'T', "Time Out "
      db 01h,23h,45h,67h,89h, "Prenom Nom " ;(1ier n° enregistré.)
      db 0FFh
    • Si il manque des octets dans la trame un texte "Erreur Trame" est affiché.Voir avec le Dump de la Ram Interne à l'adresse 2Ch pour relever la trame qui pose problème.
    • Les appels Top-Message sont affichés sous la forme "Message(s)" si un message a été déposé et "Fin message" s'il il a été lu.Si le code envoyé n'est pas reconnu, "Err. top-mes" sera affiché.
    • La Led clignote aprés une trame reçue.


  1. Scrute le clavier 4 touches: Permet la consultation, l'effacement des n° reçus.
    • Touche 1: Passage en mode consultation des appels reçus, une page s'affiche avec les appels reçus.
      - Un autre appuie sur une des touches renvoi en mode attente appel.
    • Touche 2: Affiche la date/heure et le nombre des appels et messages reçus.
    • Touche 3: Sert au debugage, Affiche sur une page le "Dump" de la Ram interne (contient trame cid reçue en 2Ch).
    • Touche 4: Efface les appels et messages reçus.


  1. Vérifie si la TV est allumée, Affiche la date/heure et le nombre des appels et messages reçus si détecte l'allumage de la TV.
    (Partie supprimée du programme suite problème de détection réception vidéo avec les K7 vidéo. et le message incrusté n'est plus syncho, à revoir...).
    Autre détail, mon magnétoscope est branché sur prise antenne, pas testé si incrustation de message fonctionne avec magnéto. sur péritel.


Détail des trames CID:

Une trame Cid ou Top-Message est une succession d'octets disponibles sur la broche DOC du MC145447P dés la 1ière sonnerie d'un appel.Le micro-controleur devra interpréter ces octets pour y retrouver la date et le numéro de l'appelant si présent.

Cas d'un appel normal:

  • Trame pour un n° renvoyé
80 19 01 08 30 32 32 37 31 31 33 35 02 0A 30 31 32 33 34 35 36 37 38 39 16 01 0A xx

- 80: Indique message d'appel.
- 19: Nombre d'octets qui suivent sans le checksum.
- 01: Type date et heure.
- 08: Nombre d'octets de la date/heure.
- 30 32 32 37 31 31 33 35: Le 27/02 à 11:35

- 02: Identité de l'appelant (n°).
- 0A: Nombre d'octets de l'identité (n°) de l'appelant.
- 30 31 32 33 34 35 36 37 38 39: 0123456789 N° de l'appelant.
- 16: Origine du l'appelant.
- 01: Nb octets de l'origine du l'appelant.
- 0A: Appel provenant d'un abonné ordinaire, si 0F: Appel d'un publiphone ...
- xx: Somme de contrôle.


  • Trame pour un n° non renvoyé (Secret ou Indisponible)
80 10 01 08 30 32 32 37 31 31 33 35 04 01 50 16 01 0A xx
- 80: Indique message d'appel. - 10: Nombre d'octets qui suivent sans le checksum. - 01: Type date et heure. - 08: Nombre d'octets de la date/heure. - 30 32 32 37 31 31 33 35: Le 27/02 à 11:35 - 04: Raison de l'absence d'identitéde l'appelant. - 01: Nombre d'octets de la raison. - 50 = "P", Private (Secret) ou 4F = "O", Out of range, (Insdisponible) - 16: Origine du l'appelant. - 01: Nb octets de l'origine du l'appelant. - 0A: Appel provenant d'un abonné ordinaire, si 0F: Appel d'un publiphone ... - xx: Somme de controle.


Cas d'un appel de la messagerie Top-Message

  • Trame pour un appel top-message aprés dépose message(s)
82 13 01 08 30 32 32 37 31 31 33 35 02 04 33 31 32 35 0B 01 FF xx

- 82: Indique message de notification.
- 13: Nombre d'octets qui suivent sans le checksum.
- 01: Type date et heure.
- 08: Nombre d'octets de la date/heure.
- 30 32 32 37 31 31 33 35: Le 27/02 à 11:35

- 02: Identité de l'appelant (n°)
- 04: Nombre d'octets de la raison.
- 33 31 32 35: 3135 N° de la messagerie.
- 0B: Type de paramétre commande.
- 01: Nb octets paramétre.
- FF: Activation ON (Indique message(s) déposés).

- xx: Somme de controle.
  • Trame pour un appel top-message aprés écoute message(s)
82 13 01 08 30 32 32 37 31 31 33 35 02 04 33 31 32 35 0B 01 00 xx

- 82: Indique message de notification. 
- 13: Nombre d'octets qui suivent sans le checksum. 
- 01: Type date et heure. 
- 08: Nombre d'octets de la date/heure. 
- 30 32 32 37 31 31 33 35: Le 27/02 à 11:35 

- 02: Identité de l'appelant (n°)
- 04: Nombre d'octets de la raison.
- 33 31 32 35: 3135 N° de la messagerie.
- 0B: Type de paramétre commande.
- 01: Nb octets paramétre.

- 00: Désactivation OFF (Indique message(s) écoutés).
- xx: Somme de controle.


Module CID (Caller Id)

Ce module est sur une carte séparée, voir sur photo la carte avec les gros condo.
Il est possible de le tester séparemment sur un PC avec un adaptateur de niveaux et capturer la réception dans un fichier binaire.


Image:Cid3.gif


Module Interface télétexte à SAA5246

Ce montage est extrait d'un article de la revue Electronique Pratique du 03/1997.
Ce circuit permet aussi bien l'affichage télétexte que texte divers utilisé dans ce montage.
Ce module est aussi sur une carte séparée, voir sur photo la carte avec les RJ45.
Attention mon ancienne TV Grundig ne fonctionnait pas bien avec ce montage. Incrustation de messages impossible, j'ai du renvoyer le signal vidéo sur AUX. et activer la commutation lente. Pb de TV ou de compatibilité ?



Circuit principal: Processeur, Horloge, Eeprom et clavier

Pour tester le montage, il est possible d'envoyer les trames avec un PC (+ Max232) à la place du module CID.

Image:VidCid2.gif


Photos du montage:

Montage fonctionnel.
La partie processeur est monté sur plaquette d'essais.



Sources assembleur 8051 pour le montage.

(Ecrit pour le Cross-Assembleur Tasm31)

Toutes les routines des fichiers LIB, ne sont pas forcément utilisées, seules celles déclarées dans le programme principal sous la forme
"#define NOM_ROUTINE" sont assemblées (Assemblage conditionnel).

Source disponible dans l'archive VidCid.zip

- VidCid1.asm Programme principal pour Scalp.
- VidCid2.asm Programme principal pour 89C2051.
- I2c.lib (Librairie routines pour gérer le bus I2C.)
- PCF8583.lib (Librairie routines pour le RTC I2C PCF8583.)
- 24c65.lib (Librairie routines pour gérer l'eeprom I2C 24c65.)
- Saa5246.lib (Librairie routines pour gérer l'interface télétexte.)
- Term.lib (Librairie routines pour le port série.)
- Utils.lib (Librairie routines diverses.)

Remarques:

Il serait possible d'apporter des modifications pour améliorer l'ensemble.
Revoir le problème d'affichage avec un magnétoscope (syncho. de l'incrustation à régler et code statut de réception vidéo à relever)
Réecrire le programme pour séparer les differentes fonctions Détection,Décodage et Affichage. Les différentes modifications de la reprise de la version LCD rendent le programme lourd.
Le clavier 4 touches pourrait être remplacé par un récepteur IR genre CI à SAA3028 (encore de l'I2C).
Il faudra aussi faire du ménage dans le programme pour trouver encore de la place dans les 2Ko de la Flash Rom, supprimer la partie Dump de la Ram interne et les affichages terminal (port série).
Un circuit imprimé à réaliser ...




5 août 2002