以S3C2440为平台对智能模拟人控制箱和按压通气功能的设计与实现

控制/MCU

1878人已加入

描述

引 言

医学模拟教学是利用各种模拟手段, 再现临床医学的工作场景, 为学习者提供一个无风险的学习临床知识和技能的条件与环境。医学模拟教学以其对病人无创、方便、操作可重复、低成本等优势已经成为现代医学教学的主导方式之一。我国在临床医学模拟教学设备还处于比较低层次上, 高端的教学设备多数还以进口为主, 自主研发并实际应用很少。智能模拟人系统正是在这种情况下填补了现在国内市场的空白, 满足我国临床医学高层次实践教学需求。

智能综合模拟人系统采用目前国际医学模拟教学中比较流行的触觉感知技术, 可以逼真地模拟各种医疗过程, 并对各个过程进行实时监控。本文主要介绍医学教学和临床教学中常用的除颤, CPR 和Vent ilat io n 的操作实现方法, 它们在医学教学和临床教学中起到了桥梁作用, 使受训者的理论和临床实践很好地结合起来,极大地提高了受训者的应变能力和现场处理能力。

1 S3C2440 介绍

由于所需完成的功能众多, 对体积、功耗和性能诸多方面要求较高, 如果用传统的MCU 处理, 显然不能满足需要, 所以这里采用S3C2440 作为平台搭建系统, 三星公司推出的16/ 32 位RISC 微处理器S3C2440, 采用ARM920T 的内核, 0. 13 m的CMOS 标准宏单元和存储器单元, 采用了新的总线架构 AMBA。为手持设备和一般类型应用提供了低价格, 低功耗, 高性能小型微处理器的解决方案, 满足了系统搭建的要求。

1. 1 S3C2440 的功能

S3C2440 的杰出特点是其核心处理器( CPU ) , 是一个由Advanced RISC Machines 有限公司设计的16/ 32 位ARM920T 的RISC 处理器。ARM920T 实现了MMU, AMBA BU S 和Harvard 高速缓冲体系结构。

这一结构具有独立的16 KB 指令Cache 和16 KB 数据Cache。每个都是由具有8 字长的行组成。通过提供一套完整的通用系统外设, S3C2440 减少了整体系统成本和无需配置额外的组件 。

综合对芯片的功能描述, 总共有以下17 种功能:

( 1) 1. 2 V 内核供电, 1. 8 V/ 2. 5 V/ 3. 3 V 存储器供电, 3. 3 V 外部I/ O 供电, 具备16 KB 的ICache 和16 KB DCache/ MMU 微处理器。

( 2) 外部存储控制器( SDRAM 控制和片选逻辑) 。

( 3) LCD 控制器( 最大支持4K 色ST N 和256 色TFT) 提供1 通道LCD 专用DMA。

( 4) 4 通道DMA 并有外部请求引脚。

( 5) 3 通道U ART 。

( 6) 2 通道SPI。

( 7) 1 通道I2SBU S 音频编解码器接口。

( 8) 1 通道I2CBUS 接口( 多主支持) 。

( 9) AC97 解码器接口。

( 10) 兼容SD 主接口协议1. 0 版和MMC 卡协议2. 11 兼容版。

( 11) 2 端口U SB 主机/ 1 端口U SB 设备( 1. 1 版) 。

( 12) 8 通道10 比特ADC 和触摸屏接口。

( 13) 具有日历功能RT C。

( 14) 相机接口( 最大4 09* 096 像素的投入支持) 。

( 15) 130 个通用I/ O 口和24 通道外部中断源。

( 16) 具有普通、慢速、空闲和掉电模式。

( 17) 具有PLL 片上时钟发生器。

1. 2 S3C2440 的主要特性

S3C2440 相对于MCU 有许多不同的特性, 主要应用于智能模拟人系统功能的特性包括以下几方面:

( 1) 体系结构: 加强的ARM 体系结构MMU 用于支持Linux 。

( 2) 系统管理器: 支持高速总线模式和异步总线模式, 寻址空间每BANK 128 MB( 总共1 GB) , 支持掉电时SDRAM 自刷新模式。

( 3) RT C( 实时时钟) : 32. 768 kH z 工作, 具有报警中断和节拍中断。

( 4) 通用I/ O 端口: 24 个外部中断端口, 130 个多功能输入/ 输出口。

( 5) U ART : 3 通道U ART , 可以基于DMA 模式或中断模式工作。

( 6) A/ D 转换和触摸屏接口: 8 通道多路复用ADC, 最大500 KSPS。

( 7) 工作电压: 输入/ 输出3. 3 V, 同时有5 V 供电电压接口。

2 智能模拟人功能实现

2. 1 控制箱功能的实现

模型人信息采集模块是整个系统正常工作的保证,信息采集的精度、可靠度决定了整个系统的性价比。模型人的信息采集分为数字量信息采集和模拟量信息采集两部分。

数字量信息采集主要是采集模型人身上的开关量,主要包括对模拟人体生命体征监护仪信息、气管插管术信息、模拟静脉给药信息、模拟胎儿监护仪信息采集、模拟血压仪的信息和模拟脉搏氧饱和度信息采集。主控制器实时扫描感应器终端, 拾取感应器信息, 经处理后通过通信系统传给上位机。系统采取了系统扩展I/ O口和主控制器I/ O 并行与位置传感器终端相连采取位置感应器信息。

具体体现在智能模拟人的控制箱功能包括:

