文獻標識碼: 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ā)信號延遲,??梢姡瑔纹瑱C方式的不靈活和軟件方式的同步性差不能滿足目前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ā)的數據采集利用美國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),。
發(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],。
行同步信號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ā)電位實驗所需刺激圖像,,如水平光柵,、垂直光柵和棋盤格等。
以棋盤格刺激圖像為例,,刺激器是通過生成同位置黑白相反的兩幅棋盤格圖像,,按照翻轉信號的高低電平變化將兩幅棋盤格RGB信號輪流發(fā)送給VGA端口,。如圖4所示,,翻轉信號在高電平時顯示圖像1,反之,,在低電平時顯示圖像2,,因此實現(xiàn)兩幅棋盤格翻轉的效果。棋盤格生成流程如圖5所示,,圖中M,、N分別代表棋盤格的水平和垂直的格數,寄存器rgb1和rgb2分別負責寄存兩幅棋盤格中不同位置的顏色值,。
2.4 刺激率控制模塊
一個翻轉周期(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)更高的刺激率,。
3 刺激器測試結果
本文選擇顯示標準為1 024×768@60 Hz進行測試,通過JTAG口把編譯成功的FPGA程序燒錄到板上Flash芯片中,,采用19寸CRT顯示器(EIZO T761)作為刺激視屏,。
測試結果如圖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)反應。
由刺激器測試結果和視覺測試實驗證明,,本文設計的基于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.