国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于USB和LabVIEW的生理信號采集系統(tǒng)

2012-12-15 03:55:56張文超
生命科學(xué)儀器 2012年5期
關(guān)鍵詞:下位驅(qū)動程序端點(diǎn)

郭 棟,張文超

(杭州電子科技大學(xué)電子信息學(xué)院,浙江 杭州 310018)

21世紀(jì),生命科學(xué)技術(shù)有了長足進(jìn)步和發(fā)展,生物醫(yī)學(xué)研究領(lǐng)域也有了突飛猛進(jìn)的變化。生物醫(yī)學(xué)工程科研、臨床檢查等過程中需要采集的信號愈來愈多樣化,對采樣結(jié)果的精確性要求也越來越高。為了滿足這一需求,開發(fā)一款多通道、高速率、高精度的生理信號采集系統(tǒng)顯得尤為重要。

通用串行總線USB(Universal Serial Bus)因其傳輸速率高,即插即用和易于擴(kuò)展等優(yōu)點(diǎn)被廣泛應(yīng)用?;贏RM Cortex-M3內(nèi)核的STM32嵌入式處理器因其低成本和強(qiáng)大性能被廣泛應(yīng)用于汽車系統(tǒng)、家庭網(wǎng)絡(luò)、無線技術(shù)等各個領(lǐng)域[1]。將ARM與USB結(jié)合起來并配合不同傳感器、前端信號采集電路和信號調(diào)理電路,就能夠很好地完成生理信號的采集、調(diào)理、傳輸和處理等任務(wù),是一種較為理想的生理信號采集系統(tǒng)設(shè)計(jì)方案。

鑒于本設(shè)計(jì)目的是設(shè)計(jì)一種相對通用的生理信號采集系統(tǒng),將其與各種傳感器和信號集電路配合就可完成各種各樣的生理信號采集任務(wù)。也因篇幅限,故將具體傳感器部分略去,而重點(diǎn)闡述后面的信號采集、調(diào)理和上、下位機(jī)的軟硬件框架結(jié)構(gòu)與USB通信的實(shí)現(xiàn)方法上。

1 系統(tǒng)原理及框圖

系統(tǒng)選用增強(qiáng)型系列處理器STM32F103ZET6,工作頻率可高達(dá)72MHZ,帶有片內(nèi)RAM和標(biāo)準(zhǔn)USB2.0接口,多達(dá)16路通道A/D轉(zhuǎn)換器等豐富外設(shè),其中處理器集成的雙ADC結(jié)構(gòu)允許雙通道采樣/保持(為實(shí)時同步數(shù)據(jù)采集提供了堅(jiān)實(shí)的基礎(chǔ)),能夠?qū)崿F(xiàn)12位轉(zhuǎn)換精度,轉(zhuǎn)換周期最短為1μs。由于選用的STM32F103系列處理器集成度非常高,所以開發(fā)的系統(tǒng)可靠性較高。USB接口設(shè)備總線傳輸功率有限,采用集成度高的器件也有利于降低USB總線的負(fù)荷,其原理框圖如圖1。

圖1 系統(tǒng)原理框圖

生理信號處理模塊主要負(fù)責(zé)將不同傳感器的輸出信號進(jìn)行調(diào)理(放大、濾波、降噪等)使其滿足后續(xù)ADC部件對輸入信號的要求以便進(jìn)行正確的A/D轉(zhuǎn)換。主控模塊主要負(fù)責(zé)USB協(xié)議解析及其通信轉(zhuǎn)發(fā):一方面,將上位機(jī)通過USB發(fā)送的數(shù)據(jù)包進(jìn)行解析,執(zhí)行測量與控制任務(wù)。另一方面,將ADC轉(zhuǎn)換完成的數(shù)據(jù)打包組成數(shù)據(jù)幀,再通過USB接口發(fā)送至上位機(jī)。為了保證采樣精度,采用REF196芯片設(shè)計(jì)高精度基準(zhǔn)電壓模塊為系統(tǒng)的AD采集模塊提供精確的參考電壓。JTAG接口用于實(shí)現(xiàn)對STM32的在線調(diào)試,與采集通道對應(yīng)的LED指示采集系統(tǒng)的工作狀態(tài)[2]。

2 USB數(shù)據(jù)傳輸過程

