LE MICROCONTROLLEUR 8049-86 : L'affectation des pattes est la même que pour le 8049-84 : 1) DB0 à DB2 et P11 : EEROM NMC9306 2) P20 à P3 : horizontales du clavier 3) P13 à P15 : verticales du clavier 4) P24 à P27 : retards 0, 1 et 2 5) P16 démodulateur audio 6) P17 Commutation lente péritel 7) DB5 LED verte, DB6 LED jaune 8) T0 synchro trame et T1 synchro ligne 9) INT/ : détection niveau lignes 310/622 A compléter à partir du schéma du D12 : 1) P10 : à vérifier si connectée au contact 1 de la prise DIN comme sur le D11 ? - checksum de la ROM interne si à niveau 0 lors d'un reset (mise sous tension) 2) P27 : Laison série half/duplex en fonctionnement normal Reste à déterminer - où elle est éventuellement connecteé 3) P12 : test du clavier/écriture registre 15 EEROM si au niveau 0 - où elle est éventuellement connecteé 4) DB4 et DB7 : Utilisées lors de la détection de l'état 0/1 des lignes 310/622 Reste à déterminer - sur quel circuit elles interviennent ############################################################################### LE NUMERO D'APPAREIL : Sur 6 chiffres décimaux soit 6 quartets, sert uniquement à désencrypter une clef intermédiaire sur 32 bits. Il est normalement programmé via la liaison série sur P10. Sauvegardé comme suit dans l'EEROM NMC9306 : - Registre 0 : * Chiffre des centaines de milliers dans bits 8 à 11, * Chiffre des dizaines de milliers dans bits 0 à 3, - Registre 1 : * Chiffre des milliers dans bits 8 à 11, * Chiffre des centaines dans bits 0 à 3, - Registre 2 : * Chiffre des dizaines dans bits 8 à 11, * Chiffre des unités dans bits 0 à 3. ############################################################################### LA CLEF PERIODIQUE : Il y a possibilité d'en entrer 4 différentes de 10 chiffres décimaux par deux moyens distincts : - avec le clavier de l'appareil, - avec un terminal connecté à la liaison série sur P10. Dés quelle sont validées, ces clefs périodiques sont immédiatement converties en nombre binaire sur 32 bits : - bits 0 à 3 ou quartet de droite : CRC4 sur les 28 autres bits - bits 4 et 5 : numéro de clef (de 0 à 3), - bits 6 à 31 : clef encryptée de 26 bits. Ce nombre binaire constitue une clef intermédiaire qui est aussitôt sauvegardée telle quelle en EEROM, bits de 16 à 31 dans registre pair, bits de 0 à 15 dans registre impair : - registres 4 et 5 pour clef 0, - registres 6 et 7 pour clef 1, - registres 7 et 8 pour clef 2, - registres 9 et 10 pour clef 3. Après sauvegarde d'une nouvelle clef ou suite à un reset de l'appareil, les 4 clefs intermédiaires sont extraites de L'EEROM pour être désencryptées : - Par 6 opérations élémentaires : autant que de chiffres du numéro d'appareil, à commencer par le dernier, celui des unités. - A chaque opération : * Les 26 bits de la clef (bits 6 à 31) sont décalés circulairement par la droite. Le nombre de décalages réalisés est égal au double + 1 du chiffre sollicité. Ainsi le chiffre 0 occasionnera une seule rotation, le 1 en occasionera trois, le 2 cinq, le 3 sept et ainsi de suite. * Après ces rotations, les quartets de droite des 3 octets de gauche sont transcodés par l'intermédiaire d'une seule et même table. Les bits 8 à 11, 16 à 19 et 24 à 27 sont ainsi transcodés. * S'ensuit une nouvelle opération avec le chiffre de rang immédiatement supérieur jusqu'à ce que le 1er chiffre, celui des centaines de milliers, ait été sollicité. Chaque clef désencryptée est ensuite uniformisée. - Avant que leur position antérieure soit resettée, les bits 16 à 19 sont préalablement transférés dans les bits 0 à 3 et viennent ainsi se substituer au CRC4. - Les bits 4 et 5, correspondant au n° de la clef, sont aussi resettés. La clef uniformisée se retrouve ainsi scindable en 2 mots de 16 bits ou 2 octets : - bits 31 à 16 : comme les bits 19 à 16 viennent d'être resettés, il ne reste plus que 12 bits significatifs. Ces bits constituent la clef à 11/12 bits qui servira à initialiser le générateur pseudo aléatoire. * les 11 bits de 21 à 31 initialiseront effectivement le générateur basé sur le même polynôme irréductible que le D11 : X11 + X9 + 1, * le bit12 à zéro engendre une itération exeptionnelle du générateur immédiatement après qu'il ait été initialisé. - les bits 15 à 0 : autorisations d'accès aux différents niveaux d'audience : bits : [15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0] niveaux : 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 - bit4 à bit5 : accès au niveaux 15 et 0 : à zéro puisque ces deux bits ont été préalablement resettés. Cela est indifférent car il s'agit de 2 niveaux systématiquement autorisés. ############################################################################### LES 2 TYPE DE SEQUENCES : L'appareil peut se synchroniser sur des séquences simples de 6 trames ou étendues de 12 trames. La synchronisation est assurée par les lignes 310 : 1) Motif "110" pour la séquence simple. Niveau d'audience de 0 à 7 transmis par les lignes 622. C'est la clef uniformisée zéro qui est alors utilisée. 2) Motif "100.110" pour la séquence étendue. Numéro de clef à utiliser transmis en premier sur 2 lignes suivie par le niveau d'audience de 0 à 15 retransmis en second par les 4 lignes 622 suivantes. ############################################################################### LE GENERATEUR PSEUDO ALEATOIRE et LES RETARDS : le générateur est conçu pour itérer le même polynôme irréductible X11+X9+1 que le D11. 4 des 11 bits de la clef uniformisée en cours, les bits de 24 à 27, sont transcodés avec un décalage circulaire dans la table de transcodage égal à la valeur du niveau d'audience courant. Le générateur est alors initialisé avec les 11 bits de 21 à 31 de la clef transcodée. Le 12ème bit, le bit 22 s'il est à zéro, engendre une itération exceptionnelle du générateur immédiatement après qu'il ait été initialisé. - Le niveau 0 n'utilise aucune clef puisqu'aucun retard n'affecte les lignes, - Le niveau 7 de la séquence simple et le niveau 15 de la séquence étendue utilisent la même clef universelle : 0A72CH. Le générateur est itéré 286 fois, pour chacune des lignes visibles de chaque trame : - de la ligne 24 à la ligne 309 inclue pour les trames impaires, - de la ligne 336 à la ligne 621 inclue pour les trames paires. - le générateur est itéré exceptionnellement de 0 à 3 fois (reste de la division du n° de la nouvelle trame par 4) entre deux trames. Les bits X et Y sont générés à l'identique du D11, le bit Z est inversé toutes les 3 trames : X, Y, Z = 0, 0, 0 : retard 2 (D11 : 0) X, Y, Z = 0, 0, 1 : retard 0 (D11 : 2) X, Y, Z = 0, 1, 0 : retard 0 (D11 : 2) X, Y, Z = 0, 1, 1 : retard 2 (D11 : 0) X, Y, Z = 1, 0, 0 : retard 1 (D11 : 1) X, Y, Z = 1, 0, 1 : retard 2 (D11 : 0) X, Y, Z = 1, 1, 0 : retard 0 (D11 : 2) X, Y, Z = 1, 1, 1 : retard 1 (D11 : 1) ############################################################################### LA LIAISON SERIE : Connectée sur P10 : - échanges en half duplex - format : 1 start, 8 bits sans parité et 1 stop - vitesse supposée : 4800 Bds avec un quartz de 10 MHz. - Chaque commande est activée par un break suivi de son numéro sur 1 octet. * Numéro 10 (0AH) : Ecriture d'une clef périodique (10 chiffres) avec echo du résultat de la comparaison entre CRC4. * Numéro 6 : Programmation du n° d'appareil (6 chiffres) avec echo pour vérification écriture. * Numéro 20H : Echo des 4 clefs intermédiaires sur 32 bits extraites de l'EEROM * Numéro 40H : Test du clavier. Frappe successives des touches 1 à 9, 0, ENT et MEMO. Test OK si LED verte allumée * Numéro 80H : Echo du numéro d'appareil embrouillé, chaque chiffre ayant subi un OU exclusif bit à bit avec le résultat de son propre transcodage. Ce qui permet accessoirement de vérifier la table de transcodage.