Jetzt habe ich mir überlegt, dieses Projekt hier einzustellen, weil es vllt. doch "spezielle" Zielgruppe (Schüler, Auzubildende, Lehrende), aber ich glaube, davon sind hier auch welche vertreten. Im übrigen war dieses Projekt ursprünglich auf einem ATmega168 programmiert (ohne Farben in der Konsole) und jetzt habe ich das ein wenig überarbeitet und zu einem CH32V003 portiert, auch deshalb, weil der CH32 im Gegensatz zum AVR fast nichts kostet. Um was handelt es sich bei LogicMachine? Die Zielgruppe habe ich oben genannt und mit der Logicmachine werden boolsche Terme Interpretiert und auf der MCU ausgeführt. Hochtrabend könnte man das mit einem (extrem) abgespeckten GAL- oder FPGA Baustein, in den Funktionen, vergleichen, hier dann aber nur mit 4 D-FlipFlops. Von der Geschwindigkeit de Ausführung kann sich die LogicMachine logischerweise mit einem GAL, geschweige denn mit einem FPGA nicht messen. Das "schöne an der LogicMachine ist, dass sie komplett über die serielle Schnittstelle gesteuert wird, es wird ausser einem Terminalprogramm am PC nichts weiter benötigt. Im Terminal kann man dann die boolschen Terme eingeben und einen internen Counter und Taktgeber konfigurieren, sowie die LogicMachine in "live" starten, so dass er die boolschen Terme auch ausführt. Mit den Termen kann man dann alles das machen, was so klassischer Weise an Digitalen Gattern machbar ist. Zudem kann man hier dann auch sehen, wenn man einen Term bspw. mit einer KV-Tafel minimiert hat, ob man dort keinen Fehler gemacht hat. Grundsätzlich könnte / kann man einen LogicMachine-Chip tatsächlich in eine Schaltung als digitaler Baustein (nicht als Mikrocontroller) einbauen und verwenden, wenn denn die Geschwindigkeit ausreicht (es gibt einen Pin mittels dessen es möglich ist, im Flash abgelegte Terme und Konfiguration zu laden und zu starten, sobald die Betriebsspannung angelegt wird). Ich habe noch nicht nachgemessen, biszu welcher Frequenz der Interpreter noch funktioniert, beim ATmega waren es irgendwas zwischen 20 und 30 kHz. Das sollte hier jetzt schneller gehen. Experimente zu digitaler Logik können zu folgenden Themen gemacht werden: - boolsche Algebra - Zähler (asynchron durch den int. Zähler), synchroner Zähler über die interen D-FlipFlops und Logik - Schieberegister - Anzeigedekoder für einen Würfel und den Würfel selbst (Zähler plus Anzeige) - Siebensegmentanzeigedekoder - Multiplexer - 2-Bit Addierer grundsätzlich ist hier der Kreativität und dem Spieltrieb freien Lauf gelassen. Zudem kann man an der LogicMachine in der Konfiguration sehen, weshalb man, bspw. bei einem Mikrocontroller diverse Register benötigt und dort diverse Bits setzt, damit ein Baustein in seiner Funktion geändert werden kann. Genau so funktioniert das mit der LogicMachine dann auch. ----------------------------------------------------------------------- Im Testaufbau habe ich einen "LED- und Tastencontroller" mit Padauk PFS154 programmiert, der nichts weiteres zu tun hat, als Ausgangszustände auf Tastenbetätigung zu toggeln und diese Zustände (in Ermangelung genügender GPIO-Pins) auf einer charliegeplexten LED-Anzeige anzuzeigen). Die Beschreibung der LogicMachine und die (virtuellen) Konfigurationsregister gibts im Anhang.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.