






收稿日期: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—),男,漢族,廣東廣州人,碩士在讀,研究方向:智能裝備與工業自動化。