An I2C anschließen. Machen Sie einen einfachen Logikanalysator

    Guten Tag. Ich möchte einen einfachen USB-Logikanalysator zeigen, der auf jeder Debug-Platine mit einem STM32F042-Mikrocontroller montiert werden kann, beispielsweise der NUCLEO-F042K6 von ST. Und dennoch, auf den Links finden Sie den Quellcode und können ihn auf jedem anderen dieser Familie leicht neu erstellen. Dieses Design hat 8 Kanäle. Darunter waren im Mikrocontroller die Ports PA0-PA7 beteiligt. Die maximale Abtastrate beträgt 8 MHz. Die maximale Frequenz des Eingangssignals beträgt 2 MHz. Die maximale Anzahl von Samples pro Kanal beträgt 4096.

    Hier ist zu beachten, dass es sich bei dem Logikanalysator um Hardware und Software zur Erfassung eines Signals und seiner anschließenden Untersuchung, Messung und Analyse von Schnittstellen handelt.



    Die Shell für den PC ermöglicht nach der Erfassung die Analyse der Signale auf allen 8 Kanälen sowie die
    Messung der Frequenz der Signale, der Periode und der Dauer der Impulse. Berechnen Sie die Anzahl der Fronten im ausgewählten Bereich und die Dauer dieses Bereichs.

    Wenn Sie sich an die serielle I2C-Schnittstelle halten und den Analysator aktivieren, werden alle I2C-Komponenten automatisch in einer einfach zu analysierenden Form getönt und gekennzeichnet.

    Die Bedienung des Logikanalysators beginnt mit einem Klick auf die Schaltfläche „Aufnahme starten“. Dann geschieht Folgendes:

    1) Die Erfassungsparameter werden an das Gerät übertragen.
    2.a) Wenn der Trigger nicht gesetzt ist, beginnt die Erfassung des Signals unmittelbar nach dem Empfang der Aufnahmeparameter.
    2.b) Wenn der Trigger eingestellt ist, analysiert das Gerät das Eingangssignal, ohne eine Erfassung durchzuführen. Die Signalerfassung beginnt, nachdem die vom Trigger festgelegten Bedingungen erkannt wurden.
    3) Der Fangpuffer wird gemäß der angegebenen Anzahl von Proben gefüllt.
    4) Das Gerät überträgt Daten an den PC.
    5) Die Software verarbeitet und zeigt die empfangenen Daten an.

    Der Trigger kann auf einem oder mehreren Kanälen installiert werden. Wenn die Auslöser für mehrere Kanäle eingestellt sind, beginnt die Signalerfassung, wenn alle durch den Satz angegebenen Bedingungen ausgelöst werden, d. H. Zwischen den Triggern besteht eine logische Verbindung "Und".
    Sie können den Namen und die Farbe jedes Kanals ändern. Der Signalanzeigebereich kann gescrollt oder skaliert werden.

    Mit dem Werkzeug "Messung" können Sie die Dauer des ausgewählten Bereichs, Periode, Frequenz, Impulsdauer messen und die Anzahl der Fronten zählen.

    Das Lineal-Werkzeug zeichnet eine vertikale Linie, die die Signale aller Kanäle am angegebenen Ort mit der angegebenen Zeit abdeckt. Das "Lineal" ist praktisch, wenn Sie die Position der Fronten verschiedener Kanäle relativ zueinander und relativ zur Nullzeitmarke auswerten.

    In diesem Video zu einem einfachen Beispiel können Sie sehen, wie alles funktioniert:



    Abschließend möchte ich hinzufügen, dass die Shell in Visual Studio geschrieben ist, die Software für den Mikrocontroller in IAR. In naher Zukunft werde ich einen 16+ Kanal Logikanalysator mit I2C, SPI, UART, I2S vorstellen. Für den Bau kommen zwei Mikrocontroller in Betracht: stm32f730, stm32f446.

    Vielen Dank an alle für Gesundheit!

    → Anleitung, Firmware und Skizze herunterladen .
    Download von IAR Projekt
    Download von Visual Studio - Projekt

    Jetzt auch beliebt: