一种实现经颅电刺激波形的紧急缓降方法与流程

文档序号:32693281发布日期:2022-12-27 19:56阅读:105来源:国知局
一种实现经颅电刺激波形的紧急缓降方法与流程

1.本发明涉及一种经颅电刺激波形紧急处理方法,特别是一种实现经颅电刺激波形的紧急缓降方法。


背景技术:

2.市面上的大部分经颅电刺激仪实现了刺激波形的缓升缓降,目的是适应患者对电流的耐受度,不至于电流的突变造成患者的刺痛感,但当在刺激的过程中,遇到紧急情况,需要急停的时候,大部分刺激仪会直接关闭输出电流,这样由于电流的突变,会使患者感觉刺痛。因此,现有的技术存在着经颅电刺激设备在紧急关闭情况下会对患者造成刺痛的问题。


技术实现要素:

3.本发明的目的在于,提供一种实现经颅电刺激波形的紧急缓降方法。本发明具有能够有效消除经颅电刺激设备在紧急关闭情况下对患者造成刺痛现象的特点。
4.本发明的技术方案:一种实现经颅电刺激波形的紧急缓降方法,包括以下步骤:
5.a、根据不同刺激模式生成不同的刺激波形数据,并存储在sram中;
6.b、启动dac的dma功能,将sram中的刺激波形数据生成相应的电压波形驱动恒流源,产生相应的电流刺激波形;
7.c、判断是否按下紧急按键:
8.当按下紧急按键,电流刺激波形采用对称缓降的方式将电流降至0ma;
9.反之,则继续刺激,直至到达设定的刺激时间。
10.前述的一种实现经颅电刺激波形的紧急缓降方法中,当电流刺激波形为直流刺激波形时,对称缓降的具体方法为:
11.按下紧急按键后,将cva值与vmax值和ds值比较,vmax值小于ds值;
12.若cva值小于vmax值,则电流处在上升阶段,dma会立刻停止传输后,dma会重新设置要传输的db中的数据,及起始地址db[vol_coe-cva],传输的个数cva,设置完成后,立即启动传输;此db中为电流缓降的数据,且与上升阶段是对称关系,传输完成后,即电流降至0ma,结束本次刺激;
[0013]
若cva值处在vmax值与ds值之间,电流处于保持阶段,dma会立刻停止传输后,dma会重新设置要传输的db中的数据,传输数据的起始地址db[vol_coe-vmax],传输的个数为vmax,设置完成后,立即启动传输,此db中为电流缓降的数据,且与波形上升阶段是对称关系,传输完成后,即电流降至0ma,结束本次刺激;
[0014]
若cva值≥ds值时,电流处于下降阶段,dma继续传输电流缓降的数据,直至传输完成后,即电流降至0ma,结束本次刺激;
[0015]
其中,cva值:dma在传输dac数据过程中,是在tr的驱动下完成的,即定时器的一个溢出中断为dma传输的一个点,传输完成一个数据点,tr会中断一次,在中断中累加一个计
数值cva,cva=cva+1。
[0016]
前述的一种实现经颅电刺激波形的紧急缓降方法中,vmax值和ds值的计算过程:
[0017]
1)tr记一个数所用的时间为1us,
[0018]
arr=((srt/vol_coe)-1)/1;
[0019]
其中,arr:tr的溢出一次所需要的计数值,此值用来配置tr;
[0020]
srt:设备可以设置的最大电流对应的最大上升时间;
[0021]
vol_coe:设备可以设置的最大电流对应的dac的最大值,此值为常量4096;
[0022]
2)vmax=vol_coe*cv/max_out_cur;
[0023]
其中,vmax:电流预设值对应dac所输出的值;max_out_cur:设置的最大电流值:此值为常量:2ma;
[0024]
cv:预设的电流值(0
‑‑
2ma),《=max_out_cur;
[0025]
3)tt=t*60*1000000/((arr+1)*1);
[0026]
其中,tt:tr溢出中断的总次数;t:用户预设的刺激时间(分钟),t*60*1000000(us);(arr+1)*1:tr溢出一次需要的时间(us);
[0027]
4)ss=vmax-1;其中,ss:t1时刻对应的tr溢出次数值;
[0028]
ds=tt-ss;其中,ds:t2时刻对应的tr溢出次数值。
[0029]
前述的一种实现经颅电刺激波形的紧急缓降方法中,当电流刺激波形为交流刺激波形时,对称缓降的具体方法为:当按下紧急按键后,首先判断cva值是否小于(adp/2),如果cva值小于(adp/2),再判断目前所使用buf的数据,再根据cva的值所记录的dna传输数据点数,停止dma传输,设置dma的数据在dac_buf1[adp-cva]位置处,传输数据点个数为cva,进行传输;此值刚好是开始刺激的对称值,且是缓降波形,本次传输完成,也就是电流缓降之0ma,结束本次刺激;
[0030]
如cva值≥(adp/2),说明正弦波正在缓降0点,只需记录紧急按键按下标记位,待传输完成本次数据,即停止刺激。
[0031]
前述的一种实现经颅电刺激波形的紧急缓降方法中,将dac_buf1中填充200个离散点正弦波的半波数据,记录使用的buf,bf=1,启动刺激时,由dac+dma方式将半波数据由dac生成模拟电压控制恒流源,在dma传输一个点时,在tr中会产生一次溢出中断,在tr中断中,累加记录一次值cva,用于判断波形打点到哪个时刻,半波传输完成后cva清0,,控制电极电流反向,再传输一次半波数据,bf=0,rst加1,填充buf2数据;在tr中断中,累加记录一次值cva,半波传输完成后cva清0。
[0032]
前述的一种实现经颅电刺激波形的紧急缓降方法中,adp的值为200,即一个正弦半波为200个点。
[0033]
与现有技术相比,本发明采用刺激电流对称式缓降的方法,实现了在紧急情况下刺激电流波形呈对称式缓降至0ma,可以有效解决经颅电刺激设备在紧急关闭情况下对患者的刺痛感的现象,保障了患者的安全,提升了刺激仪的使用舒适感。同时,采用本发明的方法不仅成本较低,而且反应速度也快,安全性能好。综上所述,本发明具有能够有效消除经颅电刺激设备在紧急关闭情况下对患者造成刺痛现象的特点。
附图说明
[0034]
图1是本发明的整体流程图;
[0035]
图2是直流刺激波形图;
[0036]
图3是伪刺激波形图;
[0037]
图4是交流刺激波形图。
具体实施方式
[0038]
下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。
[0039]
实施例。一种实现经颅电刺激波形的紧急缓降方法,构成如图1所示,包括以下步骤:
[0040]
a、根据不同刺激模式生成不同的刺激波形数据,并存储在sram中;
[0041]
b、启动dac的dma功能,将sram中的刺激波形数据生成相应的电压波形驱动恒流源,产生相应的电流刺激波形;
[0042]
c、判断是否按下紧急按键:
[0043]
当按下紧急按键,电流刺激波形采用对称缓降的方式将电流降至0ma;
[0044]
反之,则继续刺激,直至到达设定的刺激时间。
[0045]
当电流刺激波形为直流刺激波形时,对称缓降的具体方法为:
[0046]
如图2所示:直流刺激波形图,定义
①‑

