《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高頻視覺(jué)刺激控制器的設(shè)計(jì)
基于FPGA的高頻視覺(jué)刺激控制器的設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第2期
何超文,林 霖,喻德曠
南方醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,廣東 廣州510515
摘要: 研究穩(wěn)態(tài)視覺(jué)誘發(fā)電位需要視覺(jué)刺激器生成高頻刺激信號(hào)。而傳統(tǒng)的刺激器在產(chǎn)生高頻圖像刺激時(shí)的準(zhǔn)確性和同步性極差,并且使用不便、刺激模式單一。鑒于此,設(shè)計(jì)了一個(gè)高頻視覺(jué)刺激控制器,以FPGA為控制器并采用硬件描述語(yǔ)言Verilog HDL設(shè)計(jì)程序,實(shí)現(xiàn)圖像刺激的生成。實(shí)驗(yàn)結(jié)果顯示,設(shè)計(jì)的視覺(jué)刺激控制器具備時(shí)間精度高、準(zhǔn)確性高和同步性好的優(yōu)點(diǎn),能有效地生成高頻刺激信號(hào)。
中圖分類號(hào): R318;Q436
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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 引言

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

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

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

1 系統(tǒng)整體設(shè)計(jì)

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

001.jpg

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

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

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

  2.1 串口通信模塊

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

002.jpg

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

  2.2 VGA時(shí)序掃描模塊

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

003.jpg

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

  2.3 刺激圖像描述模塊

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

004.jpg

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

005.jpg

  2.4 刺激率控制模塊


006.jpg

008.jpg

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

009.jpg

3 刺激器測(cè)試結(jié)果

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

007.jpg

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

4 穩(wěn)態(tài)視覺(jué)誘發(fā)電位測(cè)試實(shí)驗(yàn)

  為測(cè)試本視覺(jué)刺激器在高刺激率下的有效性,本文進(jìn)行了一個(gè)高刺激率的視覺(jué)誘發(fā)電位測(cè)試實(shí)驗(yàn)。

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

010.jpg

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

  參考文獻(xiàn)

  [1] 黎宇飛,劉技輝,陳曉雷,等.不同刺激野的圖形翻轉(zhuǎn)視覺(jué)誘發(fā)電位[J].法醫(yī)學(xué)雜志,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ī)接口視覺(jué)刺激器的設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(13):175-177,193.

  [6] 王永成,黨源源,徐抒巖,等.基于cpld實(shí)現(xiàn)dsp的uart設(shè)計(jì)研究[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] 姜世杰,余紅英,洪永學(xué),等.基于FPGA的VGA接口驅(qū)動(dòng)技術(shù)[J].電子測(cè)試,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.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。