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