Codage et décodage des chaines analogiques de 1984 à 2010 (partie 2)

Introduction

Après une partie 1 théorique à lire ici, je vais aujourd’hui m’attarder sur les réalisations souvent ingénieuses qui ont permis de regarder la TV autrement qu’au travers une passoire. Les informations livrées ici le sont à titre éducatif et sont pour la plupart issues de notes personnelles. Comme pour l’article précédent il sera mis à jour régulièrement (le temps que je retrouve toutes mes notes) ou selon les contributions que vous y aurez apportées.

Novembre 1984 – Radio Plans 445

A peine un mois seulement après la diffusion des premières images cryptées, le magazine Radio Plans dans son numéro 445 de décembre publie les plans d’un décodeur.  Il ne sera pas diffusé dans les kiosques mais les abonnés à la revue recevront tout de même leur exemplaire. Et je me souviens parfaitement du jour ou un de mes amis est venu en cours avec le précieux document. Les lignes qui suivent sont un bref résumé de l’article paru.
Cette version s’articule autour du principe de la mesure du retard du début de l’image sans connaissance de l’algorithme de codage.
Les différents signaux utiles (top lignes, top trames) sont d’abord extraits du signal vidéo composite par un TDA 2593. Une fenêtre de mesure est ensuite définie à l’aide de monostables afin repérer le passage du signal vidéo du niveau de « suppression » au niveau du « noir ». Le signal est nettoyé puis amplifié par 5 afin d’être comparé à une valeur de « suppression » de référence. Si la ligne n’est pas retardée elle subira un double retard, si elle est retardée d’une période, elle le sera de nouveau d’une période et si elle est retardée de deux périodes, elle ne sera pas affectée. Les lignes à retard utilisées sont des TDA 4560 et des TBA 970 sont chargés de remettre à niveau les signaux. Le montage est difficile à mettre au point par de nombreux réglages à l’oscilloscope mais il fonctionne. Les couleurs ne sont pas spectaculaires mais le but de la réalisation et de prouver qu’une solution uniquement construite sur des composants non programmés est possible.
Par la suite, de nombreux amateurs ont amélioré et modifié le schéma (notamment en remplaçant les TBA 970 par des TCA 660B moins rares et moins chers).
Le prix de la réalisation peut être estimé autour de 850 Francs ( allez 130 euros pour les jeunes).
Lorsque les débuts des lignes ont été brouillés en 1987, il est devenu inopérant.
Un grand respect pour les auteurs de ce montage qui restera le point de départ d’une belle aventure.

Implémentation du RP445

Implémentation du RP445

 

 1985 Le DC4

Le DC4 est lui aussi construit à l’aide de circuits logiques et repose sur la détection de début de lignes mais il possède une RAM 6116 et une logique plus complexe. D’abord il est capable de détecter une trame paire ou impaire et il détecte également le niveau de la ligne 310. Lorsque les conditions « trame paire » et « ligne 310 blanche » sont réunies (début du cycle de codage) un compteur CD 4040 est remis à 0. Ensuite un 74LS 221 vient incrémenter le compteur à la fréquence ligne ce qui permet d’adresser la mémoire qui contient les retards à appliquer. Comme pour le Radio Plans ils sont assurés par des TDA 4560. Un bouton poussoir permet de passer en mode « apprentissage ». Dans ce mode un système de comparateur calcule la durée du retard à appliquer à la ligne (toujours sur le principe d’une valeur de référence et du niveau noir) et le stocke dans la mémoire vive. Lorsque tous les retards sont en mémoire, plus besoin d’utiliser le comparateur et tant que l’on ne met pas le DC4 hors tension, c’est le compteur de lignes, synchronisé sur la ligne 310 et incrémenté à chaque top lignes qui va lire en RAM les retards à appliquer. Comme pour le Radio Plans il deviendra inopérant lors du brouillage des débuts de lignes.

Implémentation du DC4

Implémentation du DC4

Juillet / Aout 1985 – Version 6802 + 6821 + 2764 + 3 boutons + 3 leds (2 cartes)  V2.1

