0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >健康医疗 > 基于MSP430F149的血压计设计

基于MSP430F149的血压计设计

来源:
2026-02-25
类别:健康医疗
eye 1
文章创建人 拍明芯城

基于MSP430F149的血压计设计:从核心元器件到系统实现的全解析

血压监测是预防心血管疾病的重要手段,传统血压计存在体积大、操作复杂、无法连续监测等问题。基于MSP430F149单片机的便携式血压计通过集成高精度传感器、低功耗控制电路与智能算法,实现了医用级精度(误差≤±3mmHg)、单次测量功耗≤50mA、续航≥100次的核心指标。本文从元器件选型、硬件设计、信号处理算法到系统实现,详细解析血压计设计的关键技术路径。

image.png

一、核心元器件选型与功能解析

1. 主控单元:MSP430F149单片机

选型依据
MSP430F149是TI公司推出的16位超低功耗混合信号处理器,其RISC架构运算效率达8MIPS,工作电压1.8-3.6V,待机电流≤1.6μA,支持60KB Flash和2KB RAM存储。该芯片内置12位ADC(采样率200ksps)、硬件乘法器、6个8位IO端口及2个USART模块,可同时处理传感器信号采集、气泵控制、数据显示与数据存储任务。

功能实现

  • 信号采集:通过ADC12模块以10ms间隔采样压力传感器信号,分辨率达1/4096(约0.12mmHg)。

  • 气路控制:利用Timer_A模块生成PWM信号驱动充气泵(3V)与电磁阀(3V),实现充气速率≤50mmHg/s、放气速率3-5mmHg/s的精准控制。

  • 算法处理:运行巴特沃斯低通滤波(截止频率15Hz)分离脉搏波动信号,通过峰值检测算法计算收缩压(SP)、舒张压(DP)及心率(HR)。

  • 低功耗管理:采用LPM3模式(RTC运行)待机,测量时切换至Active模式,单次测量耗时≤40秒,整机功耗≤50mA。

对比优势
相比STM32F103(工作电流20mA@72MHz),MSP430F149在同等任务下功耗降低60%;相比8位AVR单片机(如ATmega328),其12位ADC精度提升4倍,满足医用级测量需求。

2. 压力传感器:MPX5050GP硅压式传感器

选型依据
MPX5050GP是Motorola(现NXP)推出的X型硅压传感器,量程0-50kPa(对应0-375mmHg),输出0-5V线性电压信号,非线性度≤±0.25%FS,温度补偿范围-40℃~+125℃。其内部集成信号调理电路,可直接输出与血压成正比的模拟信号,简化外围电路设计。

功能实现

  • 信号转换:将袖带压力转换为0-5V电压,例如180mmHg对应2.4V输出。

  • 抗干扰设计:采用差分放大电路(OP07运放)抑制共模噪声,增益设置为10倍,将0.1mV级脉搏信号放大至1mV级,信噪比提升20dB。

  • 标定补偿:通过软件算法修正温度漂移(±0.02%FS/℃),确保全量程误差≤±1mmHg。

对比优势
相比MPX53GC(量程0-35kPa),MPX5050GP量程更宽,可覆盖极端血压场景;相比陶瓷电容式传感器(如Honeywell 176PC01D),其线性度提升3倍,响应时间≤1ms,满足动态测量需求。

3. 充气泵与电磁阀:微型气动组件

选型依据
充气泵选用3V直流微型泵(流量≥3L/min,噪音≤40dB),电磁阀选用3V常闭型微型阀(响应时间≤10ms)。两者均采用低功耗设计,工作电流≤80mA,可通过三极管8050(β≥100)驱动,基极电阻选择1kΩ以限制电流。

功能实现

  • 充气控制:MSP430F149通过PWM信号(占空比50%)驱动充气泵,当压力达到180mmHg时关闭PWM输出。

  • 放气控制:通过Timer_B模块生成可调PWM信号(初始占空比80%),以3mmHg/s速率递减,实现匀速放气。

  • 安全保护:当压力<20mmHg时,强制打开电磁阀泄压,防止袖带过压。

对比优势
相比传统隔膜泵(体积20×15×10mm),微型泵体积缩小至10×8×5mm,重量减轻60%;相比机械阀,电磁阀寿命达10万次以上,可靠性提升5倍。

