Das Wissen, was auf einem I2C-Bus los ist, ist für die Firmware-Entwicklung oft von unschätzbarem Wert. Ein sehr einfach gestrickter I2C-Sniffer, der am Bus lauscht und alle Daten in einem Terminal sichtbar macht, hilft bei der Fehlersuche, bei der Treiberentwicklung und beim Reverse-Engineering.
Peter Dannegger hat den I2C-Sniffer entwickelt und im Mikrocontroller-Forum vorgestellt [1]. Das Ganze funktioniert mit einem ATtiny85, der an seinen I2C-Pins als Slave fungiert, und alle Busdaten über den UART mit 460800 Baud als Text weiterleitet.
Das hier vorgestellte Layout verfügt über einen FT232-USB-Wandler, der auch gleichzeitig die Spannungsversorgung für den ATtiny übernimmt. Es paßt in ein Etui-Gehäuse und erlaubt die Umschaltung zwischen 5V- und 3,3V-Pegeln.
Eagle-Projekt und Schaltplan |