On passe la gamme au dessus avec ce modèle à base de microprocesseur. C’est un système composé de deux cartes électroniques. L’une d’elle s’occupe de la partie numérique, l’autre de la partie analogique.
La partie numérique regroupe le 6502 cadencé à 6.55Mhz, le 6821 qui réalise l’interface et la 2764 qui contient le programme d’exploitation. Il y a 3 boutons (un jaune, un blanc et un vert) et 3 leds (une jaune, une rouge et une verte). Le 6821 reçoit les tops lignes sur CB2 et les tops trames sur CB1.
La partie analogique comporte un CD 4528 et un MC 14584 pour l’extraction des tops lignes et des tops trames, un MC 14052 pour l’aiguillage des voies retardées, les retards étant réalisés par des LAR 470
Le bouton vert permet de visualiser la clé de 16 bits en incrustation sur l’image TV (16 bits car ce système pouvait déjà utiliser les 6 polynômes) au moyen de bandes noires plus ou moins larges qui viennent se superposer à l’image en cours de diffusion.
Le bouton blanc permet d’entrer ou de chercher la clé pour l’une des 6 valeurs de polynômes possibles. De nouveau ce sont des bandes plus sombres sur l’image qui nous indiquent lequel des polynômes (niveau d’audience)  est en cours d’utilisation. Une zone de 12 lignes qu’il faudra manuellement correctement aligner à l’aide des boutons (permettant une navigation suivante/précédente et l’application des retards) est utilisée pour calculer la clé. Le système utilise donc les informations de retards de 12 lignes successives pour calculer les 11 bits d’un polynôme. Ne présupposant pas de la relation qu’il existe entre les polynôme, le système permet à l’utilisateur de chercher manuellement les 5 bits manquant de la clé en appuyant 32 fois sur la touche jaune dans le pire des cas. C’est un des premiers systèmes robuste dont le principe ne repose pas sur la détection des débuts de ligne et capable de déduire le polynôme en fonction de 12 retards tout en gérant les 6 polynômes.

Implémentation de la carte analogique Implémentation de la carte micro

Septembre 1985 – Version 6802 + 2716 + 6116 (2 cartes dont une en option)  V2.1

Cette version est également découpée en 2 parties. En effet elle a été pensée pour fonctionner de façon autonome à l’aide un 6802 cadencé à 1Mhz ou alors pilotée par un micro ordinateur. La encore c’est une RAM 6116 organisée en 2048 x 8 qui va permettre de stocker les 1716 retards à appliquer. La détection des retards est faite par comparaison entre le moment ou commence une ligne et l’apparition de blanc sur cette ligne. Mais une différence sur le principe de mesure est notable. Là c’est un compteur 8 bits qui est lancé lorsque la ligne débute et, à la cadence de 4Mhz, est incrémenté jusqu’à ce que du blanc soit détecté. A la fin de la ligne, le compteur est lu et on connait avec une résolution de 350ns la position éventuelle du blanc sur cette ligne. Le retard déduit est alors écrit dans la RAM. Lorsque la phase d’apprentissage est terminée, le système lit les retards en RAM et les applique de façon synchrone avec les tops lignes. Coté analogique on retrouve classiquement les voies de retards et l’extraction des signaux utiles, ainsi que l’adaptation TTL (assurée par un CD 4049) de tous les signaux à destination de carte micro. 2 bits permettent de coder le nombre de retards à appliquer.

date inconnue – Version 6501 + 2716 + 16 mini switches

La encore c’est un microprocesseur qui est utilisé. Le 6501 est cadencé à 2Mhz et est accompagnée d’une 2716 contenant tout le soft nécessaire. Il y a deux modes de recherche. Un mode automatique (basé sur la détection des débuts de lignes) et un mode manuel qui permet d’entrer les 11 bits du polynôme en cours d’utilisation, soit directement soit par recherche incrémentale. Le système parvient à trouver automatiquement les 5 bits manquant pour former le code final de 16 bits (en partant judicieusement du fait que le passage d’un polynôme à l’autre permet de réduire le nombre d’informations à chercher. Par exemple le passage du polynôme 1 à 5 ne demande la recherche que d’un bit supplémentaire – Voir le tableau dans l’article sur la partie théorique)  . Les 16 mini interrupteurs en face avant permettent une mémorisation « mécanique » du code afin de ne pas à avoir faire une recherche en cas de mise hors tension. Le système utilise cette fois encore un affichage sous forme de lignes noires sur l’écran TV et de découpage de l’image pour fournir des indications sur son état ou ses actions en cours.

1986 – Version 6502 + 6821 + 2764 + 18 leds + 5 boutons

