Dernière mise à jour :
08/05/2015
Projet non terminé,
volontairement non recensé dans les sommaires du
site
Présentation
Ce montage permet de filtrer les appels téléphoniques masqués ou
inclus dans une liste noire, pour que le téléphone ne sonne que quand
le numéro de l'appelant est visible et non inclus dans la liste noire.
Pour qu'il fonctionne, la ligne sur
laquelle il est installé doit bénéficier de l'option "Présentation
du numéro" (information identifiant CLIP). 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 de type "masqué" ou "privé", le téléphone ne sonne
pas (ou il 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 ou qui diffusent un numéro bidon. Bien entendu, ce filtre agit de façon identique pour vos amis
qui prenent le risque de vous appeler en masquant leur
numéro. Personnellement je ne considère pas ce comportement comme
bloquant, car des amis qui veulent vous joindre n'ont normalement pas besoin de masquer leur numéro...
Avertissement
Quelques points à noter :
- Ce montage est prévu pour être raccordé sur une ligne privée. 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 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, sur une ligne RTC.
- 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 non masqué et "standard",
qu'on ne peut guère joindre. Dans ce cas, le numéro en question peut
être mis sur liste noire (déclaré comme indésirable).
- 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.
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 située dans la
bande audio (qui elle-même est limitée entre 300 Hz et 3400 Hz
pour le réseau de téléphone commuté) 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 comme c'est le cas pour la
diffusion radio FM. Le principe est simple : la fréquence de la
porteuse peut prendre deux valeurs qui dépendent de l'état logique à
transmettre (0 ou 1). Par exemple,
la porteuse peut avoir la valeur 2100 Hz pour l'état logique 0 (SPACE)
et la valeur 1300 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. Les bits
reçus à la queue-leu-leu doivent ensuite être traités comme il se doit
après les avoir regroupés par paquets (octets). 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
Le schéma qui suit
peut être décomposé en plusieurs sous-ensembles : adaptation à la
ligne tel (avec pré-filtrage), détection sonnerie, démodulation FSK,
décodage des données reçues, gestion avec le PIC 18F46K22 et
alimentation secteur.
Schéma
Adaptation à la ligne téléphonique et pré-filtrage
La
connexion à la ligne tel se fait de manière capacitive, via les deux
condensateurs C101 et C102. Pour un maximum de sécurité, ces
condensateurs ont une tension de service élevée. Ils opèrent un
pré-filtrage grossir, un filtrage plus fin est opéré dans le circuit de
démodulation FSK.
Détection sonnerie
Cette section
permet d'activer le démodulateur FSK et le PIC lors de la réception
d'un appel, pour réduire la consommation générale au repos.
Démodulation FSK
La
démodulation FSK peut être réalisée de différentes manières,
avec un circuit plus ou moins spécialisé (HT9032, EM92547, MT8841A
ou MT88E39A, NW6005, AM7910 ou AM7911, TCM3105, MX614, SM8220, W91030,
XR2211 ou encore LM565 ou CD4046, par exemple) ou de façon
entièrement logicielle avec un microcontrôleur (un PIC 16F628 suffit).
Comme je manquais singulièrement de courage pour concevoir
moi-même un démodulateur FSK, j'ai cherché des schémas tout fait.
Et j'ai eu de la chance car j'en ai trouvé plusieurs. Le premier était
un schéma à base de XR2211 (circuit intégré obsolète que je possedais),
j'ai laissé les autres schémas de côté. Le document technique
constructeur (
datasheet) du XR2211 donne aussi un
exemple de schéma de démodulateur FSK avec des valeurs
de composants calculés pour le standard Bell202.
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 (en mode Half-Duplex) = 1200 bps +/-1% (min = 1188 et max = 1212)
- Standard V23 (utilisé en France par France Telecom)
Etat de repos (F0) : 1700 Hz
Etat logique 0 (SPACE) = 2100 Hz +/-1,5% ou +/-10 Hz (min = 2068 et max = 2132)
Etat logique 1 (MARK) = 1300 Hz +/-1,5% ou +/-10 Hz (min = 1280 et max = 1320)
Niveau d'émission -6.0 dBm +/-1,5 dB - Standard Bell202 (utilisé dans d'autres pays)
Etat de repos (F0) : 1700 Hz
Etat logique 0 (SPACE) = 2200 Hz +/-1% (min = 2178 et max = 2222)
Etat logique 1 (MARK) = 1200 Hz +/-1% (min = 1188 et max = 1212)
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, qui est adapté au standard V23. 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 (je n'ai pas dit que j'avais compris).
Décodage des données
Alimentation
Mauvais décodage ?
Il
peut arriver que le décodage des données d'identification échoue en
présence d'un niveau élevé de bruit sur la ligne tel. Comme mon circuit
anti-indésirables déconnecte physiquement le téléphone, une fonction de
bypass automatique est prévue. Cette dernière permet de mettre le
téléphone en service quand les données reçues sont reconnues comme
invalides (données de trame incohérentes ou erreur dans cheksum).
Ainsi, si les données d'identification ne sont pas reconnues, le
téléphone sonne tout de même. Mieux vaut cela que de perdre un appel
utile.
Logiciel du PIC
-
Circuit imprimé
Non réalisé.
Historique
13/11/2011
- Première mise à disposition.