當(dāng)U S B設(shè)備接入主機(jī)時,主機(jī)開始枚舉USB設(shè)備,并向USB設(shè)備發(fā)出指令,要求獲得USB設(shè)備相關(guān)描述信息,其中包括設(shè)備描述符(device descriptor)、配置描述符(configuration descriptor)、接口描述符(interface descriptor)、端點(diǎn)描述符(endpoint descriptor)等。獲取各種描述符信息后,主機(jī)操作系統(tǒng)會分配給該外設(shè)一個單獨(dú)的地址,地址是動態(tài)分配的,每次均可能不同。在分配完地址和對設(shè)備進(jìn)行初始化完成后就可以對設(shè)備進(jìn)行讀寫操作了。其中,設(shè)備接口是用于描述USB設(shè)備某一特定功能,是一組端點(diǎn)的集合。端點(diǎn)是USB主機(jī)和設(shè)備之間進(jìn)行通信的節(jié)點(diǎn)。通道是設(shè)備上端點(diǎn)和USB主機(jī)應(yīng)用程序之間的連接件,用于在端點(diǎn)和應(yīng)用程序所申請的緩沖區(qū)之間進(jìn)行數(shù)據(jù)交換。USB邏輯組成如圖2。

圖2 USB邏輯組成框圖

系統(tǒng)中數(shù)據(jù)的傳輸,宏觀來看是在HOST和USB功能設(shè)備之間進(jìn)行,微觀來看是在應(yīng)用軟件的中BUFFER和USB功能設(shè)備端點(diǎn)之間進(jìn)行,每個端點(diǎn)都有自己的緩沖區(qū),因此,可以認(rèn)為USB通信就是應(yīng)用軟件BUFFER和設(shè)備端點(diǎn)BUFFER之間的數(shù)據(jù)交換。

3 模擬電路部分硬件設(shè)計(jì)

整個系統(tǒng)硬件可分為兩個部分:第一部分主要實(shí)現(xiàn)動物生理信號的采集與放大,包括模擬信號采集與濾波電路、放大電路等。第二部分主要為STM32最小系統(tǒng)及與PC之間USB電路的設(shè)計(jì)。

在模擬電路設(shè)計(jì)之前,首先要考慮生物電信號的幅值和頻帶寬度,常見生物電壓范圍在0.5μV至5mV之間[3],是非常微弱的信號,必須進(jìn)行放大后再才能送給單片機(jī)處理。生物傳感器產(chǎn)生的微弱電信號(含共模干擾信號和噪聲信號)送到INA128差動放大器的兩個差點(diǎn)輸入端(VIN+和VIN-),進(jìn)行差動放大,如圖3所示。差動放大可以有效地抑制掉“共模干擾信號”,余下所含的噪聲信號就由濾波電路處理。

圖3 前置放大電路原理圖

生物電信號一般是低頻信號,傳感器電極的生理信號混有包括人體肌電、呼吸生物噪聲,電極連接噪聲等的干擾,所以系統(tǒng)需要設(shè)計(jì)濾波電路來濾除噪聲[4]。帶通濾波器由高、低通濾波器來構(gòu)成,如圖4所示。

圖4 濾波電路原理圖

4 系統(tǒng)軟件設(shè)計(jì)

整個系統(tǒng)軟件可分為三個部分:下位機(jī)固件程序,USB設(shè)備驅(qū)動,上位機(jī)應(yīng)用程序。STM32下位機(jī)固件程序是整個系統(tǒng)運(yùn)行的核心;USB設(shè)備驅(qū)動程序是USB硬件與上位機(jī)之間通信的橋梁;上位機(jī)應(yīng)用程序完成對下位機(jī)的控制和對數(shù)據(jù)的分析、處理、顯示等功能。三部分配合完成可靠、高速的數(shù)據(jù)采集與傳輸處理任務(wù)。系統(tǒng)程序框圖如圖5。

圖5 系統(tǒng)程序框圖

4.1 下位機(jī)固件程序和設(shè)備驅(qū)動程序設(shè)計(jì)

USB上電復(fù)位之后,下位機(jī)首先需要完成系統(tǒng)時鐘配置,以及片內(nèi)外設(shè)和中斷的配置等,然后初始化USB設(shè)備。初始化成功后,等待上位機(jī)發(fā)送控制命令(啟動、停止或者通道轉(zhuǎn)換等)。下位機(jī)以中斷方式接收命令執(zhí)行相應(yīng)操作,開啟相應(yīng)ADC通道[4],轉(zhuǎn)換結(jié)束后數(shù)據(jù)打包成幀并上傳給上位機(jī)。

