查看: 518|回复: 4
打印 上一主题 下一主题

基于MSP430单片机及USB总线的便携式血压计的设计

[复制链接] qrcode

407

主题

910

帖子

2243

积分

金牌会员

Rank: 6Rank: 6

积分
2243
楼主
跳转到指定楼层
发表于 2015-6-20 08:34 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
太原理工大学信息工程学院 申 波
目前,市场上的血压计大部分仍是水银血压计,电子血压计在国外已经大量普及,而我国才开始应用。水银血压计每 次测量必须由医生戴上听诊器进行测量,测量过程复杂,而且不同的医生,测量结果可能不同。而电子血压计弥补了水银血压计的不足。本文使用低功耗 MSP430单片机对人体血压信号进行采集,通过USB控制芯片CH375将这些数据存储到U盘中,可以通过PC机的软件分析一天中血压的变化。
1 硬件设计
1.1 芯片介绍
MSP430 是近几年流行的16位单片机,由于它具有超低功耗(在5 V电压下运行于12 MHz的80C51工作电流达到十几mA;而MSP430在3 V时的工作电流为340 μA,在2.2 V的工作电流为220 μA)、众多的片内外设、强大的数据处理能力、系统工作稳定、方便高效的开发环境等特点,被广泛应用在各种工业仪表中。加之笔者对430单片机比较了解, 在本设计中选用了其中的一种MSP430F149,由于该设计中对单片机的外设模块只要求有A/D转换模块,所以可以选用MSP430中较便宜的系列。
CH375 是南京沁恒有限公司生产的USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式。CH375具有8位数据 总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB主机方式下,CH375还提供了 串行通讯方式,通过3根线,即串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。本文用的是从南京沁恒有限公司申请的样片。LCM用的是16×2的HS162-4。自建了自定义字符,实现了简单显示“血压是:XXX.X”。 本文中使用HS162-4为的是试验方便,若是用到实际产品中,可以换用其他种类。
选择Motorola公司压力传感器MPX5050GP,其内 部含有信号运放和信号调节功能,可以直接将动脉血液对血管壁的压力转换为0 V~4.7 V的电信号,其对应的血压值为0 kPa~49.875 kPa(0 mmHg~375 mmHg)。传感器采集到的信号送入单片机的AD12模块前要标度变换,即电平平移。
1.2 工作原理
血 压传感器将用户的血压变换成电压信号,经过滤波器送到149单片机的AD12模块中,再经过单片机处理后在LCM上显示,随时可以看到血压值。并且这些数 据可以通过CH375储存在U盘中,在方便时将U盘插到PC机上,可以通过上位机软件进行观察,这样医生可以从整体上了解患者的血压变化情况,从而做出正 确的诊疗结果。
1.3 系统框图
MSP430单片机使用串口方式同CH375相连,将数据写入U盘。图1为其原理框图。
1.4 硬件设计中遇到的问题
在混合电压系统中,不同电源电压的逻辑器件相互接口时会存在以下3个主要问题:一是加到输入和输出引脚上允许的最大电压限制问题;二是两个电源间电流的互串问题;三是必须满足的输入转换门限电平问题。
器件对加到输入和输出脚的电压通常是有限制的。这些引脚有二极管或分离元件流向电源。例如3 V器件的输入端接上5 V信号,则5 V电源将会向3 V电源充电,持续的电流会损坏二极管和电路元件。
在等待或掉电方式时,3 V电源降落到0 V,大电流将流通到地,这使总线上的高电压被下拉到地,这些情况将引起数据丢失和元件损坏。必须注意的是:不管是在3 V工作状态或是0 V的等待状态都不允许电流流向Vcc。
所谓输入转换门限电平问题,即噪声容限问题。连接在一起的两个逻辑器件要想正常工作,必须满足高、低噪声容限都为正值。本文中CH375采用5 V电源供电,MSP430F149采用3.3 V供电。
CH375和MSP430F149的噪声容限值见表1。
MSP430F149驱动CH375时,高噪声容限=2.75 V-2 V=0.75 V;低噪声容限=0.7 V-0.25 V=0.45 V。
CH375驱动MSP430F149时,高噪声容限=4.5 V-1.9 V=2.7 V;低噪声容限=0.9 V-0.5 V=0.4 V。
由于噪声容限都为正值,所以MSP430F149 和CH375可以直接相连正常工作。
2 软件设计
2.1 串行数据格式问题
由 于采用串行接口,串行数据格式必须一致。CH375 的串行数据格式为:1个起始位、9个数据位、1个停止位,其中前8个数据位是一个字节数据,最后1 个数据位是命令标志位。第9 位为0时,前8 位的数据被写入CH375芯片中,第9 位为1 时,前8 位被作为命令码写入CH375 芯片中。CH375 的串行通讯波特率默认是9 600 b/s,单片机可以随时通过SET_BAUDRATE 命令选择合适的通讯波特率。
MSP430的通用串行通信模块分异步模式和同步模式。
异步通信的帧格式:1位起始位、7位或8位数据位、校验位(可奇/可偶/可无)、1位地址位(地址模式时)和1位或2位停止位。异步模式又分空闲多机模式和地址位多机模式。同步模式下,允许7位或8位数据流移入或移出MSP430单片机。
对照375的串行数据格式,笔者选用异步模式中的地址位多机模式。这种模式下,字符包含一个附加的位作为地址标志。数据块的第一个字符带有一个置位的地址位,表明该字符是一个地址。结合375的串行数据格式,把430的地址位看作第9位,可以模拟375的串行数据格式。
如果选用没有串行通信模块的430单片机,也可以选用串行方式,解决方法是用普通的IO口模拟串行通信的时序,当然要用到定时器Timer。可以用两个函数实现写命令和写数据的功能,程序中要用到位处理指令&,<<,>>等。现给出部分代码程序:
void SendCmd(unsigned char cmd) /*发送命令*/

