基于A(yíng)DS1298 與FPGA的高性能腦電信號采集系統
腦電信號(EEG)是一種典型的生物電信號,是大腦皮層腦神經(jīng)細胞電活動(dòng)的總體反映,其中包含了大量的生理和病理信息,是臨床檢測的重要生理參數之一,也是認知科學(xué)、腦機接口和警覺(jué)度等領(lǐng)域研究的重要手段。由于傳統腦電信號采集設備都比較龐大,不便于腦電信號的適時(shí)獲取,因此研究便攜式腦電信號采集設備具有重要意義。
腦電信號采集系統主要包括信號放大與調理、模數轉換、信號處理與傳輸等。由于人體的阻抗高且變化大,腦電信號又很微弱,外部環(huán)境的干擾很大,因此腦電信號采集系統的放大與調理電路比較復雜,通常要包括高輸入阻抗和高共模抑制比的前級放大、帶通濾波、工頻陷波、多級放大等,導致體積大功耗高。模數轉換的精度和速率也決定了腦電信號采集系統的性能,采用10位的模數轉換芯片,或者采用ADI公司最高采樣率1.25 MBPS的12位AD1671芯片,或者采用16位模/數轉換芯片。采用單片機、ARM和DSP作為控制器件的系統中,一般只能完成數據采集和處理較為單一的功能,其中以DSP的數據處理能力最強。相比之下,采用FPGA 作為主控芯片通過(guò)硬件描述語(yǔ)言編程可以靈活地進(jìn)行配置,實(shí)現對多通道數據的并行處理,同時(shí)能將多個(gè)功能在單芯片上實(shí)現,基于FGPA和ADS1258設計了集成有視覺(jué)、聽(tīng)覺(jué)和體感刺激信號源與16通道腦電信號采集功能的誘發(fā)電位儀。腦電信號傳輸的手段以PCI總線(xiàn)、USB等有線(xiàn)方式為主,無(wú)線(xiàn)方式傳輸速率較低,但更易于便攜式設計,因此可以針對特定的應用。
ADS1298是TI公司近年推出的一款針對心電和腦電信號采集的24位專(zhuān)用模數轉換芯片,本文利用該芯片的高精度,以FPGA為主控制芯片,通過(guò)將工頻陷波、帶通濾波等模擬部分轉移到數字側,在保證性能的前提下簡(jiǎn)化腦電信號放大與調理的模擬電路,實(shí)現便攜式腦電信號的采集。
1 系統結構
本文提出的腦電信號采集系統包括信號采集、模數轉換和數據傳輸三個(gè)部分。腦電信號采集系統的總體框圖如圖1所示。

預處理電路包含RC低通濾波和過(guò)壓保護電路,對腦電極采集到的信號進(jìn)行低通濾波和過(guò)壓保護后直接送入到ADS1298模數轉換器中進(jìn)行模/數轉換。右腿驅動(dòng)電路主要是用來(lái)抑制共模干擾,由ADS1298 內部的RLD電路以及外部的電容電阻構成的反向放大濾波電路組成。
系統采用FPGA作為主控制芯片,利用硬件描述性語(yǔ)言來(lái)編寫(xiě)配置I/O 口成通用串行SPI接口,與高精度多通道的模數轉換芯片ADS1298 的SPI 接口相連實(shí)現通信,從而控制ADS1298 將腦電極采集到的模擬信號轉換為數字信號,經(jīng)過(guò)濾波陷波處理后存儲在SDRAM中,作為采集數據的緩沖部分,以便為后續的傳輸模塊做準備。
數據傳輸模塊主要是采用FPGA配置I/O口作為以太網(wǎng)接口芯片DM9000A的控制接口,并與DM9000A的控制接口串聯(lián),實(shí)現其邏輯控制;采用UDP 協(xié)議將從SDRAM中讀取的數據打包,通過(guò)RJ45網(wǎng)絡(luò )接口,傳輸到上位機。8個(gè)通道1 kHz的采樣率,理論上需要192 Kb/s的傳輸速率,以太網(wǎng)口10/100M的傳輸速率完全能滿(mǎn)足需要。
2 硬件電路設計
2.1 腦電信號采集預處理電路
人體自發(fā)的腦電信號的幅值很小,一般為5~100 μV,而誘發(fā)腦電信號的幅值更小,只為2 μV左右。
TI的ADS1298是24位、8通道差分輸入模/數轉換芯片,最大共模抑制比可達115 dB,直流輸入阻抗1 GΩ,在內部增益設置為12 倍和參考電壓VREF =2.4 V 的條件下,信號分辨率為:

因此,將腦電信號不經(jīng)過(guò)放大和調理直接經(jīng)過(guò)簡(jiǎn)單的低通濾波后進(jìn)行模數轉換仍可以滿(mǎn)足需要,故預處理電路設計如圖2所示,其頻率響應函數為:

由式(2)可知3 dB截止頻率為96.2 Hz,腦電信號主要頻帶集中0.1~100 Hz,此預處理電路可完全涵蓋腦電信號的有用信息。

