传统的检测仪器大多由硬件电路来完成,不仅功能单一,而且开发周期长,不易维护。随着微电子技术和信息技术的高速发展,医学检测仪器正向组合式、多功能、智能化和微型化方向发展。现代数字部件的快速发展为医学检测仪提供了强有力的支持,医学检测仪器都无一例外地采用了微处理器来增强其功能。广泛地应用微处理器芯片能增强仪器的智能化程度,提高其稳定性和数据处理的精确性,使医学信号的采集、处理、通信一体化,并具有自诊断、自校验等一系列优点。
ATMEL公司新推出的AT90系列AVR单片机是很引人注目的一款微处理器。这种芯片基于新的RISC(Reduced Instruction Set Computer)结构,在设计上采用了流水线的结构,在执行前一条指令的时候,同时取出下一条指令,它的FLASH以及强大的外围接口能力使它成为目前最流行的单片机之一。
本文采用的高性能微处理器芯片Atmega163,利用结构化、模块化程序设计的思想,实时地对8路人体生理信号进行采样,对数据实行压缩和优化处理,以115 200 bps的速率和上位PC机进行串行数据传输。
2 硬件构成
2.1 微处理器及其特点
Atmega163是ATMEL公司推出的高档系列产品,是基于AVRRISC的低功耗CMOS8位单片机。在外部晶振为8MHz时,一条指令的执行时间仅为125ns,这种AVR单片机的结构有利于用C语言编程,从而能高效地开发出目标产品。为了对目标代码大小进行优化,AVR单片机采用了大型快速存取寄存器文件和快速单周期指令。通过在一个时钟周期内执行一条指令,Atmega163可以取得接近1MIPS/MHz的性能。它将32个工作寄存器和丰富的指令集联结在一起,使所有的工作寄存器都和ALU(ArithmeticLogic Unit,计算机CPU中的算术逻辑单元)直接相连,允许在1个时钟周期内执行的单条指令同时访问2个独立的寄存器。Atmega163具有16K字节的Flash存储器,512字节在线可编程E2PROM,1024字节SRAM,外围有全双工UART串行通讯接口。此外,它还有2个具有比较模式的可预分频的8位定时器/计数器,1个可预分频,具有比较、捕捉功能的16位定时器/计数器。
Atmega163单片机提供了一个性能良好的10位模数转换器。如图1所示,A口为8路模拟信号输入端,如果AD功能禁止,则A口是一个8位双向I/O口。8路人体生理信号如心电、心音、颈动脉、脉搏、体温等,经过放大、滤波、去噪处理后,分别与A口的8个引脚相连。微处理器采集数据时,通过控制ADMUX寄存器进行通道路号选择,读取的数据由CPU作进一步处理。
2.2 基于RS-232的串行通讯接口电路
如图2所示,与上位PC机连接的J1应用了RS-232的5条信号线,其中,TX为PC机的发送信号线,RX为接收信号线,CGND为地线。而RTS和DTR不产生信号,仅在初始化时产生高低电平,RTS设为+12V,DTR设为-12V。三极管Q1的作用是使信号反相,并输出RS-232电平。
电气的安全性,是医学测量仪必须考虑的问题。传统的医学测量仪一般采用隔离放大器,对模拟信号进行隔离,这种隔离技术的不足之处是:(1)必须为不同的模拟信号采用不同的隔离技术;(2)采用这种隔离措施会在信号线性度、共模抑制以及频率响应等方面引起问题,通常使电路稳定性变差,代价较高,且使电路变得更为复杂。而选用数字信号隔离技术,则可以克服上述缺陷。
光电隔离器6N137是把发光二极管与光敏管组合封装在一起的器件(见图2中方框内)。由于两个部分之间是电气隔离的,光电隔离器件能圆满解决信号隔离与电平匹配的问题。通过这一隔离电路,可使PC机系统电源和测量仪器部分的电源完全隔离开来,从而保证医学仪器的安全性,防止电击危险,减小患者漏电流,同时也减少了计算机对检测电路的干扰。
3 软件设计
软件流程图如图3所示。软件部分采用模块化、结构化程序设计方法,利用汇编语言编写,有关模块功能如下。
3.1 初始化
设置SP初值,把程序用到的内部RAM区清0,给数据采集通道计数器赋初值(8),设置波特率(115 200)。
3.2 数据采集与A/D转换
按预先确定的采样顺序对各路信号进行采样,由于A/D转换需要一定的时间,所以,延时等待的时间应略大于转换完成时间。前一路转换完成后,应立即启动下一路开始转换。由于模拟信号经A/D转换后,成为10位数字信号,所以,我们用2个字节来存储该数据,高字节存储高8位数据,低字节高位存储最低的两位数据,后6位补0。同时,把采样通路号加在最低3位字节上,以便与上位PC机通讯时,上位机能及时准确地判断该数据来自哪一通道,从而方便地对各路数据作相应处理。最后把转换完成的数据,按先后顺序依次存储在内RAM里。
3.3 数据的发送
利用R0间接寻址的方式,把RAM里的数据取出,按115 200 bps的波特率逐个字节向PC机发送,发送完8通道共16个字节后,进行下一轮的采样。
3.4 上位PC机接收数据程序
上位机通信程序由两部分组成:初始化子程序,中断数据接收子程序。
|