,,,,
(青島大學(xué) 電子信息學(xué)院,青島 266071)
電針療法是將針灸與脈沖電刺激結(jié)合而形成的一種穴位刺激療法。電針電刺激生理效應(yīng)具有持久的刺激作用,同時(shí)其參數(shù)可以根據(jù)不同的病人進(jìn)行調(diào)整,提高了針灸的治療效果。目前失眠癥電針治療儀器多數(shù)采用單片機(jī)或者ARM架構(gòu)的微控制器為控制核心[1-4],例如皮向君設(shè)計(jì)的基于C8051單片機(jī)的電針儀,具有多種雙向恒流脈沖輸出,可以消除因電刺激產(chǎn)生的組織極化現(xiàn)象,能夠自動(dòng)檢測電極阻抗,保證安全[5];雍明超設(shè)計(jì)的基于Linux和ARM9的電針治療儀,能夠產(chǎn)生多種脈沖波形,加強(qiáng)了人機(jī)交互的功能[6]。
多數(shù)治療儀在電針波形的設(shè)計(jì)上采用單一的單極性或者雙極性,調(diào)制信號(hào)的波形比較少。這是因?yàn)閱纹瑱C(jī)在電針波形的產(chǎn)生上是通過軟件程序的中斷和計(jì)數(shù)來實(shí)現(xiàn)的。本文的電針治療失眠系統(tǒng)是在FPGA上設(shè)計(jì)實(shí)現(xiàn)的。FPGA的工作機(jī)制是通過設(shè)計(jì)芯片內(nèi)部的硬件電路實(shí)現(xiàn)相應(yīng)功能,所以不需要過于復(fù)雜的外圍電路,只需對(duì)FPGA芯片進(jìn)行編程即可。本設(shè)計(jì)在FPGA芯片的內(nèi)部采用直接數(shù)字頻率合成DDS(Direct Digital Frequency Synthesis)技術(shù)[7-9],實(shí)現(xiàn)任意形式的電子治療波形,如單極性、雙極性、調(diào)制信號(hào)等波形,可以更好地適應(yīng)不同的失眠人群,同時(shí)波形的頻率能保證相位連續(xù)性地快速切換。系統(tǒng)將產(chǎn)生電針治療信號(hào)的硬件電路模塊集成在一塊可編程FPGA芯片上,提高了系統(tǒng)的集成度和可靠性。由于FPGA具有在系統(tǒng)可編程特性,可根據(jù)不同的應(yīng)用場合調(diào)整輸出不同波形及頻率信號(hào),具有很強(qiáng)的可擴(kuò)展性。
現(xiàn)代醫(yī)學(xué)通過對(duì)睡眠腦電波的分析,得出睡眠腦電波是由4個(gè)頻段的信號(hào)構(gòu)成:δ波頻率為0~4 Hz,只有在正常成人深睡時(shí)才能檢測到;θ波頻率為4~8 Hz,成人困倦時(shí)可檢測到;α波頻率為8~13 Hz,在清醒且閉眼的情況下出現(xiàn);β波頻率為13~30 Hz,安靜閉目時(shí)出現(xiàn)。δ波和θ波統(tǒng)稱為慢波,在正常人清醒狀態(tài)下一般檢測不到,β波的出現(xiàn)一般表明大腦皮層處于興奮狀態(tài)[10]。醫(yī)學(xué)治療表明,用相應(yīng)頻段的不同波形的信號(hào)去刺激失眠人群,能夠誘導(dǎo)其進(jìn)入睡眠狀態(tài)。本文在FPGA芯片上實(shí)現(xiàn)了用于治療失眠的對(duì)應(yīng)δ波和θ波的多種波形不同頻率的電針信號(hào),其多項(xiàng)參數(shù)可通過現(xiàn)場編程調(diào)整,具有靈活的擴(kuò)展特性。多模多頻脈沖電針信號(hào)實(shí)現(xiàn)原理如圖1所示。系統(tǒng)主要由時(shí)鐘信號(hào)模塊、多模DDS信號(hào)發(fā)生器、同步模塊、脈沖寬度發(fā)生器、脈沖個(gè)數(shù)控制器、單極性脈沖信號(hào)形成器、雙極性脈沖信號(hào)形成器、單極性調(diào)制脈沖信號(hào)形成器、雙極性調(diào)制脈沖信號(hào)形成器、正弦波調(diào)制信號(hào)發(fā)生器、模式選擇模塊構(gòu)成。
圖1 多模多頻脈沖電針信號(hào)實(shí)現(xiàn)框圖
由晶振電路振蕩產(chǎn)生50 MHz的信號(hào)送給各模塊,作為系統(tǒng)的工作時(shí)鐘。多模DDS信號(hào)發(fā)生器是系統(tǒng)的中心,產(chǎn)生不同波形的基本電針信號(hào)。在多模DDS內(nèi)部設(shè)置合適的頻率字使其輸出頻率為10 Hz的不同波形的信號(hào)。同步模塊、脈沖寬度發(fā)生器、脈沖個(gè)數(shù)控制器實(shí)現(xiàn)對(duì)多模DDS信號(hào)發(fā)生器的輸出波形的個(gè)數(shù)控制,得到1~8 Hz的不同波形的信號(hào),信號(hào)的頻率與δ波和θ波的頻率一致。單極性、雙極性脈沖形成器分別產(chǎn)生單極、雙極性脈沖的電針信號(hào)。正弦波信號(hào)發(fā)生器作為調(diào)制信號(hào)分別送到單極性調(diào)制脈沖信號(hào)形成器和雙極性調(diào)制脈沖信號(hào)形成器,對(duì)單極性脈沖和雙極性脈沖的電針信號(hào)進(jìn)行調(diào)制,實(shí)現(xiàn)調(diào)制的單、雙極性脈沖電針信號(hào)。單、雙極性脈沖的電針信號(hào)以及調(diào)制的單、雙極性脈沖電針信號(hào)等4路信號(hào)送到模式選擇模塊,控制輸出電針信號(hào)的類型。最后經(jīng)過D/A轉(zhuǎn)換器,將數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào)。
多模DDS信號(hào)發(fā)生器是本系統(tǒng)的核心,產(chǎn)生不同波形的基本電針信號(hào)。DDS技術(shù)是一種新型的頻率合成技術(shù)。該技術(shù)具有較高的頻率分辨率,既能快速實(shí)現(xiàn)頻率切換,又能在頻率改變時(shí)保證相位的連續(xù)。
DDS由相位累加器和存儲(chǔ)器ROM組成。相位累加器由一個(gè)加法器和一個(gè)相位寄存器組成,每來一個(gè)時(shí)鐘,相位寄存器以步長增加,然后輸入到波形查詢表ROM地址上。波形查詢表ROM包含一個(gè)周期任意波形的數(shù)字幅度信息,每個(gè)地址對(duì)應(yīng)任意波形中0~360°范圍的一個(gè)相位點(diǎn)。查詢表把輸入的地址相位信息映射成任意波形幅度的數(shù)字量信號(hào),驅(qū)動(dòng)DAC輸出模擬量,系統(tǒng)輸出ROM數(shù)據(jù)對(duì)應(yīng)的波形。輸出頻率為[11-14]:
(1)
其中fc為DDS的工作時(shí)鐘,N為相位累加字位寬;M為頻率控制字,其數(shù)字范圍為0≤M≤2N-1。
在實(shí)際運(yùn)用中,為了保證信號(hào)的輸出質(zhì)量,輸出頻率不要高于時(shí)鐘頻率的33%,以避免混疊或諧波進(jìn)入有用輸出頻帶內(nèi)。
在本系統(tǒng)中,為了對(duì)相位的增量進(jìn)行數(shù)字量化,把2π切割成2N份,取N=32,則2π被等分為2N份,這就確定了每個(gè)clk周期的相位增量的量化值。系統(tǒng)中fc=fclk=50 MHz,一個(gè)周期的相位被量化為232份,根據(jù)式(1)計(jì)算出合適的頻率字M,輸出所需要的10 Hz頻率。
本系統(tǒng)實(shí)現(xiàn)的多模DDS信號(hào)發(fā)生器,除了包含普通DDS系統(tǒng)的累加器、相位寄存器外,還增加了4個(gè)ROM、數(shù)據(jù)分配器、數(shù)據(jù)選擇器、DAC模塊等。4種波形數(shù)據(jù)存儲(chǔ)在4個(gè)ROM中,對(duì)不同ROM的選擇需要通過數(shù)據(jù)分配器來完成,數(shù)據(jù)分配器的輸出端分別連接到不同的ROM上,分別輸出正弦波、三角波、鋸齒波和方波的電針信號(hào)。應(yīng)用硬件描述語言在FPGA上分別對(duì)各模塊進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了多模DDS信號(hào)發(fā)生器的芯片電路。
從圖1可見,產(chǎn)生治療失眠的變頻多模電針信號(hào)的核心是多模DDS信號(hào)發(fā)生器,對(duì)其輸出波形進(jìn)行變形和控制就能得到治療失眠的電針脈沖信號(hào)。治療失眠的變頻多模電針信號(hào)實(shí)現(xiàn)電路如圖2所示。晶振電路產(chǎn)生的的50 MHz的時(shí)鐘信號(hào)送到PL鎖相環(huán),產(chǎn)生系統(tǒng)工作所需要的時(shí)鐘信號(hào)。
圖2 變頻多模電針信號(hào)電路圖
同步模塊、脈沖寬度發(fā)生器、脈沖個(gè)數(shù)控制器實(shí)現(xiàn)對(duì)多模DDS信號(hào)發(fā)生器輸出波形的個(gè)數(shù)及頻率的控制。圖2中BXFS模塊是多模DDS信號(hào)發(fā)生器,輸出端b[7..0]輸出頻率為10 Hz的8位數(shù)據(jù)信號(hào),將 b[7]送到同步模塊wtb的輸入端作為同步的控制信號(hào),實(shí)現(xiàn)DDS模塊和脈沖寬度發(fā)生器pwm_tz模塊的同步輸出。通過脈沖寬度控制模塊a[2..0]控制pwm_tz模塊輸出脈沖信號(hào)的寬度,脈沖的滿寬度控制在0.1~0.8 s范圍內(nèi)。將脈寬發(fā)生器pwm_tz的輸出信號(hào)與DDS模塊的輸出信號(hào)進(jìn)行邏輯“與”運(yùn)算,就可以得到在1 s內(nèi)輸出電針脈沖信號(hào)的個(gè)數(shù)。即通過控制a[2..0]輸入000- -111使輸出端bipolar[7..0]在1 s內(nèi)輸出1到8個(gè)脈沖,得到1~8 Hz頻率的脈沖信號(hào),與δ波和θ波頻率一致。
脈沖寬度發(fā)生器的仿真波形如圖3所示,脈寬隨著a[2..0]的數(shù)據(jù)在變化,當(dāng)a[2..0]為000時(shí),脈寬最小,維持時(shí)間為0.1 s,在與DDS模塊的輸出信號(hào)進(jìn)行邏輯與運(yùn)算之后,輸出端bipolar[7..0]對(duì)應(yīng)輸出1 Hz信號(hào);當(dāng)a[2..0]為111時(shí),脈寬最大,維持時(shí)間為0.8 s,在與DDS模塊的輸出信號(hào)進(jìn)行邏輯與運(yùn)算之后,輸出端bipolar[7..0]對(duì)應(yīng)輸出8 Hz信號(hào)。圖4是在脈寬發(fā)生器pwm_tz模塊控制下輸出4個(gè)脈沖波形的情形。
圖3 脈沖寬度發(fā)生器仿真波形
圖4 PWM調(diào)制仿真波形
單極性波形生成模塊由圖2中的demux4、SBXTZ、mux4_1組成。數(shù)據(jù)分配器模塊demux4將不同的波形數(shù)據(jù)送到SBXTZ模塊中,對(duì)雙極性脈沖信號(hào)進(jìn)行半波整流,成為4組單極性脈沖波形,送到mux4_1對(duì)4組進(jìn)行選擇輸出,得到單極性脈沖波形。
圖2中的dstz是雙極性波形生成模塊,其功能是對(duì)輸入信號(hào)進(jìn)行適當(dāng)?shù)恼{(diào)理,輸出需要的雙極性波形。
正弦波調(diào)制信號(hào)的產(chǎn)生是由圖2中的TZBFS模塊實(shí)現(xiàn)的,因多模DDS發(fā)生器輸出10 Hz頻率信號(hào),脈寬發(fā)生器PWM的滿寬度是1 s,故設(shè)計(jì)的調(diào)制信號(hào)的輸出頻率為0.5 Hz,實(shí)現(xiàn)在1 s時(shí)間內(nèi)對(duì)輸出波形的調(diào)制。
TZBFS模塊產(chǎn)生的正弦波調(diào)制信號(hào)經(jīng)整形后可以得到兩種不同的調(diào)制信號(hào):一種是直接對(duì)TZBFS模塊輸出的雙極性正弦波信號(hào)全波整流,成為全波整流的脈沖信號(hào),其實(shí)現(xiàn)對(duì)單極性脈沖信號(hào)的調(diào)制;另外一種是直接對(duì)雙極性的正弦波信號(hào)增加直流偏移量,使其變?yōu)閱螛O性正弦波信號(hào),最后完成對(duì)雙極性脈沖信號(hào)的調(diào)制。
單極性調(diào)制波的產(chǎn)生是由圖2中的SBTZ模塊實(shí)現(xiàn)的,對(duì)單極性脈沖進(jìn)行調(diào)制的信號(hào)是TZBFS模塊輸出的信號(hào)整流后的脈沖信號(hào),這里的單極性調(diào)制分為滿調(diào)制和非滿調(diào)制兩種。滿調(diào)制將BXFS模塊的輸出信號(hào)b[7..0]送到SBTZ模塊進(jìn)行半波整流,得到單極性脈沖信號(hào),然后,將單極性脈沖信號(hào)與調(diào)制信號(hào)相乘,得到單極性滿調(diào)制信號(hào)。非滿調(diào)制首先將被pwm_tz模塊進(jìn)行過脈沖個(gè)數(shù)選擇的信號(hào)bipolar[7..0]送到SBTZ模塊進(jìn)行半波整流,得到單極性脈沖信號(hào),然后,將單極性脈沖信號(hào)與調(diào)制信號(hào)相乘,即得到單極性非滿調(diào)制信號(hào)。
雙極性調(diào)制波的產(chǎn)生是由圖2中的DBTZ模塊實(shí)現(xiàn)的,對(duì)雙極性脈沖進(jìn)行調(diào)制的信號(hào)是TZBFS模塊輸出的信號(hào)加直流偏移量生成的信號(hào),同樣雙極性調(diào)制也分為滿調(diào)制和非滿調(diào)制兩種。滿調(diào)制將BXFS模塊的輸出信號(hào)b[7..0]送到DBTZ模塊直接與調(diào)制信號(hào)進(jìn)行相乘,得到雙極性滿調(diào)制信號(hào)。非滿調(diào)制將被pwm_tz模塊進(jìn)行過脈沖個(gè)數(shù)選擇的信號(hào)bipolar[7..0]送到DBTZ模塊與調(diào)制信號(hào)進(jìn)行相乘,得到雙極性非滿調(diào)制信號(hào)。
最后,將上述形成的單極性波形、雙極性波形、單極性調(diào)制波形以及雙極性調(diào)制波形信號(hào)送到mux4_1模式選擇模塊,通過輸出模式控制模塊k[1..0]的選擇輸出特定的模擬波形。本次設(shè)計(jì)信號(hào)在實(shí)際應(yīng)用時(shí)可以根據(jù)需要改變?cè)O(shè)計(jì)中的一些參數(shù)以及波形,去適應(yīng)不同的情況。
測試平臺(tái)使用美國Altera公司(現(xiàn)被英特爾收購)EP2C70F896C6N芯片的DE2開發(fā)板,其中數(shù)/模轉(zhuǎn)換采用ANALOG DEVICES公司的AD9708芯片實(shí)現(xiàn),這是一塊8位精度的單通道D/A轉(zhuǎn)換芯片,支持3 V、5 V供電、具有125 Msps的轉(zhuǎn)換速率、內(nèi)置1.2 V參考電壓,差分電流輸出。應(yīng)用Quartus II 軟件,在可編程芯片上實(shí)現(xiàn)治療失眠的變頻多模電針信號(hào)各模塊電路。
通過不同的撥碼開關(guān),可以控制波形的選擇,如正弦波、三角波、鋸齒波和方波的選擇;可以進(jìn)行波形個(gè)數(shù)的控制,即可以實(shí)現(xiàn)1~8個(gè)不同個(gè)數(shù)的脈沖個(gè)數(shù)的輸出,可以選擇不同模式,如單極性波、雙極性波、單極性調(diào)制波、雙極性調(diào)制波。
在圖5~圖10中,圖(a)表示正弦波的各種波形,圖(b)表示三角波的各種波形,圖(c)表示鋸齒波的各種波形,圖(d)表示方波的各種波形。單極性波脈沖信號(hào)經(jīng)過數(shù)/模轉(zhuǎn)換后在示波器上觀察的模擬波形如圖5所示,顯示了以1 s為周期的不同脈沖波形的不同個(gè)數(shù)的情況。雙極性波輸出的模擬波形如圖6所示,顯示了雙極性不同脈沖波形的不同個(gè)數(shù)的情況。
在示波器上觀察到的單極性的不同波形的滿調(diào)制波形如圖7所示,顯示了以1 s為周期10個(gè)脈沖的調(diào)制情況,雙極性的滿調(diào)制波形如圖8所示,顯示了以2 s為周期的20個(gè)脈沖的調(diào)制情況。
在使用的過程中還可以控制脈沖的個(gè)數(shù),形成非滿調(diào)制的波形信號(hào),由于篇幅的限制,本文只展示具有6個(gè)脈沖個(gè)數(shù)時(shí)的波形,單極性的不同波形的6個(gè)脈沖以1 s為周期的調(diào)制波形如圖9所示,雙極性的12個(gè)脈沖以2 s為周期的調(diào)制波形如圖10所示。
圖5 單極性波實(shí)現(xiàn)波形
圖6 雙極性波實(shí)現(xiàn)波形
圖7 單極性滿調(diào)制波實(shí)現(xiàn)波形
圖8 雙極性滿調(diào)制波實(shí)現(xiàn)波形
圖9 單極性1s 6個(gè)脈沖調(diào)制波形
圖10 雙極性2s 12個(gè)脈沖調(diào)制波形