基于C8051F021的远程诊断与急救支援系统方案设计时间:2012-06-0621:32:01来源:摘要:介绍了一种基于C8051F021单片机的多生理参数采集装置。该装置作为远程诊断与急救支援系统的一部分,能动态地获取患者的生理参数,并通过无线方式传送给远端的会诊中心,使现场的医护人员能够及时得到远程会诊中心的专家指导,为远程医疗提供基本的医学信息。随着多媒体技术、计算机网络和通信技术的发展,远程医疗成为目前国际上发展十分迅速的跨学科高新科技。远程诊断与急救支援系统是远程医疗的一个重要分支,依靠这个系统,可以将急救现场患者的各种生命信息传送给远端的医生,及时得到医疗指导或诊治。这对患者获得高水平的医疗服务及紧急情况时的急救支援,具有重要意义[1]。系统中患者生理参数的获取和传输是一个重要组成部分,为此,笔者设计了以美国CYGNAL公司的SOC芯片C8051F021为中央控制单元的多生理参数的采集与无线传输装置。该装置由生理参数采集部分和实时无线数字传输的人机接口组成。这两部分做成一个小巧的装置,病人可以方便地携带在身上,连续动态地监测病人的体温、血压、血氧、脉搏、心电等生理参数,并将这些参数以无线方式发送到与网络相连的计算机上,经处理后传送到远端的会诊中心。利用该远程诊断与急救支援系统,会诊中心的专家可以了解病人的状况,及时指导现场的救护人员对患者实施恰当的救护措施。1硬件设计基于C8051F021的多生理参数采集装置包括心电模块、血压模块、血氧模块、体温模块和无线数据传输模块五部分,各部分的协调工作和数据的无线传输由主微控制器C8051F021管理。主微控制器是该系统的核心,完成体温和心电参数的检测,负责控制其它模块并与之进行数据交换,同时还控制生理参数的无线传输。因此,对其运行速度和接口功能都有较高的要求。C8051F021以其速度快、性能高等特点,能确保心电信号检测与处理的实时性要求。另外,其丰富的端口资源能满足各模块结构设计中所需的多种串行通信接口的需要。其中体温模块通过单线接口与微控制器双向通信;血压模块通过高速串行通信方式将采集的参数传送给C8051F021;血氧模块则通过UART将检测的参数结果传送给微控制器;无线传输模块也是通过微控制器的串口传送数据。C8051F021内部自带的A/D转换、D/A转换和串行口为系统设计省去了很多外围电路,大大减小了体积。其框架图如图1所示。1.1C8051F021简介C8051F021是美国CYGNAL公司推龅幕旌闲藕畔低承酒??歉叨燃?傻钠?舷低场K?度肓艘豢罡咚佟⒌凸?摹⒏咝阅艿?位微处理器,最突出的特点是高速指令处理能力[2、3]。C8051F021采用CIP-51微控制器内核,与MCS-51指令完全兼容。CIP-51采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。CIP-51在最大系统时钟频率25MHz工作时,其峰值速度可达25MIPS。C8051F021除了具有标准8051的数字外设部件之外,内部还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。片内集成了多通道12位和8位A/D转换器以及一个双12位D/A转换器,两个增强型UART串口,便于模拟量和数字量的采集、控制和通信传输。该单片机还集成有4KB内部数据RAM和64KBFlash以及外部64KB数据存储器接口(可编程为复用方式和非复用方式)、总线接口、电压比较器、温度传感器等部件,比常规51单片机有更多的定时计数器、中断、数字I/O接口。片内还配置了标准的JTAG接口(IEEEll49.1)。在上位机软件的支持下,通过串行的JTAC接口可直接对安装在最终应用系统上的单片机进行非侵入式、不占用片内资源、全速在线系统的调试,无需另配编程器及仿真器,是目前功能最强大、性能价格比最好的单片机之一[4]。1.2各模块与微控制器通信的实现完成ADC0相应的寄存器设置后,采用定时器3设置心电采样时间间隔,心电的采样频率设为360Hz。当定时器3溢出中断时,启动ADC0开始转换。通过ADC0控制寄存器ADC0CN.5,判断转换是否结束。转换结束后,采样结果自动存放在ADC0H的低4位和ADC0L中。读取这12位心电数据并通过自适应算法抑制心电信号中的基线漂移,获得稳定的心电信号。1.2.1测温部分采用DSl8B20温度传感器构成测温系统。DSl8B20是美国DALLAS公司生产的单线数字温度传感器,它可把温度信号直接转换成串行数字信号供微控制器处理。DSl8B20数字温度计能提供9位温度读数,通过单线接口与C8051F021的I/O口P1.0进行双向通信。读写及温度变换的功率来自于数据线而不需额外的电源。1.2.2心电部分心电信号经过前置放大和第二级放大后送入C8051F021自带的A/D转换器进行采样。C8051F021片内集成了两个多通道ADC子系统(每个子系统包括一个可编程增益放大器和一个模拟多路选择器)。选用ADC0将心电信号进行A/D转换。ADC0子系统包括:一个9通道的可配置模拟多路开关(AMUX0)、一个可编程增益放大器(PGA0)和一个100ksps的12位分辨率的逐次逼进寄存器型ADC,ADC中还集成了跟踪保持电路和可编程窗口检测器。所有这些特性完全由CIP-51通过特殊功能寄存器控制。心电信号采样的设置如下:(1)置AMUX0配置寄器AMX0CF=0x00;使AIN0~AIN7为独立的单端输入。(2)置AMUX0通道选择寄存器AMX0SL=0x00;选择AIN0为ADC0的模拟输入,即采集的心电信号从AIN0模拟通道输入C8051F021。(3)置ADC0配置寄存器ADC0CF=0x48;使ACD0采样/保持放大器获取输入的模拟信号的周期数为1/10个系统时钟,内部放大器增益为1。(4)置ADC0控制寄存器ADC0CN.0=0;使ADC0H和ADC0L寄存器数据右对齐;ADC0CN.7=1;ADC处于活动状态,并准备转换数据。(5)置EIE2.1=1;ADC0转换中断允许。1.2.3血压模块血压模块与微控制器之间采用高速串行的通信方式,血压模块的工作状态、测量结果通过两个功能引脚输出,供微控制器处理。这两个功能引脚连接到C8051F021的两个I/O口,其中输出的串行时钟线连到I/O口P1.2,输出的串行数据线连到I/O口P1.3。若在一个时钟周期内数据线上出现一个电压由高到低的跳变,则开始接收数据。输出的数据格式如图2所示。开始处的电压跳变如图3所示。开始表示在此后的16个时钟信号内将传送16位的数据,其高4位的数据表示数据类型,不同的编码表示不同的数据,如舒张压、收缩压和心率分别有各自的代码,如表1所示;而低12位数据则表示具体的数值,对应前面的数据类型可以得到收缩压、舒张压和心率的数据。原文网址: