Do I need a dsPIC for this application?

Started by Jason Hsu July 19, 2009
I'm part of the Data Acquisition subgroup of Project Phoenix, a group working on an open source blood pressure monitor.

I'm trying to figure out what surface-mount microcontrollers we could use. I need to figure out what our options are before I decide what programmer to get.

Page 2 in the following PPT presentation shows what kind of input the microcontroller needs to process:
http://www.phoenix.tc-ieee.org/0001_Bibliography/2007-05-24%20EMB%20Presentation/2-Carl-Sensors_20070520_Phoenix%20Sensor2.ppt

Basically, there are two pulses from two sensors. The systolic blood pressure we're measuring is a function of the time difference between the peaks of the two pulses. The diastolic blood pressure we're measuring is a function of the time difference between the troughs of the two pulses.

Does this application require a DSPIC, or would a regular microcontroller suffice? So far, my DSP background has been entirely theoretical. Whatever we use, the microcontroller must take samples at a very high rate so that the exact timing of the peaks and troughs is accurate. A sample rate that is too low would make the timing of the peaks and troughs very inaccurate. I believe that this application calls for a DSPIC due to the need to take and analyze data from so many samples. Am I correct, or am I way off base?

If this application requires a DSPIC, are there any simple DSP projects I could try to get some practice? Again, I am new to using DSP in a circuit.

--
Jason Hsu
http://www.jasonhsu.com/swrwatt.html
http://www.jasonhsu.com/swrwatt-c.txt
http://www.jasonhsu.com/swrwatt-asm.txt

--- In p..., "Jason Hsu" wrote:
>
> I'm part of the Data Acquisition subgroup of Project Phoenix, a
>group working on an open source blood pressure monitor.
>
> I'm trying to figure out what surface-mount microcontrollers we
>could use. I need to figure out what our options are before I
>decide what programmer to get.
>
> Page 2 in the following PPT presentation shows what kind of input
>the microcontroller needs to process:
> http://www.phoenix.tc-ieee.org/0001_Bibliography/2007-05-24%20EMB%
>20Presentation/2-Carl-Sensors_20070520_Phoenix%20Sensor2.ppt
>
> Basically, there are two pulses from two sensors. The systolic
>blood pressure we're measuring is a function of the time difference
>between the peaks of the two pulses. The diastolic blood pressure
>we're measuring is a function of the time difference between the
>troughs of the two pulses.
>

This does not sound like a job for a DSP more like a traditional PIC.

> Does this application require a DSPIC, or would a regular
>microcontroller suffice? So far, my DSP background has been
>entirely theoretical. Whatever we use, the microcontroller must
>take samples at a very high rate so that the exact timing of the
>peaks and troughs is accurate.

Most of the 16F series chips come with a selection of counters and timers that can be used to accuratly measure period and frequency, which are essentially the same thing. Detecting where the peaks and troughs are is perhaps more difficult. Are there local minima or maxima on the curve? Any way try a web search on "PIC LC Meter". Many of these work by charging the time taken to charge a capacitor, and I am sure the frequency and accuracy involved would be similar to those needed for a BP monitor. There are also some examples of PIC based BP Monitors on the microchip web site (www.microchip.com)

>A sample rate that is too low would
>make the timing of the peaks and troughs very inaccurate. I believe
>that this application calls for a DSPIC due to the need to take and
>analyze data from so many samples. Am I correct, or am I way off
>base?
>

I think some what off base. Where a DSP comes in is to replace the hardware filter shown in slide 11.

> If this application requires a DSPIC, are there any simple DSP
>projects I could try to get some practice? Again, I am new to using
>DSP in a circuit.
>

Why not get the DM330011 kit from Microchip. I havn't looked at it myself. Go to the www.microchip.com and pop DM330011 into the box.

> --
> Jason Hsu
> http://www.jasonhsu.com/swrwatt.html
> http://www.jasonhsu.com/swrwatt-c.txt
> http://www.jasonhsu.com/swrwatt-asm.txt
>