APEX, A ED, ECG, BP, T EP, SIP 的控制, 总共需要14 个I/ O 口进行配置相应的操作, 通过GPIO 驱动定义S3C2440 的外设引脚功能, 当对I/ O 口进行上电操作时 , 通过U ART 向上位机发送14 位相对应的数据,从而使相应的功能实现, 具体表现是上位机的控制箱界面的相应功能按钮将会显示绿色, 否则, 表示未启动功能( 此时状态为红色) , 具体表现是上位机的控制箱界面信号灯不显示, 如图1 所示。

串口通信

图1.。 ADC 信号采集电路图。

2. 2 按压和通气功能的实现

2. 2. 1 按压和通气功能的特点

模拟量信息采集主要是指心肺复苏术信息采集, 模型人心肺模拟采用气囊方式, 所以心肺复苏术信息采集采用了气体压力传感器的方式进行。系统采用了MPX2010 型双通道压力传感器和LM358 运算放大器组成的信息转化电路分别对CPR 中的按压和通气的信息进行采集。

智能综合模拟人系统采用了MPX2010 型双通道压力传感器和LM358 运算放大器组成的信息转化电路分别对CPR 中的按压和通气的信息进行采集。

MPX2010 能提供一个精确的直接与外加压力成正比的线性电压输出, 此类传感器将应变计和薄膜电阻网络集成在同一硅片上, 用激光修正技术实现精确的量程校正、零位偏差校正和温度补偿。系统利用运算放大器将压力传感器输出的微小电压信号放大至与单片机内部的A/ D 转换器相容的电平, 使传感器与单片机接口匹配。MPX2010 特点有: 温度补偿范围在0~ + 85 ? ;电源电压成比例; 微分和规范操作; 主要应用于呼吸诊断、航空运动控制、控制器、压开关。

LM358 包括有两个高增益、独立的、内部频率补偿的运放, 适用于电压范围很宽的单电源, 而且也适用于双电源工作方式, 它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方使用。LM358 的特点如下: 内部频率补偿; 低输入偏流; 低输入失调电压和失调电流; 直流电压增益高( 约100 dB) ; 单位增益频带宽( 约1 MHz) ; 电源电压范围宽: 单电源( 3~ 30 V) ;CPR 信息采集采用了MPX2010 型双通道压力传感器, 经过LM358 进行线性放大后传给MCU 的A/ D采集控制器进行采集, 电路图如图2 所示。

串口通信

图2 ADC 信号采集电路图。

在完成之上所述的信号采集后, 选用S3C2440 自带的UART 串口完成ARM 与上位机软件的串口通信。

串行接口是S3C2440 与外部设备的主要通信接口之一。只需要1 条信号线就可以进行单向数据传送。

由于线路简单, 价格相对较低, 得到了广泛应用。

PC 机与下位机串口连接如图3 所示。

串口通信

图3 PC 机与下位机串口连接图。

一般情况下, 串口通信采用两种方法: 一种方法是利用Window s 的通信API 函数; 另一种方法是利用Visual C+ + 的Act iv ateX 控件。Window s 的API 函数使用起来比较灵活, 实现通信的效率也是最高, 所以系统采用利用Window s 的API 函数进行串口通信的开发。程序中thr ead _ com 类对串口操作的Window sAPI 函数进行了封装, 此类实现了对串口同步接收、异步接收以及线程监控模式异步接收。thread_com 类的成员函数如表1 所示。

表1 thread_com类的公共成员函数

串口通信

2. 2. 2 通气和按压功能的实现

根据上面所说的情况, 可以完成CPR 中通气和按压功能的实现, 将ADC 驱动烧录至S3C2440 进行压力传感器的信号采集和转换, 由于采用的双路信号, 就需要将压力传感器的取值范围分为两段, 取中值后, 设定大于中值时, 完成按压功能响应; 小于中值时, 完成通气功能响应; 在不对传感器操作的时候, 不响应 。在采集到压力信号的同时, 向上位机发送8 位UART 数据,进行按压和通气显示条的操作, 具体表现为: 当按压或者通气值满足系统设定的条件时( 初始状态为蓝色) ,按压或通气条显示绿色, 否则为红色。具体如图4所示。

串口通信

图4 上位机按压和通气进度条。

3 功能实现过程中遇到的问题

用S3C2440 可以很好地满足设计功能需求, 显示效果也比较满意, 但是在具体实现过程中, 遇到很多问题, 比如, S3C2440 内核自带的ADC 驱动的中断号和编写的ADC 驱动的中断号冲突的问题; 一些外扩的I/ O 口已经被占用的问题; 与上位机通信过程中, 数据包的传输问题; 按压和同期进度条显示速率的问题等。

通过以下步骤可以很容易地解决这些问题:

( 1) 根据用户手册, 重新烧录Bo ot load 时, 要对I/ O口进行重新配置, 使之满足智能模拟人控制箱的配置需要;( 2) 如果不需要使用触摸屏的话, 可以对S3C2440进行裁剪, 卸载ADC 触摸屏驱动; 如果仍需要使用触摸屏, 可以改用查询方式完成功能;( 3) 对上位机和下位机设置同样的波特率, 并建立链表, 在满足条件的情况下, 再进行数据的传输, 避免传输数据有误造成的功能显示问题;( 4) 对按压和通气进度条的传输数据进行参数调整, 同时结合上位机的参数进行调试 , 设置加权系数,可以完善进度条显示速率问题。

4 结 语

主要讨论了用S3C2440 开发智能模拟人控制箱和按压通气功能的实现, 并介绍了上位机与下位机的通信, 对在此过程中遇到的中断号冲突, 进度条显示速率过慢等问题, 也提出了相应的解决的方法。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分