A Tale of Two Systems

Unfortunately, the team recently hit a rather large technical roadblock - the M5275EVB was shorted out and damaged in testing. The team was not able to beg, borrow, or buy a replacement board in time to complete the project before Senior Design Night on May 3. Therefore, the team has decided to emulate its embedded system using a PC platform. The wireless chestpiece remains unchanged, but the beltpack has been replaced by a PC running Ubuntu Linux. See below for more details.

Embedded System Block Diagram


Embedded System Block Diagram

Emulated System Block Diagram


Emulated System Block Diagram

Emulated System

The team is using a Qt Graphical User Interface to emulate the functionality of the proposed embedded beltpack. All audio streaming, filtering, recording, and playback is functional on this emulated system. The wireless chestpiece streams body sounds to a Bluetooth development kit, and that kit outputs the streamed audio to a PC through the Mic In port. A PulseAudio server running on the PC handles the internal audio streaming, while the team's FIR library handles the filtering. Custom software has been written to record and playback the body sounds on the PC. Audio can be listened to using headphones or speakers. A screenshot of the GUI is shown below.

Qt GUI

Hardware

The team has chosen the Coldfire MCF5275 Microprocessor from Freescale. This is a 32-bit microprocessor with built-in USB Device, Ethernet, harware encryption, and eMAC. The eMAC (Enhanced Multiply Accumulate Unit) allows the processor to perform the intensive calculations required to do digital filtering and audio compression. Freescale has generously donated a M5275EVB Evaluation Board to the team for hardware and software development.

M5275EVB Development Board
The team's M5275EVB development board
Finished chestpiece
The team's wireless chestpiece

Software

The team is using µClinux as the device operating system. µClinux is a very small (1 MB) open-source Linux operating system that will run from flash memory. The team has successfully compiled the µClinux kernel and is running it on the development board. See the screenshot below for terminal output from the running OS and our custom "Hello World" software.

Das U-Boot, an open-source project, is being used as the device bootloader because it is highly customizable and has a small code footprint.

uClinux Screenshot