2.2 右腿驅動(dòng)電路
右腿驅動(dòng)電路是抑制生物電信號采集系統中的共模干擾(特別是50 Hz的工頻)的最常用、最有效的一種方法。由于A(yíng)DS1298芯片內部集成了右腿驅動(dòng)電路,因此只需要配置ADS1298 內部相關(guān)寄存器,并在外圍使用少量的電子器件,即可實(shí)現該功能,具體右腿驅動(dòng)電路如圖3所示。從圖3可知,電路由ADS1298內部的RLD電路以及外部的R3 ,R4 ,C3 組成,其中R3 起限流保護作用,R4 與C3 構成反向放大濾波電路。

2.3 FPGA接口電路
為了實(shí)現高精度、高可靠性的腦電信號采集,本系統采用Altera Cyclone Ⅱ系列芯片EP2C35F672 作為控制和處理的核心,EP2C35系列FPGA內部包含33 216個(gè)邏輯單元(LE),105 個(gè)M4K RAM 塊,RAM 總量達到483 840位,35個(gè)內嵌乘法器,4個(gè)鎖相環(huán)(PLL),可用最大I/O 口為475,內部資源完全滿(mǎn)足高性能的腦電采集系統的需求。
本系統中與FPGA 相連的有模數轉換芯片ADS1298、以太網(wǎng)接口芯片DM9000A和SDRAM.FPGA的接口電路就是把這些芯片的信號控制端口、數據讀寫(xiě)端口和地址端口直接與FPGA的I/O相連,通過(guò)Quartus Ⅱ分配相對應的I/O口,即可實(shí)現接口電路的有效連接。
3 軟件模塊設計
3.1 FPGA內部信號處理控制模塊設計
本系統使用Verilog HDL語(yǔ)言單獨編寫(xiě)A/D轉換器的控制模塊、SDRAM存儲器控制模塊、數字濾波器模塊以及以太網(wǎng)端口傳輸控制模塊,通過(guò)功能仿真和時(shí)序仿真來(lái)驗證各個(gè)模塊是否能夠獨立完成相對應的控制功能。驗證成功后,最終通過(guò)例化,在FPGA內部形成一個(gè)腦電信號采集系統的核心處理控制模塊,圖4為核心處理控制模塊的具體功能結構模塊框圖。

3.2 ADS1298軟件設計
本系統中最重要的一環(huán)就是模/數轉換,這里重點(diǎn)介紹ADS1298的軟件模塊設計。ADS1298的工作流程主要包括:上電初始化、發(fā)送操作命令和配置寄存器、開(kāi)始轉換并讀取轉換數據。ADS1298的操作命令主要分為數據操作命令和寄存器讀寫(xiě)命令。數據操作命令主要包含SDATA和RDATAC(連續讀數據)。連續讀數據只需要寫(xiě)入一次RDATAC 操作命令,就可以在每次的DRDY變?yōu)榈碗娖綍r(shí)讀取轉換數據。寄存器讀寫(xiě)命令分為RREG 和WREG.這兩個(gè)操作命令分別包含兩個(gè)字節,第一個(gè)字節為讀寫(xiě)寄存器的起始地址,第二個(gè)字節為讀寫(xiě)寄存器的個(gè)數。
FPGA 軟件編程中具體的ADS1298 模塊內部框圖如圖5所示。

3.3 數字濾波模塊軟件設計
本系統的數字濾波模塊主要為50 Hz 陷波器和數字帶通濾波器,兩者的軟件設計方法相似,這里重點(diǎn)介紹50 Hz 的陷波器設計方法。本系統中設計的陷波器技術(shù)指標為:抽樣頻率fs 為1 kHz,陷波頻率fo 為50 Hz,3 dB 帶邊頻率為45 Hz和55 Hz,阻帶上下邊頻率為49 Hz和51 Hz,阻帶衰減不小于40 dB.為了便于硬件的實(shí)現,本文選用二階的IIR 陷波器,其傳遞函數如式(3)所示:

k 的值決定了陷波深度,根據具體的信號進(jìn)行調整,從而實(shí)現最佳陷波。對于EEG信號,最佳的k 取值為0.88.FPGA軟件設計時(shí)需要根據傳遞函數設置幾個(gè)寄存器存儲系數和中間值,并在每個(gè)時(shí)鐘對這些中間值移位更新,然后重新計算得到新的輸出值。
4 結語(yǔ)
系統采用Altera Cyclone Ⅱ系列芯片EP2C35F672作為控制和處理的核心,8通道、低噪聲、低功耗、24位的Σ-△模/數轉換芯片ADS1298作為采集系統核心,簡(jiǎn)化了系統的硬件設計,具有功耗低、便攜式、精度高等優(yōu)點(diǎn);采用FPGA和DM9000A以太網(wǎng)控制器相結合,成功的將腦電信號采集系統和PC上位機相連,避免了直接上傳時(shí)的數據丟失,實(shí)現了彼此間的高速數據通信。本系統利用Quartus Ⅱ工具和Verilog HDL 語(yǔ)言對FPGA進(jìn)行設計、仿真和驗證,便于設計的修改和優(yōu)化,大大縮短了產(chǎn)品的開(kāi)發(fā)設計周期,因此本系統具有良好的使用價(jià)值和應用前景。
fpga相關(guān)文章:fpga是什么
評論