謝宏,,萬兵,,楊文璐,夏斌,,姚楠
?。ㄉ虾:J麓髮W 信息工程學院 上海 201306)
摘要:介紹了一種近紅外信號采集模塊的設計方案,它主要采用ADS1299采樣芯片,,利用FPGA的可編程邏輯控制的特點,采用狀態(tài)機編程思想,,通過編程設計A/D的讀控制時序和寫控制時序,,將采樣結果實時保存在雙口RAM里,并通過NiosII軟核處理器進行控制,,從而實現(xiàn)高精度多通道A/D采樣系統(tǒng)采集模塊的設計,。通過實驗表明,該設計是有效可行的,。
關鍵詞:近紅外信號,;FPGA;NIOSII,;ADS1299,;A/D采集模塊;狀態(tài)機
0引言
21世紀是生物科學與腦科學的時代,,功能近紅外光譜技術(Functional NearInfrared Spectroscopy, FNIRS)是一種新興的腦功能檢測技術,,它利用近紅外光波段700-900 nm在大腦中傳播的吸收特性,能夠提供基于血紅蛋白濃度變化的血液動力學信息,,反映大腦皮質的血氧代謝狀況,,可用于腦功能活動的檢測。相比于傳統(tǒng)腦電信號(EEG)的檢測方法,,它具有高的時間分辨率,、實時性、抗干擾性以及高穩(wěn)定性等優(yōu)點[1],。
目前的腦功能信號采集設備的體積往往較大,,只能用于固定場所,不便于實時信號獲取,,不能用于突發(fā)狀況,,因此急需一種便捷式腦功能信號采集設備。在便捷式腦功能信號采集方面,,國外研究較早,,技術比較成熟,,已做出產(chǎn)品,,但售價昂貴。國內(nèi)方面大多處于數(shù)據(jù)處理,、特征提取和應用研究上,,對相關儀器的研發(fā)偏少,更沒能開發(fā)出相關的系統(tǒng)[2],,因此研究便捷式腦功能信號采集的設備具有重要的意義,。
為了完整反映腦部的不同區(qū)域活動情況,,需要同時采集多路數(shù)據(jù),因此對信號處理的實時性,、抗干擾性與精度有很高的要求,,而ADS1299的8路低噪聲24位同時采樣的特性能很好地滿足了這一需求。它是一款常用腦電信號的采集芯片,,由于近紅外信號比腦電信號穩(wěn)定得多且受到的干擾較小,,因此同樣也適合近紅外信號的采集,在同等條件下,,采集的數(shù)據(jù)更加準確可靠,,而且高度集成,其體積小,、功耗低等優(yōu)點對便捷式系統(tǒng)的設計十分的有利[3],。在主控芯片的選取中,很多文獻都是采用單片機,、ARM以及DSP作為主控制芯片,,如文獻[4]、[5]等,,使其在運行速度,、數(shù)據(jù)處理、接口靈活性以及對功能的擴展方面都有各自的局限性,,往往顧此失彼,,不能兼得,而FPGA強大的功能不但綜合了它們的優(yōu)點,,而且克服了這些不足,,十分適合作為主控芯片。因此,,本文提出了一種基于ADC+FPGA+PC架構的方案,,設計一個高度集成的便捷式近紅外光信號采集系統(tǒng)。
1總體設計
基于功能近紅外光譜技術的原理,,將近紅外LED的760 nm,、850 nm波長的發(fā)射光強分別調制在0.8 KHz和1.2 KHz的正弦波上,實現(xiàn)了兩個波長的頻分復用,,而在不同通道之間,,采用時分復用進行傳輸,從而實現(xiàn)近紅外信號的多路傳輸,。此后,,發(fā)射出的近紅外信號經(jīng)過大腦反射后通過光電轉換芯片轉換為電信號,再經(jīng)過預處理(阻抗匹配和低通濾波)后,進入集成模擬前端,。根據(jù)采集的信號頻率和奈奎斯特采樣定理,,TI公司的A/D轉換芯片ADS1299的250~16 kS/s的采樣速度能夠很好地滿足要求,24位的極高采樣精度也大大降低了對信號預處理的要求,且信號穩(wěn)定,,無需采用差分輸入方式,。系統(tǒng)采用Altera公司的FPGA芯片EP2C20F484C7作為主控芯片,利用硬件描述語言(VHDL)將GPIO口配置成通用串行SPI口,,用SPI與ADS1299進行通信,。在FPGA內(nèi)部配置了一個雙口的RAM,用于實時存儲ADS1299的輸出結果,。FPGA內(nèi)部采用Avalon_MM總線進行通信,,CPU采用NIOSII軟核處理器,處理后的數(shù)據(jù)通過UART總線傳輸至PC,。其系統(tǒng)原理框圖如圖1所示,。
2FPGA控制ADS1299的實現(xiàn)
2.1ADC與FPGA接口模塊設計
2.1.1SPI接口控制原理
串行外圍設備接口(Serial Peripheral Interface,SPI)是一種高速,、全雙工,、同步的通信總線。它僅需四條信號線,,不僅僅節(jié)約了管腳,,而且對PCB的布局十分有利。正是由于這種簡單易用的特性,,許多公司的芯片都集成了這種通信協(xié)議,。而ADS1299正是采用了這種協(xié)議[6]。
ADS1299的SPI接口由四條信號線組成,,分別定義為CS,、SCLK、DIN和DOUT,。其中CS是芯片的片選信號,,只有CS有效時(一般為低電平有效),對芯片的操作才可行有效,,根據(jù)CS這一特性,,可以在同一總線上連接多個SPI設備,而使其數(shù)據(jù)的傳輸不產(chǎn)生沖突,。SCLK是SPI同步時鐘信號,,該信號多由主機產(chǎn)生,數(shù)據(jù)信號往往在該時鐘的上升沿或下降沿逐位進行傳輸,。DIN和DOUT是主從機進行通信的數(shù)據(jù)信號,,DIN即主機的輸入或者說是從機的輸出,DOUT即主機的輸出或者說是從機的輸入,。SPI的工作模式有兩種:主模式和從模式,。SPI總線可以配置成單主單從、單主多從和互為主從三種通信方式,。在設計中,,將FPGA作為SPI的主機,ADS1299作為從機,,使其處于單主單從的工作模式,。其中的信號CS和SCLK是由FPGA內(nèi)部信號控制產(chǎn)生的。
圖2是FPGA的SPI組件的內(nèi)部結構,。SPI組件通過Avalone總線和中斷請求信號irq與NIOSII處理器相連,。內(nèi)部也有一個divisor寄存器,也是對其輸入工作時鐘進行分頻得到最終與外設接口的時鐘sclk,。rxdata和txdata寄存器用于NIOSII處理器讀寫收發(fā)數(shù)據(jù),,與它們直接接口的還有一個串并轉換的移位寄存器shifin和一個并串轉換的移位寄存器shifout。NIOSII可以從status寄存器讀取當前SPI組件的狀態(tài),,slave select寄存器主要是在擁有多個從機時控制其片選,。
2.1.2有限狀態(tài)機編程思想與時序程序設計
有限狀態(tài)機是一類很重要的時序電路,是許多數(shù)字電路的核心部分,,且有限狀態(tài)機的編程設計具有高速性,、可靠性、穩(wěn)定性的特點,。因此,,對于ADC與FPGA接口模塊與雙口RAM讀寫模塊,將采取有限狀態(tài)機進行編程,。與傳統(tǒng)的用CPU按照指令逐條運行的操作方式相比,,采用狀態(tài)機的形式,可以在每個狀態(tài)中并行同步完成許多運算和控制操作,,而且一般用狀態(tài)機構成的硬件系統(tǒng)比對應的用CPU按照指令完成同樣功能的系統(tǒng)的工作速度要高出3~5個數(shù)量級,,是其高速性的具體體現(xiàn)。在可靠性與穩(wěn)定性方面,,由于其運行不依賴軟件指令逐條執(zhí)行,,且是由FPGA中的純硬件電路構成,因此不存在CPU運行軟件過程中的許多缺陷,,具有很高的可靠性與穩(wěn)定性[7],。
圖3是ADS1299串行接口的狀態(tài)轉換圖。將其劃為24個有限狀態(tài),,S_Idle 為空閑狀態(tài),,S_CS,、S_Wreg_1、S_Wreg_2,、S_ID,、S_config1、S_config2,、S_config3,、S_Loff、S_CH1_set,、S_CH2_set,、S_CH3_set、S_CH4_set,、S_CH5_set,、S_CH6_set、S_CH7_set,、S_CH8_set,、S_Bias_sensp、S_Bias_sen,、S_Loff_sensp,、S_Loff_sensn、S_Loff_fli,、S_Loff_statp,、S_Loff_statn、S_Gpio,、S_Misc1,、Misc2、S_config4為ADC內(nèi)部寄存器配置的初始狀態(tài),。S_Start_c為指令控制ADC起始的轉換狀態(tài)(ADC由指令進行控制,,此時芯片上START引腳接低電平)。S_Start為ADC數(shù)據(jù)轉換狀態(tài),,控制ADC的數(shù)據(jù)轉換,。S_DRDY是數(shù)據(jù)已經(jīng)轉換好,可以輸出的使能狀態(tài),,低電平有效,,在輸出時鐘的第一個上升沿時拉高。S_CS_Assert為片選狀態(tài),。S_RDATA控制其進入單口傳輸模式進行數(shù)據(jù)傳輸(ADC內(nèi)部數(shù)據(jù)傳輸有兩種模式:持續(xù)傳輸模式與單口傳輸模式,,其中單口傳輸模式更適合腦電信號的傳輸)。S_STAT,、S_CH1,、S_CH2,、S_CH3、S_CH4,、S_CH5,、S_CH6,S_CH7,、S_CH8為ADC內(nèi)部狀態(tài)寄存器與八通道的數(shù)據(jù)輸出狀態(tài)。S_Stop_c為控制轉換的停止狀態(tài),,此時ADC停止工作,。
2.2雙口RAM的讀寫
所謂的雙口RAM就是在一個SRAM存儲器上具有兩套完全獨立的數(shù)據(jù)線、地址線和讀寫控制線,,其最大的特點是存儲數(shù)據(jù)共享,,并允許兩個獨立的CPU或控制器同時對該存儲器進行隨機性的讀寫訪問,即可以同時異步地對存儲器進行讀寫[8],?;谝陨咸攸c,可以將采樣結果實時儲存在雙口RAM里,,處理器可實時讀取采樣結果,,這樣能夠不占用處理器資源,大大提高了處理器的工作效率[9],。圖4是簡單的雙口RAM的接口配置電路,。
根據(jù)雙口RAM的工作原理和讀寫時序要求。其時序波形圖如圖5所示,。
2.3結果分析
整個設計是在Altera公司提供的Quartus II,、NIOS II Software Build Tools for Eclipse以及Modelsim等軟件平臺上完成的,整體采用VHDL硬件語言設計,,F(xiàn)PGA通過Avalon_mm總線與各模塊進行通信,,外部通過UART與PC之間進行數(shù)據(jù)交互。
通過Modelsim仿真測試,,測得用狀態(tài)機編寫ADS1299與FPGA接口的部分仿真時序如圖6所示,。
雙口RAM的讀寫時序如圖7所示。
3結論
本文設計的基于FPGA 控制,、雙口RAM存儲的高速數(shù)據(jù)采集系統(tǒng)具有可靠性高,、數(shù)據(jù)不丟失、抗干擾性強,、便于數(shù)據(jù)傳輸,、存儲、顯示和處理及可擴展性好等優(yōu)點,。其相比于傳統(tǒng)采集系統(tǒng)設計,,一方面,,簡化了硬件電路;另一方面,,減少了對處理器資源的占用,,對提高處理器的效率具有很大意義。實驗表明,,系統(tǒng)的各項指標均達到要求,,具有很強的工程實用價值。
參考文獻
?。?] 張巖.基于近紅外光譜技術的腦功能活動信號提取方法研究[D].哈爾濱:哈爾濱工業(yè)大學, 2011.
?。?] 謝宏,王光明,姚楠,,等.可穿戴式的功能近紅外光譜成像系統(tǒng)的前端設計[J].微型機與應用,,2015,34(10):29 31.
?。?] TI.ADS1299EEG FE user’s guide[OL].(2012 01 XX)[2016 03 28]http://focus.ti.com.cn/cn/lit/ds/syml ink/slau443.pdf.
?。?] 孫廣金.基于ADS1299的新型腦電采集系統(tǒng)設計[J].機械與電子,2014(1):73 74.
[5] 宋勐翔,陳蘭嵐.基于ADS1298與STM32F407的心電采集與顯示系統(tǒng)設計[J].現(xiàn)代電子技術,,2015(13):141 144.
?。?] 吳厚航.深入淺出玩轉FPGA[M].北京:北京航空航天大學出版社,2010.
?。?] 王小進, 涂煜. 基于AD7606的繼電保護數(shù)據(jù)處理設計[J].船電技術,2014,34(9):46 49.
?。?] 謝宏,李亞男,夏斌,等.基于ADSl299的可穿戴式腦電信號采集系統(tǒng)前端設計[J].電子技術應用,2014,40(3):86 89.
?。?] 唐永輝,徐鳴謙,烏建中.雙口RAM在嵌入式多CPU系統(tǒng)中的應用[J].制冷空調與電力機械,2005(1):49 52.