Download Full Report - ECE - Cornell University

Transcript
Executive Summary
Microcontrollers are versatile integrated circuits typically incorporating a
microprocessor, memory, and I/O ports on a single chip. These self-contained
units are central to embedded systems design where low-cost, dedicated
processors are often preferred over general-purpose processors. Some
embedded designs may incorporate several microcontrollers, each with a specific
task. Efficient communication is central to such systems.
The focus of this project is the design of a communication layer and application
programming interface for exchanging data in a system comprising multiple
microcontrollers. Since each microcontroller contains a separate memory, a
message passing system is designed. The hardware consists of low-cost
microcontrollers serving as computing nodes and a network controller to direct
messages among them. Various network topologies and bus designs are
considered. The resulting design consists of two dedicated unidirectional links
between each node and a centralized message router.
In order to demonstrate the library, a small-scale cluster computer is constructed
using Atmel ATmega32 microcontrollers as processing nodes and an Atmega16
microcontroller for message routing. The communication library is integrated into
aOS, a preemptive multitasking real-time operating system for Atmel
microcontrollers.