微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT89C52的体外神经剌激仪的设计

基于AT89C52的体外神经剌激仪的设计

时间:11-05 来源:互联网 点击:
1. 引言

电刺激疗法被广泛应用于促使神经细胞或肌肉纤维兴奋等临床医学与医学研究领域。自1971年Galvani取得的对蛙腿刺激的实验成功以来,它便被广泛应用于临床医疗和生理学研究。它在减轻组织痛,肌肉加固,心率调节,药物的电离子渗入疗法,等方面有着广泛的应用,并且效果显著。
功能性电刺激疗法相比于其它疗法,如药物注入疗法,激光疗法,传统的超声波与电磁振荡疗法等,有着明显的优势。电荷刺激是FES中在发生在组织中刺激的本质。从简单的单通道刺激仪,到复杂的可编程的多通道的电学刺激仪,有越来越多的电学刺激仪被开发出来,并应用于各种FES康复领域。在最近的几年里,可携式的电刺激仪已被投入到医学研究和医学临床,并受到越来越多医学专家与患者的好评。

近年来,随着计算机应用技术的高速发展,各种高智能化的专业型FES应用设备被广泛研制,并且刺激更趋精细和功能更趋完备。例如,在各种瘫痪患者康复锻炼过程中,通过编制肌肉的力量与耐力训练程序,为重新获得站立,行走能力而研制的助行系统,在国外已获若干进展。

综合国内国外的研究成果,FES应用设备的智能化和数字化程序越来越高,但是体积大,成本高,稳定性不够,并且需要通用的具有相关功能的小型FES应用设备进行维护和校准。这种价格高昂的大型设备,一方面,需要高性能微机作为主机,进行数据分析;另一方面,需要复杂的高性能微型单片机应用系统,如基于嵌入式系统或DSP系统进行终端设计,以控制脉冲发放和高速采集并处理数据。并且需要一条高速度,高可靠性的通信信道进行数据交换。

2 硬件电路设计

体外神经刺激仪的原理框图如图1所示,主要由MCU、键盘模块、显示模块、电源模块、电极以及AD/DA转换通道组成。



MCU为控制中心,它控制液晶显示模块,DA,AD。键盘中含有的仪器开关键,可以控制电源。本设计中MCU选用AT89C52,主要考虑到它内含用8KB flash ROM,并且含有三个定时中断,这些特有的资源对该系统的设计非常有利。因为系统需要占用定时器0去确定信号输出的频率,定时器1去确定信号输出的脉宽,还需要定时器2来决定阻抗鸣声的频率。

键盘电路主要实现各种模式选择和参数的设定,采用常见的扫描码键盘实现。在CPU与键盘接口模块中,通过扩展外部中断0接入CPU,这样更加增强了键盘信息的响应度。电源电路向系统提供可靠的、高稳定的电源。本设计中电极和AD/DA转换通道是硬件设计的关键。系统的DA器件采用的是12位的TLV5619器件。该器件最大的特点是转换速度快,且几乎没有时延。电路图如图2所示。



在对DA的操作中,也是通过寻址来实现操作,高位地址是通过P2.6(H4ADDR)和P2.5(DACADDR)来线选。其中,P2.6(H4ADDR)为高4位数据锁存器地址,P2.5(DACADDR)为低八位数据锁存器地址。由于CPU的数据总线宽只有8位,所以需要一个扩展的锁存器来锁存高4位。在本系统中,我们采用的是SN74HC573AN来实现的。具体的操作如下,先通过P2.6(H4ADDR),将需要进行DA的CODE的高4位打入SNHC573中锁存,再能过写操作,将CODE的低8位写至DA中,由于这一步的写操作开启启了DA器件TLV5619的锁存,同时也会将高4位CODE写入DA中,因为SN74HC573AN的输出端低4位和DA器件TLV5619的高4位相连。写入操作完成后,由于LDAC一直有效,所以立即启动DA转换。

本系统采用的是单通道串行输出A/D芯片TLC1549,逐次比较型10位A/D器件。该器件有6个工作方式:区别主要是CS是否连续为低电平;支持快速、慢速:决定于I/O CLOCK周期。区别于普通的单通道串行输出A/D芯片如DS18B20,其具有独立的时钟与数据线接口。

3.软件设计

软件设计在本系统设计方案中占有重要地位,各种功能的实现依赖于系统的各个处理模块。系统中,如果按功能来划分模块,并不能实现系统的分割,因为,各功能模块的关系非常紧密,如液晶显示模块与键盘控制模块,液晶显示模块与DA/AD模块均有着紧密的关系。不能完全把它们隔离开来。但考虑到51单片机应用系统的特性,可以将系统按照服务模块进行分割。具体划分如下:

(1)主程序模块(包括系统初始化)
(2)外部中断0服务模块
(3)定时中断0服务模块
(4)定时中断1服务模块
(5)定时中断2服务模块
(6)数据定义模块

这五个模块实际上就是各应用程序,它们之间即互斥,又相关,互斥的是争达CPU周期,相关的时,通过绶冲区中数据进行信息交换。并且在各中断服务间,优先级是固定的,这将大大简化了程序的设计。

在主模块中,系统初始化包括堆栈的定义,通用寄存器组0的选择,内存缓冲区的初始化,中断及中断优选级的设置,开启外部中断0(给用户控制权);液晶及显示初始化,具体包括液晶的初始化,界面信息的显示,操作参数的初始值显示;接下来的就电极间阻抗的测量及显示。当然,在没有启动显示阻抗前,主程序是不进行阻抗测量与显示的。只是一直在等待。主程序模块流程图见图3.1



图3主程序模块流程图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top