Le Cahier de F4FEZ
ATV Box
Commutation A/V

Présentation

La carte de commutation vidéo utilise un circuit spécialisé de chez Maxim pour matricer 8 entrées vers 4 sorties. Sont pilotage ce fait via un bus I2C. La commutation audio, utilise la méme carte mais avec une adresse I2C différente. Le matricage audio et vidéo est donc indépendant.

Fonctionnement

Le coeur de la carte est le MAX4456 (U1) de chez Maxim. Ce circuit peux commuter 8 entrées vers 8 sorties mais nous n'en utiliserons seulement 4 pour ce montage. Ce circuit peut être piloté par 2 modes différents mais aucun n'est standard :-/ Pour des raison de facilité, le mode choisi est le mode parallèle couplé à un PCF8574. Le bien célèbre PCF8574 permet d'utiliser le bus I²C pour piloter la matrice vidéo. Les sorties vidéos d'U1 sont relié à un tampon pour l'adaptation d'impédance. U3 est un cms monté coté piste, il intégre les quattres amplificateurs opérationnel du tampon.
L'adresse I²C utilisé est "0". Ce montage est utilisé à l'identique pour l'audio, seul l'adresse I²C est modifié (Avec un cutter et un strap). La pin 3 est rélié au +5V. Les résistances de 75 Ohm ne sont pas modifiés mais pour les pointilleux, elle peuvent être remplacé par des 600 Ohm.
U1 et U3 sont alimentés en +5V et -5V, une alimentation symétrique est donc nécessaire. La carte possède les emplacements pour des régulateurs -5V et +5V si besoin.

Réalisation

DésignationValeur
R1, R4, R9, R1275Ω
R2, R3, R5, R6, R7, R8, R10, R11200Ω
R13Réseau 8x10kΩ
C1, C2, C3, C4, C5, C6, C7100nF
U1MAX4456
U2PCF8574
U3MAX4395

Typon
Typon de la carte

Implantation
Schéma d'implentation

Commande

En bonus voici la fonction écrite en c pour sélectionner une entrée sur une sortie.
              void switchMatrix(unsigned char in, unsigned char out) {
                unsigned char byte;
                // Select input
                byte = out & 0x03;
                byte |= ((in & 0x07) << 2);
                PCF8574_WriteByte(0, byte);
                byte |= 0x40;
                PCF8574_WriteByte(0, byte);
                // Enable buffer
                byte = out & 0x03;
                PCF8574_WriteByte(0, 0);
                byte |= 0x30;
                PCF8574_WriteByte(0, byte);
                byte |= 0x40;
                PCF8574_WriteByte(0, byte);
              }
            

Copyright © 2008-2011 Florian MAZEN