Lors du développement d'interface série, il est toujours utile de savoir qui dit quoi, qu'envoi l'hôte à l'esclave, qu'envoi l'esclave à l'hôte, ça se fait très bien avec 2 interfaces séries mais encore faut-il en avoir 2, pour des signaux compatibles RS232 fluctuant entre -12V et +12V, pas de souci avec l'aide de 2 diodes comme dans le schéma ci-dessous, par contre, cela se corse lorsque les signaux sont à des niveaux TTL, voir en 3V.
(image de Embedded Freaks)
Mes essais avec des diodes rapides n'ont rien donné pour des tensions de 3 ou 5V, j'ai donc cherché une autre méthode pour coupler les lignes RX et TX, j'ai alors fouillé dans mes tiroirs et ai fini par dégoter un CD4001 (une quadruple porte NOR) qui attendait son tour, mais rien n'y a fait, cette série est bien trop lente, il me fallait du HEF, appel des réparateurs du coin, rien, passage express chez un pote, non plus, que des CD40XX, enfin, mon salut à été mon ancien lycée qui a pu me fournir un HEF4001 (fin de la paranthèse, « aventure pour un CMOS ») et là, aucun souci, la porte est suffisamment rapide, cela fonctionne parfaitement bien !
Voici le schéma de principe :
On oublie pas d'alimenter le CI et ça roule, on connecte les entrées RX et TX sur les lignes de données à sniffer et on retrouvera en sortie le mix des 2 permettant ainsi de voir les commandes envoyées par l'un et l'autre dans le bon ordre, rien de tel pour débugguer tranquillement... Notez que j'ai utilisé une quadruple porte NOR mais vous pouvez bien sûr utiliser n'importe quelle portes combinées ensemble du moment qu'au final, votre montage réalise bien une fonction OU, le mieux étant de se procurer un HEF4071 (quadruple porte OU) et éventuellement utilisé les portes restantes en buffer.
Utilisé conjointement avec un Bus Pirate, on connecte l'alimentation du CMOS sur les broches GND et +5V du Bus Pirate, on active la ligne +5V (commande W), puis on branche la sortie de notre montage sur l'entrée RX (MISO), on entre dans le mode UART, on configure le tout, vitesse, etc...on bascule en mode « Live UART Monitor » et voilà, vous verrez alors défilez toutes les données circulant dans les lignes RX et TX de votre liaison série...