《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高頻視覺刺激控制器的設計
基于FPGA的高頻視覺刺激控制器的設計
2015年電子技術應用第2期
何超文,林 霖,喻德曠
南方醫(yī)科大學 生物醫(yī)學工程學院,,廣東 廣州510515
摘要: 研究穩(wěn)態(tài)視覺誘發(fā)電位需要視覺刺激器生成高頻刺激信號。而傳統(tǒng)的刺激器在產生高頻圖像刺激時的準確性和同步性極差,,并且使用不便、刺激模式單一。鑒于此,設計了一個高頻視覺刺激控制器,,以FPGA為控制器并采用硬件描述語言Verilog HDL設計程序,,實現(xiàn)圖像刺激的生成,。實驗結果顯示,設計的視覺刺激控制器具備時間精度高,、準確性高和同步性好的優(yōu)點,,能有效地生成高頻刺激信號。
中圖分類號: R318;Q436
文獻標識碼: A
文章編號: 0258-7998(2015)02-0035-03
Design of high-rate visual stimulation controller based on FPGA
He Chaowen,,Lin Lin,,Yu Dekuang
School of Biomedical Engineering,Southern Medical University,,Guangzhou 510515,,China
Abstract: In some visual evoked potential(VEPs) studies, such as steady-state VEP or VEPs with high-rate reversal patterns, the stimulator is required to be capable of manipulating the screen refresh rate precisely. The computer-based stimulator driving by software program is limited in generating high accuracy and up to screen refreshing rate level visual patterns because the time-delay nature of the processes under the operational system. This paper introduces a new design of stimulator scheme based on FPGA,which is able to directly control the VGA interface by the specific timing sequence signals. FPGA chip of EP4CE30 programmed by hardware description language Verilog HDL is used as controller and to generate image stimulus. The device is tested in cooperated with a high performance CRT monitor to generate up to 85 Hz reversal rate stimulation with high accuracy and synchronization.
Key words : visual evoked potential,;steady state response,;high-rate;visual stimulation controller,;FPGA

  

0 引言

  人的視網膜感受光信號刺激后,,將會誘發(fā)一系列源于視覺傳導通路及枕葉視皮層的電生理活動,即視覺誘發(fā)電位(Visual Evoked Potential,,VEP)[1],。在低刺激率(<3rev/s)下,會誘發(fā)暫態(tài)視覺誘發(fā)電位(transient VEP,,tVEP),。而當刺激率提高(>7rev/s),視覺誘發(fā)電位會出現(xiàn)穩(wěn)態(tài)反應(Steady-State VEP,,SSVEP)[2],。Bobak的研究表明,tVEP和SSVEP是由大腦不同生理通道處理產生[3],。Herrmann認為,,SSVEP反映了受刺激信號驅動的神經節(jié)律現(xiàn)象[4]。另外,,SSVEP在神經視功能的評估方面有廣闊的應用前景,,是當前視覺誘發(fā)電位領域的研究熱點。

  在研究SSVEP的實驗中,,需要給予受試者一個高頻率的視覺刺激信號,,并保證刺激圖像和觸發(fā)信號的同步性與準確性。視覺刺激器產生用于VEP檢查的視覺刺激信號,,傳統(tǒng)的刺激器主要有兩種:(1)基于單片機的視覺刺激器,,其原理是利用單片機輸出刺激圖像。其性能穩(wěn)定,,但單片機內部資源有限,,變更刺激模式困難;(2)基于PC的視覺刺激器,,是通過PC上的軟件編程實現(xiàn)圖像刺激,。其優(yōu)點是方便修改代碼,能靈活地產生不同刺激模式。但因刺激器需運行在多任務操作系統(tǒng)下,,其時間精度有賴于CPU性能及對硬件的調度,。刺激器在產生高頻圖像刺激時,圖像刺激和觸發(fā)信號會出現(xiàn)延時[5],,導致同步性變差,。在本實驗中采用MATLAB產生高于30 rev/s的圖像刺激,出現(xiàn)圖像失真和觸發(fā)信號延遲,??梢姡瑔纹瑱C方式的不靈活和軟件方式的同步性差不能滿足目前SSVEP研究對刺激器的要求,。

  本文設計一種基于FPGA的高頻視覺刺激控制器,,從串口接收刺激模式命令,在由FPGA控制生成刺激圖像的同時,,向采集設備發(fā)送觸發(fā)信號,。測試結果表明,本文設計的高頻視覺刺激器能靈活地變更不同的刺激模式,,并確保了高刺激率下刺激圖像和采集信號的完全同步,。