On y trouve un microprocesseur 6802 cadencé à 4.91 Mhz, un PIA 6821 qui réalise l’interface avec les 18 leds qui occupent tout le port B (multiplexées par groupe de 6) et les 5 boutons sur le port A de PA0 à PA4 .PA7 reçoit le niveau (noir/blanc) des lignes 622/310, CA1 les tops lignes et CA2 les tops trames. CB2 pilote la commutation lente.Une 2764 contient tout le soft. Coté analogique, c’est un TDA 2593 qui s’occupe de la fabrication des signaux utiles. Les retards sont assurés par des TDA 4560 (qui seront par la suite remplacés par des TDA 4565). Les voies retardées sont multiplexées par un CD 4052 dont les sorties sont actionnées des bascules D qui ont pour horloge les tops lignes et pour donnée les ports PA5 et PA6 du PIA, ce qui assure une commutation synchrone. En fonctionnement normal, 3 leds permettent d’identifier le polynôme en cours d’utilisation (niveau d’audience) sur les 8 possibles, alors qu’un groupe de 11 leds affiche le code correspondant à ce polynôme.
Pour ce modèle, pas de recherche automatique. L’utilisateur doit parcourir les 2048 combinaisons à l’aide des touches « avance » et « recule » jusqu’ à obtention du résultat. La clé peut aussi être introduite en manuel à l’aide de combinaisons de touches si elle est connue.

Implémentation du système

Implémentation du système

1986 – Version 6502 + 6821 + 2764 + carte auto

C’est une version identique au modèle ci dessus. Il n’y a pas de leds pour afficher le code ni de boutons mais on y trouve une carte permettant la recherche automatique du code. Elle utilise la sortie 7 (blanking) du TDA 2593 et est reliée à la carte mère par 6 lignes d’E/S du PIA. Je ne sais pas dire si cette version est apparue avant ou après le modèle à leds

Implémentation du système

 1988 – Décodeur V5 turbo (6501 + 2732)

Voici une version avec peu de composants. Un microprocesseur 6501 cadencé à 4Mhz est utilisé pour la partie logique. Il y a 3 boutons (un reset et deux autres câbles sur le micro). Les retards sont fabriqués à l’aide de deux TDA 4565. Les voies retardées sont multiplexées dans un CD 4051 piloté par le micro. PC0 et PC2 sont combinés dans un 74 LS86 (ou exclusif) pour d’une part être injecté dans PB0 (on peut supposer que PC0 et PC2 sont les bits b10 et b8 du polynôme et que PB0 est le bit b0). PB0 sert d’autre part à piloter le CD 4051 sur l’entrée B. On retrouve donc bien notre bit b0 impliqué dans la table de vérité des retards. PC1 (donc le bit b9)  pilote l’entrée C et PD0 l’entrée A. Ce multiplexeur est d’ailleurs utilisé astucieusement. En effet là ou la plupart des systèmes utilisent b10 et b0 du polynôme une fois décalé pour piloter la table, celui ci utilise les éléments n-1 du polynôme avant son décalage (b9 au lieu de b10, la sortie du ou exclusif au lieu de b0). La voie retardée de 2 retards est présente sur les entrées 1,2,4, la voie retardée d’un retard sur les entrées 5, 6 et la voie non retardée sur les entrées 0, 3 et 7. La table de vérité est donc réalisée en logique câblée et non en logique programmée. Je pense que le système était capable de rechercher le code complet sur 16 bits mais je n’ai pas plus de détails.

Implémentation du V5 turbo

 1988 – Version 68705 et lignes à retard Philips

