Für meine Elektronikprojekte benötige ich immer wieder mal einfache Tester oder Analysewerkzeuge.
Bisher hatte ich mir ein Gerät mit diskreter Elektronik aufgebaut mit dem ich diese Anforderugen wie Taktgenerator, Zähler, Durchgangsprüfer abdecken konnte.
Nachdem das Teil schon lansam in die Jahre gekommen ist, habe ich mir was spannenderes ausgedacht.
Ausserdem sollte das neue Gerät auch mit dem PC verbunden werden können und als einfacher Logikanalysator funktionieren.
Aus dieser Idee heraus entstand ein komplexes Gerät mit einer Menge Funktionen, die Softwaretechnisch über Menüfunktionen einstellbar sind.
- Frequenzzähler
- Ereigniszähler mit Reset/Clk
- 2 programmierbare Taktgeneratoren mit einstellbarer Frequenz und variablen Tastverhältnis
- Zustandsanzeige mit 8 Eingängen
- Logikanalysator mit 8 Eingängen
- Durchgangsprüfer mit hoher Impedanz
- Netzteil für stabilisierte 3,3 und 5 Volt
Basis und Herz des Ganzen ist ein Atmel ATMega128 mit erweitertem Speicherinterface für die Erfassung der Messdaten beim Logikanalysator.
Die Programmierung erfolgt über einen 6poligen ISP mit einem MK2 Programmer über das SPI Interface des Prozessors.
Das Display ist über meine eigene serielle 3Draht Anbindung angesteutert.
Das Menü kann über mehrere Unterebenen die gesamte Funktionalität des Gerätes parametrisieren. Ausserdem kann über die Parametrierung auch über das externe Interface erfolgen.
Die Gesamte Programmierung wurde in C mit der Atmel Entwicklungsumgebung erstellt.
Die Programmierung des PC Interfaces für den Logikanalysator wurde in C# entwickelt und mit den WPF Klassen visualisiert um einen schnellen Bildschirmaufbau zu ermöglichen.
Die Software erlaubt ausserdem beliebige Skalierung des sichtbaren Bereiches und eine Cursor-Zeitmessung.
Das Layout wurde in Sprint-Layout 5.0 erstellt und auf einer doppelseitigen Platine entwickelt.