1 系統(tǒng)整體設計

  本文設計的高頻視覺刺激控制器采用Altera公司的EP4CE30型FPGA芯片作為主控器件。整個視覺刺激器包括硬件和軟件兩個部分:(1)系統(tǒng)硬件部分,,主要采用一塊FPGA電路板,,包括串口電路、VGA接口電路,、按鍵電路及I/O口等外圍電路,;(2)系統(tǒng)軟件部分,主要是由硬件描述語言設計的FPGA程序組成,,包括串口通信模塊,、VGA時序掃描模塊、刺激圖像描述模塊及刺激率控制模塊,。

001.jpg

  刺激器工作原理如圖1所示,,視覺刺激器上電后,讀取預置的配置文件完成硬件系統(tǒng)初始化,。上位機通過LabVIEW編寫的用戶界面向串口發(fā)送刺激模式的選擇信號至FPGA芯片,。在串口模塊解析完上位機的控制指令后, VGA控制模塊按所選的刺激模式開始行掃描和場掃描,,在刺激圖像描述模塊中生成所需的刺激圖像,,并在刺激率控制模塊中產生相應的刺激率信號及觸發(fā)信號,再將觸發(fā)信號發(fā)送到FPGA板上I/O口,,經并行接口送至誘發(fā)電位采集設備,,并把RGB、行同步及場同步信號發(fā)送給VGA接口,,通過接口上連接的顯示器向受試者給予視覺誘發(fā)刺激,。目前對于通過本刺激器所誘發(fā)的數據采集利用美國NeuroScan公司的SynAmps2系統(tǒng),此系統(tǒng)需要接收一個來自刺激器的觸發(fā)信號(脈沖信號),,用于標記視覺刺激的開始位置,。

2 系統(tǒng)核心控制模塊

  FPGA控制程序是本系統(tǒng)的核心部分,本文根據模塊化設計方法把系統(tǒng)劃分為串口通信模塊,、VGA時序掃描模塊,、刺激圖像描述模塊及刺激率控制模塊四大模塊。然后把實例化的子模塊連接起來,,組成一個完整的系統(tǒng),。

  2.1 串口通信模塊

  上位機和刺激器間的通信通過串口通信模塊實現(xiàn)。串口通信模塊包括波特率發(fā)生器,、發(fā)送器和接收器3個子模塊,。波特率發(fā)生器模塊根據串口協(xié)議,負責對系統(tǒng)時鐘(50 MHz)進行5 208個計數定時,,分頻得到讀寫波特率9 600 b/s(1×5 208/50 MHz≈1/9 600 s),。

002.jpg

  發(fā)送器和接收器屬于串口通信模塊,主要負責接收上位機的控制命令并根據協(xié)議反饋握手信號,。本串口模塊的幀數據每隔1個讀寫時鐘讀寫1位,,遵循讀寫次序為1位起始位、8位數據位,、1位校驗位與1位停止位[6],。模塊采用狀態(tài)機的方式來實現(xiàn)。以接收器為例,,分別以rxReady,、rxStart、rxRead,、rxEnd標識 4個狀態(tài),。圖2為接收器狀態(tài)轉換圖, 狀態(tài)rxReady判斷信號rxEn為低電平就決定狀態(tài)機的開始,,并進入rxStart狀態(tài),,判斷信號isReady為低電平就標記幀數據的起始位并進入狀態(tài)rxRead,利用計數器count循環(huán)讀取8位有效數據,,最后狀態(tài)rxEnd負責延時兩個讀寫時鐘信號而忽略校驗位和停止位,,并輸出isDone接收完畢信號。數據接收完后,,狀態(tài)機重新進入rxReady狀態(tài)等待下一個幀數據的接收,。

  2.2 VGA時序掃描模塊

  本模塊中主要是通過對系統(tǒng)時鐘進行PLL鎖相倍頻得到VGA的掃描時鐘[7],,再通過行同步和場同步信號控制CRT顯示器的陰極射線槍發(fā)射電子束,按設定的時序打在涂有熒光粉的熒光屏上,,產生紅綠黃三基色,,合成1個彩色像素。掃描從屏幕左上角頂點開始,,從左往右,,從上到下逐點掃描。每掃描完一行,,電子束需要回到屏幕的左邊下一行的起始點,,此時就要用行同步信號對電子束消隱,避免電子束損壞屏幕圖像,;掃描完所有行,,再由場同步信號進行消隱,讓電子束重新回到屏幕左上角頂點,,同時需要行消隱,,準備下一場的掃描。VGA顯示器有800×600@60 Hz,、1 024×768@85 Hz等多種顯示標準,,以1 024×768@85 Hz說明VGA時序掃描的原理,此VGA標準下時序技術參數如表1所示[7],。