②‑


为一个完整刺激波形,时间区间为(t0
‑‑
t)。t0
‑‑
t1(

)时刻为电流上升阶段,上升时间t1跟设定的电流设定值呈线性关系,如设定的电流值为1ma,则t1=30s,0.5ma为15ms;t1
‑‑
t2(

)时刻是达到电流预设值保持保持阶段,t2
‑‑
t(

)时刻是电流下降阶段,此波形与电流的上升阶段呈对称关系;
[0047]
如果在t0
‑‑
t1(

)区间的t0时刻,按下急停按键,则电流波形在此时刻沿着
①‑
1所示的波形缓慢将至0ma,结束刺激,保证患者不会感受到刺痛;
①‑
1波形与t0
‑‑
t0波形对称;
[0048]
如果在t1
‑‑
t2(

)区间的t1时刻,按下急停键,则电流波形在此时刻沿着
②‑
2所示的波形缓慢将至0ma,结束刺激;
[0049]
如果在t2
‑‑
t(

)区间的t2时刻,按下急停键,则电流波形在此时刻沿着

所示的波形继续缓慢将至0ma,结束刺激;
[0050]
具体实现方法:
[0051]
本办法采用dac+dma方式,dma在传输dac数据过程中,是在tr的驱动下完成的,即定时器的一个溢出中断为dma传输的一个点;所以在参数设置时,需要计算:
[0052]
1)tr记一个数所用的时间为1us,
[0053]
arr=((srt/vol_coe)-1)/1;
[0054]
arr:tr的溢出一次所需要的计数值,此值用来配置tr;
[0055]
srt:设备可以设置的最大电流对应的最大上升时间,如2ma对应60s;srt=60*1000(us)。
[0056]
vol_coe:设备可以设置的最大电流对应的dac的最大值,此值为常量4096;
[0057]
2)vmax=vol_coe*cv/max_out_cur;
[0058]
vmax:电流预设值对应dac所输出的值;
[0059]
max_out_cur:设置的最大电流值:此值为常量:2ma;
[0060]
cv:预设的电流值(0
‑‑
2ma);(《=max_out_cur);
[0061]
此值预装载在dacv_buf[200]中,用于dac+dma在

