收稿日期:2023-11-18
DOI:10.19850/j.cnki.2096-4706.2024.05.002
摘" 要:眼科多参数测量仪专为测量人眼的眼轴、角膜曲率、瞳孔直径及白到白等多个参数而设计,旨在评估眼部健康。市面上现有的用于眼球多参数测量的采集卡价格昂贵,且通常需配套软件开发,不适合眼科多参数仪器的批量生产。针对这一问题,研究提出了一种新型眼科参数测量的数据采集系统设计方法。该方法实现了高分辨率与高数据传输速率的双通道数据传输,还设计了配套的眼球多参数实时数据采集应用程序。该系统为医疗诊断提供重要支持,满足眼科多参数仪器的大规模生产需求,为获取可靠的眼健康数据提供了基础。
关键词:眼科参数测量;USB数据采集;C#应用程序
中图分类号:TP311" " 文献标识码:A" " 文章编号:2096-4706(2024)05-0007-06
Research on High-speed Data Acquisition System Based on Ophthalmic Parameter Measuring Instrument
ZHAO Haohong1, ZENG Yaguang2, CHEN Yong1
(1.School of Mechatronic Engineering and Automation, Foshan University, Foshan" 528225, China;
2.School of Physics and Optoelectronic Engineering, Foshan University, Foshan" 528225, China)
Abstract: The ophthalmic multi-parameter measuring instrument is an instrument specially designed to measure parameters such as axial length, corneal curvature, pupil diameter, and white-to-white of the human eye, aiming to evaluate eye health. However, the acquisition cards currently on the market that can be used to measure the multi-parameter of the eyeball are usually expensive and usually require supporting software to be developed, which does not meet the mass production of ophthalmic multi-parameter instruments. Against this background, this paper proposes a new data acquisition system design method for ophthalmic parameter measurement. This method realizes dual-channel data transmission with high resolution and high data transmission rate, and also designs a supporting multi-parameter real-time data acquisition application program for the eyeball. This system provides important support for medical diagnosis, meets the mass production needs of ophthalmic multi-parameter instruments, and provides a strong foundation for obtaining reliable eye health data.
Keywords: ophthalmic parameter measurement; USB data acquisition; C# application program
0" 引" 言
眼球多参数测量仪是一种专门设计用于测量人眼的眼轴、角膜曲率、瞳孔直径、白到白等多个参数的仪器,可用于评估眼健康。2022年《国家卫生健康委关于印发“十四五”全国眼健康规划(2021—2025年)的通知》提出,要提升对近视的早期预警、诊断、控制以及减少高度近视导致视觉损伤的病变的防控能力[1]。近视可分为屈光性近视和轴向近视两种类型。屈光性近视也被称为假性近视[2],通常可通过按摩或者药物进行矫正治疗;轴向近视的病理是由于眼轴的延长,进入眼内的平行光束无法聚焦在视网膜上导致视力模糊[3]。因此对视轴参数进行精确的数据测量并将眼科测量进行全国推广,对于预防和治疗青少年的眼部疾病具有重要意义,在眼科疾病的医疗辅助诊断上具有重要的医学价值。
眼球多参数测量仪通常配备各种传感器,用于测量不同的眼球参数[4]。数据采集卡是连接传感器和计算机的关键部件。它们负责将传感器收集的模拟信号转换为数字数据,然后传输到计算机进行进一步的处理和存储。目前市面上适用于眼球多参数测量需求的采集卡通常价格昂贵且需要使用配套的软件才能开发,如National Instruments公司的数据采集卡以高速高精度著称,但价格昂贵,且后续开发升级都需要另外付费[4-6],从初始的购买成本、机器集成使用到后续维护升级三个方面都会对眼球多参数仪器批量生产产生限制,影响眼球多参数测量仪器的市场推广和社会面全覆盖进度[7,8];如市场上采用单片机或者DSP(数字信号处理器)作为主控制器的数据采集卡[9],其运行速度慢、同步性差,同时也使得A/D转换芯片的性能无法充分发挥出来[10]。本文提出一种基于眼科参数测量仪的数据采集系统设计方法,实现了具有14 bit分辨率、65 MS/s采样率的双通道高速采集电路,并设计了该数据采集卡的C#驱动程序以及基于该驱动程序接口的数据采集应用程序。
1" 眼科参数测量仪系统结构
如图1所示,系统中低相干光源采用波长为830 nm的宽带光源,通过耦合器分光分别形成参考光路和探测光路,标准波矢光使用波长为1 550 nm的窄带光源,探测光路中采用四方玻璃作为改变光程的介质,利用光程延迟电机带动四方玻璃的旋转。结合光电开关产生周期性脉冲,作为采集电路的触发采集信号。同时,为提高信号的干涉效率,在参考臂和样品臂端设置偏振控制器,通过调节光纤的偏振态,使其回光可以更大程度的在耦合器中干涉得到更强的干涉信号。最后经过本文所提出的高速数据采集系统里的差分探测电路和标准波矢探测电路进行信号转换后,再由高速采集电路采集,并将采集数据传输至PC端,进一步进行距离换算与精确测量。
2" 采集系统硬件电路
如图2所示,采集系统的硬件电路主要包括干涉信号差分探测、信号采集两个部分。
图2" 眼科参数测量仪系统的结构组成
干涉信号经过两个匹配的光电二极管串联,使其电流做差,实现减法器的目的。然后此电路应用了三级放大策略对角膜、晶状体及视网膜的反光干涉信号质量进行细致调整,进一步增强视轴参数的测定精度,便于后续ADC采集电路的采集。
为实现大范围光程扫描匹配人眼各介质面光程,测量仪的光学系统会引入光学延迟线装置[11]。由于光学延迟线扫描的光程为非线性,这就会导致同样的物理长度在不同的扫描范围中测量出的长度不一样,因此标尺光常用于校准光学延迟线扫描的非线性光程。本系统为优化标尺光信号品质并增强其信噪比,采用了双级放大策略对其进行细致调整,从而完成从电流到电压的信号转化。在标尺光的检测过程中,我们选择了单端探测方法。尽管其放大处理机制与差分探测电路相似,但其显著特点在于省略了电压增益放大环节。这一设计确保了ADC信号采集能够基于高品质的标尺光信号进行。
本系统设计使用EP4CE15F23C8型号的现场可编程门阵列(Field Programmable Gate Array, FPGA)作为主导控制模块。首先,干涉信号进入电路系统经过转化并对其信号到噪声比进行优化,然后利用双片的65 MS/s单通道ADC芯片ADS4142执行了二路模拟信号的精确获取。同时为确立数据采纳的连续性与完整性,本文在系统中引入SDRAM构建了一个FIFO缓存机制。为同步数据并确保其完整无缺,采用了光电触发机制。最后借助FT600Q型号的USB3.0接口技术完成数据至PC端的传递以确保数据的迅速流动和稳固性。
本系统选择了FTDI(Future Technology Devices International Ltd, FTDI)生产的FT600Q作为USB 3.0接口的桥接芯片。FT600Q不仅内置有16 KB FIFO 数据缓存RAM,确保高效的数据传输,而且能够兼容USB 3.0和USB 2.0接口。该芯片支持包括控制、批量和中断在内的USB传输类型,其并行FIFO总线通信协议既支持“245同步 FIFO”模式,也支持“多通道 FIFO”模式[12]。此外,该芯片的I/O口适用于多种电压:1.8 V、2.5 V和3.3 V,并具有可配置GPIO功能。加上其远程唤醒、上电复位和内置1.0 V线性稳压等特性,FT600Q能够满足大部分应用场景的需求。
3" 采集系统相关C#程序设计
为最大化数据传输速度,本系统设计采用FT600Q的“245同步FIFO”总线协议模式,通过通道将外部并行数据传输至内部 FIFO中,最终完成USB输出。FTDI 公司提供USB-UART和USB-FIFO两种可供选择的软件接口[13,14]。USB-UART 接口提供了一个虚拟COM端口,主要用于完成USB和UART串口转换的软件开发,是预留接口。USB-FIFO接口包含一个专用的动态链接库FTD3XX.DLL,应用程序开发人员可以通过FTD3XX库提供的库函数完成上位机设计,该库可支持C语言、C++、java、C#等多种开发语言[15]。由于C#语言可视化编程效果好,并且对FTD3XX.DLL操作方便,本设计选用C#语言编写上位机程序,完成对采集数据进行转换、存储、绘图等处理。
3.1" FTD3XX接口简介
FTD3XX动态链接库提供的API包括:设备管理API、数据传输API、中断处理API等。由于FTD3XX.DLL中API函数很多,本程序只用到了部分函数,主要介绍如下:
1)FT_Create。打开设备并返回一个句柄,该句柄将用于后续访问。
2)FT_Close。关闭打开的设备。
3)FT_WritePipe。将数据写入管道。
4)FT_ReadPipe。从管道读取数据。
5)FT_InitializeOverlapped。为重叠参数初始化资源。
6)FT_ReleaseOverlapped。释放重叠参数的资源。
7)FT_GetOverlappedResult。检索管道重叠操作的结果。
8)FT_SetPipeTimeout。配置给定端点的超时值。
3.2" 采集系统上位机软件设计
本系统上位机软件的任务是:通过FT600Q芯片与下位机进行通信,完成数据采集工作并对数据进行适当处理后,进行数据存储与显示。本上位机软件是在Windows 10操作系统下Visual Studio 2022编程环境中使用C#语言编程完成,通过调用FT600Q制造商提供的设备方式下的标准驱动FTD3XXDriver_WHQLCertified和动态链接库:FTD3XX.DLL,通过加载驱动信息可以在应用程序中直接调用动态链接库。
3.2.1" 设备管理
主要实现对下位机的控制操作:
1)打开设备。调用动态链接库里的API函数FT_Create,用于进一步访问、操作该设备。
2)初始化设备。初始化设置采集卡采样率、触发延迟、触发电压。
3)设备开始采集。调用动态链接库里的API函数FT_InitializeOverlapped、FT_WritePipe、FT_GetOverlappedResult、FT_ReleaseOverlapped,用于将开始写入数据的地址输入到对应的寄存器中。
4)设备读取数据。调用动态链接库里的API函数FT_SetPipeTimeout、FT_ReadPipe,用于向对应的寄存器写入读取数据的地址。
5)设备暂停采集。调用动态链接库里的API函数FT_InitializeOverlapped、FT_WritePipe、FT_GetOverlappedResult、FT_ReleaseOverlapped,用于向对应的寄存器写入暂停写入数据的地址。
6)关闭设备。调用动态链接库里的API函数FT_Close,用于对设备进行关闭操作,方便下一次实验的进行。
3.2.2" 数据管理与显示
主要实现数据读取并实时显示:
由于C#绘图过于烦琐,所以上位机软件OxyPlot控件进行波形的绘制。其是.Net下的一款图表库,涵盖各种图标的制作,且支持.Net下各平台和运行库。通过编译器的包管理器添加OxyPlot.Wpf依赖及Mvvm的支持后即可在程序中使用OxyPlot进行图表的制作。
在项目中添加MainWindowViewModel.cs类,使其继承自BindableBase类,BindableBase是Mvvm模式的viewmodel基类,它实现了INotifyPropertyChanged接口功能,可以通过数据绑定让UI响应viewmodel的变化。
4" 采集系统功能测试
在完成光电二极管与采集电路的焊接工作后,为确保电路的完整性与可靠性,首先利用万用表的“蜂鸣档”对电源节点进行短路检测。经过确认无误,给电路接通12 V直流电源,并详细观察核心组件的工作状态,如是否有过热情况,同时测量关键节点的电压特性。在电路正常运行的前提下,利用仪器采集到的干涉光和标尺光信号作为信号源,进一步研究验证信号探测电路,并使用示波器进行验证。高速信号采集电路则通过函数信号发生器的双通道生成对应的输入信号,并通过上位机监控与分析采集到的数据。
4.1" 差分探测电路测试
利用光学测量系统,采用反射镜作为测试目标,将两个干涉信号光纤连接至光电二极管,以供差分探测电路中信号的输入。使用示波器探测得干涉信号波形如图3所示,信号未出现明显的失真,证明差分探测电路可满足需求。
图3" 干涉信号波形
4.2" 标尺光信号探测电路测试
同差分探测测试类似,将标尺光信号光纤连接至光电二极管,标尺光信号波形如图4所示,可见波形正常,表面标尺光探测电路可满足设计需求。
图4" 标尺光信号波形
4.3" 信号采集电路测试
采集电路测试主要体现能采集数据且在给定输入时,获取的信号输出与给定的输入一致。采集卡可设置的属性包括采集点数、触发延时、采样率等都是测试内容。
图5的界面中的两个坐标轴是用于展示采集干涉光信号和标尺光信号采集的信号可视化图像。将信号采集电路通电,连接至PC端,设置采样点数、采样时间、采样率。接收到触发后采集信号,可见图5(a)可正常采集且无明显噪声;若利用双通道函数信号发生器作为信号源干扰探测器后,可见采集信号如图5(b)所示,表明信号采集电路可正常采集信号,无丢失数据现象。
通过函数信号发生器提供信号源,连接PC端读取并保存信号采集电路的采集到的标尺光与干涉光两个通道数据,记录采集数据绘制波形,判断数据采集的准确性。设置函数信号发生器两个通道,均输出峰-峰值为2.0 V、频率为1 MHz的正弦波且两个通道信号相位差为90度,确保两路信号采集的同步。PC端设置采样速率为65 MHz,并将采样到12 000个采样点数据转换的波形如图6所示。由图可见两个信号峰-峰值均约为2.0 V且相位差约为90度,采集到的信号波形无明显失真。通过测试表明信号采集电路的采集一致性良好,符合本系统的采集电路设计要求,可满足本测量仪的信号采集需求。
图6" 信号采集电路采集波形
5" 结" 论
由综合测试结果可知,本文设计的基于眼科参数测量仪的高速数据采集系统,专注于眼科参数的收集,是对专业眼轴参数采集任务的探索。该系统能够满足眼科参数测量中的数据传输需求,展现出卓越的稳定性和高数据处理能力。从硬件电路采集系统的设计,再到基于C#语言的数据采集应用程序的开发,结果表明,本文提出的数据采集系统与眼科设备的集成表现出了更好的兼容性,更易于开发和维护。这使得该系统在眼科参数测量仪器领域具有更大的推广潜力,能够广泛应用于科研工作、眼科和视光行业等领域,有助于社会近视筛查和疾病研究,促进全民眼健康事业的发展。
参考文献:
[1] 国家卫健委.“十四五”全国眼健康规划(2021-2025年) [J].中国眼镜科技杂志,2022(2):3-9.
[2] 梅颖.假性近视是如何变为真性近视的? [J].中国眼镜科技杂志,2022(2):90-91.
[3] 牛宗镇,朱煌.信号通路在近视发病机制研究中的进展 [J].中华临床医师杂志:电子版,2013,7(12):5517-5519.
[4] 袁炳南,张建琳.PCM与网络数据采集系统技术分析 [J].测控技术,2009,28(4):25-27+31.
[5] 陈瑾.NI 的一种高性能数据采集系统 [J].测控技术,2002,21(10):25-26+29.
[6] 郑芳芳,牛广越,易亮,等.基于USB3.0的多通道叶尖间隙数据采集系统设计 [J].传感技术学报,2023,36(6):874-880.
[7] 王琳,商周,王学伟.数据采集系统的发展与应用 [J].电测与仪表,2004(8):4-8.
[8] 茹丽娟.一种应用于智能电网的多路数据采集系统设计 [J].科技情报开发与经济,2012,22(13):110-112.
[9] 丁永红,刘璐,马铁华.基于FPGA和USB2.0的高精度数据采集系统设计 [J].电子测试,2013(7):14-16.
[10] 美国国家仪器中国有限公司.测控系统,一手掌握简单、完整的USB接口NICompactDAQ数据采集系统 [J].电子技术,2006,14(8):49-49.
[11] 廖锤.基于低相干光干涉技术的眼轴参数测量研究 [D].佛山:佛山科学技术学院,2023.
[12] 陈涛,赵金宇,贾建禄.基于FT600的USB3.0接口设计 [J].液晶与显示,2018,33(1):61-66.
[13] 黄云,杨尊先.基于SOPC的数据采集与处理系统设计 [J].电子器件,2010,33(1):67-70.
[14] 纪大伟,徐抒岩,胡君,等.基于FPGA的多通道高速数据采集系统 [J].仪表技术与传感器,2011(12):69-71.
[15] 李鸣谦,蓝若明,翟光杰.基于C#的超声数据采集系统上位机软件设计 [J].电子设计工程,2017,25(22):190-193.
作者简介:赵浩弘(1998—),男,汉族,广东广州人,硕士在读,研究方向:智能装备与工业自动化。