003.jpg

  行同步信號HS和場同步信號VS的時序圖如圖3所示,。HS先拉低96個脈沖周期(以o表示)后再被拉高,即行消隱時間,;經過208個脈沖(以q表示)后,,DATA數據有效,即顯示器開始掃描1 024個列像素點(以c表示),,掃描完成到下一次HS再次被拉低,,中間經過48個時鐘脈沖(以d表示)[8]。掃描一行的數據幀長為1 376,。同樣,,VS類似HS的掃描方式。VS先拉低3個行周期(以a表示)后再被拉高,,延遲36個行周期(以b表示)后行再被拉低,,這樣開始掃描這一幀的數據,經過1個行周期(以p表示),,完成全幀掃描后VS再次被拉低重復上述過程,。

  2.3 刺激圖像描述模塊

  本模塊把顯示屏看作一個直角坐標系,原點在屏幕左上角,,通過列計數器Hcnt和行計數器Vcnt,,定義掃描有效顯示區(qū)域的行和列坐標變量Haddr和Vaddr,,通過直接對不同坐標地址賦予不同的顏色值,產生視覺誘發(fā)電位實驗所需刺激圖像,,如水平光柵,、垂直光柵和棋盤格等。

004.jpg

  以棋盤格刺激圖像為例,,刺激器是通過生成同位置黑白相反的兩幅棋盤格圖像,,按照翻轉信號的高低電平變化將兩幅棋盤格RGB信號輪流發(fā)送給VGA端口,。如圖4所示,,翻轉信號在高電平時顯示圖像1,反之,,在低電平時顯示圖像2,,因此實現(xiàn)兩幅棋盤格翻轉的效果。棋盤格生成流程如圖5所示,,圖中M,、N分別代表棋盤格的水平和垂直的格數,寄存器rgb1和rgb2分別負責寄存兩幅棋盤格中不同位置的顏色值,。

005.jpg

  2.4 刺激率控制模塊


006.jpg

008.jpg

  一個翻轉周期(cycle)包括兩個顏色相反的圖像翻轉,,而翻轉頻率指每秒鐘翻轉(reversal)的次數(rev/s)。兩者關系可以表示為1 Hz相當于2 rev/s[2],。本刺激器中刺激率指每秒的翻轉次數,,是通過對VGA時序掃描模塊產生的場同步信號分頻得到。場同步信號即VGA工業(yè)技術上的刷新率,。如圖6所示,,翻轉信號和觸發(fā)信號產生原理是通過捕捉VS的下降沿時刻,本模塊就按設定的分頻數生成一個方波信號,,即翻轉信號,。同時,在方波信號發(fā)生高低電平變換時刻,,即圖像每次翻轉時同步產生一個脈沖信號,,即觸發(fā)信號。這樣的實現(xiàn)方式保證了VS和翻轉信號的時鐘同源,,從而確保刺激圖像的正確顯示,。比如,60 Hz二分頻得30 Hz(60 rev/s),。由VESA公布的VGA時序[7],, 表2舉例部分刷新率分頻可得的刺激率。由表2可看出本刺激器已可實現(xiàn)高于30 rev/s的刺激率,,并隨著得到更高刷新率的時序技術參數,,就能實現(xiàn)更高的刺激率,。

