Micro Mite Basic

Bei einer Recherche im Internet bin ich auf ein sehr interessantes Projekt mit einem PIC Microkontroller gestoßen, dass unter dem Namen Micromite zu finden ist.
Der Autor Geoff Graham hat ein Betriebssystem mit integriertem Basic Interpreter für einen PIC32MX150/250 entwickelt. Die Programmierung erfolgt über die serielle Schnittstelle und einem Terminalprogramm. Der Chip benötigt außer einem externen Tantal Elko und einer Spannungsversorgung keine weiteren Bauteile für den Betrieb.
Evtl. noch einen FDTI232 Chip für die serielle Anbindung an den USB Port des PC’s.
Die Seite des Autors ist unter folgender Adresse zu finden: http://geoffg.net/micromite.html

Hier noch ein kurzer Überblick über den Funktionsumfang der Micromite:

• Eine schnelle 32 bit CPU mit 128K Flashspeicher und 32K RAM betreiben einen kraftvollen BASIC Interpreter. 20KB des NVRAM sind für das Programm reserviert. 22KB des RAM stehen für BASIC Variables, Arrays, Buffers, usw. zur Verfügung. Dies ist ausreichend für sehr große BASIC-Programmen mit bis zu 1000 oder mehr Zeilen.

• Der Microsoft kompatible BASIC-Interpreter beherrscht Gleitkomma- und String Operationen, lange Variablenname, Arrays und Strings mit mehreren Dimensionen. Ein umfangreiches String Handling und benutzerdefinierte Unterprogramme. Üblicherweise wird ein Programm mit 23.000 Zeilen pro Sekunde ausgeführt, was für eine Vielzahl von Anwendungen ausreichen dürfte.

• Auf dem 28-Pin Chip stehen neunzehn Input / Output Pins zur Verfügung. Diese können unabhängig als digitale Ein- oder Ausgänge, Analogeingang, Frequenz- oder Periodendauermessung und Zählung konfiguriert werden.

• MMBasic für die 44 polige Ausführung bietet 33 Eingangs / Ausgangs.

• Die Programmierung und Steuerung erfolgt über eine serielle Konsole (TTL kompatibel) mit 38400 Baud (konfigurierbar).

• Sobald das Programm erstellt und getestet wurde, kann eine Autostart Option eingestellt werden, die das Basic Programm in der Micromite direkt nach dem Anlegen der Spannungsversorgung startet.

• Es ist keine spezielle Software erforderlich um das Basic Programme zu entwickeln.
Der eingebaute Vollbildeditor bietet alle nötigen Funktionen wie kopieren, suchen, ausschneiden und eine Zwischenablage, um das Programm direkt auf der Micromite zu entwickeln und zu testen.
Es wird lediglich ein Terminal Programm wie MMEdit benötigt, dass in der Lage ist 20KB Programm in einer Sitzung zu bearbeiten.

• Einfache Programmübertragung von einem Computer (Windows , Mac oder Linux ) mit dem XModem Protokoll oder durch Streaming der Programme über den seriellen Konsolen Eingang.

• Weitere Funktionen sind Timing (mit 1 ms Auflösung) , Interrupts bei jeder Änderung der Eingangsflanke auf einem Eingangspin und eine interne Echtzeituhr.
Es sind bereits umfassende Kommunikationsprotokolle implementiert, einschließlich I2C, asynchrone serielle , RS232, IEEE 485 , SPI und 1-Wire. Diese finden Verwendung bei einer Vielzahl von Sensoren (Temperatur, Feuchtigkeit , Beschleunigung, etc. ).

• Es sind Befehle vorhanden, die einen direkten Anschluss spezielle Geräte wie Infrarot- Fernbedienungen, die DS18B20 Temperatursensor , LCD- Display-Module, batteriegepufferten Uhr, Abstandssensoren , numerische Tastaturen bereits direkt unterstützen.

• Standardmäßig stehen bis zu fünf PWM oder SERVO -Ausgänge zur Verfügung, die zum Ansteuern von Servos, zur Ausgabe von Tönen oder zum Ansteuern von Motoren verwendet werden können.

• Mit speziellen Funktionen in MMBasic kann sogar die Taktrate variiert werden, um z.B. den Stromverbrauch zu reduzieren oder Geschwindigkeit anzupassen. Der Prozessor kann auch in einen Ruhezustand versetzt werden, hierbei beträgt der Ruhestrom nur ca. 80μA. Während sich der Prozessor im Ruhezustand befindet, bleiben Programm und alle Variablen Zustände erhalten. Eine Watchdog Funktion kann das laufende Programm überwachen um das Programm im Fehlerfall neu starten.

• Das Programm kann durch eine PIN Nummer geschützt werden, die Angreifer vom Ändern oder Kopieren des Programmcodes abhält.

• Der Energiebedarf liegt von 2,3 bis 3,6 Volt bei 5 bis 25mA .

         

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.