基于J2ME的脉搏波测量系统设计
场合。第一级运算放大器从LM358的第5脚输入微弱脉搏信号,在其第7脚获取放大信号,根据运算放大器公式计算可知一级放大8.5倍,然后通过0.3Hz的高通滤波器,消除第一级放大产生的噪声,进入二级放大,可以计算出二缓放大100倍,因此获取850倍的放大能力,获取到3V之内的脉搏波信号,且其处于放大而不是截止状态。
2.2 主控电路和蓝牙模块电路设计
主控芯片采用PDIP-20封装的C8051F330单片机,易于焊接,其使用Silicon Labs的专利CIP-51微控制器内核。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括4个16位计数器/定时器、一个具有增强波特率配置的全双工UART、一个增强型SPI端口、768字节内部RAM、128字节特殊功能寄存器(SFR)地址空间,仅使用简单的外部电路便可以搭建系统。
HC-05模块采用的是CSR BC417143B蓝牙芯片,同时内置8M Flash。具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(MASTER)、从(Slave)和回环(Loopback)3种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行AT命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。
这里使用其P0.4与P0.5口作为UART传输口,与蓝牙模块的UART口通信。
Sout为经过采集和放大电路输出的脉搏信号,输入到C8051F330的P1.7进行A/D转换,C8051F330与HC05的UART口对接,将采样和滤波以后的信号传输给蓝牙模块。开关S1用于蓝牙模块复位,二极管D2用于显示蓝牙模块状态。当没有数据传输时D2熄灭,当有数据传输时D2闪烁。电路如图3所示。
图3 控制与通信电路
3 系统软件设计
整体系统软件设计包括单片机端的输入信号采样滤波和蓝牙程序、手机端的J2ME蓝牙客户端程序设计两大部分。
3.1 单片机端滤波设计
由于人体呼吸、电极移动会产生脉搏信号中的基线漂移干扰,频率较低,一般在0.7Hz以下,属于低频干扰,为了获取较好的效果必须尽量消除其影响。人体脉搏波信号为准周期的时间序列,在不同周期的同一相位,其脉搏波的幅值近似不变。如果局部脉搏波在某一时刻发生突变,则这一时刻其幅度必不等于其临近脉搏波同一相位幅度,根据这一思路,中值滤波的方法处理效果比较好。中值滤波法能有效克服因偶然因素引起的波动干扰,对温度、液位变化缓慢的被测参数有良好的滤波效果,因此首先采用中值滤波法尽量消除突发扰动。其基本方法是连续采样N次(N取奇数),把N次采样值按大小排列然后取中间值为本次有效值。
移动平均滤波对快速周期性运动干扰有较强的抵御能力,是对模拟滤波补充的低通滤波器,用于实时检测,只要采样率足够高,就能得翻较为理想的测量结果。因此系统在中值滤波后再加一级移动平均滤波对数据进行二次滤波。
具体算法是:
y(i)=c1y(k)+c2y(k-1)+…+ciy(k-m+1) (1)
式中,y(k)表示第k次采样时刻的滤波输出,各y(i)表示第i次采样时刻的信号输入,括号中的数字i代表第i次采样时刻,c1、c2、…、cm是加权系数。
上式意义是将本次输入数据连同以前共m次的数据进行加权平均。如果各ci值相同且等于1/m时,就成为m项算术平均运算。
3.2 蓝牙设计
蓝牙协议栈提供了一组高层协议和API以完成发现服务和模拟串行I/O,还有一个关于包分割和重组的低层协议以及多路技术协议和质量服务。蓝牙协议栈如图4所示。
图4 蓝牙协议栈
应用层(Application):这一层运行的是蓝牙通信的J2ME通信程序,通过调用蓝牙无线层的API,就可以直接书写相应的通信功能的程序。
蓝牙无线层(JSR-082):所有开发的API均在该层调用,与下层交互。
服务发现协议层(SDP):用于在远程蓝牙设备上寻找服务。服务器维护一张服务记录列表,每个服务记录都包含服务器上一个服务的信息,每个服务对应一个服务记录。客户端访问服务器时,首先要获得服务器的访问记录,然后通过服务记录建立连接。
逻辑链接控制器适配层协议(1.2CAP):为上层协议提供面向连接和无连接的数据服务,并提供多协议功能和分割重组操作,可传输和接收最大长度64KB的L2CAP数据包。
虚拟串口协议(RFCOMM):基于L2CAP协议的虚拟串口协议,因为它允许蓝牙设备模拟串口的功能,所以采用它进行数据传输。
对象交换(OBEX):可以用来传输文件或者交换对象数据,OBEX协议是基于RFCOMM实现的。
主机控制器接口(HCI)层:这一层是主机和控制器之间的接口,其他所有的层都要经过HCI。
3.2.1 单
- 基于J2ME的脉搏波测量系统设计原理(02-27)
- 尽可能提高测试系统利用效率的三种策略(10-22)
- 一种气动人工肌肉运动位移测量系统的实现(03-07)
- 核辐射剂量场实时成像测量系统的研究(01-10)
- 基于数字移相的高精度脉宽测量系统及其FPGA实现(08-22)