Betriebssoftware "PreonVM" für Preon32 Serie
|
| ||||||||||||||||||||||||
Funkmodule mit minimalen Ressourcen
wurden bisher in speziellen und wenig komfortablen Sprachen
programmiert. Komplexe Anwendungen konnten nur zeitaufwendig und mit
einem hohen Fehlerpotential umgesetzt werden. Der Ansatz von VIRTENIO
für Funkmodule bringt nun den Komfort, die Sprachkomplexität
und die Sicherheit einer virtuellen Maschine in die Welt der drahtlosen
Sensornetzwerke.
Abb.: Verdeutlichung der Vorteile einer virtuellen Maschine
wie Plattformunabhängigkeit der Anwendung
wie Plattformunabhängigkeit der Anwendung
Durch die Verwendung einer virtuellen Maschine wird das
Anwendungsprogramm für das Funkmodul unabhängig von der tatsächlich
verwendeten Architektur. Das hat den Vorteil, dass Anwendungsprogramme unverändert und ohne
einen manuellen Anpassungsprozess ausgeführt werden können, auch wenn bspw.
der Prozessor oder Funktransceiver durch einen anderen Typ ausgetauscht
wird. Gleichzeitig werden der Entwicklungsprozess der Hardware und des
Anwendungsprogramms entkoppelt. Das Anwendungsprogramm wird gegen eine
virtuelle Architektur mit entsprechenden Schnittstellen entwickelt, die
über die Zeit unverändert bleibt.
Die virtuelle Maschine wurde
derart optimiert, dass Anwendungen selbst auf einem 8/32-Bit-
Mikrocontroller mit 8 KByte RAM performant ausgeführt
werden können. Dabei hat die komplette virtuelle Maschine
mit Anbindung der Peripherie wie dem Funk-Transceiver
nach IEEE 802.15.4 einen Speicherplatzbedarf von weniger
als 60KByte Flash.
Um dem Entwickler für komplexe Anwendungen in verteilten eingebetteten Systemen wie drahtlose Netzwerken
einen idealen Ausgangspunkt zu bieten, wurde die virtuelle Maschine durch folgende
Softwarekomponenten ergänzt:
- Laufzeitbibliothek mit grundlegenden Funktionen,
- Treiber für Funk-Transceiver nach IEEE 802.15.4
- Treiber für Zugriff auf Datenspeicher wie Flash, EEPROM, ...
- Treiber für Datenerfassung (GPIO, ADC, DAC, ...),
- Treiber für weitere Peripherie (I2C, SPI, PWM, WatchDog, ...).
Mit dieser Voraussetzung können Anwendungen wie aus einem Baukasten schnell zusammengesetzt werden.
Eigene Softwareteile aus vorhandenen Java™-Anwendungen für den Desktop können so ohne Anpassung der Quelldaten
integriert werden. Mit den gewohnten Entwicklungswerkzeugen für Java™ können nun Anwendungen für drahtlose Sensornetzwerke
umgesetzt werden.
| Unterstützung für Anwendungen (Auszug) | |
| Basistypen | char, byte, short, int, long, float, double |
| Strukturen | Arrays, ArrayList, Collection, Hashtable, Set, Vector |
| Streams | Input, Output |
| Exceptions | try, catch, Exception, RuntimeException |
| StringBuffer / StringBuilder | Ja / Ja |
| Thread | Ja, unbegrenzt in der Anzahl |
| Sprachkonstrukt synchronized | Ja |
| System-Properties | Ja |
| Unterstützung für Funkmodul Preon32 (interne Ressourcen) | |
| CPU-Power-Modes | Ja, (Active, Idle, Sleep, Shutdown) |
| CPU-WatchDog | Ja |
| CPU-IRQs | Ja |
| CPU-RTC | Ja |
| CPU-Timer | Ja |
| CPU-FLASH | Ja |
| CPU-BACKUP-Register | Ja |
| CPU-ADC | Ja, 2 × 12-Bit, 1 MSPS, 16 Kanäle |
| CPU-DAC | Ja, 2 × 12-Bit |
| CPU-I2C | Ja, 1x Kanal bis 400 kBit/s |
| CPU-SPI | Ja, 3x Kanäle bis 18 Mbit/s |
| CPU-USART | Ja, 3x Kanäle synch./asynch. bis 4.5 Mbit/s |
| CPU-PWM | Ja |
| CPU-CAN | Auf Anfrage |
| CPU-USB | Auf Anfrage |
| Unterstützung für Funkmodul Preon32 (externe Ressourcen) | |
| Serial Flash über SPI | Ja, read/write/erase, block mode |
| Funkchip über SPI | Ja, IEEE 802.15.4, Datenraten 256 KBit/s bis 2 MBit/s,
Frames: Data, Beacon, Command |
| AES-Verschlüsselung in Hardware | Ja, 128-Bit EBC/CBC |
| Software-Unterstützung für Evaluationsmodul "Preon32 Shuttle" | |
| Auslesen des Tasters (Benutzer) | Ja |
| Ansteuerung der LEDs | Ja, (grün, gelb, rot, amber) |
| RS232 über USB | Ja, bis 931.6 KBaud zum PC |
| Software-Unterstützung für Sensor-Modul "VariSen" | |
| Treiber für Sensor "Temperatur" | Ja |
| Treiber für Sensor "Beleuchtungsstärke" | Ja |
| Treiber für Sensor "Luftfeuchtigkeit" | Ja |
| Treiber für Sensor "Magnetfeld" | Ja |
| Treiber für Sensor "Luftdruck" | Ja |
| Treiber für Sensor "Beschleunigung" | Ja |
| Treiber für Sensor "Rotationsgeschwindigkeit" | Ja |
Nach Redaktionsschluss können sich Änderungen an den technischen Daten ergeben haben.
Java™ und alle Java-basierten Zeichen sind Markenzeichen oder eingetragene Markenzeichen der Oracle
Corporation und/oder ihrer Tochtergesellschaften in den U.S.A. oder in anderen Ländern. © Oracle Corporation.
