Pulse Oximetry on the MSP430 Overview and Introduction •What is Pulse Oximetry? • Signal Characteristics • Filtering Requirements • MSP430 Features • MSP430 Timing • SHARC comparison Pulse Oximetry 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 Filtering Requirements - LPF at 3.3 Hz sampled at 32 Hz (16 tap, 32 tap, 1000 tap) Magnitude Response (dB) 0 0 -10 -10 -20 -20 Magnitude (dB) Magnitude (dB) Magnitude Response (dB) -30 -40 -30 -40 -50 -50 -60 -60 -70 -70 0 5 10 Frequency (Hz) 15 0 5 10 Frequency (Hz) 15 Filtering Requirements Magnitude Response (dB) 0 Magnitude (dB) -20 -40 -60 -80 -100 0 10 5 Frequency (Hz) 15 MSP430 Features • Higher End MSP430s have certain features that can make FIR filters significantly faster MSP430 Timing Analysis • With DMA setup it’s about 7 cycles / tap •With no DMA setup it’s about 28 cycles / tap Tap Size 32 32 32 50 50 50 100 100 100 1000 1000 1000 CPU Speed (Mhz) 4 8 16 4 8 16 4 8 16 4 8 16 CPU Usage 0.248% 0.124% 0.062% 0.328% 0.164% 0.082% 0.584% 0.292% 0.146% 5.84% 2.92% 1.46% Tap Size 32 32 32 50 50 50 100 100 100 1000 1000 1000 CPU Speed (Mhz) 4 8 16 4 8 16 4 8 16 4 8 16 CPU Usage 0.7168% 0.3584% 0.1792% 1.12% 0.56% 0.28% 2.24% 1.12% 0.56% 22.4% 11.2% 5.6% MSP430 Timing Analysis • We can slow down the clock to save power Tap Size DMA CPU Speed for 50% usage 32 YES 19.84kHz 32 NO 57.34kHz 50 YES 26.24kHz 50 NO 89.60kHz 100 YES 46.72kHz 100 NO 179.2kHz 1000 YES 467.2kHz 1000 NO 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, 2004. Kripasagar Venkat, Efficient Multiplication and Division Using MSP430, (Texas Instruments, 2006), http://www.ti.com/lit/an/slaa329/slaa329.pdf. Kripasagar Venkat, Efficient MSP430 Code Synthesis for an FIR filter, (Texas Instruments, 2007), http://www.ti.com/lit/an/slaa357/slaa357.pdf. Murugavel Raju, Digital FIR Design Using the MSP430F16x (Texas Instruments, 2004), http://www.ti.com/lit/an/slaa228/slaa228.pdf. “Pulse Oximetry”, http://www.oximetry.org/, last modified September 10th 2002, http://www.oximetry.org/pulseox/principles.htm. Texas Instruments, The MSP430 Hardware Multiplier, (Texas Instruments, 1999), http://www.ti.com/lit/an/slaa042/slaa042.pdf. Vincent Chan, Steve Underwood, A Single-Chip Pulseoximeter Design Using the MSP430, (Texas Instruments, 2012), http://www.ti.com/lit/an/slaa274b/slaa274b.pdf.