第19章 迈向用于持续监测充血性心力衰竭的集成化低功耗平台
沙赫扎德·穆扎法尔、艾曼·沙布拉和易卜拉欣(艾布)·M·埃尔法德尔
19.1 引言
心力衰竭是发达国家死亡和疾病的主要原因之一,预计到 2040[2]年将达到流行水平。心力衰竭患者容易频繁住院,最常见的原因是水肿,即人体内液体积聚。这在美国2009年照护这些患者的总计372亿美元年度费用中占据主要部分[2]。常规护理形式的定期医生就诊无法提供必要的保障措施,以检测或预防患者在住院前数天或数周内出现的失代偿相关病情迅速恶化[5]。早期检测对于维持患者的健康至关重要。
在慢性疾病中,心脏和肺部疾病将从可穿戴、精确的远程患者监测系统的开发中获益最大[19]。目前正在进行大规模患者研究,以开发用于检测心力衰竭失代偿发生期的算法,重点在于提高敏感性和特异性[2]。此类算法若要在硬件中实现,需要使用节能传感前端,包括对体液、心率、心电图(ECG)、呼吸和活动水平的无创监测[2, 5]。处于失代偿状态的患者还存在维持姿势和平衡方面的困难,因此容易跌倒。因此,理想情况下还应包含能够检测姿势、平衡和步态异常的传感器。此外,它还
对于心力衰竭患者活动水平中细微但持续的变化(包括步行活动减少和睡眠模式延长)进行检测至关重要。使用计步器等传统技术监测这些模式极具挑战性,因为已知计步器在患者以低速移动时会提供错误的读数[8]。
近年来,已开发出多种心力衰竭监测平台用于检测急性失代偿。支撑这些平台的低功耗传感、处理和通信技术在过去十年中也经历了快速发展。目前已有多种方法可用于门诊充血性心力衰竭监测。其中之一是家庭自动化远程管理(HAT)系统,该系统每天向患者询问其健康状况,监测其体重,并向其提供有关健康状态的反馈[4, 9]。这些系统不仅需要中央服务器,还需要护理管理团队定期访问以教育患者。此外,它们极易因患者输入不准确信息而产生人为错误。另一个严重错误来源是每日查询和测量的时间间隔不规则。这种不规则性对良好的护理管理极为不利。诸如Xbox之类的游戏系统被用作用户友好的界面,与集中式心脏监测系统[10],结合使用,但根本问题仍然存在,并未观察到医疗保健结果有所改善。另一种心脏监测系统由胸部安装的双极心电图电极和声学传感器组成,通过检测心脏和胸腔声学的相位偏移来识别充血性心力衰竭,同时这些信号也与心电图信号耦合[12]。所测得的信号需要额外的频谱分析,导致大量后期处理负担和高功耗单元。用于早期CHF检测的微波系统垂直扫描人体躯干后侧,其操作和数据采集方式类似于单基地雷达[20]。该系统由一个配备宽带折叠天线以扫描患者的微波收发器以及一个用于静态分析和可视化信息的计算机系统组成。然而,该系统需要在特殊场所进行设置,患者需定期前往接受扫描。另一种新近提出的智能移动健康家庭监护系统MyHeart[1],目前正在琳达大学医学中心进行评估。
该系统还通过移动应用程序和无线健康设备为专家与患者之间提供通信手段,从而支持CHF护理。此类系统的潜在风险在于患者对其自身状况的非专业观察和报告,可能导致医疗专家做出不恰当的诊断。还有一种方法[7]是蓝标系统,可测量包括体重、身体阻抗、心电图(EKG)和光电容积脉搏波描记法(PPG)在内的多种生命体征参数。实验表明,这些测量值需要额外的信号处理才能达到可接受的准确性。此外,测量前的活动和状况可能导致所收集数据集出现显著变异,进而引发医疗保健结果的不确定性。
阻抗、光吸收和体重测量是可用于确定体液变化的一些方法。目前的医疗实践依赖于体重测量来确定体液失代偿的变化。因此,鞋载传感器最适合用于设计可穿戴充血性心力衰竭系统。它们不仅可用于连续测量
实际体重,还可以对其信息进行后处理以获得体液失代偿情况,从而生成用于充血性心力衰竭预测的所有重要信号。近期医学研究表明,利用体重变化可实现以下目标检测住院前的模式[6]
- 预测因心脏状况恶化而导致的即将发生的住院[23]
将充血性心力衰竭模式检测和住院预测的医学信息集成到硬件中,需要可配置平台,以便在其各个模块(如传感器、处理器、电源、通信和存储)中轻松整合设计改进。为了实现基于体重变化测量的可穿戴式充血性心力衰竭监测,必须满足多项需求,包括:
- 超低功耗
- 舒适佩戴性
- 准确性,以避免关于住院的误报警
- 关于活动和生活方式变化的鲁棒性。
为了帮助评估基于上述指标的可穿戴充血性心力衰竭系统的性能指标,本章提出了一种完整的系统架构以及用于原型设计与分析的概念验证FPGA平台。
该平台由三个主要子系统组成:
- 传感子系统包含两个传感器节点,每个脚各一个,用于测量体重
- 后端片上系统,用于分析体重测量
- 通信子系统,该子系统依靠体域信道传输将数据从传感器发送到后端。
为了验证该平台,我们实现了两个步态周期模拟器。第一个模拟器由一个电位器组成,通过电阻器和电容器网络生成两个互补的正弦信号。第二个模拟器基于对真实人类步态周期的分析,并结合了用于分析体重和步态的基于物理的概念。由FPGA平台和步态周期模拟器组成的系统已经过测试,能够以 1MSPS的采样率、最大可配置缓冲区大小为16位、1024字、平均数据速率为4.1Mb/s以及低功耗,持续提供步态周期(从而体重测量)的信息。
该平台还可复用于集成其他测量参数,如姿势、速度和加速度。这些测量有助于确定步态,进而有助于提高充血性心力衰竭预测的准确性。
本章内容安排如下。第19.2节介绍了所提出的充血性心力衰竭监测系统架构,并详细说明了其主要构建模块,例如传感器节点、数字助手、体域通信信道(BCC)和传输协议。体重测量方法在第19.3节中讨论。第19.4节重点介绍步态周期演示原型。原型中使用的步行周期模型在第19.5节中描述。第19.6节重点介绍了FPGA实现和实验结果。第19.7节提出了一种开发方法论,展示了所提出的系统架构可如何便捷地进行原型设计。最后,结论部分在第19.8节给出。
19.2 系统架构
所提出的系统架构如图19.1和19.2所示,将系统分为四个主要部分:作为测量机制的鞋类传感器节点、作为体域信道通信(BCC)的体表介质、超低功耗通信协议以及数字助手。鞋类传感器节点持续采样并存储体重测量数据,随后将其传输至数字助手以进行进一步处理。传输通过人体利用BCC收发器和适当的单线通信协议完成。数字助手接收到的信息随后用于体重估算。根据分析结果,系统检测充血性心力衰竭状况,并以适当的视觉和听觉形式通知患者。结果还可传输至医疗团队以获取专家建议并存档记录。以下小节将详细介绍系统的构建模块。
19.2.1 体重测量子系统
传感器节点是感知与测量子系统的一部分,通过采样鞋具安装的传感器上的压力变化来确定体重变化。这些传感器还用于测量活动水平。该子系统分为两部分:传感器和处理装置,将在以下小节中进行讨论。
重量传感器
体重正在通过例如安装在鞋底的压阻式压力传感器进行测量,如图19.1所示。此类传感器的初步评估已在第2章中给出。由于半导体聚合物复合材料具有柔韧性好、成本低、舒适性强以及易于嵌入鞋垫等优点,因此在设计重量传感器时通常优于应变片,尽管其存在严重的滞后和存储器效应。施加的压力越大,电阻增加越多。该电阻的增加被用于将压力转换为体重。从测得的力(单位:牛顿)中提取体重信息的详细方法见第19.3节。所提出的平台旨在利用压力/力测量值来验证各种体重和步态分析算法,而无需考虑所使用的感知机制。根据传感系统不同,可更新传感器节点处理设备中的传感和处理算法,以支持多种可用的传感器子系统。传感器节点处理设备将感知机制与系统的其余部分隔离,从而允许使用各种现有的传感器鞋垫和鞋子。
传感器节点处理设备
为了准确测量体重,传感器节点配备了处理装置。该处理装置通过适当的电极连接到人体,以便通过体域信道将测量数据传输至数字助手
用于分析。BCC收发器用于建立该通信链路,相关内容将在第19.2.3节中讨论。节点处理设备由多种模块组成,包括用于存储测量数据的存储器、用于无线充电和节能的电源管理模块、信号处理(DSP)、通过模拟前端(AFE)监控鞋载传感器阵列的控制系统(有限状态机和用户检测),以及用于与数字助手同步的时基。
19.2.2 人体通信通道
以每比特极低的能量传输和接收数据的能力是充血性心力衰竭监测系统的重要特性。基于利用人体皮肤作为通信信道的体域信道通信(BCC)已展现出优异的性能指标[21]。这种通信模式主要应用于传感器与数字助手之间。人体在频域中表现为一个带通滤波器(BPF)[21]。因此,如图19.3所示,对于方波输入,在人体信道的输出端会产生正负脉冲信号。BCC收发器负责处理信号畸变,以成功恢复传输的数据。BCC收发器将在第19.2.3节中讨论。
19.2.3 数字助手
数字助手是充血性心力衰竭监测系统的主要模块,不仅负责分析患者状况,还通过单通道通信协议控制与传感器节点之间的信息传输。它还能根据检测到的水肿情况,将信息发送给医疗专家以获取建议。数字助手可分为四个主要功能模块:
- 处理单元
- 体域信道通信控制
- 外部通信控制
- BCC收发器。
处理单元
处理单元主要负责分析通过测量和通信子系统接收到的数据。处理单元还负责控制所有功能模块,并管理与外部世界以及鞋类传感器节点的通信。它同步系统流程,以确保操作成功进行。处理单元还会以视觉和听觉形式通知患者,特别是在出现紧急情况时发出警报提醒。
信道通信控制
信道通信控制位于处理单元和BCC收发器之间,通过采用体域信道通信协议来管理进出的数据传输,该协议在第11章中已作描述,并在本章第19.2.4节中简要提及。该模块负责从每个节点成功收集数据,并将数据提供给处理单元以进行进一步处理。
外部通信控制
该模块负责与外部世界建立通信连接,以实现与医疗中心专家的互联互通。通过该模块,系统利用无线收发器连接到无线服务提供商,这些收发器可通过I2C和SPI等标准接口协议进行连接。
体域通信收发器
BCC收发器方案基于第8章中描述的方案,另请参见[21,22]。该方案旨在通过利用直接数字发射机和全数字时钟和数据恢复(CDR)电路,采用宽带信号(WBS)数字收发器芯片。为进一步降低功耗,该方案在CDR中采用了低压数字控制振荡器和二次采样技术。然而,这种BCC收发器消耗数毫瓦的功率,是传感器节点总功耗的主要来源,如图19.4所示。如果采用单通道通信技术(例如达拉斯单线协议[13]),通信功耗可显著降低(从毫瓦级降至微瓦级)。然而,此类协议的数据速率非常低,不适用于当前讨论的系统。
CHF平台需要在极短的时间间隔内(10–20ms),将每个脚部传感器节点的至少16位宽的1000个字传输到数字助手,这是由BCC收发器的占空比循环所要求的。这种占空比循环对于进一步降低功耗至关重要。为应对高数据速率(≈8Mb/s)和超低功耗的挑战,本章采用了第11章中描述的脉冲索引通信(PIC)协议,并将在本章后文简要回顾。PIC是一种新颖的单通道信号技术,可大大简化BCC收发器的设计。通过应用额外的信源编码技术对数据进行压缩后再通过PIC传输,可进一步降低功耗。
19.2.4 体域信道通信协议
人体信道表现为单线,因此任何单通道通信技术都需要时钟和数据恢复(CDR)以实现成功且可靠的数据传输。以往关于体域信道通信的研究表明,高效且低功耗的CDR是主要目标之一。在系统操作过程中,测量信息必须在不耗尽数字助手和传感器节点能量资源的前提下实时可靠地传输。节省此类资源的一种方法是对数据突发进行高效编码,采用单通道通信,并使用超低功耗通信电路技术。在传统单通道通信协议中,CDR电路通常是主要的能耗部分。脉冲索引通信(PIC)[14–17],则提出了一种新型单通道协议,无需任何CDR电路。该协议基于一种新颖的脉冲索引概念,通过将数据编码以最小化ON位的数量,将其移至数据包的最低有效位端,并以脉冲流的形式发送ON位的索引。脉冲计数等于ON位的索引。除了消除CDR外,PIC的实现还具有面积高效、低功耗的特点,并且对发射器和接收器之间的时钟差异具有高度容忍性。此外,PIC支持3.1–8.5 Mb/s(平均为4.1 Mb/s)范围内的动态数据速率,使用25 MHz时钟。在65纳米技术上的专用集成电路实现中,PIC可减少面积
与基于CDR的串行比特传输协议相比,降低了80%以上,并将电源降低了70%以上。有关PIC的更多细节见第11章。
基于改进的性能指标,PIC被选为本系统中的通信骨干。由于该协议的主要思想是利用脉冲来检测和推断数据位,因此BCC收发器电路通过使用放大器和施密特触发器得以简化,如图19.5所示,从而降低了收发器的功耗。
19.2.5 系统集成
图19.2展示了实现充血性心力衰竭监测系统所需的整体系统集成,包含所有模块。PIC‐SED(串行器、编码器和解码器)和PIC‐LTC(逻辑拓扑控制)属于PIC协议的一部分。简而言之,LTC是拓扑控制单元,可根据应用需求(即主从模式、环形、星形)实现PIC通信。两侧的BCC收发器位于体域信道与PIC‐SED之间。采用适当的电极将收发器连接到身体部位。PIC模块的LTC端连接至数字助手端的处理单元以及传感器节点端的节点控制器。在本研究中,LTC配置为主从模式,其中数字助手为主设备,传感器节点作为从设备。数字助手借助PIC和BCC收发器分别向各节点请求发送测量信息。各节点以突发方式返回所测得的重量值(通常为每节点1000次测量)。
19.3 体重测量
为了监测体重变化模式,有必要结合步行周期信息以实现精确的体重估计。此外,通过步行周期信息对受试者进行步态分析有助于提高CHF检测算法的决策准确性。
一个步行周期可以分为两个阶段,每个脚对应一个阶段。如图19.6所示,每个阶段是一个包含四种身体姿态的半个步行周期:
接触点、反冲点、通过点和高点姿态。在这四个姿态中,接触点和高点姿态是提取体重信息的合适候选。反冲点和通过点提供的信息与高点姿态相同,因此不会包含在分析中。
鞋载传感器阵列测量脚施加在地面上的分布力。这种力的测量用于确定患者的体重。如图19.7所示,总施加的力 FT被分解为因体重 W而产生的 y分量,以及因鞋与地面之间的摩擦力而产生的 x分量 F。后者这一水平方向的力负责人体的前进运动。这些分量的矢量表示如图19.7所示,其中θ表示施加的力相对于水平轴的方向。在分析中,下标1和2将分别用于表示第一只脚和第二只脚。
19.3.1 高点姿态期间的体重
在高点姿态期间,一只脚与地面接触并单独承受总力(FT),而另一只脚没有接触,如图19.7a 所示。FT由以下公式给出
$$
FT = FTF1 + FTF2 \tag{19.1}
$$
其中 FTF1 和 FTF2 分别是第一只脚和第二只脚施加在地面上的总力,且满足 FTF2 = 0。施加的力的体重分量(单位:千克)通过以下公式确定
$$
W = \frac{WF1}{g} = \frac{FTF1 \sin \theta_1}{g} \tag{19.2}
$$
其中g是重力加速度常数,WF1是施加在第一只脚上的总力的重量分量(单位为Newton), θ1是由传感器节点电路确定的总施加力的方向。
19.3.2 接触姿态期间的体重
在接触姿态期间,总力分布在两只脚上,因为两只脚都与地面接触,如图 19.7b所示。此外,在运动过程中,一只脚上的力增加,而另一只脚上的力相应地减少。施加的总力FT由下式给出
$$
FT = FTF1 + FTF2 \tag{19.3}
$$
施加的力的重量分量(以千克为单位)由以下方式确定
$$
W = \frac{WF1 + WF2}{g} = \frac{FTF1 \sin \theta_1 + FTF2 \sin \theta_2}{g} \tag{19.4}
$$
其中WF1和WF2分别为作用在第一脚和第二脚上的总力的重量分量(单位为 Newton), θ1和 θ2为力的方向。
19.4 CHF监测原型
使用Xilinx Virtex‐7 FPGA平台开发了充血性心力衰竭监测系统的原型,以展示所提出的系统架构的端到端操作,并支持实现、分析和比较各种用于早期CHF检测的模式检测算法。如图19.8所示,原型系统框图由三个集成模块组成:数字助手模块、传感器模块和通信模块。BCC收发器被替换为 PIC‐PHY模型,处理单元是
采用TI MSP430的开源IP实现。使用单线模型作为体域信道。节点被替换为其模型,这些模型由节点控制器、存储器和步行周期模型组成,以模拟人类行走的行为。接下来将对这些集成模块进行更详细的描述。
19.4.1 数字助手
数字助手模型采用TI MSP430(OpenMSP430)微控制器的Verilog IP核[18]来实现处理单元。软件开发环境使用Eclipse,采用MSP430 C库来实现微控制器程序。在Linux上运行的编程和调试工具用于加载和测试程序。
数字助手每隔一秒钟通过PIC模块(MAC和PHY)向两个节点发送一次测量请求。然后接收节点提供的信息,并利用这些信息检测人体运动和估算体重。根据分析结果,数字助手向LCD(显示)控制模块发出信号,在LCD上显示状态。下面将讨论MSP430硬件和软件、PIC‐MAC、PIC‐PHY以及 LCD模块:
MSP430硬件
- 处理器配置:OpenMSP430 可以配置为 MSP430 处理器系列的多种型号。这是通过更改 IP 核提供的配置中的参数设置来实现的。在我们的原型中,使用了 MSP430F2330 处理器配置。
- I/O端口:总共提供四个8位MSP430端口。处理单元还需要控制PIC和 LCD模块,这至少需要24个I/O端口。该端口需求通过核心的外设封装来满足,该外设封装使用Verilog HDL定制以满足原型的I/O需求。
- 存储器:MSP430核心需要两种类型的存储器:程序存储器和数据存储器。两者均使用Xilinx IP核生成器创建,并在内部与核心连接。程序存储器和数据存储器的大小分别为8KB和1KB。
MSP430软件
- 程序开发与编译:使用eclipse集成开发环境对MSP430程序进行编码、验证和编译。在Eclipse下配置了MSPGCC编译器版本20120406‐p20120502。此外,为了配合编译器工作,需要安装MSP430插件以生成正确的编译设置,并让集成开发环境知道编译器在计算机文件系统中的位置。编译器生成一个可执行文件(.elf),该文件被加载到处理器的程序存储器中,并通过下一条所述的调试工具执行。
- 调试工具:使用Ubuntu Linux运行工具命令语言(TCL)调试脚本;这些脚本随OpenMSP430 IP核包提供[18]。调试工具openmsp430‐minidebug是一个具有简单图形用户界面的轻量级调试器,用于选择和加载Eclipse生成的可执行文件(.elf)。minidebug将程序加载到程序存储器中,并等待运行命令以开始执行。该工具还提供基本的汇编语言调试功能。
LCD、PIC‐MAC和PIC‐PHY层
LCD模块采用Verilog HDL实现,并连接到处理单元。LCD持续接收来自处理单元的决策,并显示体重或活动状态:该人是在行走还是站立?
PIC‐MAC层由SED(串行器、编码器和解码器)和LTC(逻辑拓扑控制单元)组成,同样采用Verilog HDL实现,帮助处理单元定期向节点请求更新的测量数据。PIC‐LTC采用主从拓扑实现,其中数字助理作为主节点。
PIC SED的工作方式与第11章所述完全相同;另见 [17]。由于当前讨论的系统是一个原型,因此使用简单的单线模型代替真实的体域信道。因此,图 19.9中所示的三态缓冲器足以模拟BCC收发器的行为。
19.4.2 传感器子系统
传感器子系统由一个步行周期模型、两个传感器节点模型、PIC‐MAC层和 PIC‐PHY层组成,如图19.8所示。实现了两个步行周期模型:活动检测器(AD)和重量分析器(WA)。AD模型仅测试步行周期的运动活动(即行走或站立)。WA模型则如第19.3节所述,通过每只脚上的力来确定体重。这两个模型在第19.5节中进行了描述。在传感器子系统中,一个重要组件是节点控制子模块。
19.4.3 体域信道模型
如前所述,人体表现为单通道,因此在原型系统中被单线模型替代。单线模型如图19.10所示。
19.5 步行周期模拟器
所提出的系统架构只是一个灵活平台的起点,该平台将有助于探索充血性心力衰竭(CHF)的监测和诊断算法。当然,还需要CHF数据库来全面验证该方法及临床需求。为了测试平台功能并验证体重监测算法,我们使用了帕金森病数据库。在算法测试中,选择了健康受试者,因为他们在步行周期中每只脚产生的压力/力分布与充血性心力衰竭监测所需的情况相似。
19.5.1 活动检测器
如图19.11所示,人类行走周期类似于两个互补的正弦波。如果生成这些波形,则可以对其进行采样并用作人体运动模拟器。这在充血性心力衰竭原型中被采用,其中使用单个电位器以及电阻器和电容器网络来产生互补的正弦信号。将电位器先朝一个方向旋转,再朝相反方向进行同等幅度的旋转,即可生成一个完整的步行周期。
使用Virtex 7片上ADC对步行周期模型生成的信号进行数字化。数字化后的信号通过节点控制器存储到存储器中。随后根据请求,通过PIC层将存储的信息传输至数字助手。节点两端的PIC‐LTC均配置为从模式,因此需等待主数字助手的请求命令。传感器子系统中的所有模块均采用Verilog HDL实现。
19.5.2 重量分析仪
重量分析器(WA)模型是利用帕金森病患者步态模式研究期间收集的多名健康对照受试者的步行周期数据开发的[11]。该数据库提供了来自脚部安装传感器每10毫秒采集一次的力测量值N,针对每只脚均有记录。此外,数据中还包括每位受试者的实际体重(千克),这有助于验证WA模型的预测价值。
如图19.12所示,WA 模型由两部分组成:自适应单元和执行单元。在自适应部分,利用[11]提供的每只脚上的体重(千克)和总力N信息来计算角度 θ1和 θ2。在实际系统中,角度 θ1和 θ2将使用角陀螺仪或加速度计进行测量。如果能够获得这些测量值,则公式(19.4)可提供体重估计值。由于本章的重点是平台本身而非传感系统,因此使用步行周期数据库来确定角度,并说明如何利用这些角度恢复体重估计值。
在执行部分,力测量值和计算出的角度被输入到节点控制器,并由这些控制器存储到存储器中。随后,存储的信息通过各个PIC层传输至数字助手以进行模式检测。该模型的两个部分均使用Verilog HDL实现,且步行周期信息样本通过UART从PC传输至FPGA硬件。如前所述,分析中包含两个步行周期姿态。因此,根据这些姿态,适应部分进一步划分为两个阶段,如下所述。
高点相位
在高点姿态期间,只有一只脚接触地面,因此总力等于该脚对地面施加的力,如图19.13所示。重新整理(19.2),可推导出高点姿态角度如下:
$$
\theta_1 = \sin^{-1}\left( \frac{W g}{FTF1} \right) \tag{19.5}
$$
其中 W是人体受试者的测量体重,单位为千克。需要注意的是,在一个步行周期中有两个高点姿态,每只脚各对应一个。(19.5)可用于两个高点姿态,其中接触地面的脚为脚1。使用(19.5)计算出的两只脚的角度如图19.14a所示。
接触阶段
在接触点姿态期间,两只脚均与地面接触,因此总力分布在两者之间,如图 19.13所示。脚1上的力随着其逐渐离开地面而减小,而脚2上的力则增加。对此阶段,θ1通过公式(19.5)确定, θ2通过结合 θ1信息计算得出。重新整理 公式(19.4),可得:
$$
\theta_2 = \sin^{-1}\left( \frac{W g - FTF1 \sin \theta_1}{FTF2} \right) \tag{19.6}
$$
其中 W是人体受试者的测量体重,单位为千克。注意,在一个步行周期中存在两个接触点状态,两脚交替离开地面。(19.5) 和 (19.6) 可用于这两种接触点状态,约定离开地面的脚为脚1,而接近地面的脚为脚2。利用 (19.5) 和 (19.6) 计算出的两只脚的角度 θ1和 θ2如图 19.14 所示。
19.5.3 重量分析仪测试算法
为了利用体重分析(WA)模型对平台进行测试,在嵌入式C中开发了一种简单的测试算法,以在TI MSP430微控制器上执行。TI MSP430接收来自两个传感器节点的角度和施加的力信息,并应用(19.4)来确定患者的体重并分析步态模式。
19.6 测试与结果
通过软件仿真和Virtex‐7实时硬件对开发的原型系统进行了严格测试。首先,为了测试完整的通信链路,使用AD步行模拟器的电位器创建测试步行周期,这些步行周期被成功检测,并在LCD模块上显示结果,指示人员正在行走或站立。该原型以1MSps的采样率工作,可配置缓冲区大小最大可达16位、1024字,平均信令速率为4.1 Mb/s。简化的高层系统流程如图19.15a, c所示。
接下来,使用WA步行周期模拟器来测试系统的功能。来自[11]的30名人体受试者的数据被用于测试,每个数据文件(每名受试者一个文件)平均包含110个步行周期,每个步行周期平均有130个数据样本。数据样本包括时间戳、每只脚八个传感器的力测量值以及两只脚的总力。所有受试者的数据样本通过UART从PC传输到FPGA。角度 θ1和θ2由自适应单元计算,并连同双脚测得的总力一起输入执行单元。数据流程与第19.5.2节中描述的完全一致。数字助手接收数据,应用体重测量算法并分析步态。来自帕金森数据库的所有输入数据均得到了准确的体重测量结果,测量值已正确显示在LCD模块上。一名56千克受试者的测量结果如图19.16所示。简化的高层系统流程如图19.15b, c所示。
在表19.1中,本文提出的系统与现有的充血性心力衰竭监测系统进行了比较,主要性能指标包括可穿戴性、占地面积和功耗。本系统的可穿戴性得益于采用鞋载传感器阵列,而非传统的体重测量秤。另一个有助于可穿戴性的方面是使用体域信道通信在传感器与数字助手之间传输数据[22]。该数字助手本身的尺寸不会大于市面上可购得的MSP430开发板,后者大约为信用卡大小(85.60 × 53.98毫米)。至于低功耗,所提出的系统通过采用高效能通信协议、低占空比以及针对体域通信信道优化的超低功耗收发器,实现了显著的节能效果。自动且可靠的体重记录有助于减少人工专家干预以及人为错误。
| 表19.1 提出的解决方案与现有解决方案 |
|---|
19.7 原型开发方法论
所提出的CHF平台架构易于实现无缝且快速的原型设计。该系统不仅能够轻松适应特定测试用例,而且无需更改硬件即可分析各种模式识别算法。所有原型模块均采用Verilog实现或通过实例化的IP核实现。部分IP核可直接插入原型中,而其他IP核则可通过Xilinx IP核生成器轻松生成。本节旨在描述平台的设计方法,并说明即使是对FPGA和硬件描述语言不熟悉的初学者也能快速完成原型开发。同时,本节还详细阐述了使用多种用户友好型IP核、知名CAD工具以及胶合逻辑硬件描述语言的设计步骤。这些步骤如图19.17 所示,并在下文进行描述。
19.7.1 准备PIC层
第11章中开发的用于PIC协议的Verilog IP是一个即插即用模块,易于配置。特别是,它不需要特定的时钟频率,因此可以与系统提供的任意时钟域协同工作。另一方面,如第11章所示,时钟频率对PIC数据速率呈线性影响。虽然PIC默认设置可确保对发射器和接收器之间的定时和时钟差异具有良好的抗干扰能力,但可依据[15]进行更精细的分析。此外,可通过严格选择PIC协议系数(例如符号间延迟、脉冲宽度、符号间延迟阈值和错误阈值),以实现所需的对时钟抖动和偏斜以及发射器与接收器之间时钟频率差异的抗干扰能力。这些系数可在PIC模块设置中更新。如图19.9所示,使用三态缓冲器在Verilog中实现PIC‐PHY非常简便。如果电源封顶是系统的
要求,则可通过脉宽调节进一步控制功耗。[14]。请注意,通道两端的PIC层是相同的,因此必须共享同一个知识产权核。在我们的流程中,使用 Xilinx ISE来编辑、综合和实现PIC层。也可使用其他CAD工具,如 Synopsys Synplicity。
19.7.2 配置数字助手处理模块
如前文所述,TI MSP430 Verilog IP 也易于配置,可支持 430 系列中的多种微控制器。此外,IP 封装可更新以支持自定义微控制器引脚布局或附加功能。在我们的设计中,使用 Xilinx ISE 来编辑、综合和实现数字助理处理模块。然而,也可以使用其他任何 CAD 工具,例如 Synopsys Synplicity。
19.7.3 添加通知模块
FPGA开发板上的LCD模块是实现通知功能最便捷的方式。在我们的设计中,使用Xilinx ISE通过Verilog实现了LCD控制。也可以采用开源IP以节省开发时间。
19.7.4 开发节点控制模块
原型系统中节点控制器的主要任务是从步行周期模型收集信息,将其存储在存储器中,并在数字助手请求时通过PIC以1000个样本的突发方式传输。节点控制器的另一项任务是管理传感器端的PIC层。这可以通过简单地将数据放置在PIC输入端并通知PIC开始处理来实现。该控制模块也可被修改以支持另一种格式的数据采集。两个节点控制器是相同的,并可共享同一个知识产权核。
19.7.5 生成记忆
MSP430和节点控制器的存储器模块均使用Xilinx IP核生成器生成,该工具为管理可用的片上块存储器提供了便捷的途径。用户也可以使用Verilog存储器结构。
19.7.6 选择并开发步态周期模拟器
- 活动检测器(AD) :每只脚上都有一个这样的检测器。相同的设计采用 Virtex 7片上ADC以及由Xilinx IP核生成器生成的接口IP。这些控制器实例化简单且易于使用。当使用较简单的FPGA板时,可通过Verilog接口模块添加外部ADC。在这种情况下,无需使用Xilinx ADC IP模块。
- 步行分析(WA)模型 :步行分析模块接收来自PC的步行周期信息,并计算角度 θ1和 θ2。需要进行角度计算,因为它模拟了专用外部电路的功能,以精确测量施加的力的角度。为了从PC传输步行周期样本,使用了 MATLAB脚本。在FPGA端,使用UART接收器的IP核来接收传入的样本并将它们存储到存储器中。该存储器由Xilinx IP核生成器生成。
为了计算角度,生成了用于计算正弦函数、浮点乘法器和减法器的 Xilinx IP核,并将其实例化到其他模块中。另一个易于实现的模块——执行单元,从存储器中获取角度和力信息。该执行单元可被视为一个复杂测试器,用于生成测试模式以验证数字助手算法。
19.7.7 实现体重和步态分析算法
最后一步是根据目标算法编写用于分析的MSP430嵌入式C代码。该代码还需要处理PIC主模式的传输请求以及LCD控制。
19.7.8 测试与验证
使用上一节描述的流程对开发的原型进行测试。如果算法未按需求工作,则返回第7步并更新算法。如果测试用例需要更新,则转到第6步。只有最后两个步骤需要频繁更新,以便分析各种充血性心力衰竭模式检测算法。
19.8 结论
提出了一种用于充血性心力衰竭监测的集成低功耗平台,该平台采用体域信道通信。为实现对充血性心力衰竭状况的早期检测,系统通过鞋载可穿戴传感器持续测量患者体重,以分析体液失代偿情况。节能型数字助手分析体重变化,以检测并报告充血性心力衰竭状况。体域信道实现了高效通信,并消除了对有线和无线连接的需求。借助新提出的低功耗、高数据速率单通道通信协议,数据可在人体上可靠传输,该协议无需任何时钟和数据恢复,且对发射器和接收器之间的偏斜、抖动以及时钟不准确具有鲁棒性。在FPGA平台上开发的概念验证原型测试了所提平台的端到端可行性。高度模块化架构支持传感器节点、BCC收发器和定制VLSI数字助手的即插即用式集成。后者可包含多种专用于充血性心力衰竭早期预测的模式识别算法选项。
3159

被折叠的 条评论
为什么被折叠?