阶段的传输值;
[0062]
3)tt=t*60*1000000/((arr+1)*1);
[0063]
tt:tr溢出中断的总次数;t:用户预设的刺激时间(分钟)
[0064]
t*60*1000000(us);(arr+1)*1:tr溢出一次需要的时间(us);
[0065]
此值用于判断是否刺激结束完成;
[0066]
4)ss=vmax-1;
[0067]
ss:t1时刻对应的tr溢出次数值;
[0068]
ds=tt-ss;
[0069]
ds:t2时刻对应的tr溢出次数值;
[0070]
此值用于判断,急停按下后,当前所处的阶段;

阶段

阶段

阶段。
[0071]
在静态ram中,有2个buf,分别存储rb[vol_coe]值0
‑‑
4095,对应电流缓升数据,db[vol_coe]值4095
‑‑
0,对应的电流缓降数据,并且与缓升的数据对称,当设备启动刺激时,波形在

阶段,上升阶段,dac+dma会传输rb中的数据,数据长度为vol_coe;当传输完成一个数据,tr会中断一次,在中断中累加一个计数值cva,cva=cva+1;当传输vol_coe完成时,会出发一次传输完成中断,继续传输

阶段的dacv_buf数据,传输完成,再次进入传输完成中断,判断是否进入3阶段,如果没有,继续传输

阶段的数据,如果判断进入

阶段,则传输db中的数据;直到传输完成,即电流降为0ma,结束本次刺激;如果在

阶段t0时刻按下急停按键,通过cva与vmax比较,如果小于vmax,则处在上升阶段,dma会立刻停止传输后,dma会重新设置要传输的db中的数据,及起始地址db[vol_coe-cva],传输的个数cva,设置完成后,立即启动传输。此db中为电流缓降的数据,且与上升阶段是对称关系,传输完成后,即电流降至0ma,结束本次刺激;如果在

阶段t1时刻按下急停按键,通过cva与vmax和ds比较,cva值处在vmax与ds之间,判断为

阶段,dma会立刻停止传输后,dma会重新设置要传输的db中的数据,传输数据的起始地址db[vol_coe-vmax],传输的个数为vmax,设置完成后,立即启动传输,此db中为电流缓降的数据,且与上升阶段是对称关系,传输完成后,即电流降至0ma,结束本次刺激;如果在

阶段t2时刻按下急停按键,dma立即停止传输,通过cva与vmax和ds比较,cva值大于等于ds值,判断为

阶段,dma继续传输电流缓降的数据,直至传输完成后,即电流降至0ma,结束本次刺激。
[0072]
此方法也适用于伪刺激波形;如图3所示。
[0073]
图3中,在t0时刻按下按键,刺激波形会沿着t0时刻的虚线电流波形缓慢至0ma,结束刺激;在t1时刻按下按键,刺激波形会继续沿着当前的电流波形缓慢至0ma,结束刺激;在t2时刻按下按键,直接结束刺激;在t3时刻按下按键,与t0时刻处理方法相同;在t4时刻按下按键,与t1时刻处理方法相同;
[0074]
当电流刺激波形为交流刺激波形时,对称缓降的具体方法为:
[0075]
如图4所示:在整个刺激周期内的任意时间段按下急停按键,时间点都会落在一个正弦波的周期波形内,如图4所示,此处分为4个阶段:t0
‑‑
t1为

阶段;t1
‑‑
t2为

阶段;t2
‑‑
t3为

阶段,t3
‑‑
t4为

阶段;如果急停键盘按下处在

阶段t0时刻,刺激电流将立即
停止上升,并在此点安装上升刺激波形的对称波缓慢下降至0ma;如果急停按键按下处在

