SOPC的心电图机信息处理模块分析
2021-04-09马鞍山市卫生健康信息中心丁胜利
马鞍山市卫生健康信息中心 丁胜利
文章以医疗心电图机信息的处理为切入点,首先简要介绍了SOPC技术,其次阐明了心电图机信息处理系统整体结构,最后分别从软件和硬件的角度出发,就信息处理模块系统设计要点展开了深入探究,内容涉及控制器、控制模块、时钟模块和键盘控制器等方面,希望能使相关人员受到帮助或是启发。
现阶段,基于SOPC设计信息处理系统成为社会各界热议话题,对医疗行业而言,开展相关工作的侧重点,主要是以SOPC可高效处理并实时显示信息的功能为依托,在对其并发执行多个任务的优势进行充分发挥的基础上,得到可使心电信号实时显示、远程传输与长期存储的监测系统,确保人们所提出需求能够获得最大程度的满足。由此可见,本文所研究课题有重要的社会价值。
1 SOPC技术介绍
SOPC是FPGA衍生出的SOC解决方案,对该系统进行设计的初衷是确保大规模集成电路有符合自身需求的途径对应。由于SOPA对DSP/PLL/CPU/可编程逻辑进行了集成,因此,现已成为对SOC方案加以解决的首选,另外,该系统还有成本低、设计周期短等优势,通常仅对开发板、PC机加以应用。未来SOPC将拥有更加广阔的发展前景,应当引起重视。
2 心电图机信息处理系统整体结构
本文对采集、处理信号所使用软硬件均进行了模块化处理,使检测精度得到显著提高。另外,还设计了相应接口,保证能够随时与计算机进行连接,这一设计使系统可靠性与稳定性得到了显著提高。作为系统核心的FPGA系统,通常被用来辅助下列工作开展:其一,对信号做二次除杂处理;其二,在分析和处理信号的基础上,对其进行存储;其三,通过连接各接口的方式,做到实时通信。
心电信号向调理电路进行传输的载体为导联,调理电路的作用是对信号做滤波处理,通过持续放大的方式,获得有极高信噪比的信号,随后,经由A/D转换对心电信号进行输出,FPGA负责对相关心电信号进行滤波,这样做可再次提高心电信号信噪比,待后续的分析与处理流程告一段落,便可达到远程传输、高效存储以及实时显示的目的。
此外,基于该系统所展开设计工作,还应对电源模块引起重视。本项目计划使用电源为+9V自带电源模块与±5V电压模块,DE2自带电源可被用来向FPGA芯片、开发板外设提供运行所需电力能源,电压模块的供压对象,则是调理电路、转换电路和信号采集电路。由于采集电路需要模拟放大心电信号,因此,需要前置可对有用心电信号进行提取的前置放大器。
3 软件设计方案
3.1 初始设计
技术人员对系统初始化进行设计时,考虑到显示端口所显示单元模块及功能,遂决定对模块做初始化处理。VGA显示窗体组成部分有信息窗口/字符控制窗口/波形显示窗口。信息窗口又分为发送窗口/接收窗口,二者均借助互联网进行远程通信,在初始化阶段,信息窗口状态显示为空。字符控制窗口的作用,主要是调整波形显示窗口,例如,窗口采样率。而波形显示窗口所显示内容,通常以处理后ECG信号为主。
3.2 控制模块
本项目计划使用LWIP协议栈,该协议栈既能够向操作系统进行移植,又满足独立运行的条件。另外,LWIP可减小代码尺寸并减少内存占用,嵌入式系统等小型处理器系统可优先对其加以使用。虽然对TCP/IP结构做分层设计,可使一部分通信问题得到解决,且底层协议满足交叉存取条件,底层协议和应用层协议被严格区分的情况仍较为常见,LWIP也采取了分层设计方案,但并非做到各层完全独立,这样设计的目的主要是对内存利用率还有处理速度进行提高。
基于DE2对SOPC应用软件进行编写与开发的步骤如下:①打开集成开发环境与新工程导向;②点击Brows,确定软件对应文件;③依次选择Simple Socket Server模板和Web Server模板,前者强调利用接收控制信号对LED等进行控制,确保其能够及时做出反应,后者的功能为网页服务器;④点击Next,在新建系统库的同时对操作系统加以确定,建立软件工程;⑤结合设计要求调整模板程序。
3.3 波形存储程序
作为心电图仪基础功能的存储和回放,其作用主要是重复观测心电信号,本项目所设置256KB波形存储分区的数量为16个,可被用来对10min的波形数据进行保存。若用户观测发现波形有较大信息量,便可利用存储和回访功能,重复观测Flash所存储波形,而选择该存储载体的原因,主要是避免掉电丢失的情况出现。
Flash存储波形数据的格式为{"U",length,hour,minute,second,data...},其中,“U”代表存储标志位,若无数据输入,“U”的数值往往是0/255;length代表长度标志位;其他参数代表存储时间。波形数据经由上升/下降被存储在相应存储块内,存储空间满后,方可向下一存储块进行自动转移。DE2固有Flash仅有4M存储空间,无法做到长期存储,不断提高的采样频率,必然会使数据量出现持续增加的趋势,存储时间被压缩的情况难以避免。故可以采用通过压缩ECG信号的方式,在确保其精度得到提高的基础上,延长监测时间。
3.4 波形显示程序
波形显示的任务,主要是平滑显示ECG所提供波形数据,另外,还要对峰值、采样频率等参数加以显示。由于波形显示需要具有良好实时性,因此,将其设成最高优先级很有必要,这样做可避免波形显示环节被其他任务所打断的情况出现。波形显示往往以减点函数、加点函数为依托,Show Wave详细规定了显示区域/颜色/位置/字符大小与间距,此外,技术人员还设置了相应的控制按钮。
3.5 时间显示与信息管理
由于该系统并未对不间断电源记性设置,时钟模块无法做到持续运行,要想更新时间,可供选择的方法只有网络更新与手动设置。时钟模块的作用是对系统时间进行准确反映,保证远程服务端及用户时间完全一致。其工作流程如下:由CPU提供8位时间数据代表系统时分秒,本项目计划借鉴寄存器模式,在提高效率的同时精简流程。经由6个寄存器对系统时钟进行设置与读取,3个寄存器负责时间设置工作,3个寄存器负责时间的准确输出。随后,对25MHz系统时钟做分频处理,获得1Hz时钟,再借助该时钟信号,对系统时分秒加以确定。
6个寄存器对应偏移地址应当是3位二进制,该偏移地址会使2个寄存器呈现出“未使用”的状态。
而信息管理需要完成的任务,主要是:其一,对按键情况进行获取;其二,基于字符串对录入字符进行记录;其三,经由SendMSG对字符串加以显示。研究表明PS2键盘对应按键代码向CPU送达的形式以ASCII为主,技术人员无需对键值做二次转换处理,CPU资源自然得到节约。
4 主要硬件设计要点
4.1 控制器
该控制器由编码模块/FIR滤波器/ADS控制模块/心率处理器组成,下文将逐一进行介绍,供相关人员参考。首先是编码模块,其主要功能是对滤波器、处理器所提供数据做编码处理,将处理后数据存放在寄存器内,为CPU日后的设置与读取提供便利。其次是FIR滤波器,其作用是对ECG进行数字滤波,在提高信号精确度的基础上,借助波形转换等现有程序,保证数字信号能够被尽数转换为波形输出。再次是ADS控制模块,其功能主要是对转换芯片做控制采样处理,并对串行数据进行转换,使其成为所需并行数据。最后是心率处理器,其主要作用是计算R-R时间,即心率。
4.2 控制模块
经由控制器处理的ECG信号,通常可被转换为心率数据或波形数据,要想使上述数据得到直观显示,关键是有用来对其进行二次变换的控制模块,本项目所使用控制模块为VGA模块,其功能如下:一是对ECG信号进行读入,通过向控制器读入心率数据/波形数据的方式,使显示有据可依;二是对ECG信号进行输出,对VGA处理所得数据进行转换,待其格式被转换为RGB后,便可借助VGA显示器对相关数据加以显示。
4.3 键盘控制器
输入设备键盘常见类别为AT键盘、PS/2键盘。在设计环节,技术人员只需做到键盘电源地/数据脚/电源脚/时钟脚与PC物理连接相对应,便可实现实时通信。这里要注意一点,数据脚与时钟脚为集电极开路,因此,技术人员需要将上拉电阻加设于端口处,这样设计的目的是分压及限流。无输出前提下,上述管脚始终呈现出高电平的状态,电平往往会在输出数据的同时被拉低,待输出环节结束,再恢复到之前的状态。
结论:通过上文的分析能够看出,在嵌入系统持续发展的当下,具有诸多优势的SOPC被更加频繁地应用在医疗监测等多个领域,而利用该技术采集、控制并处理生理信号,通常可取得事半功倍的效果。要想基于SOPC对医疗信息进行处理,先要采集并预处理心电信号,保证FPGA所获得信号真实且精确,随后,再由FPGA对预处理所得ECG信号加以分析,得出最终结论。