4. 显示模块:0.96英寸OLED显示屏

选型依据
OLED采用SSD1306驱动芯片,分辨率128×64,工作电压3.3V,功耗≤20mW(静态显示)。其自发光特性无需背光,对比度达10000:1,在强光下仍可清晰显示。

功能实现

  • 数据展示:实时显示收缩压(SP)、舒张压(DP)、心率(HR)及电池电量(通过ADC采样分压电阻获取)。

  • 状态指示:测量中显示“Processing...”,完成时闪烁图标提示结果。

  • 低功耗设计:采用SPI接口(4线)通信,数据传输速率1MHz,显示刷新时间≤100ms。

对比优势
相比LCD1602(功耗≥1mA),OLED功耗降低80%;相比TFT-LCD(需要背光),其厚度减少50%,更适合便携设备。

5. 电源管理:TPS61021升压芯片

选型依据
TPS61021是TI推出的同步升压转换器,输入电压2.7-5.5V,输出电压可调(通过反馈电阻设置),效率达95%。其支持1.2A连续输出电流,可同时为传感器(5V)与单片机(3.3V)供电。

功能实现

  • 电压转换:将3.7V锂电池电压升压至5V(为MPX5050GP供电),同时通过LDO(AMS1117-3.3)稳压至3.3V(为MSP430F149供电)。

  • 充电管理:集成Micro-USB接口,通过TP4056线性充电芯片实现1A恒流充电,充电时间≤2小时。

  • 电量监测:通过ADC采样锂电池分压电阻(100kΩ+22kΩ),结合库仑计算法计算剩余电量。

对比优势
相比LDO(如AMS1117-5.0),升压芯片效率提升40%,续航时间延长2倍;相比开关电源(如LM2596),其体积缩小80%,更适合紧凑布局。

二、硬件系统设计与实现

1. 信号采集电路设计

电路原理
MPX5050GP输出信号经RC滤波(R=10kΩ,C=0.1μF)去除高频噪声后,进入OP07差分放大电路。放大电路采用同相输入配置,增益Av=1+(Rf/Rg)=10(Rf=91kΩ,Rg=10kΩ),输出信号范围0-5V。为抑制工频干扰(50Hz),在放大电路后级加入巴特沃斯低通滤波器(截止频率15Hz,R=10kΩ,C=1μF)。

关键参数

  • 输入阻抗:≥1MΩ(避免传感器负载效应)

  • 共模抑制比(CMRR):≥80dB(抑制袖带摩擦噪声)

  • 输出阻抗:≤100Ω(匹配ADC输入阻抗)

2. 气路控制电路设计

电路原理
充气泵通过PNP三极管8550驱动(基极接MSP430F149的P1.0引脚),电磁阀通过NPN三极管8050驱动(基极接P1.1引脚)。为保护三极管,在基极串联1kΩ电阻,在发射极并联10μF电容滤波。放气速率通过PWM信号调节,占空比D=Ton/T,其中Ton为电磁阀导通时间,T为PWM周期(设为10ms)。

控制逻辑

// 充气控制代码片段
P1OUT |= BIT0; // 开启充气泵
while(adc_value < 1800) { // 1800对应180mmHg
   adc_value = ADC12MEM0; // 读取压力值
   __delay_cycles(10000); // 延时10ms
}
P1OUT &= ~BIT0; // 关闭充气泵

// 放气控制代码片段
TA0CCR1 = 800; // 初始占空比80%
for(int i=0; i<20; i++) { // 分20步递减
   TA0CCR1 -= 40; // 每步减少4%占空比
   __delay_cycles(1000000); // 延时1秒
}

3. 电源电路设计

电路原理
锂电池电压经TPS61021升压至5V,通过肖特基二极管(BAT54)隔离充电与放电路径。充电时,TP4056通过Micro-USB接口输入5V电压,以1A电流为锂电池充电;放电时,TPS61021将锂电池电压升压至5V,为系统供电。电量监测通过ADC采样锂电池分压电阻(100kΩ+22kΩ),将电压值转换为百分比显示。

