Phoenix Ambulatory Blood Pressure Monitor Project
Sub-project: 
Embedded Software

Project Description

The purpose of the Embedded Software subproject is to answer questions about, and eventually implement, embedded software for the Phoenix ABPM.  While doing so, we discover, develop, and record various bits of knowledge for later use in other Phoenix Ambulatory Blood Pressure Monitor subprojects.  For example, we expect to help define some of the requirements for the Low Power Microprocessor subproject.

The way we like to work is to develop multiple prototypes for everything that we do, learn a bit from each one, and eventually converge on production-quality solutions.  Expect that anything we do at this early stage is not on the direct path to producing the final device; rather its purpose is to feed into other embedded software work that leads to the final device later.

Project Deliverables

An embedded software subproject consists of choosing a microprocessor, choosing a development environment, writing and testing a program, and an informal written report linked from this web page.

We want our embedded software projects to provide some experiences that we can draw from when it becomes time to design and implement the final code.  There are a number of questions that we would like answers to, and projects can be designed around providing answers to some or all of these questions:

Answering such lofty questions is usually not, all by itself, a particularly interesting exercise for many software developers - a tangible "homework assignment" is needed.  The embedded programs listed on page 16 of this Systems_Architecture_and_Engineering presentation are available for this purpose.  

We are putting off the selection of the microprocessor/microcontroller hardware until other work that generates requirements for the microprocessor is finished.  We have imagined various systems from a very simple memory array circuit that uses no processor at all, to microcontroller systems with no OS, a microkernel, or even a full-blown Linux kernel.  To give you a mental image amidst all the uncertainty, you could assume we'll have a modest 8-, 12-, or 14-bit processor, some memory, an interface to 4 sensors, a simple user interface, a USB port, and the need to implement data acquisition from the sensors, data transfer to the USB port, a clock, and the display of blood pressure & heart rate readings on demand.  Pick any reasonable microprocessor/microcontroller to use in early embedded software subprojects.

Embedded Software Subprojects

Volunteers Are Needed

Pick a program from the Systems Architecture and Engineering presentation, propose a way to implement it, and send your suggestion to Larry.

About This Page

This page is maintained by Larry A. Beaty.  It was last updated on 26 June 2007.

The author(s) provide this information as a public service, and agree to place any novel and useful inventions disclosed herein into the public domain. They are not aware that this material infringes on the patent, copyright, trademark or trade secret rights of others. However, there is a possibility that such infringement may exist without their knowledge. The user assumes all responsibility for determining if this information infringes on the intellectual property rights of others before applying it to products or services.

(C) 2007 Larry A. Beaty. Copying and distribution of this page is permitted in any medium, provided this notice is preserved.

Back to the Phoenix Home Page