Technical Description  
  Picture Gallery  



Extending the Microcontroller: MINES

Embedding microcontrollers in a network and directing and querying them from uniform interfaces is an exciting application made possible by increasing power and sophistication of the controllers themselves and the vast support machinery of the Internet. Applications as diverse as environmental and wildlife monitoring, smart houses, military intelligence gathering, medical status monitoring, security, virtual reality appliances, automotive, and aerospace applications will increasingly call upon large networks of processors with varying levels of sophistication and power requirements.

Decisions confronting application and hardware designers include:

  1. Power Consumption: Greater speed means greater power consumption - a detriment for networks of remote sensors not connected to the power grid.
  2. Network Protocols: Existing network protocols (10 MB ethernet etc.) require large memory (greater than 1k bytes) and complex support hardware and software. Such standards are not well adapted to remote sensing applications with low reliability and bandwidth. A myriad of hardware choices confronts the designed: wireless, IrDA, token net, ethernet, I2C, busses, fiber, etc. Unfortunately, mmost such systems are built to achieve maximum band width, consequently, they require advanced support hardware and software.
  3. Programming Language: Currently there are 3 choices, each with inherent problems: assembly language, C, or Java. Assembly code is difficult to implement and debug and impossible to port between different instruction sets. C compilers for microcontrollers are very close to the hardware - consequently, code is often not portable between machines of different structure or classes. Java is a very portable language, however, its processor and memory requirements are excessive for low-cost, low-power designs.
  4. Software/Hardware Life Cycle: Does the change in processor or performance make existing software obsolete? Can the system adequately communicate with new paradigms and systems?

We examine a solution to these problems for a class of applications characterized by requirements for low cost, low power, modest data rates, small size, rapid prototyping, and interfaces to standard network protocols. Our approach implements networks of small, modestly powerful microcontrollers augmented with sufficient EEPROM or RAM (128 to 8k bytes) to support a 16 bit virtual machine: MINES which stands for Microcontroller Interpreter for Networked Embedded Systems.