Dernière mise à jour : 13/11/2011
Projet non terminé,
volontairement non recensé dans les sommaires du
site
Présentation
Cette réalisation permet de filtrer les appels téléphoniques masqués, que l'on peut
détecter sur sa ligne téléphonique quand on est abonné au service
"Présentation du nom de l'appelant" proposé par les opérateurs de
téléphonie. Le circuit décrit ici se branche entre l'arrivée de la ligne
téléphonique (après passage dans un filtre ADSL si vous disposez d'un
tel abonnement) et un téléphone standard.
Si le numéro de l'appelant est masqué (privé ou non reconnu par le central), le téléphone ne sonne
pas (ou ne sonne qu'une fois, au choix de l'utilisateur). Cela permet de s'affranchir des appels de plus en
plus nombreux émanant de la part de sociétés commerciales ou
"enquêtrices à but commercial" qui ne souhaitent pas communiquer leur
numéro. Bien entendu, ce filtre agit de façon identique pour vos amis
qui prennent le risque de passer leur coup de fil en masquant leur
numéro. Personnellement je ne considère pas ce comportement comme
bloquant, car si les amis veulent pouvoir nous joindre ils ne doivent pas avoir
leur numéro masqué. C'est peut-être un peu sec comme remarque, mais ça
fonctionne comme ça chez nous.
Avertissement
Quelques points à noter :
- Bien
que respectant parfaitement les conditions requises pour un branchement
sur une ligne analogique France Telecom (compatibilité électrique et sécurité), ce circuit n'est pas
homologué. Vous n'avez donc pas le droit de l'utiliser sans
autorisation préalable de la part de votre opérateur et de la société à
qui appartient la ligne (les deux ne sont pas forcement confondus). Je
décline toute responsabilité en cas de disfonctionnement ou de dégât
provoqué par le circuit décrit ici suite à un branchement correct ou incorrect sur une ligne
téléphonique. Vous seul êtes responsable de l'usage que vous en ferez.
- Ce montage est étudié pour pouvoir fonctionner avec le protocole utilisé par France Telecom, en France.
- Ce
montage ne fonctionne pas avec un téléphone relié sur une sortie
"tel" de box (Free ou autre). Il décode en effet la trame de données
émise sur une ligne téléphonique analogique et en aucune manière des
données d'identifications présentes dans les données ADSL.
- Certaines
compagnies commerciales diffusent un numéro "standard" que bien souvent
il est impossible de joindre par la suite. Contre cela le circuit
décrit ici ne peut rien car un appel passé de la sorte n'est pas
considéré (ni étiqueté) comme masqué.
- Le
montage met en oeuvre un circuit de type EXAR XR2211, qui est obsolète
et qu'on trouve aussi difficilement que le circuit MC145447 (ou
MC145447P) de Motorola. J'ai la chance d'en avoir trouvé deux par
hasard, merci de ne pas me demander où en trouver à l'heure actuelle,
je ne saurais répondre mieux que vous qui savez aussi bien faire
que moi des recherches sur le Net.
Principe général
Pour
savoir comment décoder les informations numériques d'identification de
l'appelant (CID pour Caller IDentifier ou CLID pour Calling Line
IDentification ou CNID pour Calling Number IDentification ou CLIP pour
Calling Line Identification Presentation), il faut déjà savoir comment
cela fonctionne. Je ne vais pas revenir sur le fonctionnement global de
la ligne téléphonique, mais en rester aux données d'identification
seules. Ces dernières sont des données numériques émises de façon
séquentielles (mode série) sur une fréquence porteuse et émises selon
le principe de modulation FSK
qui est une sorte de modulation de fréquence mais dont on utilise
seulement deux valeurs "discrètes" au lieu d'une infinité de
valeurs possibles entre deux extrêmes comme c'est le cas pour la
diffusion radio FM. Le principe est simple : la fréquence de la
porteuse est modifiée ou non selon un état logique 0 ou 1. Par exemple,
la porteuse peut avoir la valeur 2200 Hz pour l'état logique 0 (SPACE)
et la valeur 1200 Hz pour l'état logique 1 (MARK). Pour décoder un tel
signal, il "suffit" de disposer d'un circuit qui transcrit
l'information dans l'autre sens, c'est à dire qui fournit un état
logique 0 ou 1 selon la fréquence de la porteuse reçue. Il existe des
circuits intégrés spécialisés pour cet usage, et c'est tant mieux car
ils simplifient bien le processus. Mais ces circuits qui simplifient
les choses peuvent aussi malheureusement être assez difficiles à trouver, ça
demande quelques efforts.
Schéma
-
Fréquence porteuse FSK
Protocole
: série 1200 bauds, 8 bits Données, 1 bit Start, 1 bit Stop. Il s'agit
d'un protocole "lent" et pratique que n'importe quel microcontrôleur
actuel peut gérer sans aucun soucis.
Taux de transmission = 1200 bps +/-1% (min = 1188 et max = 1212)
- Standard V23
Etat logique 0 (SPACE) = 2100 bps +/-1,5% (min = 2068 et max = 2132)
Etat logique 1 (MARK) = 1300 bps +/-1,5% (min = 1280 et max = 1320) - Standard Bell202 (utilisé en France par France Telecom)
Etat logique 0 (SPACE) = 2200 bps +/-1% (min = 2178 et max = 2222)
Etat logique 1 (MARK) = 1200 bps +/-1% (min = 1188 et max = 1212)
Démodulation FSK
J'ai
vraiment de la chance. En cherchant des schémas de démodulateurs FSK,
le premier sur lequel je suis tombé était un schéma à base de XR2211,
circuit intégré que je possedais. J'ai trouvé d'autres schémas
s'appuyant sur un LM565 mais n'ai pas cherché à en savoir plus. Je
pense aussi que j'aurais pu m'en sortir avec un CD4046, mais là encore
je n'ai pas pris le temps d'aller plus loin. Le
datasheet (document technique constructeur) du XR2211 donne aussi un
exemple de schéma de démodulateur FSK et qui plus est avec des valeurs
de composants calculés pour le standard Bell202. C'est donc sans grande
difficulté et à partir de ce dernier schéma que j'ai développé
(adapté est un terme plus juste) celui visible ici. Même si les valeurs
des composants sont quasiment déjà toutes
cuites, cela ne m'a pas empêché de chercher à comprendre comment elle
avaient été obtenues, pour cela je me suis contenté de lire le
datasheet qui au travers de formules assez claires explique bien
comment faire.
Logiciel du PIC
-
Circuit imprimé
Non réalisé.