电针治疗失眠的一种变频多模信号实现方法*

2019-01-17 03:11,,,,
单片机与嵌入式系统应用 2018年12期
关键词:正弦波极性个数

,,,,

(青岛大学 电子信息学院,青岛 266071)

引 言

电针疗法是将针灸与脉冲电刺激结合而形成的一种穴位刺激疗法。电针电刺激生理效应具有持久的刺激作用,同时其参数可以根据不同的病人进行调整,提高了针灸的治疗效果。目前失眠症电针治疗仪器多数采用单片机或者ARM架构的微控制器为控制核心[1-4],例如皮向君设计的基于C8051单片机的电针仪,具有多种双向恒流脉冲输出,可以消除因电刺激产生的组织极化现象,能够自动检测电极阻抗,保证安全[5];雍明超设计的基于Linux和ARM9的电针治疗仪,能够产生多种脉冲波形,加强了人机交互的功能[6]。

多数治疗仪在电针波形的设计上采用单一的单极性或者双极性,调制信号的波形比较少。这是因为单片机在电针波形的产生上是通过软件程序的中断和计数来实现的。本文的电针治疗失眠系统是在FPGA上设计实现的。FPGA的工作机制是通过设计芯片内部的硬件电路实现相应功能,所以不需要过于复杂的外围电路,只需对FPGA芯片进行编程即可。本设计在FPGA芯片的内部采用直接数字频率合成DDS(Direct Digital Frequency Synthesis)技术[7-9],实现任意形式的电子治疗波形,如单极性、双极性、调制信号等波形,可以更好地适应不同的失眠人群,同时波形的频率能保证相位连续性地快速切换。系统将产生电针治疗信号的硬件电路模块集成在一块可编程FPGA芯片上,提高了系统的集成度和可靠性。由于FPGA具有在系统可编程特性,可根据不同的应用场合调整输出不同波形及频率信号,具有很强的可扩展性。

1 总体实现方案

现代医学通过对睡眠脑电波的分析,得出睡眠脑电波是由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转换器,将数据转换成模拟信号。

2 多模DDS信号发生器的FPGA实现

多模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信号发生器的芯片电路。

3 变频多模电针信号的FPGA实现

从图1可见,产生治疗失眠的变频多模电针信号的核心是多模DDS信号发生器,对其输出波形进行变形和控制就能得到治疗失眠的电针脉冲信号。治疗失眠的变频多模电针信号实现电路如图2所示。晶振电路产生的的50 MHz的时钟信号送到PL锁相环,产生系统工作所需要的时钟信号。

图2 变频多模电针信号电路图

3.1 输出脉冲个数及频率控制

同步模块、脉冲宽度发生器、脉冲个数控制器实现对多模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调制仿真波形

3.2 产生单、双极性脉冲波形信号

单极性波形生成模块由图2中的demux4、SBXTZ、mux4_1组成。数据分配器模块demux4将不同的波形数据送到SBXTZ模块中,对双极性脉冲信号进行半波整流,成为4组单极性脉冲波形,送到mux4_1对4组进行选择输出,得到单极性脉冲波形。

图2中的dstz是双极性波形生成模块,其功能是对输入信号进行适当的调理,输出需要的双极性波形。

3.3 产生单、双极性调制脉冲波形信号

正弦波调制信号的产生是由图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]的选择输出特定的模拟波形。本次设计信号在实际应用时可以根据需要改变设计中的一些参数以及波形,去适应不同的情况。

4 实验结果

测试平台使用美国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个脉冲调制波形

结 语

猜你喜欢
正弦波极性个数
单相正弦波变频电源设计与实现
怎样数出小正方体的个数
等腰三角形个数探索
怎样数出小木块的个数
跟踪导练(四)
采用BC5016S的纯正弦波逆变器设计及制作
怎样数出小正方体的个数
表用无极性RS485应用技术探讨
一种新型的双极性脉冲电流源
基于嵌入式技术的电网同步正弦波发生装置研究