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