Communicatiebordje met Java-processor op postzegelformaat

Reading time: 2 minutes

Author:

De laatste telg in Imsys‘ Snap-lijn van embedded modules heeft met afmetingen van 29 bij 29 mm de grootte van een postzegel, maar bevat toch alle componenten voor de intelligentie in een netwerkproduct. De module, Stamp gedoopt, bevat een IM3910-microcontroller voor het efficiënt uitvoeren van Java-bytecode, SDRam, flashgeheugen, een Fast Ethernet-Phy (plus RMII-interface voor een tweede Ethernet-poort), 3 Uarts, SPI/I2C, RTC, acht timers, een achtkanaals 16 bit ADC, twee 16 bit DAC‘s en een datakanaal van 83 MB/s. De module is ontworpen met het oog op surface mounting (LCC84) en wordt op tape geleverd.

De Stamp is gebaseerd op Imsys‘ IM3000-familie van Cisc-processoren. Deze stackgebaseerde processorarchitectuur kan onder meer direct Java-bytecode-instructies uitvoeren, waardoor programmatuur in deze taal efficiënt is uit te voeren. Volgen Imsys biedt de architectuur de mogelijkheid om specifieke processorintensieve taken met een ordegrootte te versnellen en zijn er verschillende van dit soort geoptimaliseerde functies beschikbaar, zoals het uitpakken van Jar-bestanden, garbage collection, encryptie, Ethernet-Mac en het afspelen van audio en video.

Firmware en applicatiesoftware voor de Stamp kunnen worden geladen, beheerd en geüpgraded via een netwerkverbinding. Het bordje wordt geleverd met systeemsoftware, waaronder het Rubus-RTos voor veiligheidskritieke systemen, een flashbestandssysteem met wear leveling en herstel na stroomuitval, een TCP/IP-stack, web/FTP/telnet-servers, devicedrivers voor verschillende I/O-interfaces, een commandoregel en J2ME/CLDC-omgeving voor het ontwikkelen van applicaties.

Een ontwikkelkit en referentieontwerpen zijn beschikbaar. Java classbestanden kunnen worden ontwikkeld met een willekeurige Java-IDE zoals Eclipse of Netbeans. Imsys heeft ook zijn eigen IDE voor Windows beschikbaar. Deze ondersteunt Java, C of assembly en kan toepassing debuggen op de doelhardware. De oplossing ondersteunt onder meer breakpoints, stapsgewijze debugging, dynamische variabele-inspectie en eventlogs.