李畢鵬,謝宏,夏斌,姚楠,楊文璐
?。ㄉ虾:J麓髮W(xué) 信息工程學(xué)院,上海 201306)
摘要:設(shè)計了一套新型便攜式腦功能近紅外信號采集傳輸系統(tǒng)。根據(jù)功能近紅外光譜技術(shù)(functional Near-infrared Spectroscopy, fNIRS)檢測腦血氧濃度原理,使用雙波長的LED和光電傳感器作為探頭,可以對腦功能近紅外信號進行實時采集傳輸,并對數(shù)據(jù)進行顯示保存。該系統(tǒng)下位機采用STM32F407單片機和TI公司的ADS1299模擬前端集成構(gòu)成,體積小,功耗低,精度高,通過USB HID協(xié)議與上位機進行數(shù)據(jù)傳輸,方便快速,避免了驅(qū)動程序的開發(fā)。上位機程序利用VS2010進行開發(fā),調(diào)用與USB HID設(shè)備相關(guān)的Windows API函數(shù),實現(xiàn)上位機與下位機之間的通信。
關(guān)鍵詞:腦功能近紅外信號;功能近紅外光譜技術(shù);STM32F407;ADS1299;USB HID協(xié)議
0引言
功能近紅外光譜技術(shù)(functional Nearinfrared Spectroscopy,fNIRS)作為一種非侵入式腦功能成像技術(shù),不僅具有安全、體積小、易于與其他設(shè)備集成等特點,還具有較高的時間、空間分辨率等優(yōu)點,可以對腦血氧進行無損、實時、連續(xù)的檢測,在醫(yī)療、康復(fù)、運動生理等領(lǐng)域的應(yīng)用研究越來越受到重視[12]。
信號采集傳輸模塊是便攜式fNIRS系統(tǒng)的重要組成部分,藍牙、ZigBee、WiFi、RF等無線數(shù)字傳輸技術(shù)被廣泛采用。如美國fNIR Devices公司的fNIR 1100W系統(tǒng)采用的是ZigBee技術(shù)日本日立公司2009年發(fā)布的11通道WOT系統(tǒng)采用的是802.11b無線局域網(wǎng),日本DynaSense與荷蘭Artinis公司分別基于藍牙技術(shù)開發(fā)了雙通道與單通道設(shè)備[2]。參考文獻[3]與[4]分別基于無線射頻(RF)技術(shù)(工作最高速率僅20 kb/s)與GPRS技術(shù)針對肌氧檢測的便攜式設(shè)備進行了研制。參考文獻[5]的設(shè)計中采用低功耗的集成有802.11協(xié)議(WiFi)的無線傳輸芯片GS1011對信號進行無線傳輸。然而,對于多通道系統(tǒng)應(yīng)用以上無線傳輸技術(shù)的速率都有一定的瓶頸,例如采用802.11協(xié)議的WiFi速率為2 Mb/s,而其他的都不超過1 Mb/s,相比而言有線傳輸技術(shù)如USB2.0就更有優(yōu)勢[6]。
作為對參考文獻[5]中研究系統(tǒng)的補充,本文采用USB2.0作為有線數(shù)據(jù)傳輸方式。由于其最高傳輸速率可達480 Mb/s,可滿足多通道系統(tǒng)的需要,結(jié)合高精度的模數(shù)轉(zhuǎn)換芯片ADS1299可提高便攜式fNIRS系統(tǒng)的數(shù)據(jù)傳輸系統(tǒng)的性能。
1系統(tǒng)總框架
本文設(shè)計的系統(tǒng)中選用760 nm、850 nm波長的近紅外LED作為發(fā)射光源,為提高抗干擾性分別采用頻率為0.8 kHz和1.2 kHz的正弦波作為調(diào)制信號,實現(xiàn)雙波長的頻分復(fù)用。由于腦功能近紅外光探頭獲取的信號比較微弱,進行模數(shù)轉(zhuǎn)換前一般需要放大濾波等環(huán)節(jié),本文設(shè)計中模數(shù)轉(zhuǎn)換采用TI公司的低功耗ADS1299芯片,一方面其最大采樣率可達到16 kS/s,滿足對0.8 kHz和1.2 kHz調(diào)制信號采樣率的要求;另一方面該芯片各通道內(nèi)置有可編程增益放大器(PGA),最高放大倍數(shù)可達到24倍,結(jié)合24 bit的模數(shù)轉(zhuǎn)換精度,其電壓分辨率達到0.119 μV,這樣可以省去對信號的放大濾波環(huán)節(jié),簡化系統(tǒng)結(jié)構(gòu),降低復(fù)雜性??刂颇K采用STM32F407,可以通過SPI總線對ADS1299進行控制,同時將采集到的數(shù)字信號通過USB接口高速傳輸至上位機。上位機接收并存儲采集的數(shù)據(jù),以便進一步處理分析。完整的系統(tǒng)框圖如圖1所示。
2硬件設(shè)計
2.1模擬前端ADS1299
本系統(tǒng)的模擬前端采用的是芯片ADS1299,其原本是為腦電信號采集應(yīng)用而設(shè)計的,具有低噪聲、低功耗、多通道、高精度等優(yōu)點,主要特性參見參考文獻[7]。其內(nèi)部結(jié)構(gòu)框圖如圖2所示。
ADS1299與外界通信是通過SPI接口來完成的,這就需要配置主機符合從機的時序協(xié)議,圖3是ADS1299的SPI接口工作時序圖。
圖3中,CS是SPI接口的片選信號,SCLK是主機提供通信時鐘的信號線,DIN是數(shù)據(jù)輸入端口,DOUT是數(shù)據(jù)輸出端口。ADS1299芯片的數(shù)據(jù)輸入輸出是邊沿工作方式,存在信號建立時間(setup time)和信號保持時間(hold time)。從其工作時序圖可知,ADS1299芯片在上升沿時輸出數(shù)據(jù),下降沿時鎖存數(shù)據(jù), SPI接口工作模式選用模式1(CPOL=0,CPHA=1)。確定ADS1299從機的SPI接口的工作模式后,相應(yīng)配置好主機的工作模式,相互之間就可以通過SPI通信。
2.2MCU控制實現(xiàn)
選用ST的STM32F407芯片作為整個系統(tǒng)的MCU,該芯片是以CortexM4為內(nèi)核的32位微處理器,支持USB OTG HS/FS,高性能、具有豐富的外設(shè)。對于模擬前端ADS1299,MCU作為主機。當系統(tǒng)上電后, 芯片ADS1299通過SPI接口與主機模塊進行通信,實現(xiàn)數(shù)據(jù)發(fā)送接收。該接口包含4個信號線:CS、SCLK、DIN、DOUT。在與主機通過SPI通信時,CS信號必須為低電平。由于從機ADS1299 SPI接口工作模式選用模式1,與之對應(yīng)設(shè)置好MCU工作模式,主要線路連接如圖4所示。
主要線路連接圖根據(jù)信號采集的具體要求,通過MCU配置ADS1299的多路選擇器各個輸入端、放大器(PGA1PGA8)的放大倍數(shù)和A/D轉(zhuǎn)換器(ADC1ADC8)的采樣頻率。當一次采集完成時,DRDY引腳變?yōu)榈碗娖?,?shù)據(jù)準備完畢,MCU可以通過SPI接口來讀取數(shù)據(jù)。
而對于PC上位機,MCU作為從機,采用USB與上位機進行通信,接收到數(shù)據(jù)后,將其轉(zhuǎn)化成USB數(shù)據(jù)包傳送給上位機。
3軟件程序設(shè)計
3.1下位機程序設(shè)計
本采集系統(tǒng)每通道的最大采樣率為16 kS/s,采樣精度24 bit,若通道數(shù)為8,則數(shù)據(jù)傳輸速度為3 072 kb/s,采用普通的串口并不能實時有效地傳輸近紅外腦信號數(shù)據(jù),因此系統(tǒng)選用USB來實現(xiàn)下位機與PC的通信。
人機接口設(shè)備(Human Interface Device,HID)是USB設(shè)備中常用的設(shè)備類型,將程序設(shè)計為HID類型,可以省去比較復(fù)雜的USB驅(qū)動程序的編寫,直接利用Windows內(nèi)置的HID驅(qū)動程序與設(shè)備進行通信。HID設(shè)備交換的數(shù)據(jù)儲存在報表(Report)的結(jié)構(gòu)體中,主機通過發(fā)送和請求報表來傳送和接收數(shù)據(jù)[8]。HID設(shè)備全速端點速度可達64 KB/s,高速端點速度可達24.576 MB/s,滿足系統(tǒng)傳輸速率要求。
下位機程序是基于ST公司提供的USB驅(qū)動庫中的HID例程經(jīng)修改移植到STM32F407開發(fā)板上的。將單片機描述成PC主機能識別的設(shè)備,待設(shè)備通過USB連接到PC主機后,主機會發(fā)送Get_Descriptor請求讀取HID設(shè)備的描述符。枚舉完成后,初始化ADS1299,將采集到的數(shù)據(jù)首先放在USB緩沖區(qū),通過使能USB端點將數(shù)據(jù)發(fā)送到上位機,基本流程如圖5所示。
3.2上位機程序設(shè)計
上位機程序設(shè)計使用VS2010開發(fā),通過調(diào)用Windows API函數(shù),實現(xiàn)與HID設(shè)備的通信。Windows系統(tǒng)提供有幾千個API函數(shù),作為應(yīng)用程序和操作系統(tǒng)的接口,與HID相關(guān)的API函數(shù)被封裝在hid.dll、setuppapi.dll文件中[8]。上位機程序的開發(fā)實現(xiàn)數(shù)據(jù)采集傳輸,包含數(shù)據(jù)發(fā)送、顯示等功能,其基本流程如圖6所示。
程序流程中,打開USB,查找特定的HID設(shè)備具體過程如下:(1)調(diào)用HidD_GetHidGuid函數(shù),獲得USB設(shè)備的GUID;(2)調(diào)用SetupDiGet ClassDevs函數(shù),獲得全部的HID信息;(3)調(diào)用SetupDiEnum DeviceInterfaces函數(shù),識別特定的HID設(shè)備接口;(4)調(diào)用SetupDiEnumDeviceInterfaceDetail函數(shù),獲取一個指向該設(shè)備的路徑名;(5)調(diào)用CreateFile,獲取設(shè)備句柄;(6)調(diào)用HidD_GetAttributes函數(shù),獲取特定HID的廠商ID、產(chǎn)品ID。
4數(shù)據(jù)抓取測試
系統(tǒng)搭建完成后,可以利用BusHound對數(shù)據(jù)進行抓取,它是一款專用于各種總線數(shù)據(jù)包監(jiān)視和控制的軟件,可以采集到數(shù)據(jù)發(fā)送過程。經(jīng)測試上位機向下位機發(fā)送采集指令,下位機可以通過USB端點將采集到的數(shù)據(jù)發(fā)送到PC端。BusHound數(shù)據(jù)采集顯示界面如圖7所示。
以上數(shù)據(jù)抓取測試,說明數(shù)據(jù)可以傳輸成功。待數(shù)據(jù)傳輸完成后,點擊BusHound界面上Save保存為TXT格式至硬盤,供后續(xù)分析。
5結(jié)論
腦功能近紅外信號極其微弱,是不容易被檢測到的[9]。本文基于ADS1299的模擬前端24位ADC技術(shù),能夠?qū)δM信號進行準確高分辨采樣。控制器STM32F407能夠通過SPI實現(xiàn)對ADS1299的控制,并將前端采集到的腦功能近紅外信號通過USB2.0快速傳送到上位機PC端,實現(xiàn)數(shù)據(jù)實時傳輸、顯示,提高了系統(tǒng)數(shù)據(jù)傳輸速度,增強了系統(tǒng)的安全性、便攜性,在便攜式醫(yī)療設(shè)備中會得到廣泛應(yīng)用。
參考文獻
?。?] 錢志余, 李韙韜. 功能近紅外光譜技術(shù)(fNIRs)臨床應(yīng)用綜述[J]. 生命科學(xué)儀器, 2013, 11(3):4552.
?。?] FERRARI M, QUARESIMA V. A brief review on the history of human functional nearinfrared spectroscopy (fNIRS) development and fields of application[J]. Neuroimage, 2012, 63(2): 921935.
?。?] 劉方, 駱清銘, 李鵬程,等. 基于RF無線數(shù)據(jù)傳輸技術(shù)的近紅外血氧監(jiān)測儀的研制[J]. 中國醫(yī)療器械雜志, 2003(3):162166.
?。?] 周娟. 基于RF的近紅外無線肌氧檢測系統(tǒng)的研制[D]. 武漢:華中科技大學(xué), 2008.
[5] 謝宏,王光明,姚楠,等. 可穿戴式的功能近紅外光譜成像系統(tǒng)的前端設(shè)計[J]. 微型機與應(yīng)用, 2015, 34(10):2933.
?。?] PIPER S K, KRUEGER A, KOCH S P, et al. A wearable multichannel fNIRS system for brain imaging in freely moving subjects[J]. NeuroImage, 2014, 85(6): 6471.
?。?] TEXAS INSTRUMENTS. ADS1299用于生物電勢測量的低噪聲、8通道、24位模擬前端[EB/OL].(201207xx)[20160228].http://www.ti.com.cn/cn/lit/ds/symlink/ads1299.pdf.
?。?] 周洪利. 計算機高級接口技術(shù)[M]. 北京:清華大學(xué)出版社, 2008.
?。?] 徐剛, 李小俚, 劉曉民. 簡易腦功能近紅外光譜系統(tǒng)設(shè)計[J]. 光譜學(xué)與光譜分析,2015,35(2):552556.