009.jpg

3 刺激器測試結果

  本文選擇顯示標準為1 024×768@60 Hz進行測試,通過JTAG口把編譯成功的FPGA程序燒錄到板上Flash芯片中,,采用19寸CRT顯示器(EIZO T761)作為刺激視屏,。

007.jpg

  測試結果如圖7所示,圖7(a)是上位機的控制界面,,參數選擇包括視角,、視野空間、刺激次數和刺激率,。圖7(b)為高刺激率30 rev/s時示波器的檢測情況,,示波器通道1顯示翻轉信號波形,通道2顯示觸發(fā)信號波形,,通道1高低電平切換時刻與通道2高電平開始時刻完全一致,,這說明了圖像刺激與觸發(fā)信號完全保持同步性。

4 穩(wěn)態(tài)視覺誘發(fā)電位測試實驗

  為測試本視覺刺激器在高刺激率下的有效性,,本文進行了一個高刺激率的視覺誘發(fā)電位測試實驗,。

  實驗方法和步驟均嚴格按照視覺誘發(fā)電位實驗標準要求[9],利用本刺激器生成20,、30和60 rev/s等3個高頻刺激信號,,對1名受試者進行以上3個高刺激率的視覺誘發(fā)電位測試實驗。文獻[2]提到,,SSVEP波形是一個類似正弦曲線的波形,,且頻率固定。利用MATLAB處理通過SynAmps2系統(tǒng)采集所得數據并分別畫出SSVEP波形圖,,如圖8所示,。從圖可清晰看出,3個SSVEP波形都是類似正弦曲線的周期性波形,,即受試者在3個高刺激率下,,視覺系統(tǒng)都有效地誘發(fā)出視覺穩(wěn)態(tài)反應。

010.jpg

  由刺激器測試結果和視覺測試實驗證明,,本文設計的基于FPGA的高頻視覺刺激控制器能滿足穩(wěn)態(tài)視覺誘發(fā)電位的實驗要求,,不但順利完成高刺激率下刺激圖像的準確呈現(xiàn)及觸發(fā)信號的同步發(fā)送,成功誘發(fā)出有效穩(wěn)態(tài)覺誘發(fā)電位,,并且具有操作方便,、刺激模式豐富、可擴展性強的優(yōu)勢,。

  參考文獻

  [1] 黎宇飛,,劉技輝,陳曉雷,,等.不同刺激野的圖形翻轉視覺誘發(fā)電位[J].法醫(yī)學雜志,,2009,,25(1):15-18.

  [2] ALMUDENA C,PAULA P A,,CAMPO P,,et al.Steady-statevisual evoked potentials can be explained by temporal superposition of transient event-related responses[J].Plos One,2011,,6(1):e14543.

  [3] BOBAK P,,F(xiàn)RIEDMAN R.Visual evoked potentials to multi-ple temporal frequencies.Use in the differential diagnosis ofoptic neuropathy[J].Arch.of Ophthalmol,1988,,106(7):936-940.

  [4] HERRMANN C S.Human EEG responses to 1-100 Hz flicker: resonance phenomena in visual cortex and their potential correlation to cognitive phenomena[J].Experimental Brain Research,,2001,137(3-4):346-353.

  [5] 程光輝,,石銳,,何慶華.Windows環(huán)境下腦機接口視覺刺激器的設計[J].計算機工程與應用,,2006,,42(13):175-177,193.

  [6] 王永成,,黨源源,,徐抒巖,等.基于cpld實現(xiàn)dsp的uart設計研究[J].電子器件,,2008,,31(3):1066-1068,1072.

  [7] Video Electronics Standards Association.VESA and industry standards and guidelines for computer display monitor timing[Z].2004.

  [8] 姜世杰,,余紅英,,洪永學,等.基于FPGA的VGA接口驅動技術[J].電子測試,,2012(12):29-32,,71.

  [9] ODOM J V,BACH M,,BRIGELL M,,et al.ISCEV standard for clinical visual evoked potentials (2009update)[J].Docu-menta Ophthalmolgical,2010,,120(1):111-119.


此內容為AET網站原創(chuàng),,未經授權禁止轉載。