下位機(jī)程序中,通過解析U S B C D C(Communications Device Class)類標(biāo)準(zhǔn)設(shè)備類通信協(xié)議,開發(fā)了一種USB CDC類的數(shù)據(jù)傳輸程序,由于是標(biāo)準(zhǔn)設(shè)備類請求,可借鑒仿造PC機(jī)上微軟公司提供的usbser.sys驅(qū)動程序,僅需一個設(shè)備信息文件(Device Information File)來引導(dǎo)驅(qū)動程序,免去了設(shè)計(jì)者完全獨(dú)立研發(fā)和安裝驅(qū)動程序的步驟。

設(shè)備信息文件簡稱INF,是Microsoft公司為硬件設(shè)備制造商發(fā)布其驅(qū)動程序推出的一種文件格式,它實(shí)質(zhì)上是一個文本文件,可以用記事本工具打開,進(jìn)行查看和編輯。INF文件包含了相應(yīng)USB設(shè)備及其驅(qū)動程序的詳細(xì)信息。這些信息包括不同類型的設(shè)備使用對應(yīng)不同類型驅(qū)動程序,設(shè)備信息在系統(tǒng)注冊表中的存儲等,這樣可以確保設(shè)備能夠在連接到主機(jī)時候被正確地配置[5]。本系統(tǒng)所采用的INF文件是由標(biāo)準(zhǔn)CDC類引導(dǎo)文件快速定制的,在整個文件中,僅少數(shù)幾個部分需要用戶定制,主要包括:

(1)[D e v i c e L i s t]部分包括產(chǎn)品I D(idVender)和產(chǎn)品ID(idProduct),以及其它配置信息。

(2)[Strings]部分包含操作系統(tǒng)在即插即用階段在不同的對話框中使用的不同字符串和標(biāo)識,以及在硬件管理器中標(biāo)識設(shè)備的字符串和標(biāo)識符。

INF文件的處理過程為:

(1)系統(tǒng)從連接的USB設(shè)備中獲取設(shè)備描述符中獲取產(chǎn)品ID(idVender)和產(chǎn)品ID(idProduct)。

(2)系統(tǒng)查找與該硬件ID相符合的INF文件。通過INF文件將設(shè)備的一些基本信息保存在系統(tǒng)注冊表中。

(3)如果仍然沒有找到,則系統(tǒng)提示用戶自己安裝該USB設(shè)備驅(qū)動程序。

4.2 基于LabVIEW的采集模塊設(shè)計(jì)與應(yīng)用

LabVIEW簡稱LV,是美國NI公司研發(fā)的基于圖形化編程語言(俗稱G語言)的開發(fā)環(huán)境。LabVIEW程序(簡稱VI)包括兩部分:前面板和流程圖。前面板模擬真實(shí)儀器面板操作,流程圖相當(dāng)于源代碼。流程圖采用圖形化語言代替了程序源代碼編寫,它利用人們熟悉的術(shù)語,圖標(biāo)和概念進(jìn)行編寫。因此,LabVIEW是一個面向最終用戶的工具。使用LV進(jìn)行研究、設(shè)計(jì)和開發(fā)時,可大大提高工作效率。利用LV可產(chǎn)生能夠獨(dú)立運(yùn)行的可執(zhí)行文件。打開設(shè)備后選擇相應(yīng)的通道,發(fā)送相應(yīng)命令后,設(shè)備的數(shù)據(jù)接收模塊開始實(shí)時監(jiān)聽與下位機(jī)相連接的USB接口的數(shù)據(jù),如果未超時,則組成數(shù)據(jù)流給數(shù)據(jù)處理模塊,由處理模塊進(jìn)行分析、處理,在前面板中描繪出波形曲線,同時在文本框中顯示收到的數(shù)據(jù)點(diǎn)的采集值。

NI公司也提供了生物醫(yī)電起步工具包,支持NI數(shù)據(jù)采集平臺實(shí)現(xiàn)臨床生理信號的采集,也支持MIT-BIH等不同專業(yè)數(shù)據(jù)庫文件格式的讀取。此工具包可以在腦電圖(EEG)、肌電分析(EMG)以及核磁共振(MRI)3D成像等領(lǐng)域中應(yīng)用。

