# Pulse Oximetry on the MSP430

## Presentation on theme: "Pulse Oximetry on the MSP430"— Presentation transcript:

Pulse Oximetry on the MSP430

Overview and Introduction
What is Pulse Oximetry? Signal Characteristics Filtering Requirements MSP430 Features MSP430 Timing SHARC comparison Why am I doing this (4th year project) This paper is setup to provide us different options when we go to implement our filter I want to use a cheap micro

Pulse Oximetry Usually uses two wavelengths of light to get O2 levels
Can be done through the body or reflect Describe how it works Describe what signal we’re looking for

Signal Characteristics
Will detect a maximum heart rate of 200 BPM, which is 3.3 BPS Needs to sample at least double that (Nyquist), but 5-10 times ideally Will sample the signal at 32 Hz Explain why 200 is the max (don’t need higher while training) My sensor class told me to use 5-10 times the frequency Circuit Cellar article about this uses 32 Hz (almost 10 times) so that’s what we will use Sample signal (much simpler than ECG)

Filtering Requirements
- LPF at 3.3 Hz sampled at 32 Hz (16 tap, 32 tap, 1000 tap) Designed three filters in matlab to demonstrate tap significance

Filtering Requirements

MSP430 Features Higher End MSP430s have certain features that can make FIR filters significantly faster Goal is to use no more than 50% of the CPU, leaving it free to do other things Dma0 loads coefficient Dma1/2 load two values from the FIFO and MAC them (FIR is symmetrical so you can do this)

MSP430 Timing Analysis With DMA setup it’s about 7 cycles / tap
With no DMA setup it’s about 28 cycles / tap Tap Size CPU Speed (Mhz) CPU Usage 32 4 0.248% 8 0.124% 16 0.062% 50 0.328% 0.164% 0.082% 100 0.584% 0.292% 0.146% 1000 5.84% 2.92% 1.46% Tap Size CPU Speed (Mhz) CPU Usage 32 4 0.7168% 8 0.3584% 16 0.1792% 50 1.12% 0.56% 0.28% 100 2.24% 1000 22.4% 11.2% 5.6% Left side with DMA setup Right side without the DMA setup Never get close to 50%

MSP430 Timing Analysis We can slow down the clock to save power
Tap Size DMA CPU Speed for 50% usage 32 YES 19.84kHz NO 57.34kHz 50 26.24kHz 89.60kHz 100 46.72kHz 179.2kHz 1000 467.2kHz 1.792Mhz

SHARC Comparison SHARC has a lot more features to make FIR quick (SIMD, parallel instructions, dm/pm, etc) When optimized the SHARC can do 0.5 cycles / FIR tap This is around 14 times faster than the fastest MSP430 setup In class we sample at 48 kHz. If we were to use an MSP430 with a 16 Mhz clock speed with 50% utilization, we could only use a 23 tap FIR. Obviously the MSP430 would not be suitable for our labs, but works well in this aplication

Conclusion MSP430 is an adequate solution for pulse oximetry due to it’s low sampling rate The clock speed can be lowered quite a bit to save power May be able to get by with a lower end MSP430 Chip, but there will be power trade offs Questions?

References Jeff Bachiochi, “Light to Frequency Conversion – TSL230R-Based Pulse Oximeter”, Circuit Cellar, Issue 173 & 174, Kripasagar Venkat, Efficient Multiplication and Division Using MSP430, (Texas Instruments, 2006), Kripasagar Venkat, Efficient MSP430 Code Synthesis for an FIR filter, (Texas Instruments, 2007), Murugavel Raju, Digital FIR Design Using the MSP430F16x (Texas Instruments, 2004), “Pulse Oximetry”, last modified September 10th 2002, Texas Instruments, The MSP430 Hardware Multiplier, (Texas Instruments, 1999), Vincent Chan, Steve Underwood, A Single-Chip Pulseoximeter Design Using the MSP430, (Texas Instruments, ),