基于FPGA的誘發(fā)電位儀完整系統(tǒng)設(shè)計(jì)
摘要:設(shè)計(jì)了基于FPGA的誘發(fā)電位儀完整系統(tǒng)。首先給出了整個(gè)誘發(fā)電位儀的總體設(shè)計(jì),討論了FPGA作為主芯片的各模塊集成設(shè)計(jì),在此基礎(chǔ)上論述了ADSl258模/教轉(zhuǎn)換芯片的特點(diǎn)并給出了其與FPGA的接口電路設(shè)計(jì)。該誘發(fā)電位儀系統(tǒng)設(shè)計(jì)具有可靠性高,通用性和擴(kuò)展性好等優(yōu)點(diǎn),并且具有非常重要的應(yīng)用價(jià)值和良好的市場(chǎng)前景。
0引言
誘發(fā)電位是指對(duì)神經(jīng)系統(tǒng)某一特定部位給予特定刺激后在大腦皮層所產(chǎn)生的特定電活動(dòng),對(duì)于神經(jīng)系統(tǒng)功能性異常的疾病有獨(dú)特的檢測(cè)診斷能力,也是大腦認(rèn)知和腦機(jī)接口研究常用的技術(shù)手段。誘發(fā)電位儀通常包括視覺(jué)誘發(fā)電位、聽(tīng)覺(jué)誘發(fā)電位和體感誘發(fā)電位三種檢測(cè)功能,其硬件系統(tǒng)核心組成部分包括:刺激信號(hào)源、腦電信號(hào)放大和數(shù)據(jù)采集。刺激信號(hào)源包括視覺(jué)刺激信號(hào)(如棋盤格、黑白閃光等)、聽(tīng)覺(jué)刺激信號(hào)和神經(jīng)刺激信號(hào),一般采用分離設(shè)計(jì)。
腦電信號(hào)數(shù)據(jù)采集一般包括模/數(shù)轉(zhuǎn)換、數(shù)據(jù)預(yù)處理和數(shù)據(jù)傳輸?shù)炔糠?,而?數(shù)轉(zhuǎn)換芯片和主控微處理器芯片的選擇主導(dǎo)了整個(gè)數(shù)據(jù)采集系統(tǒng)的性能。在目前的采集系統(tǒng)中,基于單片機(jī)的中低端控制芯片功能較弱,逐漸被DSP和ARM或增強(qiáng)型單片機(jī)所取代。DSP芯片采用哈佛結(jié)構(gòu)的流水線工作方式,能實(shí)現(xiàn)復(fù)雜信號(hào)處理算法,如文獻(xiàn)采用DSP實(shí)現(xiàn)復(fù)雜的腦電信號(hào)采集系統(tǒng);而ARM適合做事務(wù)處理或者中低端應(yīng)用,如文獻(xiàn)中通過(guò)ARM處理器建立操作系統(tǒng)實(shí)現(xiàn)任務(wù)調(diào)度。盡管采用DSP和ARM芯片可使系統(tǒng)的運(yùn)算能力和管理事務(wù)的能力得到很大增強(qiáng),但是構(gòu)成完整的數(shù)據(jù)采集系統(tǒng)通常還需要外部邏輯控制器件,尤其不能將數(shù)據(jù)采集和刺激信號(hào)源在單片上集成實(shí)現(xiàn)。
由于現(xiàn)代電子技術(shù)的飛速發(fā)展,可編程邏輯芯片F(xiàn)PGA的集成度越來(lái)越高,受到很多廠家和研究機(jī)構(gòu)的關(guān)注,利用它的可編程性和可擴(kuò)展,可將絕大部分的功能集成到FPGA芯片中。如文獻(xiàn)采用FPGA實(shí)現(xiàn)了腦電信號(hào)采集;文獻(xiàn)則將盲分離算法ICA在FPGA上實(shí)現(xiàn),能同時(shí)對(duì)腦電信號(hào)進(jìn)行采集和獨(dú)立分量分解。
本文針對(duì)誘發(fā)電位儀的硬件系統(tǒng)設(shè)計(jì),提出將信號(hào)采集控制、處理、傳輸、刺激信號(hào)產(chǎn)生等功能集成在一塊FPGA芯片上的設(shè)計(jì)方案,并結(jié)合ADSl258模/數(shù)轉(zhuǎn)換芯片,使得系統(tǒng)具有16通道,每個(gè)通道24位采樣精度和400 kHz采樣率的高性能,而且電路結(jié)構(gòu)簡(jiǎn)單。
1 系統(tǒng)總體設(shè)計(jì)
本文提出的誘發(fā)電位儀包括了刺激信號(hào)源、數(shù)據(jù)采集和數(shù)據(jù)傳輸三大部分。其中核心控制芯片采用Altera公司的FPGA,產(chǎn)生刺激誘發(fā)信號(hào)源包括聽(tīng)覺(jué)刺激、神經(jīng)傳導(dǎo)刺激和視覺(jué)誘發(fā)刺激,以及實(shí)現(xiàn)對(duì)外圍電路如A/D,USB等模塊的控制并在芯片內(nèi)部集成濾波算法模塊;數(shù)據(jù)采集采用高精度多通道的模/數(shù)轉(zhuǎn)換芯片ADSl258將通過(guò)放大器放大后的誘發(fā)電位信號(hào)進(jìn)行模/數(shù)轉(zhuǎn)換并輸入FPGA內(nèi)進(jìn)行前置處理;數(shù)據(jù)傳輸通
過(guò)USB控制器Cypress 68013A將誘發(fā)電位數(shù)據(jù)傳輸至PC上位機(jī),由上位機(jī)應(yīng)用程序?qū)崿F(xiàn)誘發(fā)腦電信號(hào)的后期處理、顯示、存儲(chǔ)等功能。系統(tǒng)總體框圖見(jiàn)圖1。
圖1 系統(tǒng)總體框圖
2 FPGA軟件模塊設(shè)計(jì)
2.1 FPGA的優(yōu)勢(shì)
FPGA即現(xiàn)場(chǎng)可編程門陣列,是在CPLD的基礎(chǔ)上發(fā)展起來(lái)的新型高性能可編程邏輯器件,它既繼承了ASIC的大規(guī)模、高集成度、高可靠性的優(yōu)點(diǎn),又克服了普通ASIC設(shè)計(jì)周期長(zhǎng)、投資大、靈活性差的缺點(diǎn),逐步成為復(fù)雜數(shù)字硬件電路設(shè)計(jì)的理想選擇。不同于傳統(tǒng)的誘發(fā)電位儀設(shè)計(jì),本文將大部分分立元件實(shí)現(xiàn)的功能集成到了FPGA芯片中,實(shí)現(xiàn)多種刺激模式和濾波模塊以及實(shí)現(xiàn)對(duì)外圍器件的控制,不僅提高了集成度使儀器小型化、便攜化成為可能,而且片內(nèi)模塊可反復(fù)修改,提高了設(shè)計(jì)開(kāi)發(fā)效率降低了成本,也可以方便地實(shí)現(xiàn)各模塊之間的同步。
2.2 軟件模塊整體設(shè)計(jì)
本設(shè)計(jì)中,F(xiàn)PGA芯片軟件模塊包括了誘發(fā)電位刺激模塊、信號(hào)傳輸控制模塊和數(shù)字信號(hào)處理模塊三大部分;由共同的同步信號(hào)協(xié)同合作,完成誘發(fā)電位儀的誘發(fā)刺激、信號(hào)的傳輸、數(shù)字濾波等核心控制處理功能。FPGA內(nèi)軟件模塊框圖如圖2所示。
圖2 FPGA 內(nèi)部功能結(jié)構(gòu)模塊
2.3 誘發(fā)電位刺激模塊
在FPGA芯片中設(shè)計(jì)了誘發(fā)電位刺激模塊,主要功能包括:聽(tīng)覺(jué)誘發(fā)電位刺激、神經(jīng)傳導(dǎo)刺激和視覺(jué)誘發(fā)電位刺激。刺激信號(hào)主要由脈沖信號(hào)進(jìn)行控制,通過(guò) FPGA芯片可以直接輸出脈沖信號(hào)和VGA控制信號(hào)。聽(tīng)覺(jué)誘發(fā)刺激信號(hào)和神經(jīng)傳導(dǎo)刺激信號(hào)可由FPGA輸出的脈沖信號(hào)經(jīng)功率放大后產(chǎn)生,在此聽(tīng)覺(jué)誘發(fā)電位刺激信號(hào)為雙通道,一路信號(hào)產(chǎn)生脈沖信號(hào)如PWM(脈寬調(diào)制)波,另一路由FPGA芯片內(nèi)部模塊通過(guò)DA轉(zhuǎn)換器產(chǎn)生白噪聲,而神經(jīng)傳導(dǎo)刺激信號(hào)可直接由 FPGA輸出PWM脈沖直接驅(qū)動(dòng)電壓放大器生成。通過(guò)Verilog硬件描述語(yǔ)言,在FPGA中實(shí)現(xiàn)誘發(fā)電位刺激源信號(hào),并通過(guò)FPGA端口輸出,例如在芯片中使用以下代碼可產(chǎn)生一個(gè)占空比為PWM_WIDTH:1的PWM波形:
視覺(jué)誘發(fā)刺激信號(hào)由在FPGA芯片中存儲(chǔ)的刺激圖像數(shù)據(jù)直接產(chǎn)生VGA時(shí)序控制信號(hào),控制VGA顯示器顯示棋盤格或彩條刺激圖像給予人體視覺(jué)刺激。
誘發(fā)電位刺激信號(hào)主要參數(shù)包括刺激脈寬、刺激頻率、刺激強(qiáng)度、刺激類型和刺激模式,USB芯片從上位機(jī)接收到參數(shù)配置信號(hào),傳遞給誘發(fā)刺激信號(hào)生成模塊發(fā)出脈沖。例如,生成聽(tīng)覺(jué)誘發(fā)電位刺激信號(hào)如圖3所示,它的刺激脈寬為0.2 ms,刺激頻率為12 Hz,設(shè)置某一刺激強(qiáng)度(由分貝進(jìn)行度量);而生成視覺(jué)誘發(fā)電位刺激信號(hào),刺激頻率為2 Hz,刺激類型為棋盤格模式,刺激模式為16×16。
圖3 刺激信號(hào)脈寬和周期
2.4 信號(hào)傳輸控制模塊
在FPGA內(nèi)部將完成誘發(fā)電位儀同步信號(hào)發(fā)生模塊、A/D轉(zhuǎn)換器的控制、USB傳輸控制端口和上位機(jī)命令解析模塊,從而形成一整個(gè)誘發(fā)電位儀核心處理控制模塊,可以方便地使用各個(gè)模塊來(lái)完成外圍器件的初始化、工作模式配置和系統(tǒng)的數(shù)據(jù)傳輸。圖4為信號(hào)傳輸控制流程圖。
圖4 信號(hào)傳輸控制流程圖
2.5 數(shù)字信號(hào)處理模塊
數(shù)字信號(hào)處理模塊集成到FPGA中,可以將算法拆分,形成大規(guī)模的數(shù)字信號(hào)處理并行結(jié)構(gòu),將極大地提高處理速度,且性能不會(huì)下降,如模式識(shí)別算法、盲源分離算法等,均比較適合集成到FPGA中實(shí)現(xiàn)。在前置模擬電路放大之前,腦電信號(hào)為微弱混雜的信號(hào),需要做一些濾波處理,而此處可以將前段部分的帶通濾波電路轉(zhuǎn)化為數(shù)字濾波器,設(shè)置到FPGA芯片中去,可簡(jiǎn)化電路結(jié)構(gòu),使系統(tǒng)整體體積大大減小。本設(shè)計(jì)在FPGA芯片中搭建了四階無(wú)限脈沖數(shù)字濾波器,其系統(tǒng)傳遞函數(shù)H(z)如下:
將誘發(fā)電位信號(hào)放大模/數(shù)轉(zhuǎn)換之后的數(shù)據(jù)實(shí)時(shí)經(jīng)過(guò)濾波,實(shí)現(xiàn)信號(hào)的前置處理,經(jīng)測(cè)試效果良好。利用FPGA的并行性,在每個(gè)通道設(shè)置一個(gè)數(shù)字濾波器,大大增強(qiáng)了系統(tǒng)實(shí)時(shí)性,而且可探索自適應(yīng)、小波數(shù)字濾波器等設(shè)計(jì),在硬件層次提高系統(tǒng)的處理能力。
3 高精度多通道模/數(shù)轉(zhuǎn)換器ADSl258
在誘發(fā)電位儀采集系統(tǒng)中,模/數(shù)轉(zhuǎn)換模塊芯片的選取對(duì)整個(gè)采集系統(tǒng)的結(jié)構(gòu)和性能影響非常大,本文模/數(shù)轉(zhuǎn)換芯片選用ADSl258器件,使得本系統(tǒng)達(dá)到多通道高分辨率的要求。
3.1 ADSl258的主要特點(diǎn)
ADSl258是16通道24位分辨率的低噪聲模/數(shù)轉(zhuǎn)換芯片,全量程5 V的單端輸入范圍或者±2.5 V的真雙極輸入,每個(gè)通道采樣速率最高23.7 KSPS(16通道同時(shí)采樣),單個(gè)通道采樣最高可達(dá)400 KSPS,通過(guò)SPI兼容接口進(jìn)行工作模式配置和串行數(shù)字通信,使用方便。選用此芯片,電壓分辨率即可達(dá)到1 μV,因此信號(hào)放大和調(diào)理預(yù)處理電路的放大倍數(shù)只要100倍就可滿足誘發(fā)電位儀的技術(shù)要求,大大簡(jiǎn)化了前級(jí)電路。
3.2 ADSl258與FPGA接口電路
ADSl258通過(guò)一個(gè)SPI兼容串行接口將數(shù)據(jù)寫入配置寄存器,使用命令控制轉(zhuǎn)換器以此來(lái)控制A/D芯片的工作模式,并最終讀取通道數(shù)據(jù)。接口包含,SCLK,DIN 和DOUT四個(gè)信號(hào)。對(duì)ADSl258的所有操作都得先向其寫入命令,然后由AD根據(jù)寫入的命令做相應(yīng)的操作。經(jīng)過(guò)FPGA的A/D配置模塊啟動(dòng)之后,ADSl258將處于固定通道掃描模式下或者自動(dòng)通道掃描模式下,ADSl258將可轉(zhuǎn)換16路共模輸入信號(hào)或8路差分輸入信號(hào)。模擬信號(hào)由AIN口輸入,輸入范圍0~+5 V。外圍控制端口接駁到FPGA,由FPGA控制模塊控制A/D采樣,由進(jìn)行選通,START啟動(dòng)ADC開(kāi)始工作,通過(guò)DIN輸入命令之后由DOUT輸出轉(zhuǎn)換結(jié)果,共使用8個(gè)端口與FPGA芯片的端口相連接。具體接口電路的實(shí)現(xiàn)如圖5所示。
圖5 ADS1258 與FPGA 芯片的接口電路
4 結(jié)語(yǔ)
利用FPGA芯片豐富的資源,將誘發(fā)電位儀的刺激信號(hào)源、模/數(shù)轉(zhuǎn)換控制邏輯和USB接口控制與數(shù)據(jù)傳輸以及數(shù)字信號(hào)處理等模塊設(shè)計(jì)在單個(gè)芯片上,可最大限度地簡(jiǎn)化誘發(fā)電位儀的硬件電路復(fù)雜度,利用其可編程性極大地方便了硬件設(shè)計(jì),結(jié)合ADSl258的高分辨率的優(yōu)勢(shì),可以使系統(tǒng)既具有優(yōu)異的性能又具有很高的集成度,而且本設(shè)計(jì)尚余很多FPGA的I/O口,如需更多通道則僅需要加入多塊A/D芯片,具有較高的應(yīng)用價(jià)值。