28 januari 2023
Inzicht in digitale signalen kan duidelijkheid geven in fouten bij gegevensoverdracht. Wanneer er gebruik gemaakt wordt van I2C, UART en SPI signalen komt het regelmatig voor dat de gegevensoverdracht verstoord is. Ook kan het zijn dat er fouten in de programmacode zitten, waardoor de communicatielijn niet geopend wordt, of het communicatieprotocol verkeert aangeroepen wordt. In dit soort gevallen kan een logic analyzer soms tot inzicht leiden.
Een logic analyzer is een soort van oscilloscoop, waarin meerdere signalen (doorgaans 8 of 16) in tijd gemonitord worden. Hierbij is het van belang dat de logic analyzer voldoende snelheid heeft en dat de software toestaat dat je door de tijd heen kan scrollen. Daarbij kan het er handig zijn wanneer er in de software een interpretatie wordt gegeven van de data die met een bepaald protocol verstuurd of ontvangen wordt. In mijn geval is het een logic analyzer met een sample rate van 24Mhz en een meet-breedte van 8 bits. Voor de software maak ik gebruik van de open source omgeving Sigrok PulseView.
PulseView wordt als open source tool ondersteund door een grote groep gebruikers en heeft daarmee inmiddels decoder mogelijkheden voor audio, clock/timing, displays, memory, I2C/I2S, IR, RFID en vele anderen. Met de inzet van deze logic analyzer is het snel mogelijk welk IR protocol gebruikt wordt om een Philips Ambilight TV met een afstandsbediening aan te sturen. Met de kennis van dit IR protocol is het mogelijk een embedded computing gestuurde afstandsbediening-simulator te maken welke met een ESP32 of Uno aangestuurd kan worden.