uart_flag|=TRAN_B; /*置发送标志位*/
TXData=cmd; /*将命令传到发送TXData*/
TXData|=0x300; /*置第9位为1,加停止位,发送命令*/
TXData=TXData<<1; /*添加启始位*/
Delay(100); /*延时*/

void SendData(unsigned char data) /*发送数据*/

uart_flag|=TRAN_B; /*置发送标志位*/
TXData=data; /*将数据传到发送TXData*/
TXData|=0x200; /* 置第9位为0,加停止位,发送数据*/
TXData=TXData<<1; /*添加启始位*/
Delay(100); /*延时*/

用定时器实现数据的发送程序:
#pragma vector=TIMERA0_VECTOR
__interrupt void timer0 (void)

if (uart_flag&TRAN_B) //要发送?

CCR0+=Bitime;
if(bit_count==0) //位记数到了?

uart_flag&=~TRAN_B; //清除发送标志位
bit_count=11; /*1位起始位,8位数据位,1位标志位,1位停止位*/

else

if(TXData&0x01)

TXD_OUT|=TXD; //输出1

else

TXD_OUT&=~TXD; //输出0

TXData=TXData>>1; //移位
bit_count--; //位记数减1
P2OUT^=BIT0; //p2.0闪烁表示传送中



2.2 软件滤波程序问题
虽 然硬件用了滤波器,在软件中也要编写滤波程序,常用的软件滤波方法有11种,如限幅滤波法、中位值滤波法、算术平均滤波法、递推平均滤波法等。文中采用中 位值平均滤波法,即相当于“中位值滤波法”+“算术平均滤波法”,连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。N 值的选取:3~14。其优点是融合了两种滤波法的优点,可消除由于脉冲干扰所引起的采样值偏差;其缺点是测量速度较慢,和算术平均滤波法一样,比较浪费 RAM。由于血压计对测量速度要求不高,而且149的RAM有2 kb,所以选用该滤波方法。
2.3 U盘读写文件格式问题
对U盘的读写 分为两类:把U盘当作存储器,按照文件格式读写U盘。前者读写速度快,操作简单,但计算机不能直接读取写入的数据;后者由于按照文件格式,计算机可以直接 看到相应的数据。公司子程序库提供U盘文件操作的API,对于普通用户可以直接调用这些API读写U盘,且可以与计算机无缝连接,但要求有600 kb的RAM,若用51单片机则需要外扩RAM。由于笔者熟悉430单片机且149有2 kb的RAM,满足要求,这也正是选用430单片机的一个原因。
3 结语
试验证明,该装置可以将采集到的数据成功地放到U盘中,因此可以应用到实践中去。
参考文献
[1] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
[2] 胡大可.MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[3] 胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社,2001.
[4] 夏路易,石宗义.电路原理图与电路板设计教程Protel 99SE[M].北京:北京希望电子出版社,2002.
回复

使用道具 举报

14

主题

133

帖子

284

积分

中级会员

Rank: 3Rank: 3

积分
284
沙发
发表于 2015-7-21 07:46 AM | 只看该作者
实际上测量血压不像测量重量那样简单 有舒张压有收缩压,也就是常说的高压低压,对于硬件方面我没有什么好说的,但是能简要介绍一下机械结构吗?
其次,用片内12位AD是方便,但是我觉得精度好像不够,你的测量与机械式测量误差有多大?
回复 支持 反对

使用道具 举报

579

主题

1596

帖子

3775

积分

论坛元老

Rank: 8Rank: 8

积分
3775
板凳
发表于 2015-8-19 11:46 AM | 只看该作者
是楼主写的论文吧,有实验产品吗?理论怎么写也行,产品可行才重要.                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

10

帖子

24

积分

新手上路

Rank: 1

积分
24
地板
发表于 2015-8-19 02:03 PM | 只看该作者
是楼主写的论文吧,有实验产品吗?理论怎么写也行,产品可行才重要.                                                                                                                                                                       
回复 支持 反对

使用道具 举报

579

主题

1596

帖子

3775

积分

论坛元老

Rank: 8Rank: 8

积分
3775
5#
发表于 2015-8-19 03:51 PM | 只看该作者
MSP430 系列单片机包含了JTAG 技术、 FLASH在线编程技术和BOOTSTRAP 技术等先进技术,无须使用负责的仿真调试工具,就可进行在线调试、在线程序编程和程序代码的上载与下载, 使用十分方便。                                                                                                                                                                       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表