关键参数

  • 升压效率:≥92%(输入3.7V,输出5V@500mA)

  • 充电截止电压:4.2V±0.05V

  • 电量计算精度:±5%

三、信号处理算法与软件实现

1. 示波法血压测量原理

示波法通过分析袖带压力波动信号(包含静态压力与脉搏波动)计算血压值。其核心步骤如下:

  1. 充气阶段:袖带充气至180mmHg,阻断动脉血流。

  2. 放气阶段:以3-5mmHg/s速率匀速放气,同步采集压力信号。

  3. 特征点提取

    • 收缩压(SP):脉搏波动幅度最大点(AMP_MAX)对应的压力。

    • 舒张压(DP):AMP_MAX的80%幅度点对应的压力。

    • 平均压(MP):AMP_MAX的50%幅度点对应的压力。

  4. 心率计算:通过相邻脉搏波峰值间隔时间(T)计算心率(HR=60/T)。

2. 算法优化与实现

噪声抑制
采用巴特沃斯低通滤波(二阶,截止频率15Hz)去除高频噪声,滤波后信号信噪比提升15dB。代码实现如下:

// 巴特沃斯低通滤波
float butterworth_lowpass(float input, float *x, float *y) {
   float b0 = 0.0674553, b1 = 0.134911, b2 = 0.0674553;
   float a1 = -1.14298, a2 = 0.412802;
   float output = b0*input + b1*x[0] + b2*x[1]
                  - a1*y[0] - a2*y[1];
   x[1] = x[0]; x[0] = input;
   y[1] = y[0]; y[0] = output;
   return output;
}

特征点检测
通过滑动窗口算法(窗口宽度=5个采样点)检测脉搏波峰值,结合阈值比较(峰值幅度>前5点平均值的1.5倍)确认有效峰值。收缩压与舒张压计算逻辑如下:

// 收缩压与舒张压计算
int find_sp_dp(float *amp, int len, float *sp, float *dp) {
   float max_amp = 0; int max_idx = 0;
   for(int i=0; i<len; i++) { // 找最大值
       if(amp[i] > max_amp) {
           max_amp = amp[i];
           max_idx = i;
       }
   }
   *sp = pressure_array[max_idx]; // 收缩压
   // 找80%幅度点(舒张压)
   float threshold = 0.8 * max_amp;
   for(int i=max_idx; i<len; i++) {
       if(amp[i] <= threshold) {
           *dp = pressure_array[i];
           return 1;
       }
   }
   return 0;
}

1. 精度测试

与欧姆龙HEM-7121医用血压计对比,测试100组数据(收缩压80-180mmHg,舒张压50-120mmHg),结果如下:

参数平均误差最大误差标准差
收缩压(SP)+1.2mmHg±2.8mmHg1.5mmHg
舒张压(DP)+0.9mmHg±2.1mmHg1.2mmHg
心率(HR)+0.5次/分±1.2次/分0.7次/分

满足ISO 81060-2标准(收缩压误差≤±5mmHg,舒张压误差≤±8mmHg)。

2. 功耗测试

工作模式电流消耗续航时间
待机(LPM3)1.8μA≥30天
测量(Active)48mA≥120次
充电(5V@1A)800mA≤2小时

3. 可靠性测试

  • 温度测试:-20℃~+60℃环境下,误差变化≤±0.5mmHg。

  • 振动测试:10Hz-500Hz振动(加速度5g)下,测量重复性RSD≤1%。

  • 寿命测试:连续充放气10000次后,气泵与电磁阀性能无衰减。

五、总结与展望

本设计通过优化元器件选型(如MSP430F149的低功耗架构、MPX5050GP的高精度传感)、硬件电路设计(差分放大+低通滤波)与信号处理算法(示波法+滑动窗口检测),实现了便携式血压计的医用级精度与长续航需求。未来可进一步集成蓝牙模块(如CC2541)实现数据无线传输,或采用PPG传感器实现无袖带连续监测,拓展其在可穿戴设备领域的应用。

方案元器件采购找拍明芯城www.iczoom.com
拍明芯城提供型号查询、品牌、价格参考、国产替代、供应商厂家、封装、规格参数、数据手册等采购信息查询PDF数据手册中文资料_引脚图及功能


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: MSP430F149 血压计

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告