技术领域
[0001] 本
发明涉及医疗检测领域,尤其一种用于
光电容积脉搏波描记法的外部设备的数据处理方法。
背景技术
[0002] 目前的心率测量方法主要有
心电图测量法(ECG,electrocardiogram)和光电容积脉搏波描记法(PPG,Photo Plethysmo Graphy)两种。
[0003] ECG主要应用于医院的仪器中。心电
信号通过专用
电极从人的左右臂采集到后,送入信号调理
电路,先经过前置
放大器初步放大,经高通滤波滤除直流信号及低频基线干扰后,由后级放大器放大,再经
滤波器进一步滤除50HZ的工频干扰,经
低通滤波器后得到符合要求的心
电信号,由
模拟信号输入端送入模/数转换器(ADC,Analog-to-Digital Converter),进行高
精度的A/D转换。但是仪器过于庞大,而且没有专业的医学知识无法有效的进行操作测量和分析。
[0004] PPG的
现有技术传感器虽然体积小巧,但是在测量时误差较大,易受环境因素的影响,如图1所示,传统的基于PPG所采集的数据的保存方式是在控
制芯片的内部CPU的控制下从外部设备,即基于PPG技术的传感器,读取至CPU的寄存器中,再由CPU的寄存器传送至控制芯片的内存中,这种传统的基于PPG的数据保存方式,涉及到CPU的取指令、取数、送数、内存地址
修改、传送字数的计数等。该数据保存方式使得程序编程复杂,控制芯片CPU的工作效率低下,且占用控制芯片系统资源过多,执行数据保存的时间较长。
发明内容
[0005] 为解决上述现有技术中所提到的技术问题,本发明提供一种用于光电容积脉搏波描记法的外部设备的数据处理方法,具体方案如下:
[0006] 一种用于光电容积脉搏波描记法的外部设备的数据处理方法,通过建立外部设备与控制芯片的内存之间的数据传输通道,将外部设备的数据直接存入控制芯片的内存而不经过控制芯片的CPU寄存器的转存。
[0007] 优选的,通过使能DMA数据传输通道对应的时钟总线并设置DMA工作模式涉及的寄存器从而建立外部设备与控制芯片的内存之间的数据传输通道。
[0008] 优选的,所述DMA工作模式涉及的寄存器为:通道选择寄存器、外部设备地址设置寄存器、
存储器地址寄存器、DMA模式寄存器、数据传输量寄存器、外部设备模式寄存器、存储器模式寄存器、外部设备数据宽度设置寄存器、寄存器数据宽度设置寄存器、DMA模式设置寄存器、DMA优先级设置寄存器、存储器传输设置寄存器、外部设备传输设置寄存器。
[0009] 优选的,控制芯片每次从外部设备采集到的心率数据存在一个最近的峰值DP和谷值DV,预设
阀值DT=0.4DP+0.6DV,检测
阈值DT前后0.2ms之内的数据,若阈值DT前后0.2ms之内的任一数据低于0.1DT则使用该低于0.1DT的数据的前后数据的均值替代该低于0.1DT的数据。
[0010] 与现有技术相比,本发明提供的一种用于光电容积脉搏波描记法的外部设备的数据处理方法,通过建立外部设备与控制芯片的内存之间的数据传输通道,将外部设备的数据直接存入控制芯片的内存而不经过控制芯片的CPU寄存器的转存,这样一来外部设备的数据存储至控制芯片的内存的过程中就不再涉及到CPU的取指令、取数、送数、内存地址修改、传送字数的计数等指令,因而编程简单,且控制芯片CPU不再执行这些多余的指令,自然控制芯片CPU的工作效率得以提高,占用系统资源小,同时也缩短了数据保存的时间。
附图说明
[0011] 在下文中将基于
实施例并参考附图来对本发明进行更详细的描述。其中:
[0012] 图1为现有技术中的数据存储方法示意图;
[0013] 图2为本发明DMA数据存储方法示意图;
[0014] 图3为本发明中原始采集数据的描点图;
[0015] 图4为本发明中经
波形还原
算法处理后的描点图;
[0016] 图5为本发明中的心电监测仪工作流程
框图;
[0017] 图6为本发明中波形还原算法流程框图;
[0018] 图7为本发明中DMA
数据采集实物绘制的心电图;
[0019] 在附图中,相同的部件采用相同的附图标记,附图并未按实际比例绘制。
具体实施方式
[0020] 下面将结合附图对本发明作进一步说明。
[0021] 如图2-6所示,本实施例提供一种用于光电容积脉搏波描记法的外部设备的数据处理方法,本实施例中的心电监测仪包括控制芯片和外部设备,外部设备为与控制芯片相连的位于控制芯片外部的设备,通常用于直接获取被测对象的数据,本实施例中,心电监测仪的外部设备一般包括心率传感器和血
氧传感器,所述外部设备也可以包括能同时监测心率和血氧的一个传感器。如图2所示,外部设备与控制芯片之间直接建立数据传输通道,控制芯片的CPU不再位于数据传输通道上,外部设备的数据不需要经过控制芯片的CPU寄存器的的转存,而是直接存入了控制芯片的内存中,这种数据存储方法可称之为直接内存存取(DMA,Direct Memory Access)。该方法中,由于外部设备的数据不需要经过控制芯片CPU的寄存器,因此在数据存储过程中就不再涉及到CPU的取指令、取数、送数、内存地址修改、传送字数的计数等指令,因而编程简单,且控制芯片CPU不再执行这些多余的指令,自然控制芯片CPU的工作效率得以提高,占用系统资源小,同时也缩短了数据保存的时间。
[0022] 优选的,通过使能DMA数据传输通道对应的时钟总线并设置DMA工作模式涉及的寄存器从而建立外部设备与控制芯片的内存之间的数据传输通道。其中,DMA工作模式所涉及的寄存器列明如下:
[0023] DMA_Channel DMA 通道选择寄存器(32位)
[0024] DMA_PeripheralBaseAddr 外部设备地址设置寄存器
[0025] DMA_Memory0BaseAddr 存储器地址寄存器
[0026] DMA_DIR DMA模式寄存器
[0027] DMA_BufferSize 数据传输量寄存器
[0028] DMA_PeripheralInc 外部设备模式寄存器
[0029] DMA_MemoryInc 存储器模式寄存器
[0030] DMA_PeripheralDataSize 外部设备数据宽度设置寄存器
[0031] DMA_MemoryDataSize 寄存器数据宽度设置寄存器
[0032] DMA_Mode DMA模式设置寄存器
[0033] DMA_Priority DMA优先级设置寄存器
[0034] DMA_MemoryBurst 存储器传输设置寄存器
[0035] DMA_PeripheralBurst 外部设备传输设置寄存器
[0036] 各寄存器的具体设置如下:
[0037] DMA_InitStructure.DMA_Channel=chx;
[0038] DMA_InitStructure.DMA_PeripheralBaseAddr=par;
[0039] DMA_InitStructure.DMA_Memory0BaseAddr=mar;
[0040] DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralToMemory;
[0041] DMA_InitStructure.DMA_BufferSize=ndtr;
[0042] DMA_InitStructure.DMA_PeripheralInc=DMA_MemoryInc_Enable;
[0043] DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;
[0044] DMA_InitStructure.DMA_PeripheralDataSize=
[0045] DMA_PeripheralDataSize_Byte;
[0046] DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte;
[0047] DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;
[0048] DMA_InitStructure.DMA_Priority=DMA_Priority_Medium;
[0049] DMA_InitStructure.DMA_FIFOMode=DMA_FIFOMode_Disable;
[0050] DMA_InitStructure.DMA_FIFOThreshold=DMA_FIFOThreshold_Full;
[0051] DMA_InitStructure.DMA_MemoryBurst=DMA_MemoryBurst_Single;
[0052] DMA_InitStructure.DMA_PeripheralBurst=DMA_PeripheralBurst_Single;
[0053] 上述寄存器设置中的参数的含意为:
[0054] chx是外设对应的数据通道;
[0055] par是外设寄存器地址;
[0056] mar是存储器地址;
[0057] ndtr是所要传输的数据字节数;
[0058] DMA_DIR_PeripheralToMemory 存储器到外设模式设置;
[0059] DMA_MemoryInc_Enable 外设非增量模式使能;
[0060] DMA_MemoryInc_Enable 存储器增量模式使能;
[0061] DMA_PeripheralDataSize_Byte 外设数据宽度设置(八位);
[0062] DMA_MemoryDataSize_Byte 存储器数据宽度设置(八位);
[0063] DMA_Mode_Normal DMA使用模式设置(普通模式);
[0064] DMA_Priority_Medium DMA优先级设置(中等优先级);
[0065] DMA_FIFOMode_Disable DMA数据先入先出队列失能;
[0066] DMA_MemoryBurst_Single 存储器突发单次传输设置;
[0067] 经上述寄存器设置及使能DMA数据传输通道对应的时钟总线,即能够建立外部设备与控制芯片的内存之间的数据传输通道。
[0068] 通常使用DMA方式获取的心率数据所反映出的心电图并不是人体真实的心电图,得到心率数据后,数据量较为繁杂,存在部分不准确的数据,需要将违反正常人体心率的数据剔除,并对合理的数据进行平滑,然后以波形的形式显示。优选的,本实施例进一步提出了一种数据处理方法,即波形恢复算法。控制芯片每次从外部设备采集到的心率数据存在一个最近的峰值DP和谷值DV,预设阀值DT=0.4DP+0.6DV,检测阈值DT前后0.2ms之内的数据,若阈值DT前后0.2ms之内的任一数据低于0.1DT则使用该低于0.1DT的数据的前后数据的均值替代该低于0.1DT的数据。如图3所示,数据D1小于阀值DT=0.4DP+0.6DV,故数据D1为不准确的数据,即数据异常点,将该数据异常点删除,并以前后两个数据点的均值替代该数据异常点。如图4所示为经波形还原算法处理后的描点图,其中数据D2为图3中的数据异常点D1的前后两个数据点取均值后所得到的数据。经波形恢复算法处理后的数据更符合实际情况,所得心率波形更加准确,提高了心电监测仪的测量精准度。波形恢复算法的
流程图如图6所示。
[0069] 图5给出了心电监测仪的整个数据处理流程,开始工作时,先将控制芯片的CPU初始化,并将建立DMA数据传输通道即DAM工作模式下所涉及的寄存器进行设置,完成上述步骤后,检测是否有数据输入,若有,则直接将采集数据从外部设备存储至控制芯片的内存中,利用波形恢复算法处理存储所得数据,并将处理后的数据显示出来,返回至数据检测步骤进行循环,若有数据输入,则重复上述数据存储至波形算法处理后的数据显示的步骤,若无数据输入则结束。
[0070] 图7展示出了在一次实际心率血氧监测中利用本发明所述的数据处理方法所得到的心率、血氧数据及心电图,与现有技术相比,所得结果更符合实际情况。
[0071] 虽然已经参考优选实施例对本发明进行了描述,但在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以对其中部分或者全部技术特征进行等同替换。尤其是,只要不存在逻辑或结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本发明并不局限于文中公开的特定实施例,而是包括落入
权利要求的范围内的所有技术方案。