阶段t1,因为此阶段刺激电流本身处于缓降阶段,所以刺激电流将继续刺激到t2时刻结束;如果急停按键按下处在

阶段t2时刻,刺激电流将立刻停止,沿着对称的波形缓慢将至0ma,结束刺激;如果急停按键按下处在

阶段的t3时刻,此时的波形处于缓降的趋势,所以刺激电流将继续刺激到t4时刻结束;
[0076]
具体实现方法:
[0077]
采用dac+dma方式,dma在传输dac数据过程中,是在tr的驱动下完成的,即定时器的一个溢出中断为dma传输的一个点;所以在参数设置时,需要计算:
[0078]
1)、tr记一个数所用的时间为1us,
[0079]
arr=(uint16_t)(1000000/(2*adp*fv))-1;
[0080]
arr:tr的溢出一次所需要的计数值,此值用来配置tr;adp:200一个正弦半波为200个点;fv:预设的周期值;
[0081]
2)、buf[i]=k*sin(x*(pi/180))i:[1
‑‑
adp]
[0082]
k=cv*vol_coe/max_out_cur;
[0083]
x=uang*i;
[0084]
uang=180/adp;
[0085]
3)、rs=(srt)*fv*cv/max_out_cur
[0086]
rs:缓升的波形周期次数;srt:60s
[0087]
fv:预设的频率值;max_out_cur:2ma
[0088]
ds=rs;ds:下降的周期波形次数;
[0089]
4)、buf1[i]=buf[i]*rst/rs;
[0090]
buf2[i]=buf[i]*rst/rs;
[0091]
i:[1
‑‑
adp];
[0092]
上升阶段双buf的填充值;
[0093]
5)、buf1[i]=buf[i]*dst/ds;
[0094]
buf2[i]=buf[i]*dst/ds;
[0095]
i:[1
‑‑
adp]
[0096]
下降阶段,双buf的填充值;
[0097]
6)、mpn=t*fv-2*rs-1
[0098]
mpn:交流保持阶段结束波形周期数;t:预设时间s
[0099]
fv:预设频率。
[0100]
将dac_buf1中填充200个离散点正弦波的半波数据,为了提高传输效率,本传输机制为双buf传输机制,通过bf判断,目前需要使用哪个buf,需要哪个buf填充数据,记录使用的上升阶段buf,bf=1,计算并填充buf1及buf2的初始数据,启动刺激时,首次传输buf1数据,由dac+dma方式将半波数据由dac生成模拟电压控制恒流源,在dma传输一个点时,在tr中会产生一次溢出中断,在tr中断中,累加记录一次值cva,用于判断波形打点到哪个时刻,半波传输完成后cva清0,,控制电极电流反向,再传输一次半波buf1数据,rst加1,bf值0、1交替,计算并填充buf1或buf2数据,待下个周期使用buf数据传输;在tr中断中,累加记录一次值cva,半波传输完成后cva清0;
[0101]
传输完成2个半波后,通过cva值判断是否达到最大值rs;如果未达到,继续按上面方式传输,如果达到,则进入t1
‑‑
t2阶段,buf中填充到了最大波形数据值;再次一个周期一个周期传输数据值,每过一个周期,mpn减1,直到mpn减为0,退出t1
‑‑
t2阶段,进入到了t3
‑‑
t阶段;
[0102]
在t3
‑‑
t阶段,记录使用的下降低阶段buf,同样采用双buf机制,每传输一个周期,dst减1,bf0、1交替,计算并填充buf1或buf2数据,buf中的填充值与传输值会不断的减小,直到dst=0;结束本次刺激;
[0103]
如当t0时刻按下按键,首先判断cva值是否小于(adp/2),如果小于,则可以断定t0时刻处于t0
‑‑
t1之间;判断目前使用的哪个buf的数据如bf=1,用的是buf1的数据,再根据cva的值,记录了已经打了多少个点,停止dma传输,设置dma的数据在dac_buf1[adp-cva]位置处,传输个数为cva,进行传输;此值部分的值刚好是开始刺激的对称值,且是缓降波形,本次传输完成,也就是电流缓降之0ma,结束本次刺激;
[0104]
如当t1时刻按下按键,根据cva的值,与(adp/2)比较,cva》(adp/2);说明正弦波正在缓降0点,本次只记录紧急按键按下标记位,待传输完成本次数据,即停止刺激。
[0105]
反向半包与正向半包,判断机理一样。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1