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