Je crois que cette version a été la plus largement répandue. D’une part grâce à son faible cout (à peine 500 francs soit 75 euros) et de sa simplicité d’utilisation (et de réalisation) puis qu’absolument tout était automatique. Le circuit est de faible encombrement et est en simple face.
Les retards sont générés par une paire de célèbres lignes à retard vertes. Les voies retardées sont câblées dans un CD 4066 ce qui permettra leur sélection. Elle est assurée par les signaux PC0 à PC2 du micro qui est cadencé à 4Mhz. PC3 est câblé sur PB0 pour assurer la rotation du polynôme (PC3 est donc le bit b10 du polynôme dont le port PB0 constitue les 8 bits de poids faible). Les broches PA7 et TIMER reçoivent les tops lignes alors que PA0 reçoit le niveau des lignes. PA5 et PA6 sont respectivement câblées sur les entrées + et – d’un ampli op pilotant la commutation lente. En option une eeprom peut être câblée sur PA1-PA4. Tout le reste est effectué par le programme embarqué dans le microcontrôleur. La recherche des 16 bits du code est automatique et ne prend que quelques dizaines de secondes.
Le code du 68705 est découpé en plusieurs phases. La première phase consiste à trouver une ligne 310 blanche et de vérifier qu’une séquence blanc/noir/noir/blanc se répète 3 fois. Dans le même temps le niveau de ligne 622 est stocké. Tant qu’une activité n’est pas détectée sur la ligne 310, ou que la séquence est présente mais que le niveau d’audience est 000 alors la commutation lente n’est pas activée. Ensuite 94 lignes sont utilisées pour calculer à l’aide d’une loi mathématique le polynôme initial. Elles sont examinées par groupe de 3 espacées entre elles de 9 et 11 lignes.En effet en connaissant d’une part la formule du polynôme (X11 + X9 + 1) et d’autre part des solutions de ce polynôme à un instant donné on peut en déduire par complémentation de rotations, le mot d’initialisation. Lorsque ce mot est connu, il est chargé lors de la prochaine ligne 310 blanche, on passe le nombre de lignes nécessaires pour commencer le décodage, le polynôme est décalé et les retards sont appliqués pendant 286 lignes d’une même trame.A la fin du traitement le compteur de trames est examiné. S’il vaut 3 le bit Z est incrémenté et s’il vaut 5 le niveau d’audience est vérifié. S’il vaut 6 le cycle reprend au début.

Il restera opérationnel jusqu’au basculement vers le Nagravision en 1995.

Implémentation du système

Implémentation du système

Photo du systéme

Photo du système

Novembre 1996 – Syster Hack 3 – Version 68HC11  + MACH130 + 27C256

Le passage au Nagravision a mis en panne tous les système existants. Pourtant quelques mois après sa mise en service on trouve une réalisation assez fabuleuse articulé autour d’un 68HC11 cadencé à 12Mhz.
Le signal vidéo passe dans un LM1881 pour en extraire les informations de synchronisation. Il est également transmis à des filtres dont le but est d’obtenir une information sur la couleur que porte la ligne (rouge ou bleu). Pour la numérisation des lignes TV un TDA 8708A est utilisé. La ligne est empilée dans une FIFO de type 61C256 et envoyée plus tard dans une mémoire capable de stocker 32 lignes (également de type 61C256). Le 68HC11 associé à une RAM de travail de 128k x 8 calcule les adresses qu’il faut lire selon un algorithme pour restituer les lignes dans le bon ordre. La reconversion de cette ligne en analogique est assurée par un TDA 8702. Les deux convertisseurs sont tous deux échantillonnés à 13,31Mhz. Une mémoire eeprom 27C256 contient tout le soft nécessaire et la table de hachage permettant l’élaboration de la table des permutations plus rapidement. Le MACH130 qui est un composant programmé centralise à la fois le bus des données des convertisseurs et des RAM mais aussi les bus d’adresses des RAM et les signaux de synchronisation. Le 68HC11 communique avec lui via son port A (messagerie ?)
Pour l’époque le prix est suffisamment dissuasif (1140 Francs soit 150 euros) pour rappel le smic de 1996 avoisine les 6000 francs (980 euros disons) . La réalisation est minutieuse et trouver de quoi programmer les composants pas toujours facile (notamment le MACH130). Il deviendra à son tour inopérant lorsque la table primaire sera modifiée afin de retrouver une alternance des couleurs, supprimant par le fait, la particularité sur laquelle s’appuyait le système pour retrouver l’ordre des lignes.

Implémentation du Syster Hack 3

Implémentation du Syster Hack 3

Implémentation du systéme

Photo du système

 1996 – Le SALP V1.4

Je n’en sais pas trop sur le SALP. Il est bien sur inspiré du syster hack mais sa conception hardware est modulaire car des cartes filles viennent s’enficher sur la carte mère. Elles sont au moins au nombre de 3 mais d’autres peuvent être ajoutées (comme la carte fille alignement numérique DAU69 en remplacement du 4069). Je ne sais pas si il a survécu au changement de table.