文獻標識碼: A
文章編號: 0258-7998(2015)02-0035-03
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ā)信號延遲。可見,單片機方式的不靈活和軟件方式的同步性差不能滿足目前SSVEP研究對刺激器的要求。
本文設計一種基于FPGA的高頻視覺刺激控制器,從串口接收刺激模式命令,在由FPGA控制生成刺激圖像的同時,向采集設備發(fā)送觸發(fā)信號。測試結果表明,本文設計的高頻視覺刺激器能靈活地變更不同的刺激模式,并確保了高刺激率下刺激圖像和采集信號的完全同步。
1 系統(tǒng)整體設計
本文設計的高頻視覺刺激控制器采用Altera公司的EP4CE30型FPGA芯片作為主控器件。整個視覺刺激器包括硬件和軟件兩個部分:(1)系統(tǒng)硬件部分,主要采用一塊FPGA電路板,包括串口電路、VGA接口電路、按鍵電路及I/O口等外圍電路;(2)系統(tǒng)軟件部分,主要是由硬件描述語言設計的FPGA程序組成,包括串口通信模塊、VGA時序掃描模塊、刺激圖像描述模塊及刺激率控制模塊。
刺激器工作原理如圖1所示,視覺刺激器上電后,讀取預置的配置文件完成硬件系統(tǒng)初始化。上位機通過LabVIEW編寫的用戶界面向串口發(fā)送刺激模式的選擇信號至FPGA芯片。在串口模塊解析完上位機的控制指令后, VGA控制模塊按所選的刺激模式開始行掃描和場掃描,在刺激圖像描述模塊中生成所需的刺激圖像,并在刺激率控制模塊中產生相應的刺激率信號及觸發(fā)信號,再將觸發(fā)信號發(fā)送到FPGA板上I/O口,經并行接口送至誘發(fā)電位采集設備,并把RGB、行同步及場同步信號發(fā)送給VGA接口,通過接口上連接的顯示器向受試者給予視覺誘發(fā)刺激。目前對于通過本刺激器所誘發(fā)的數(shù)據(jù)采集利用美國NeuroScan公司的SynAmps2系統(tǒng),此系統(tǒng)需要接收一個來自刺激器的觸發(fā)信號(脈沖信號),用于標記視覺刺激的開始位置。
2 系統(tǒng)核心控制模塊
FPGA控制程序是本系統(tǒng)的核心部分,本文根據(jù)模塊化設計方法把系統(tǒng)劃分為串口通信模塊、VGA時序掃描模塊、刺激圖像描述模塊及刺激率控制模塊四大模塊。然后把實例化的子模塊連接起來,組成一個完整的系統(tǒng)。
2.1 串口通信模塊
上位機和刺激器間的通信通過串口通信模塊實現(xiàn)。串口通信模塊包括波特率發(fā)生器、發(fā)送器和接收器3個子模塊。波特率發(fā)生器模塊根據(jù)串口協(xié)議,負責對系統(tǒng)時鐘(50 MHz)進行5 208個計數(shù)定時,分頻得到讀寫波特率9 600 b/s(1×5 208/50 MHz≈1/9 600 s)。
發(fā)送器和接收器屬于串口通信模塊,主要負責接收上位機的控制命令并根據(jù)協(xié)議反饋握手信號。本串口模塊的幀數(shù)據(jù)每隔1個讀寫時鐘讀寫1位,遵循讀寫次序為1位起始位、8位數(shù)據(jù)位、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為低電平就標記幀數(shù)據(jù)的起始位并進入狀態(tài)rxRead,利用計數(shù)器count循環(huán)讀取8位有效數(shù)據(jù),最后狀態(tài)rxEnd負責延時兩個讀寫時鐘信號而忽略校驗位和停止位,并輸出isDone接收完畢信號。數(shù)據(jù)接收完后,狀態(tài)機重新進入rxReady狀態(tài)等待下一個幀數(shù)據(jù)的接收。
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標準下時序技術參數(shù)如表1所示[7]。
行同步信號HS和場同步信號VS的時序圖如圖3所示。HS先拉低96個脈沖周期(以o表示)后再被拉高,即行消隱時間;經過208個脈沖(以q表示)后,DATA數(shù)據(jù)有效,即顯示器開始掃描1 024個列像素點(以c表示),掃描完成到下一次HS再次被拉低,中間經過48個時鐘脈沖(以d表示)[8]。掃描一行的數(shù)據(jù)幀長為1 376。同樣,VS類似HS的掃描方式。VS先拉低3個行周期(以a表示)后再被拉高,延遲36個行周期(以b表示)后行再被拉低,這樣開始掃描這一幀的數(shù)據(jù),經過1個行周期(以p表示),完成全幀掃描后VS再次被拉低重復上述過程。
2.3 刺激圖像描述模塊
本模塊把顯示屏看作一個直角坐標系,原點在屏幕左上角,通過列計數(shù)器Hcnt和行計數(shù)器Vcnt,定義掃描有效顯示區(qū)域的行和列坐標變量Haddr和Vaddr,通過直接對不同坐標地址賦予不同的顏色值,產生視覺誘發(fā)電位實驗所需刺激圖像,如水平光柵、垂直光柵和棋盤格等。
以棋盤格刺激圖像為例,刺激器是通過生成同位置黑白相反的兩幅棋盤格圖像,按照翻轉信號的高低電平變化將兩幅棋盤格RGB信號輪流發(fā)送給VGA端口。如圖4所示,翻轉信號在高電平時顯示圖像1,反之,在低電平時顯示圖像2,因此實現(xiàn)兩幅棋盤格翻轉的效果。棋盤格生成流程如圖5所示,圖中M、N分別代表棋盤格的水平和垂直的格數(shù),寄存器rgb1和rgb2分別負責寄存兩幅棋盤格中不同位置的顏色值。
2.4 刺激率控制模塊
一個翻轉周期(cycle)包括兩個顏色相反的圖像翻轉,而翻轉頻率指每秒鐘翻轉(reversal)的次數(shù)(rev/s)。兩者關系可以表示為1 Hz相當于2 rev/s[2]。本刺激器中刺激率指每秒的翻轉次數(shù),是通過對VGA時序掃描模塊產生的場同步信號分頻得到。場同步信號即VGA工業(yè)技術上的刷新率。如圖6所示,翻轉信號和觸發(fā)信號產生原理是通過捕捉VS的下降沿時刻,本模塊就按設定的分頻數(shù)生成一個方波信號,即翻轉信號。同時,在方波信號發(fā)生高低電平變換時刻,即圖像每次翻轉時同步產生一個脈沖信號,即觸發(fā)信號。這樣的實現(xiàn)方式保證了VS和翻轉信號的時鐘同源,從而確保刺激圖像的正確顯示。比如,60 Hz二分頻得30 Hz(60 rev/s)。由VESA公布的VGA時序[7], 表2舉例部分刷新率分頻可得的刺激率。由表2可看出本刺激器已可實現(xiàn)高于30 rev/s的刺激率,并隨著得到更高刷新率的時序技術參數(shù),就能實現(xiàn)更高的刺激率。
3 刺激器測試結果
本文選擇顯示標準為1 024×768@60 Hz進行測試,通過JTAG口把編譯成功的FPGA程序燒錄到板上Flash芯片中,采用19寸CRT顯示器(EIZO T761)作為刺激視屏。
測試結果如圖7所示,圖7(a)是上位機的控制界面,參數(shù)選擇包括視角、視野空間、刺激次數(shù)和刺激率。圖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)采集所得數(shù)據(jù)并分別畫出SSVEP波形圖,如圖8所示。從圖可清晰看出,3個SSVEP波形都是類似正弦曲線的周期性波形,即受試者在3個高刺激率下,視覺系統(tǒng)都有效地誘發(fā)出視覺穩(wěn)態(tài)反應。
由刺激器測試結果和視覺測試實驗證明,本文設計的基于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.