一種新型多功能誘發(fā)電位刺激器的研制
摘 要: 設(shè)計(jì)了一種基于FPGA的用于誘發(fā)電位系統(tǒng)的刺激器,利用FPGA實(shí)現(xiàn)誘發(fā)電位所需的光刺激、聲刺激和電流刺激??捎糜谝曈X誘發(fā)電位、聽覺誘發(fā)電位及體感誘發(fā)電位等多種自發(fā)和誘發(fā)電位等生理檢查中。與傳統(tǒng)的誘發(fā)電生理刺激系統(tǒng)相比,該設(shè)計(jì)簡(jiǎn)化了電路、功能多、體積小、刺激輸出準(zhǔn)確可靠,應(yīng)用范圍廣,能很好地滿足誘發(fā)電位檢測(cè)的性能要求。
本文引用地址:http://m.butianyuan.cn/article/198901.htm關(guān)鍵詞: FPGA;VHDL;刺激器
誘發(fā)電位EPs(Evoked Potentials)是指對(duì)神經(jīng)系統(tǒng)某一特定部位給予特定刺激后在大腦皮層所產(chǎn)生的特定電活動(dòng),它是神經(jīng)系統(tǒng)對(duì)外界刺激的直接電生理反應(yīng),其對(duì)于神經(jīng)系統(tǒng)功能性異常的疾病有獨(dú)特的檢測(cè)診斷能力[1]。誘發(fā)電位是繼心電圖和腦電圖技術(shù)之后臨床電生理學(xué)的第三大進(jìn)展, 它與計(jì)算機(jī)斷層成像技術(shù)(CT)并稱為檢測(cè)神經(jīng)系統(tǒng)功能的兩大有力工具[2]。誘發(fā)電位根據(jù)刺激部位的不同分為視覺誘發(fā)電位、聽覺誘發(fā)電位、體感誘發(fā)電位,與其對(duì)應(yīng)刺激信號(hào)源有光、聲、電三種。目前國(guó)際國(guó)內(nèi)的誘發(fā)電位儀的刺激信號(hào)源體積大、功能單一,且視覺誘發(fā)電位儀、聽覺誘發(fā)電位儀和體感誘發(fā)電位儀的功能相互獨(dú)立[2-4]。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)核心控制芯片F(xiàn)PGA采用美國(guó)Altera公司的CycloneII系列EP2C8Q208C8N,它提供了8256個(gè)邏輯單元。利用FPGA產(chǎn)生視覺誘發(fā)電位、聽覺誘發(fā)電位和體感誘發(fā)電位等誘發(fā)電位檢測(cè)所需要的刺激信號(hào)。系統(tǒng)主要由圖形刺激模塊、閃光刺激模塊、聲音刺激模塊和電刺激模塊組成,系統(tǒng)的原理框圖如圖1所示。
上位機(jī)(通常是PC機(jī))根據(jù)誘發(fā)電位檢測(cè)的需要向FPGA發(fā)送相應(yīng)的刺激命令和參數(shù),由于上位機(jī)向FPGA發(fā)送一些簡(jiǎn)單的數(shù)字控制命令,因此選擇波特率為115.2 Kb/s的串口通信。選擇控制模塊接收上位機(jī)傳來的命令,經(jīng)分析確定輸出何種刺激。閃光刺激、電流刺激和聲音刺激的純音、疏波、密波、交替波是由FPGA產(chǎn)生的PWM脈沖調(diào)制波,經(jīng)D/A轉(zhuǎn)化為模擬信號(hào)。電流刺激中的雙極性刺激由外圍的雙極性恒流源控制電路把D/A輸出的單極性轉(zhuǎn)化為雙極性刺激信號(hào),再由升壓電路使刺激電流達(dá)到體感刺激所需要的電流強(qiáng)度。
2 圖形刺激
圖形刺激模塊包括VGA時(shí)序模塊和圖形刺激生成模塊,VGA時(shí)序模塊生成控制CRT陰極射線槍的水平同步信號(hào)HS和垂直同步信號(hào)VS,圖形生成模塊生成顯示不同圖形的R、G、B三基色信號(hào)。圖形刺激有豎條柵、橫條柵、棋盤格和圓環(huán)。
2.1 VGA時(shí)序模塊
本設(shè)計(jì)采用的顯示器分辨率為800×600,像素頻率是50 MHz,場(chǎng)頻72 Hz。程序中設(shè)置2個(gè)變量:行點(diǎn)計(jì)數(shù)器hcnt和場(chǎng)行計(jì)數(shù)器vcnt。hcnt對(duì)系統(tǒng)時(shí)鐘clk進(jìn)行計(jì)數(shù),vcnt對(duì)hcnt進(jìn)行計(jì)數(shù),根據(jù)VGA的工業(yè)標(biāo)準(zhǔn),hcnt是從第0個(gè)時(shí)鐘計(jì)數(shù)到第1 039個(gè)時(shí)鐘反復(fù)計(jì)數(shù),vcnt是從第0計(jì)到665個(gè)hcnt反復(fù)計(jì)數(shù)。在HS信號(hào)生成中800個(gè)時(shí)鐘是有效的行顯示時(shí)間,120個(gè)時(shí)鐘是行同步時(shí)間。在VS生成中,600個(gè)行周期是有效的顯示時(shí)間,6個(gè)行周期是場(chǎng)同步時(shí)間。下面的程序產(chǎn)生HS行信號(hào)和VS場(chǎng)信號(hào)。
if (clk′event and clk = ′1′) then
if (hcnt >= 800+56 and hcnt 800+56+120) then
HS = ′0′;
else HS = ′1′;
end if;
end if;
if (clk′event and clk = ′1′) then
if (vcnt >= 600+36 and vcnt 600+36+6) then
VS = ′0′;
else VS = ′1′;
end if;
end if;
2.2 圖形生成模塊
刺激圖形生成模塊是對(duì)系統(tǒng)時(shí)鐘進(jìn)行計(jì)數(shù),通過對(duì)行計(jì)數(shù)器hcnt和場(chǎng)計(jì)數(shù)器vcnt的判斷和運(yùn)算來產(chǎn)生圖形。在設(shè)計(jì)中把顯示器看作一個(gè)直角坐標(biāo)系,其原點(diǎn)在左上角,hcnt(0~799)是橫坐標(biāo),vcnt(0~599)是縱坐標(biāo),通過對(duì)hcnt和vcnt的判斷,賦予R、G、B三基色不同的值,實(shí)現(xiàn)豎條柵、橫條柵、棋盤格和圓環(huán)圖形的生成。
2.2.1 豎條柵和橫條柵刺激圖形生成模塊
豎條柵和橫條柵的顯示,分別是通過對(duì)行點(diǎn)計(jì)數(shù)器hcnt和場(chǎng)行計(jì)數(shù)器vcnt的控制實(shí)現(xiàn)的。豎條柵是對(duì)hcnt判斷產(chǎn)生,其判斷公式為hcnt(800÷n)×i,n是產(chǎn)生豎條柵的條數(shù),i在1~n取值,表示顯示屏上第幾個(gè)豎條柵,如白黑交替的4條豎條柵的產(chǎn)生:hcnt200,RGB=111111;hcnt400,RGB=000000;hcnt600,RGB=111111,hcnt800,RGB=000000時(shí),RGB是輸出到顯示器VGA接口的6位色彩信號(hào),“000000”表示黑色,“111111”表示白色。橫條柵的產(chǎn)生與豎條柵原理相似,是根據(jù)vcnt來產(chǎn)生,它的判斷公式為vcnt(600÷n)×i,n表示橫條柵的條數(shù),i在1~n取值,表示顯示屏上第幾個(gè)橫條柵。
2.2.2 棋盤格圖形生成模塊
棋盤格是在橫條柵和豎條柵產(chǎn)生的基礎(chǔ)上,通過橫條柵和豎條柵“異或”運(yùn)算生成。由于視覺誘發(fā)電位的圖形刺激器所要求的棋盤格最高空間頻率為96×128,如果通過簡(jiǎn)單“異或”運(yùn)算,程序繁瑣,浪費(fèi)FPGA資源。本文提出一種簡(jiǎn)單的方法:以空間頻率6×8的棋盤格圖形為基礎(chǔ),通過平移生成12×16、24×32、48×64、96×128等高空間頻率的棋盤格圖形。以空間分辨率為12×16的棋盤格圖形為例,首先使全屏6×8棋盤格圖形縮小在顯示屏的左上1/4角 ,然后再分別向右和向下平移縮小后的圖形,生成12×16的棋盤格刺激圖形。這樣通過縮小和平移生成高空間分辨率的刺激圖形,既簡(jiǎn)化了程序,又節(jié)約了FPGA的硬件資源。
r是平移后到原點(diǎn)的距離,r的取值不同顯示出不同的圓環(huán)。實(shí)驗(yàn)表明,如果直接采用乘法運(yùn)算,由于運(yùn)算的數(shù)據(jù)比較大(hcnt、vcnt都是10 bit的二進(jìn)制數(shù)),顯示的同心圓環(huán)圖形中有多余的豎條,影響圖形的質(zhì)量。此時(shí)可通過調(diào)用FPGA內(nèi)部乘法器的IP核加快計(jì)算速度解決這一問題。試驗(yàn)證明,通過設(shè)置乘法器IP核延時(shí)5個(gè)時(shí)鐘單元,可以避免顯示的同心圓環(huán)圖形中出現(xiàn)多余的豎條。而延時(shí)的多少與FPGA芯片類型的選取有關(guān)。
評(píng)論