基于AVR的微功耗电刺激器

发布者:zonheny最新更新时间:2013-10-15 来源: eefocus关键字:AVR  微功耗  电刺激器 手机看文章 扫描二维码
随时随地手机看文章

  运动障碍性疾病源于不同神经递质之间的失衡,而不同部位神经细胞的变形坏死是导致神经递质失衡的神经生物学基础。既往对运动性疾病的治疗主要通过药物治疗或苍白球手术破坏两种方法。第一种治疗途径或者是疗效差,或者是因药物副作用大患者不能耐受;而第二种途径即手术破坏的副作用也特别大。如果能够刺激脑内某一特定的核团,以改变核团的功能活动,就有可能在一定程度上纠正神经递质之间的失衡,从而达到治疗运动性疾病的目的。自1960年以来,神经病学家和神经外科学家通过研究发现,深部脑刺激(Deep Brain Stimulation, DBS)能够改善神经系统疾病如特发性震颤和帕金森氏病的某些症状。研究人员预测,DBS还可能用于治疗癫痫、疼痛、多发性硬化、瘫痪、强迫性神经症和抑郁症等疾病。

  为了研究DBS对癫痫治疗的机理,首先开发了微型迷走神经电刺激实验器(Vagus Nerve Stimulator,VNSr),并植入大鼠体内进行癫痫治疗的研究。分别在大鼠出生后35天(Postnatal 35 days, P35)和P60时埋植神经刺激器刺激电极和脑电图(Electroencephalograph,EEG)记录电极,借助电刺激器发出一定频率、脉宽和强度的脉冲刺激迷走神经,通过观察动物自发性癫痫发作(Spontaneous Recurrent Seizures,SRSs)的频率、皮层和海马EEG的频谱变化、水迷宫测定动物的视-空间记忆功能及Timm和Thionin组织染色观察大脑神经病理学改变,来测定神经刺激器对癫痫的治疗作用。

  电刺激器由植入电极、连接导线及皮下脉冲发生器三部分组成。脉冲发生器产生的刺激电流经刺激电极刺激迷走神经。植入动物体内的电刺激器需要在设定的时间开启。在一个时间间隔里,发出一定频率的刺激脉冲电流。本文主要叙述电刺激器的设计思想。

  1 电刺激器设计要求

  本系统中植入动物体内的电刺激器属于开环控制,设定为间歇式工作方式,根据前期实验结果,结合参考文献1提供的参数,刺激器工作间隔时间为5分半钟,刺激器每工作30秒,输出一次刺激电流,然后停止工作5分钟,如此循环往复。工作过程是输出频率30Hz、脉宽500μs的刺激电流。为了准确控制设定的参数,本系统中嵌入了单片机。系统结构框图如图1所示。

  电刺激器设计的关键是高可靠性、微型化和低功耗。因此采用纽扣式电池供电,选用低功耗、微小封装的高可靠性单片机和元件。[page]

  2 电压调整

  本系统采用3V纽扣式锂电池供电,为了达到刺激电流的强度要求,需要将电压提升。电压的提升应选用高效率紧凑型DC/DC进行升压。可供选用的紧凑型升压DC/DC的IC元件很多,例如美国国家半导体公司的LM2703、LM2733,凌特公司的LT1615,德州仪器的TPS61040,台湾易亨电子的AP1522等等。这几种IC都是SOT23-5的紧凑型封装,管脚完全兼容,这也是本系统选用这种IC的原因,不担心芯片缺货,将外围元件参数稍做修改就可以对IC进行互换。电压调整电路的接线原理图如图2所示。

  LT1615是微功耗高效率的升压DC/DC,输入电压范围为1.5V~15V,适用于最大输出电流小于100mA的场合。芯片在空载时的静态工作电流为20μA,当4脚SHDN为低电平时关闭芯片,其静态工作电流仅为0.5μA。芯片的工作效率约为75%。输出电压值由图中的R2和R4决定:

  使用3V电池直接给单片机供电。单片机通过图中的ON_OFF控制包括DC/DC电路在内的外围电路的供电,在工作的间歇期进入休眠状态无输出脉冲时,将ON_OFF设为高电平,切断外围电路的供电,从而有效地降低系统的电流损耗。

  3 ATmega48单片机及其脉冲发生电路

  3.1 ATmega48单片机及应用

  ATmega48单片机是Atmel公司在2004年底推出的微功耗高性能八位单片机,采用TQFP32紧凑型封装,批量生产时还可以选用更小体积的MLF32封装(尺寸仅为5mm×5mm)。内有4KB的Flash程序存储器、256B的EEPROM和512B的静态存储器。支持ISP串行下载方式。

  ATmega48单片机为RISC结构,在1MHz频率下速度为1MIPS。系统时钟有外部低频、外部高频、内部RC振荡器时钟等多种工作方式可以选择。选择方法是通过编写熔丝位,并结合软件编程与时钟相关的寄存器实现。选择单片机的时钟频率越高,单片机的功耗也越大。本系统选用128kHz的内部RC振荡器,在工作电压为3V时,静态电流小于60μA。休眠状态时静态电流更低。ATmega48单片机内有六种省电休眠模式,可以使仪器在非工作期间进入休眠状态。ATmega48的系统时钟还可以通过编程分频进一步地降低时钟频率,减小功耗,在仪器休眠期,采用32倍的分频系数将时钟降低到4kHz。

  ATmega48单片机内有两个8位的定时/计数器,一个16位的定时/计数器,可以满足本系统对开启时间、脉宽、脉冲频率的精确控制。另外单片机还有6个PWM输出口,可以用于调节仪器的刺激强度。ATmega48单片机内部有独立的硬件看门狗时钟,可以有效地防止单片机死机。

  本系统选用的ATmega48V是ATmega48的低电压工作的芯片,选用ATmega48V作为电刺激器的主控芯片,几乎不需要另加其他的元件。ATmega48V可以在1.8V~5.5V范围的电压下工作,在电池使用的有效电压范围内,单片机均可正常工作,能充分利用电池的容量。

  3.2 脉冲发生电路

  通常具有一定驱动功率的脉冲输出电路首先产生脉冲波形,再将脉冲波形用集成的功率放大器作驱动放大,放大电路工作在线性放大区。这种放大电路必须具有静态电流来维持合适的静态工作点,功耗较大。为了降低耗电流,本系统的电刺激器用开关方式生成刺激脉冲。单片机及其脉冲发生器电路原理如图3所示。J1是刺激电极的接线端子,OC0A是ATmega48V定时器0的PWM输出口,根据实验的要求调节输出强度。用PWM输出以及R6、R7、C6和C7组成的滤波器调节U3A正相的输入电压。运放U3A接为正相放大方式,放大倍数由R8和R9决定。Q2为功率放大三极管,增大输出的驱动能力。Q3工作在开关状态,用于控制输出脉冲的宽度和频率,当ATmega48V的9脚是高电平时,Q3导通,输出刺激脉冲;导通500μs后,ATmega48V的9脚变到低电平,Q3关闭,脉冲结束;按10Hz的频率循环往复。[page]

  4 功能实现及软件编程

  ATmega48有131条指令,大多是单机器周期指令,指令系统非常丰富。ATmega48在指令设计时很好地考虑到C语言的操作模式,用C语言编程可以得到很高的代码效率。ATmega48属于AVR系列的单片机,常用的用于AVR单片机开发的C语言有两种:AVR-ICC和AVR-GCC。AVR-ICC是商业的AVR的C语言集成化开发工具(IDE),界面友好,使用简单,有生产和代理商很好的技术支持。而AVR-GCC是依靠网络流行的公开源代码的自由软件,可以从网上(http://www.avrfreaks.net)免费下载编译软件和各种工具软件。由于AVR-GCC有大量的高手参与开发和众多网上参与者的测试,其软件的更新速度和代码效率以及软件缺陷率的排除都非常出色。但是AVR-GCC是由UNIX平台上移植过来的,保留了类似UNIX的操作方式,对于不熟悉UNIX的WINDOWS用户,其使用时入门很困难,只有熟练使用后才能感到其功能的强大。在http://www.avrfreaks.net网上有关于AVR-GCC的论坛,使用中的许多问题都可以在论坛上得到帮助。由于AVR-GCC具有低廉的使用成本和出色的功能,所以本系统选用AVR-GCC作为编程工具。

  电刺激器在工作的间歇期进入休眠状态。ATmega48有6种休眠方式,每一种方式休眠的部件不相同,休眠后单片机的功耗也不同。由于电刺激器在休眠时要求定时重新唤醒进行工作,必须保留一个定时器的工作。因此选用的休眠方式为IDLE,在IDLE方式下定时器2仍然可以工作。以下是休眠部分的程序。

  set_sleep_mode(SLEEP_MODE_IDLE); //设置休眠方式为IDLE
SMCR |= _BV(SE);         //允许休眠
_asm_ _volatile_ (\'sleep\' \'nt\' :: ); //进入休眠
SMCR &= ~_BV(SE); //从休眠中唤醒,进入工作状态,不允许休眠

  定时器2用于对休眠期的时间间隔计时。t2_init_idle(void) 是进入休眠状态前初始定时器2的程序,SIGNAL(SIG_OVERFLOW2)是休眠状态下定时器2的中断服务程序。每1分钟定时器2将会产生溢出中断,唤醒单片机。

  void t2_init_idle(void){ //定时器2进入休眠状态前的初始化
CLKPR=(1<<CLKPCE); //允许改变系统时钟;进入休眠状态前改变系统时钟
CLKPR=0x05; //系统时钟的分频比例为32,系统时钟为4kHz
TCCR2A=0; //定时器/计数器2工作于定时器方式
TIMSK2=(1<<TOIE2); //允许定时器2溢出中断
TCCR2B=0x07; //定时器2时钟分频比例为1024
TCNT2=32; //定时器2产生1分钟定时的初始值
}
SIGNAL(SIG_OVERFLOW2){ //定时器2溢出的中断服务程序
TCNT2=32; //重置定时器2产生1分钟定时的初始值
min++; //分钟计数
}

  当唤醒5次,即休眠5分钟后,单片机重新进入唤醒工作状态。在唤醒工作状态下,使用定时器2控制脉冲的宽度和频率,需要定时器2重新初始化,并将系统时钟恢复到128kHz(程序略)。

  设置定时器0工作于PWM输出方式,用于控制刺激强度。

  void t0_init(void){ //定时器0初始化为PWM输出
TCCR0B=(1<<CS01); //定时器0时钟分频比例为8
TCCR0A=(1<<WGM00)|(1<<WGM01); //快速PWM方式
TCCR0A|=(1<<COM0B1); //符合时为低电平,峰值变高
OCR0B=outv; //输出电平用OCR0B控制
}

  系统总程序流程如图4所示。

  电刺激实验器的开发是为了植入大鼠体内,研究电刺激对癫痫抑制的机理。本研究开发的电刺激实验器整体结构尺寸为Φ17mm(直径) x 7mm(厚)。脉冲发生放大电路用开关方式实现,大大降低了系统的功耗。采用ATmega48单片机控制输出脉冲,精度高、功耗小、工作可靠、可以连续工作一个月以上,满足了实验的要求。

关键字:AVR  微功耗  电刺激器 引用地址:基于AVR的微功耗电刺激器

上一篇:基于ATmega128和CH374的USB接口的软硬件设计
下一篇:基于Atmel单片机的水文测验系统

推荐阅读最新更新时间:2024-03-16 13:28

基于AVR单片机与FPGA的低频数字式相位测量仪
摘要:提出了以AVR ATmega128单片机和Altera公司的Cyclone系列EP1C3T100为核心的系统设计方案。分析了数字式低频相位测量仪的测量原理和测量误差及其消除的方法。利用单片机强劲的运算、控制功能和FPGA运算速度快、资源丰富的特点。主要介绍了系统的软硬件设计。实践表明,此方案设计的相位仪对低频正弦波信号实现精确测频和测相位差,具有处理速度快、稳定可靠、精度高等优点。 关键词:数字相位仪;单片机;FPGA;误差;频率;相位差 在工业领域中经常要用到低频数字式相位仪来精确测量两信号之问的相位差,比如在电力系统、频率特性的研究、激光测距等领域均有广泛的应用,相位检测的精度直接决定系统的整体性能。这就要求测量仪
[嵌入式]
基于<font color='red'>AVR</font>单片机与FPGA的低频数字式相位测量仪
AVR单片机教程——随机点亮LED
之前我们做的闪烁LED和流水灯,灯效都是循环的。这次我们来尝试一些不一样的——每一次随机选择一个LED并点亮。 要实现随机的效果,我们要用C语言标准库中的相关设施: 1 #define RAND_MAX /*implementation defined*/ 2 int rand(); 3 void srand(unsigned seed); 以上设施都定义在 stdlib.h 中。其中,rand() 可以返回 范围内的伪随机整数,srand() 用于给 rand() 提供种子,当种子相同时,多次调用 rand() 得到的序列是相同的,这就是为什么称 rand() 产生的数为“伪随机数”。如果使用 rand() 之前没有
[单片机]
AVR定时器的使用说明与注意要点
M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器(T0/T2)相对简单,除了T2有异步工作模式用于RTC应用外 (可以利用溢出中断和比较匹配中断作定时功能) 分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 IC P捕捉输入场合---测量脉宽/红外 解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差不多 1 用于输出50%占空比的方波信号 2 用于产生准确的连续
[单片机]
AVR单片机在工业控制系统中的应用
1. 引言 单片机在工业控制领域应用时不同于民用、商用领域中的应用,工业控制所处的环境相对比较恶劣,干扰源多,其常见干扰源来自现场工业电气在投入、运行、切断等工况下产生的静电感应、尖峰电压、浪涌电流等干扰。实践表明,在工作室中按用户要求设计的小型工业采暖控制系统,尽管各项逻辑功能及技术指标的测试都正常,但该系统拿到现场上却不能使用,检测失灵,操作失控,显示花屏等现象接踵而来。经分析,其干扰是从现场不同路径传入单片机控制系统的。切断干扰源,提高单片机抗干扰能力是解决控制系统正常工作的前提。 2 抗干扰措施 2.1 测温信号的抗干扰 测温电路采用的是单总线芯片DS18B20,该芯片具有测温精度高,连接线路简单等优点,其测温范围为-
[单片机]
<font color='red'>AVR</font>单片机在工业控制系统中的应用
AVR,C51和PIC单片机比较
八位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。即便到了本世纪,在单片机应用中,仍占有相当的份额。由于八位单片机种类繁多,本文仅将常用的几种在性能上作一个简单的比较,供读者在使用时作参考。 1. 51系列   应用最广泛的八位单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。有人推测,51芯片可能最终形成事实上的标准MCU芯片。   51系列优点之一是它从内部
[单片机]
AVR单片机的nRF24L01发送接收设计
#include “iom16v.h” #include “macros.h” #include “12864.h” //spi标志 #define DDR_SPI DDRB #define DD_MOSI 5 #define DD_MISO 6 #define DD_SCK 7 #define DD_SS 4 #define CE PB3 #define IRQ PB2 //#define NRF24L01_MISOPB6//输入0 #defineHign_24L01_MISOPORTB|=(1 《《 PB6) #defineLow_24L01_MISOPORTB &= ~(1 《《 PB6) #defineRead_24
[单片机]
<font color='red'>AVR</font>单片机的nRF24L01发送接收设计
AVR单片机的RC5和RC6算法区别、实现与优化
引言   在无线局域网中,传输的介质主要是无线电波和红外线,任何具有接收能力的窍听者都有可能拦截无线信道中的数据,掌握传输的内容,造成数据泄密。因此,对于无线局域网来说,数据的加密是关键技术之一。   AVR高速嵌入式单片机是8位RISC MCU,执行大多数指令只需一个时钟周期,速度快(8MHz AVR的运行速度约等于200MHz C51的运行速度);32个通用寄存器直接与ALU相连,消除和运算瓶颈。内嵌可串行下载或自我编程的Flash和EPPROM,功能繁多,具有多种运行 模式。   依照IEEE1999年发布的802.11无线局域网协议标准,采用Atmel公司的Atmega128高速嵌入式单片机,开发无线数据传输装 置。
[单片机]
基于AVR微控制器的电力机车智能辅保系统的实现
    摘要: 给出了以AVR微控制器为核心的电力机车智能辅保系统的设计方案,并介绍了系统硬件及软件的具体实现方法。     关键词: 智能辅保系统 AVR微控制器 硬件 软件 电气机车辅助系统中有劈相机、空气压缩机、通风机及制动风机等各种类型的电机。运行中为了防止出现短路、过流等异常情况而烧毁电机,通常配置辅助保护系统,起到及时监测电机故障并加以处理的作用。目前电力机车上安装的辅保系统都是模拟电路装置,系统硬件复杂,又不方便司机使用和维修。因此,设计一种实时性高、性能可靠的智能辅保系统替代原有的模拟电路装置势在必行。本文将介绍笔者开发的用于韶山型电力机车的智能辅助保护系统的设计及实现。 1 系统的主要功能
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved