智能模拟人的控制的设计
1.2 按压和通气功能的实现
1.2.1 按压和通气功能的特点
模拟量信息采集主要是指心肺复苏术信息采集,模型人心肺模拟采用气囊方式,所以心肺复苏术信息采集采用了气体压力传感器的方式进行。系统采用了MPX2010型双通道压力传感器和LM358运算放大器组成的信息转化电路分别对CPR中的按压和通气的信息进行采集。
智能综合模拟人系统采用了MPX2010型双通道压力传感器和LM358运算放大器组成的信息转化电路分别对CPR中的按压和通气的信息进行采集。MPX2010能提供一个精确的直接与外加压力成正比的线性电压输出,此类传感器将应变计和薄膜电阻网络集成在同一硅片上,用激光修正技术实现精确的量程校正、零位偏差校正和温度补偿。系统利用运算放大器将压力传感器输出的微小电压信号放大至与单片机内部的A/D转换器相容的电平,使传感器与单片机接口匹配。MPX2010特点有:温度补偿范围在O~+85℃;电源电压成比例;微分和规范操作;主要应用于呼吸诊断、航空运动控制、控制器、压开关。
LM358包括有两个高增益、独立的、内部频率补偿的运放,适用于电压范围很宽的单电源,而且也适用于双电源工作方式,它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方使用。LM358的特点如下:内部频率补偿;低输入偏流;低输入失调电压和失调电流;直流电压增益高(约100 dB);单位增益频带宽(约1 MHz);电源电压范围宽:单电源(3~30 V);
CPR信息采集采用了MPX2010型双通道压力传感器,经过LM358进行线性放大后传给MCU的A/D采集控制器进行采集,电路图如图2所示。
在完成之上所述的信号采集后,选用S3C2440自带的UART串口完成ARM与上位机软件的串口通信。
串行接口是S3C2440与外部设备的主要通信接口之一。只需要1条信号线就可以进行单向数据传送。由于线路简单,价格相对较低,得到了广泛应用。PC机与下位机串口连接如图3所示。
一般情况下,串口通信采用两种方法:一种方法是利用Windows的通信API函数;另一种方法是利用Visual C++的ActivateX控件。Windo-ws的API函数使用起来比较灵活,实现通信的效率也是最高,所以系统采用利用Windows的API函数进行串口通信的开发。程序中thread_com类对串口操作的WindowsAPI函数进行了封装,此类实现了对串口同步接收、异步接收以及线程监控模式异步接收。thread_com类的成员函数如表1所示。
1.2.2 通气和按压功能的实现
根据上面所说的情况,可以完成CPR中通气和按压功能的实现,将ADC驱动烧录至S3C2440进行压力传感器的信号采集和转换,由于采用的双路信号,就需要将压力传感器的取值范围分为两段,取中值后,设定大于中值时,完成按压功能响应;小于中值时,完成通气功能响应;在不对传感器操作的时候,不响应。在采集到压力信号的同时,向上位机发送8位UART数据,进行按压和通气显示条的操作,具体表现为:当按压或者通气值满足系统设定的条件时(初始状态为蓝色),按压或通气条显示绿色,否则为红色。具体如图4所示。
2 功能实现过程中遇到的问题
用S3C2440可以很好地满足设计功能需求,显示效果也比较满意,但是在具体实现过程中,遇到很多问题,比如,S3C2440内核自带的ADC驱动的中断号和编写的ADC驱动的中断号冲突的问题;一些外扩的I/O口已经被占用的问题;与上位机通信过程中,数据包的传输问题;按压和同期进度条显示速率的问题等。通过以下步骤可以很容易地解决这些问题:
(1)根据用户手册,重新烧录Bootload时,要对I/O口进行重新配置,使之满足智能模拟人控制箱的配置需要;
(2)如果不需要使用触摸屏的话,可以对S3C2440进行裁剪,卸载ADC触摸屏驱动;如果仍需要使用触摸屏,可以改用查询方式完成功能;
(3)对上位机和下位机设置同样的波特率,并建立链表,在满足条件的情况下,再进行数据的传输,避免传输数据有误造成的功能显示问题;
(4)对按压和通气进度条的传输数据进行参数调整,同时结合上位机的参数进行调试,设置加权系数,可以完善进度条显示速率问题。
3 结语
主要讨论了用S3C2440开发智能模拟人控制箱和按压通气功能的实现,并介绍了上位机与下位机的通信,对在此过程中遇到的中断号冲突,进度条显示速率过慢等问题,也提出了相应的解决的方法。