5 測試方法

限于篇幅,以人體心電信號測試為例,說明測試方法。測量方法為Ⅰ、Ⅱ、Ⅲ導(dǎo)聯(lián)法,讓被檢測人員靜臥,將電極安裝在相應(yīng)的部位,電極連接方式如圖6所示。

圖6 Ⅰ、Ⅱ、Ⅲ標(biāo)準(zhǔn)導(dǎo)聯(lián)法示意圖

Ⅰ、Ⅱ、Ⅲ導(dǎo)聯(lián)法又叫做愛氏標(biāo)準(zhǔn)肢體導(dǎo)聯(lián)法。第一導(dǎo)聯(lián)的心電信號是心臟活動時傳導(dǎo)到左手和右手上的心電點(diǎn)位差,第二導(dǎo)聯(lián)是傳導(dǎo)到右手和左腳之間的電位差,第三導(dǎo)聯(lián)是傳導(dǎo)到左手和左腳直接的電位差[6]。設(shè)心電活動時傳導(dǎo)到右手、左手和左腳的心電電位分別為UR、UL和ULF,系統(tǒng)第一導(dǎo)聯(lián)輸入端之間的電位差經(jīng)過放大、濾波和模數(shù)轉(zhuǎn)換后,在PC機(jī)上顯示采集到的數(shù)據(jù)并分析、處理。

6 結(jié)束語

該系統(tǒng)采用STM32內(nèi)部12位ADC進(jìn)行模數(shù)轉(zhuǎn)換和內(nèi)部USB模塊進(jìn)行數(shù)據(jù)傳輸,配合外部信號采集與調(diào)理電路,并利用LabVIEW的強(qiáng)大信號分析處理功能,實(shí)現(xiàn)了人或動物生理信號采集、調(diào)理、數(shù)據(jù)傳輸和處理及顯示等功能。操作簡單,通用性強(qiáng),而且極大的降低了成本,很適合后續(xù)功能的開發(fā)。

[1]程龍飛,何聞,基于LabVIEW的USB數(shù)據(jù)傳輸技術(shù)研究[J].機(jī)床與液壓,2009,37(9):106-108.

[2]侯進(jìn)振,占濤,毛樂山,基于CH375的智能數(shù)據(jù)采集卡[J].現(xiàn)代電子技術(shù),2010,33(10):143-147.

[3]楊耀,漆婷,龐小峰,基于USB接口的多通道生理信號采集系統(tǒng)實(shí)現(xiàn)[J].儀器儀表與檢測技術(shù)2005,24(10):51-53.

[4]武利珍,張文超,程春榮,基于STM32的便攜式心電圖儀設(shè)計(jì)[J].電子器件,2009,32(5):946-945.

[5]樊榮,韓濤,基于USB CDC的虛擬以太網(wǎng)接口研究及設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2007,35(7):94-97.

[6]徐超,鄔志峰,基于STM32的便攜式心電信號測量儀的設(shè)計(jì)[J].裝配制造技術(shù),2012,(1):57-59.

猜你喜歡
下位驅(qū)動程序端點(diǎn)
非特征端點(diǎn)條件下PM函數(shù)的迭代根
不等式求解過程中端點(diǎn)的確定
發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
圍觀黨“下位”,吐槽帝“登基”
基丁能雖匹配延拓法LMD端點(diǎn)效應(yīng)處理
CAN總線并發(fā)通信時下位機(jī)應(yīng)用軟件設(shè)計(jì)
驅(qū)動程序更新與推薦
驅(qū)動程序更新與推薦
大同市| 龙陵县| 吴江市| 夏邑县| 蚌埠市| 丹东市| 土默特左旗| 台安县| 永登县| 通许县| 旬阳县| 沭阳县| 班玛县| 登封市| 宁陕县| 新和县| 巨鹿县| 丹东市| 和龙市| 双峰县| 佛冈县| 获嘉县| 武陟县| 普定县| 北川| 香格里拉县| 彝良县| 海口市| 安吉县| 莎车县| 新丰县| 克山县| 佛冈县| 上虞市| 雅江县| 和平区| 长葛市| 资阳市| 延长县| 台北市| 托克逊县|