基于单片机的血糖数据采集及控制系统

上传人:沈*** 文档编号:44715544 上传时间:2021-12-05 格式:DOC 页数:32 大小:1.09MB
收藏 版权申诉 举报 下载
基于单片机的血糖数据采集及控制系统_第1页
第1页 / 共32页
基于单片机的血糖数据采集及控制系统_第2页
第2页 / 共32页
基于单片机的血糖数据采集及控制系统_第3页
第3页 / 共32页
资源描述:

《基于单片机的血糖数据采集及控制系统》由会员分享,可在线阅读,更多相关《基于单片机的血糖数据采集及控制系统(32页珍藏版)》请在装配图网上搜索。

1、血糖数据采集及控制系统设计Design of Blood Glucose Data Acquisition and Control System总 计: 毕业设计(论文)27页表 格: 3 个插 图: 24幅血糖数据采集及控制系统设计血糖数据采集及控制系统设计 摘 要 本文设计了一种新型的血糖数据采集及控制系统。系统以MSP430单片机为核心控制芯片,以微创的方式对糖尿病患者的血糖进行连续的检测并利用LCD12864实时显示数据;然后通过nRF905无线通信模块,将测量得到的血糖数据传送给胰岛素注射系统;最后,胰岛素注射系统根据当前接收到血糖值得出适当的胰岛素剂量,驱动微型电机并进行胰岛素注射

2、,并将低功耗设计思想融入其中。系统利用IAR430 Embedded Workbench对软件进行了调试,实现了血糖数据采集与控制设计的预期功能目标,在医用工程中具有很好的发展前景。关键词 血糖检测;单片机;无线通信;电机驱动Design of Blood Glucose Data Acquisitionand Control SystemElectronic and Information Engineering Specialty LIU hai-yanAbstract: This paper designs a new type of blood glucose data acquisi

3、tion and control system, which is based on MSP430 MCU as the core controller, and is a minimally invasive manner in patients with diabetes continuous glucose monitoring, then the data can be displayed on LCD12864 with real-time. Whats more, based on the nRF905 wireless communication module, the meas

4、ured blood sugar data can be transmitted to the insulin injection system; Last, according to the received blood glucose data, insulin injection system can be obtained the proper insulin dose, then drive the miniature motor and control insulin pump injection, lowpower design also thinking into this s

5、ystem.This system has debugged the software through IAR430 Embedded Workbench, and realizes the expected goal of blood glucose data acquisition and control design. It has a better prospect in the medical engineering.Keywords: Blood glucose testing; microcontroller; wireless communication; motor driv

6、e目 录1 前言11.1课题研究的背景及意义11.2胰岛素泵和血糖检测技术的介绍12系统的整体方案研究与设计22.1 研究目标22.2 系统总体实验方案22.2.1 血糖采集系统总体方案设计22.2.2 胰岛素注射系统总体方案设计32.2.3 无线数据通信的总体方案设计33系统硬件设计43.1 血糖检测系统的硬件总体设计43.1.1 MCU处理器模块设计43.1.2弱电流检测模块设计53.1.3 无线通信模块设计63.1.4电源模块设计83.1.5 LCD模块设计93.2 胰岛素泵控制系统硬件设计93.2.1 MCU模块设计103.2.2 电源模块设计103.2.3 无线通信模块设计113.2

7、.4 检测模块设计113.2.5 电机驱动模块113.2.6 LCD 显示模块124 系统软件设计124.1 血糖检测模块软件设计124.1.1 血糖数据采集模块设计流程134.1.2血糖测量模块设计流程144.1.3 无线数据发送软件设计流程164.2 胰岛素注射系统的软件设计174.2.1系统主程序设计流程184.2.2无线数据接收设计流程184.2.3电机控制程序设计194.3 软件设计环境与开发工具205 系统低功耗设计分析21结束语22参考文献23附录 MSP430与nRF905通信部分源程序24致谢27 III1 前言1.1课题研究的背景及意义 糖尿病是一种内分泌疾病,而且是终生疾

8、病,目前在全世界的发病率很高。自从加拿大人F.G.班廷和C.H.贝斯特于1921年首先发现胰岛素,在其后的很长一段时间,人工注射胰岛素被认为是一种有效治疗糖尿病的方法。但由于分次注射胰岛素存在不足,上世纪60年代初出现了连续胰岛素输注的概念。70年代后期,胰岛素理想输注的概念被进一步提出,即应符合正常人体胰岛素分泌的生理特征。如果要进行胰岛素的定量注射,必须事先测知患者体内的血糖浓度,血糖监测对于糖尿病患者是非常重要的,血糖仪也便在此背景下应运而生了。使用血糖仪进行测定并记录结果,而仅仅有血糖的连续监测,对于频繁的、需要定量的胰岛素注射来说还是不够的,因为从检测血糖浓度到胰岛素注射这一环节,完

9、全处于一个开环的状态,期间不仅需要繁琐的计算,而且实时性会大打折扣,最终会给糖尿病患者带来诸多不便和安全隐患。为了解决这种开环式胰岛素注射系统的缺陷,一种闭环胰岛素注射系统的概念就被提了出来:将血糖仪采集到的血糖浓度数据以无线通信方式传送给胰岛素泵,胰岛素泵接收到信号后,根据血糖值进行计算得出胰岛素注射量并自动给患者注射(期间胰岛素泵还可以把接收到得错误信息及自身状态参数反馈给血糖仪,便于人为修正) 1。这样可以极大程度地给患者提供安全的、适当的、精确的胰岛素注射,提高其生活质量。1.2胰岛素泵和血糖检测技术的介绍从胰岛素注射系统的发展来看,胰岛素泵研制成功并用于糖尿病治疗已有30余年的历史。

10、胰岛素泵是在持续皮下胰岛素输注(CSII)这一概念下产生的新型胰岛素输注装置。持续性胰岛素输注法的概念最早在20世纪60年代初期出现的,美国Arnold Kadish博士在洛杉矶发明了胰岛素泵(标志着第一台胰岛素泵诞生了),它可以连续输注胰岛素,由于该装置十分笨重,无法广泛使用。1978年,英国科学家研制出了便携式胰岛素泵。1980年开发的闭环式胰岛素泵没有应用于临床,而是用于药物研究。1997年便携式胰岛素泵开始在美国应用于临床治疗并进入我国2。 医院中检测血糖浓度的方法一般分为检查血清葡萄糖和全血葡萄糖2种口副血清葡萄糖,是临床生化检验中的重要指标,其含量会因病态的不同而有所变动。常用的检

11、测方法主要有氧化酶一偶联比色法、微电流法、氧速率法、葡萄糖脱氢酶法、气相色谱同位素稀释质谱法等。全血葡萄糖检查是在手指上刺取一滴血,滴在特殊的试纸上,再放入小型的血糖仪内测得血糖值,该方法操作方便、准确,但需要定期与医院的数据比较以便作仪器校正,以确保数据的准确性。本文血糖的数据采集就是采用该针刺采血型血糖仪来测定血糖检测的方法。2系统的整体方案研究与设计2.1 研究目标本文的研究目标是设计一种基于无线通信的血糖数据采集及控制系统,用于血糖采集系统和胰岛素注射控制系统,从而在二者之间建立一个无线数据通信及控制系统,为后续的全闭环胰岛素注射系统提供一个可靠的平台。为达到这个目标,需要对整个系统进

12、行整体的规划。本章在充分分析系统设计要求的基础上,设计了系统的整体方案。2.2 系统总体实验方案总体设计是全面考虑系统的总体目标,进行硬件初步选型,然后确定一个系统的草案,同时考虑软硬件实现的可行性,本系统分为血糖检测系统和胰岛素注射系统设计。本系统设计的整体框图如图1所示, 图1 整体设计框图2.2.1 血糖采集系统总体方案设计一般说,血糖采集系统至少有如下图2所示的过程组成,其中传感器就是使用血糖试条将血糖值转换成对应的电流信号,然后通过信号放大和A/D转换,将模拟信号转换为可以被CPU处理的数字信号,最后将处理后的数据结果通过射频无线模块发送出去。 图2 血糖检测系统设计框图本系统的设计

13、思路是采用酶电极法对血糖进行采集,在测试电极两端加0.5V的电压,这个电压要保持恒定,不能随葡萄糖浓度的变化而变化。当滴入血样之后,血液中的葡萄糖在氧化酶的作用下与氧反应产生微电流信号,由于此信号非常小,不便于测量,所以通过硬件电路将其转换为电压信号,该电压信号通过放大器进行放大和硬件滤波处理,再通过AD转换将模拟信号转换为可以被CPU处理的数字信号,CPU并对其进行软件滤波,进而对读取的数据进行处理、转换,换算成血糖含量数据3。其中,滤波的目的是去除干扰信号(主要是来自电源和各种因素产生的系统噪声),使得测试更加精确。2.2.2 胰岛素注射系统总体方案设计本论文中的胰岛素注射系统是以微控制器

14、为核心的电路,包括无线通信模块,微型直流电机及驱动螺杆,胰岛素储药器,电源等几部分组成,如图3所示。对于整个胰岛素注射系统,首先由无线通信模块接收血糖检测系统发送来的血糖采样数据,然后经MCU 分析处理,得到需要注射的胰岛素剂量,最后通过MCU 控制直流电机转动,使其带动驱动螺杆做直线运动,推进储药器活塞,将内部的胰岛素精确输注出去4。 图3 胰岛素注射系统设计框图2.2.3 无线数据通信的总体方案设计 无线射频模块是整个无线通信模块单元的核心部件,它的选择的成功与否将将直接关系到整个无线数据采集系统的性能、成本和开发周期。射频芯片的正确选择可以使研发过程少走弯路,降低成本,更快地将产品推向市

15、场。基于本系统的实际需求,应该选用成本低、体积小、功耗低、集成度高、兼容性强、外围元件少、抗干扰能力强、接口简单、开发方便的无线射频收发一体芯片。经过市场分析,选用了Nordic公司的nRF905芯片,其无线射频收发一体芯片功耗低、数据传输速率最快,所需外围元器件最少,输出功率最大,并且采用了比FSK调制抗干扰能力更强的GFSK调制,数据传输更加稳定可靠。另外,它还有自动处理字头和CRC校验的优点,因而选用nRF905作为本系统的无线数据传输芯片5。本文选用的 nRF905 无线收发器,分别与主控制器MSP430F437 通过同步串行接口(SPI)连接,实现血糖检测系统和胰岛素注射系统之间的数

16、据无线传输。总体设计思路即是首先将MSP430F437 得到的血糖数据通过nRF905 发送出去,然后由另一端的nRF905接收该血糖数据,再由MSP430F437读取,同时通过串行接口将该数据传送MSP430F437,最后由MSP430F437通过分析、判断,将血糖数据转换为需要注射的胰岛素剂量,再控制直流电机进行注射。具体的电路设计将在下章硬件模块设计时详细介绍。3系统硬件设计本章利用模块化思想,较为详细地介绍在血糖采集与控制的设计中使用到的各个模块的工作原理以及如何实现,为后续的软件设计提供基础。3.1 血糖检测系统的硬件总体设计血糖检测系统的硬件模块包括MCU模块、电流检测、电源模块、

17、数据处理与存储模块、信号的传输和放大模块、显示模块以及无线通讯模块等,其硬件方框图如图4所示。 图4 血糖检测系统硬件设计框图3.1.1 MCU处理器模块设计微处理器是该系统的核心,信号的采集、处理和外设的控制都是由它来完成的。合当今血糖仪的实际功能要求,本设计采用型号为MSP430F437的单片机作为核心控制器,其最小系统图如图5所示。 图5 MSP430F437最小系统图其具有如下资源特点:有两种不同的系统时钟系统:基本时钟系统和增强型锁频环(FLL)时钟系统。(1)工作电压低(1.8V3.6V),电流小(280A/1MHz),5种低功耗模式LMP0LMP4;(2)16位RISC架构,27

18、条精简指令,125ns指令周期;(3)丰富的中断源并可任意嵌套,用中断请求将系统唤醒仅需6s;(4)片内看门狗及上电复位电路,可选时钟源(XTAL1、XTAL2或内部DCO);(5)片内自带1K字节RAM及在线可擦除编程32K字节主Flash+256字节信息Flash;(6)具有中断功能的内部比较器A;(7)通用串行通信模块USART0,软件可选同步/异步方式;(8)具有自动循环采集功能的8通道12位ADC12,自带采样保持器和可选电压基准;(9)两个16位定时器A、B,均各带3个比较/捕获模块,每个模块可独立编程,用于产生定时脉冲,捕获外部事件;(10)具有可编程电平检测的供电电压管理器/监

19、视器;(11)大量的I/O端口,其中具有双向并行I/O口P1和P2(有中断功能)及P3P6口,多数端口有复用功能。这些资源恰到好处地满足了本设计的各项功能需求,特别是低功耗的需求。3.1.2弱电流检测模块设计(1)设计原理分析从第一章我们知道,血糖是通过试条上的酶转换为能导电的物质并在其上施加一定的电压来产生相应的电流,然后检测出这个电流值,最后通过相应的计算换算成血糖值。然而,仅仅实现弱电流检测显然是不够的,因为无法确定被测血量是否足够,不知道何时开始倒计时。对于电流值检测的精确与否会直接影响测量结果,而测量结果则是本设计中数据采集的重要环节。如何判断是否有血进来以及血是否足量是实现本课题数

20、据采集的关键。那么可以设计两个如图6所示的电路便能实现上面的判断。其中一个的测量电极接电极1,另一个接电极2。当第一个弱电流检测电路检测到有电流时,表示有血进来;当第二个弱电流检测电路也检测到电流时,则表示血足量,同时开始倒计时6。 图6 酶试条检测示意图在实际的操作中是比较弱电流检测电路中的输出电压Vout和运放的反相端上的电Vin ,当Vout大于Vin 时,表示相应的电极有血液。则在设计中也需要检测Vin 的电压。(2)弱电流检测电路设计如下图7所示为弱电流检测电路。 图7 弱电流检测电路当要求血糖检测时,CPU内部参考电压输出端Port7经R8和R9分压,再经RC滤波,一端连A/D的输

21、入口Port6,一端输入到三输入三与门74HC11的1和2引脚;连Port6的目的是通过A/D转换知道实际输入到74HC11的1和2引脚的电压值。CPU的Port1连74HC11的13引脚,控制74HC11的输出引脚12。于是便能控制运放(MCP601)的同相输入端的通断,即能控制在电极上加电与否。现以测量电极为例,当测量电极要求加电,只有Port1输出高电平,V1in就是Port6上输入的电压;而通过负反馈,运放处于放大状态,测量电极上的电压就等于V1in,于是加电成功。同样当测量电极要求断电,只要Port6为低电平,V1in等于0,测量电极上的电压也会迅速变为0,断电成功。检测电极也是以同

22、样的原理实现。其中Port1为CPU可编程I/O口。两个运放的输出经RC滤波分别输入到CPU的两个A/D转换端口Port2、Port3。CPU就是通过操Port1、Port2、Port3及Port6这些端口来实现电流检测的。另外,由于加在血糖上的电压一般要求比较稳定,因此,加在运算放大器的同相输入端上的电压考虑从相对较稳定的MSP430F437的内部参考电压上经分压得到,而不是直接从电源上取得。3.1.3 无线通信模块设计(1)射频收发器nRF905介绍nRF905是Nordic VLSI公司推出的单片无线收发一体的芯片,工作电压为1.9V3.6V,32引脚QFN封装(5mm5mm),工作于4

23、33/868/915MHz三个ISM(工业、科学和医学)频道,433MHz开放频段免许可证使用,125频道,满足多点通信和跳频通信需要,频道之间的转换时间小于650s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表面滤波器。其使用SPI接口便与微控制器通信,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),配置非常方便。该模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),软件编程非常方便。此外,其功耗非常低,工作于接收模式时电流为12.5mA,待机模式下仅为2.5A,内建空闲模式与关机模式,易于实现节能。nRF90

24、5的最高工作速率为100kbps,高效GFSK调制,抗干扰能力强,非常适合无线数据通信的工业及民用控制场合7。(2)nRF905 的工作模式及设置如下表1所示,nRF905有两种工作模式和两种节能模式,分别为ShockBurstTM接收模式、ShockBurstTM发送模式、掉电模式和待机模式。这几种模式由外界MCU通过控制nRF905的3个引脚PWR_UP、TRX_CE和TX_EN的高低电平来决定。外界MCU通过SPI总线配置nRF905的内部寄存器,读写数据时必须把其置为待机或掉电模式。 表1 nRF905的工作模式及设置 PWR_UP TRX_CE TX_CN 工作模式 0 X X 掉电

25、与SPI编程 1 0 X 待机与SPI编程 1 1 0 Shockburst接收 1 1 1 Shockburst发射nRF905有3个引脚用于状态输出,分别是:CD(载波检测)、AM(地址匹配)和DR(数据就绪),均为高电平有效。当nRF905处于接收模式时,若检测到接收频率段的载波,则将CD置为高电平,接着检测载波数据中的地址字节;若与本身已配置的接收地址相同,则将AM置高;若检测到接收数据中的CRC正确,则存储有效数据字节,置DR为高。此外,nRF905还有一个时钟输出引脚uPCLK,通过配置内部寄存器,可改变其频率输出,这一点在调试时很有用。可以通过修改nRF905的寄存器,用示波器观

26、察uPCLK输出是否变化的方法,来判断硬件电路和MCU操作nRF905的程序是否正确,从而可以判断该设备是否工作正常7。(3)nRF905 的数据接口及其与微处理器的通信 MCU通过SPI总线配置nRF905的内部寄存器和收发数据。nRF905的SPI总线包括4个引脚:CSN(SPI使能)、SCK(SPI时钟)、MISO(主入从出)和MOSI(主出从入)。本文nRF905为从机,其SPI的时钟范围很宽,可以从1Hz10MHz,因此MCU在写控制程序时不必苛求时间的准确度。SPI总线的每次操作都必须在CSN的下降沿开始,CSN低电平有效,总线上的数据在时钟的上升沿有效。MCU对SPI总线的操作有

27、两种方式:读和写。在进行读操作时,先把CSN置低,然后在MOSI数据线上输出一个表示读命令的字节,与此同时,nRF905会在MISO数据线上输出一字节表示状态信息的数据,随后输出一地址字节,后面跟随有效数据;在进行写操作时,MCU先把CSN拉低,然后在MOSI线上输出写命令字节和数据字节即可,nRF905与MSP430F437的接口电路如图8所示。 图8 nRF905与MSP430F437的接口电路图nRF905的硬件连接电路图如图9所示,MSP430的USART模块可通过寄存器配置为通用异步串行口或SPI模块功能,这里配置为SPI模块。在硬件设计时把MSP430F437的SPI接口和nRF9

28、05的SPI接口相连即可,另外再选几个I/O口连接nRF905的输入输出信号。 图9 nRF905模块的硬件连接电路图 3.1.4电源模块设计由于本系统的其中一个目标是实现低功耗及便携性,所以电源模块采用1.5V的干电池通过MAX1797DC/DC转换器转换为3.3V作为电源。MAX1797是一款高效的升压DC-DC转换器,它的输入电压范围在0.7V5.5V之间。在本系统中实现一节干电池在输出固定电压3.3V情况下,最少能提供400mA的输出电流,转换效率达95%以上。当关断功能输入端SHDN为高电平时,芯片处于关断模式,输出为高阻态,此时不影响电池检测比较输入端LBI和输出端LBO的功能,当

29、LBI低于内部电压门限0.85V,输出LBO为低;当SHDN端接地,处于正常工作模式。当输出3.3V电压时,电路连接图如图10所示。 图10 电源输出电路图3.1.5 LCD模块设计此外,系统需要提供人机信息交换平台,所以需要通过LCD显示提示和结构状态信息,MSP430F437的端口可以直接驱动LCD显示,不需要外加其他的驱动电路,使电路简单,所以通过MSP430F437的I/O接口很容易实现对LCD的端口控制。其接口图如图11所示。 图11 LCD与MSP430接口电路图结合本论文的信息内容的多少,选用128*64LCD显示数据信息,由于LCD128*64是常用的原件,限于篇幅,不再对LC

30、D12864做介绍。3.2 胰岛素泵控制系统硬件设计该系统硬件结构框图如图12所示。下面介绍各个模块的功能及硬件设计 图12 胰岛素控制系统的硬件框图3.2.1 MCU模块设计微处理器是该系统的核心,信号的采集、处理和外设的控制都是由它来完成的。结合当今血糖仪的实际功能要求,本胰岛素泵控制设计采用型号仍然采用MSP430F437的单片机作为核心控器,来完成各个外围设备模块的控制。3.2.2 电源模块设计胰岛素注射系统采用一节1.5V电池供电,理论上不能很精确的控制电机的转速。考虑到电机正常启动时对电源干扰很大,若只用一组电源会影响单片机为核心的主电路,造成电路工作不稳定。此外主电路中一些芯片的

31、工作电压在2V5V之间,电池在有效使用期内输出的电压可能不在这些芯片所要求的供电范围,因此该系统选用双电源供电。一组给单片机和外围控制电路供电,另外一组给电机供电8。如上图10所示,本电源模块采用MAX1797DC/DC转换器,将1.5V电压分别转换为3.3V输出给数字电路(含MCU等)供电和3V输出给电机电路(含检测电路等)。 图 13 电源模块设计结构框图当要求输出3.3V电压时,电路连接图如图10,限于篇幅,不再敷述。当要求电路输出3V电压时,连接电路图如下图14所示,关断功能输入端 SHDN 由MSP430F437的P1.0端口控制,当电机处于停转状态下,关断此部分电源。节约电能分压电

32、阻计算公式如公式(1)所示R1=R2(Vout/Vfb)-1 (1)其中电阻R2250 K,Vfb = +1.245V,通过查阅常用电阻阻值表,当取R2=100 K,计算出R1=140K,此时对应此时输出为2.988V,对应3V 误差最小。 图14 MAX1797输出3V电路连接图 3.2.3 无线通信模块设计MCU通过SPI总线配置nRF905的内部寄存器和收发数据,本节具体的模块设计同3.1.3节一样,具体连接电路图如图8、9所示。3.2.4 检测模块设计检测模块分为两部分,一部分为传动装置丝杠螺母的复位检测,一部分为胰岛素储药器剩余药量检测。前者由硬、软件共同实现,后者完全可由软件实现。

33、 图15 胰岛素泵电机与注射器的连接图对于传动装置的复位检测,如上图15所示,丝杠螺母与减速箱轴连接处有类似开关的两个弹片,在输注过程中,两个弹片是分离的,只有储药器全部排光,丝杠螺母恢复到原来位置,两个弹片才会闭合9。本设计中,由MSP430F437的一个电平变化中断端口P2.0来控制检测,首先由软件置高P2.0.端口电平,当两弹片闭合,电平被拉低,形成中断,蜂鸣器响,证明丝杠螺母完全复位。3.2.5 电机驱动模块本设计由 MSP430F437的内外设Timer_A0 (CCR0)模块的PWM模式输出一个脉宽可调的方波信号(由软件设定不同的占空比)来实现直流电机的调速。通过专用电机控制集成芯

34、片L9110作为驱动器驱动MAXON 直流电机,由电机带动精密丝杠螺母,把旋转运动变为注射器活塞的直线位移,将胰岛素推进患者体内。MAXON 直流电机在正常工作状态下消耗的电流很小,只是上电时启动电流很大,在3V工作电压下,启动电流为103mA,L9110 具有较大的电流驱动能力,每通道能通过750800mA 的持续电流,峰值电流能力可达1.5A2.0A,完全可以满足要求。电机驱动模块的具体电路连接示意图如图16 所示。OA1VCC2VCC3OB4GND5IA6IB7GND8U2L9110P1.1/TA086P1.2/TA185MSP430F437GNDM+-Motor ServoVCC 图1

35、6 电机驱动模块电路连接图考虑到注射器实际的推进速度很低,为了满足设计要求,电机必须输出很低的转速、同时输出更大的力矩,在电机选型过程,配备了相应的行星齿轮减速箱。它特别适合高转矩的传递。传动装置选用精密丝杠螺母,螺距为P=1mm。减速箱受转矩和速度的限制,工作转矩必须低于减速箱的连续工作转矩。减速箱选用 GP8B 行星齿轮减速箱,最大连续输出转矩为0.030Nm,瞬间允许输出转矩为0.060Nm,最大效率为52%,受泵体空间和实际转速的限制,最终选定减速比i=853。与减速箱配套的电机选用RE8系列的13390 型号电机,其额定电压为6V,标称功率0.5W,最大允许转速为22000r/min

36、,最大连续转矩为0.616mNm10,此电机可以满足论文要求。3.2.6 LCD 显示模块 液晶显示模块可以显示当前胰岛素注射系统工作时的各种信息,包括剩余药量和剩余电量的显示画面、正常工作模式的显示画面等。显示模块仍然选用128*64LCD显示数据信息。MSP430F437有S0-S38的端口直接可以驱动LCD显示模块,控制电路的设计比较简单,其原理图如图11所示,这里不再敷述。4 系统软件设计软件设计中一个重要的思想就是采用模块化设计,把一个大的任务分解成若干个小任务,分别编制实现这些小任务的子程序,然后将子程序按照总体要求组装起来,就可以实现这个大任务了。4.1 血糖检测模块软件设计该系

37、统的操作主要有:参数设置、血糖浓度测量、数据信息处理和无线数据发送。本系统将参考市面上已有血糖仪的操作流程并结合自身的特点来设计操作流程,尽量符合实际的操作过程。4.1.1 血糖数据采集模块设计流程A/D模块部分是血糖检测模块的核心部分,故本节对其原理及应用做详细的介绍。(1) A/D模块特性介绍ADC12是12位精度的A/D转换模块,是MSP43OF437单片机内部自带的A/D转换模块。ADC12模块由输入的16路模拟开关,ADC内部电压参考源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器部分等组成。输入的16路模拟开关由8路外部模拟信号、4

38、路内部电压、1路内部温度传感器和AVCC-AVSS/2电压源组成。8路可选模拟输入通道经多路切换进入转换器的输入电路,可以在任意时刻对任一通道进行转换。4路内部通道用于温度测量、 Vcc 测量、正参考电平VREF+ 测量及负参考电平测量。ADC12工作时可以用内部参考电平,或者外部参考电平,也可以是两者的组合。ADC12具有较好的采样/保持电路,采用不同的设置有着灵活的应用。采样时序可以通过控制位用软件直接控制,也可以用3种内部或外部的信号来控制。通常,内部时序信号来自于MSP430的定时器。ADC12有4种工作模式。可以在单通道上实现单次转换或多次转换,在序列通道上实现单次转换或重复转换。单

39、通道多次转换是对选定的通道作多次转换,直到关闭该功能或ENC=O。转换结果保存在16个转换存储寄存器中。每个寄存器有各自的相应的配置及控制寄存器,让用户为准备存储的转换结果的选择采样通道和转换所需的参考电平。(2)A/D模块 的工作原理该ADC内核可将一个模拟输入信号转换为12位的数字信号,并将转换结果存入转换存储器中。该内核用两个可编程/可选择的参考电平(VR+和VR)定义转换范围的上下限。当输入信号大于等于VR+时,数字输出(NADC)为满量程值(0FFFh);当输入信号小于等于VR 时,数字输出为“0”。在转换控制存储器中定义了输入通道和参考电平。在实际应用中,参考电平和输入模拟信号不应

40、高于供电电压和低于Vss11。ADC的转换结果公式(2)所示NADC=4095(Vin-VR-)/(VR+-VR-) (2)ADC12模块有2个控制寄存器ADC12CTL0和ADC12CTL1。ADC12ON是该模块的使能位。ADC12不使用时可以关闭,以减少耗电。在电极检测中使用的A/D采样的程序流程图如图17所示,首先对ADC12进行初始化:选择转换通道、转换时钟源、转换后数据的存储寄存器以及参考电压等。本系统的数据采样使用了三个采样通道:A3、A4和A7。采用单通道多次转换的模式。为了使系统在LPM3状态下正常工作,换时钟源选择ACLK,参考电压选择1.5V的内部参考电压。初始化后置位A

41、DC12ON,开启A/D转换。为了降低功耗,在转的过程中让系统在LPM3下等待。采样数据的读取是在相应的中断程序中完成的。当完成一次转换时,ADC会产生一次中断,中断程序读取采样数据,并判断采样次数是否足够。若不足够,则在读取数据后返回LPM3,等待下一次转换,然后重复上面的过程,直到读取到预定次数的数据,才在中断响应函数中停止转换,并退出LPM3,最后对所得数据进行处理,包括软件滤波和降低噪声带的干扰。 图17 A/D采样的程序流程图4.1.2血糖测量模块设计流程在检测试条上滴血后,将试条与电流检测模块的电极接触,若一切正常,若干秒后显示结果;若不正常,将显示出错信息,要求重新进行测量。下面

42、详细介绍测量模块的程序流程。当屏幕出现滴血提示后,就进入如图18的操作流程所示。首先系统不断地检测电极1,检测是否有血滴进。考虑到节电,在这个检测过程中倘若30秒内始终没有检测到有血进来就自动退出,即timeout从30逐渐减到0后关机。当系统检测到电极1有血时,表示有血进入试条,然后再不断地检测电极2,判断血是否足量,若10秒内系统始终检测不到电极2有血,就判断所进血不足量,然后屏幕提示出错信息,并迅速结束测量。若10秒检测到血,则表示一切正常,继续执行后续的过程。倒计时的目的是让血糖和试条中的酶作用充分,按照实验所使用的试条的要求,要求血糖和酶作用5秒后再加一定大小的电压,然后再过2秒后测

43、量血糖中所加电压下产生的电流。因此整个倒计时过程可以是这样:进入倒计时前,系统首先撤掉加在两电极上的电压(之前用于检测是否有血和血是否足量),从7开始倒计时,每过一秒减1,当减到2时,在电极l上加电,检测电极1上产生的电流(系统最后只检测电极1,因此电极2上的电压无需再加)。 图18 血糖测量模块流程图如下图19所示就是系统中使用的倒计时程序流程图。进入LPM3等待这条语句是为了达到节电的功能。对于撤电压和加电压操作,根据前面的硬件设计知道,只需在对相应的I/0复位和置位即可。电极检测是否有血的原理在硬件设计时己经提到:当与相应电极相连的运放的输出Vo大于运放的同相输入端所加的电压Vin时,就

44、认为此电极上有血。理论上当没有血液到达电极时,不产生电流,即Vo 等于Vin 。但在实际中由于噪声的存在以及运放本身的问题,在没有血液时,Vo不一定等于Vin ,因此在实际的判断时需要比Vin稍大一些的门限,即当VO大于Vin +V 时,才判断有血液。V 不宜大也不宜小,因为过小的V 有可能在噪声的影响下即使实际没有血进来也越过上述的门限,造成误判;若过大会造成检测不灵敏,使得判断是否有血进来、是否开始倒计时的变得迟缓。经过反复调试,V取采样值11(11/409515004.0mV)左右比较合适12。由于电极1的运放输出VO1 的采样通道是A4,电极2上的运放输出VO2 的通道是A3,Vin的

45、通道是A7;因此判断电极1是否有血就可以通过比较A4通道上得到的采样值和A7通道上的采样值。同样电极2就通过比较A3通道和A7通道的采样值。 图19 倒计时程序流程图在倒计时的最后,还要分别对通道A4、A7进行采样,用于得到流过电极1的血糖电流。与之前对此通道的采样次数是不同的。为了提高检测灵敏度,此时对A4通道采样的次数为22次。然后通过软件滤波:去掉所有采得的数中的最大值和最小值,再求平均这样就得到比较理想的采样结果,得到最终的血糖电流值的公式13如公式(3)所示I=(|V1out|-V1in)Vref/4095/A (3)其中,Vref是参考电压,A是运放放大倍数。得到电流后,再通过最后

46、血糖值转换公式将电流值转换成血糖值。4.1.3 无线数据发送软件设计流程首先,进行初始化设置。对MSP430的SPI接口进行设置:MSP430的异步串行接口和SPI接口用同一个USART模块,这里需要用软件配置为SPI功能。本设计中SPI配置为主机模式、3线制和8位数据。初始化nRF905的射频配置寄存器:本设计中nRF905外接16MHz晶体,“XOF”应配置为“011”;“PA_PWR”为发射功率,”RX_RED_PWR”为接收灵敏度,可根据需要配置;另外还有发送地址、接收地址、发送数据和接收数据的长度(字节数),可根据实际应用配置。注意这组寄存器中还有接收时的实际地址,而发送地址在其他的

47、单独寄存器中。配置nRF905的发送地址,最多4个字节(32位),发送端的发送地址应与接收端设备的接收地址相同。在实际工作中,nRF905可以自动滤除地址不相同的数据,只有地址匹配且校验正确的数据才会被接收,并存储在接收数据寄存器中。nRF905发射模式流程如图20所示。图20 nRF905发送模式其次,当MSP430F437准备发送数据时,先检测载波检测引脚CD端口的电平是否为高(遵循发射前先监听的原则),如果是低电平,则表示没有载波出现,此时将接收设备地址和所要发送的数据通过SPI接口写入nRF905,SPI传输速率由初始化设置。置TRX_CE、TX_EN后就激活了nRF905的Shock

48、BurstTM发送模式。nRF905自动完成数据打包(加入前导码和CRC校验),包经过GFSK调制以100kbit/s发送,当传输完毕DR置位。若射频配置寄存器中的自动重发位(AUTO_RETRAN)设为有效,数据包就会重复不断地一直向外发,直到MCU把TRX_CE拉低,退出发送模式为止。当TRX_CE引脚被设置为低时,nRF905结束发送模式,并进入Standby空闲模式。ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。在数据发送过程中无论TRX_CE、TX_EN怎样设置,nRF905都会完成此次发送而不受影响,此

49、后,进入所设置的工作模式。在发送时nRF905的相关管脚状态如表2所示。表2 发送时nRF905的相关管脚状态 nRF905管脚 状态 说明 CD 低电平 不影响发射 AM 低电平 不影响发射 DR 周期性正脉冲 数据送人天线模块 VDD_PA 周期性正脉冲 信号正确发出 UCLK 周期信号 频率按配置里设定4.2 胰岛素注射系统的软件设计4.2.1系统主程序设计流程主程序流程图如图21所示。 图21 胰岛素注射系统主程序流程图上电后对系统进行初始化:设置标志位、变量的初值、中断和各接口芯片的初始化等。接着,程序进入主循环:首先进行载波监测,等待nRF905接收数据;然后当数据接收完毕,胰岛素

50、注射系统就开始进行检测处理,若检测没有通过,则返回开始状态,重新初始化,当检测系统通过时,就控制电机的转速进行胰岛素的注射,完成闭环控制。4.2.2无线数据接收设计流程 接收数据时,MCU先在nRF905的待机模式中把射频配置寄存器中的接收地址写好,然后置其于接收模式(PWR_UP=1、TRX_CE=1、TX_EN=0),nRF905就会自动进入接收模式。650s后,nRF905不断监测空中的载波,等待接收数据。当nRF905检测到同一频段的载波时(本设计中设定的载波频率为433MHz),载波检测引脚CD自动置高,若收到地址匹配和校验正确的有效数据,则地址匹配引脚AM会自动置高,MCU在检测到

51、这个信号后,可以退出接收模式,改其为待机模式(若一直没有接收到数据,待时间到时也退出接收模式)。当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚DR置高,MCU通过SPI总线从接收数据寄存器中读出有效数据。接收时,nRF905的相关管脚状态分析如下表3所示。表3 接收时nRF905的相关管脚状态分析 nRF905的管脚 状态 说明 CD 周期性脉冲 天线能正常接收 AM 周期性脉冲确定地址匹配 DR周期性脉冲确定收到数据 VDD_PA 无规则波形 利用发射机程序测试天线功能 UCLK 周期信号频率按配置字里设定nRF905数据接收模式流程如下图22

52、所示。 图22 nRF905数据接收模式流程图当所有的数据接收完毕后,nRF905把DR引脚和AM引脚置低(此时也可以进Powerdown关机模式)。编写接收部分程序时,应该注意的是MCU在“MOSI”信号线上发出读命令字节后,在“MISO”信号线上nRF905会自动返回一字节数据,为本身的状态寄存器信息,后续的接收数据并不会自动跟着输出,只有MCU在“MOSI”上再输出一个字节(可以是随意值),nRF905才会在“MISO”上返回一个字节,MCU再发,nRF905再返回,直到读完为止。在接收数据包的过程中TRX_CE或TX_EN状态改变,则nRF905会立即改变工作模式14。4.2.3电机控

53、制程序设计本设计通过MSP430F437单片机的TA0引脚产生12位分辨率的PWM脉冲输出来控制直流电机的转速, PWM模式根据MSP430的寄存器进行设置,PWM模式流程图如图23所示。图23 PWM模式流程图4.3 软件设计环境与开发工具目前MSP430系列单片机应用比较普遍的开发工具有IAR公司的IAR430和Quadravox公司的AQ430。其中IAR430因其界面友好,调试功能强大得到了广泛应用。本系统的有源程序代码均在IAR43Ov4.11b下调试通过。其开发环境如下图24所示。 图24 IAR430开发环境IAR430的编程语言C430是LAR公司为MSP430系列单片机配备的

54、C程序设计语言,它与标准C语言兼容性好,并在C语言的标准特性上加上了许多为了适应MSP430系列单片机的特定硬件特性而设计的扩展功能,因而程序开发非常方便,在用C430对MSP430系列单片机进行开发前,应先安装C430集成编译环境Embedded Workbench和C430调试器C-SPY。5 系统低功耗设计分析为了力求接近设备的性能,低功耗是整个系统设计的一个重要环节。系统在大部分时间是处于关机状态,其功耗水平直接影响整个设备使用的功耗。因此需要确定关机状态下的低功耗模式,使其功耗尽可能的低。对以MSP430为核心设计的微控制系统来说,整个系统的电源消耗由MSP430芯片和电路板上其它电

55、路能耗组成。由于MSP430芯片内部集成很多外围模拟模块(如ADC、SVS等),因此片内外设的工作状态对整个系统的能耗有很大的影响,而模拟部件和数字部件功耗之和则是构成整个器件的总功耗。供电电压和系统时钟频率对功率消耗有很大影响,二者的关系,降低MSP430系统的功耗,首要的就应该从降低系统频率、降低工作电压和采用多种工作模式组合着手。一般来说,这些条件中的多数都可以用软件实现或控制。因此,系统时钟频率的控制是低功耗的关键因素。为了节省功耗,需要根据各个外围模块的实际需要、最高要求的处理器速度以及时钟精度等来权衡3个时钟(MCLK、ACLK SMCLK)的频率。不同的需求场合需要注意以下情况:

56、(1) ADC周期性采样、串行通信等应用场合,需要在全部工作时间内保持不变的主时钟频率。该情况应选择满足要求的最低主频率MCLK,采用功率消耗最低的振荡器配置。(2) 外部的晶体振荡器和内部的数字振荡器可以同时工作,系统的时钟源可以根据实际工作条件的变化而变化。在使用数字振荡器时,就停止晶体振荡器。这种情况,在切换时钟源时,需要考虑晶体的启振时间15。对于胰岛素注射系统来说,主控微处理器是功率消耗的主要来源,它的功耗几乎占了除显示屏以外的整个系统功耗的一半以上。从硬件方面考虑,对于MCU,电压越高,时钟频率越快,则功率消耗越大。在实验中,上电瞬间,系统会产生很大的电流,导致供电电压有较大范围波

57、动。经过测试,供电电压保持在3.0V 以上能够保证系统稳定的工作,所以采用3.3V 的供电电压。在时钟外接的电路中,晶体、谐振器、RC 振荡器有着不同的功耗(其中,RC振荡器耗电最大),故采用耗电最小的晶体振荡器。但考虑到降低晶振频率会使整个系统的运行速度变慢,综合各种因素,最终确定胰岛素注射系统的晶振频率为4MHz。从软件方面考虑,用软件来代替硬件也是低功耗系统设计常采取的措施。在本文利用软件降低功耗体现在以下几个方面:用宏定义代替子程序的调用,让休眠模式占主要的部分,关闭不用的模块,用“中断”代替“查询”。结束语本文首先对当今传统的血糖仪和胰岛素泵做了简要的介绍,并分析了二者存在的缺点与不

58、足,即二者在完全开环的工作方式中存在的局限问题,然后紧接着提出了一种基于无线通信的血糖数据采集及控制系统的半闭环系统解决方案。为填补我国全闭环胰岛注射控制系统的开发空白,我们进行了有益的尝试。就本文所述的整个系统的硬件和软件开发,本人完成了以下的工作:(1)根据本论文设计的功能,完成了血糖检测系统和胰岛素注射系统的硬件总体设计。(2)完成了血糖检测系统和胰岛素注射系统的主要控制程序设计,实现了对对血糖数据的采集和胰岛素注射的控制,达到了预期的效果。(3)实现了数据的无线通信,并采用跳频设计方案解决了通信中的干扰问题。(4)对整个系统的低功耗设计进行了研究,并提出了有效的低功耗解决方案。(5)通

59、过这次毕业设计,学习了MSP430单片机,并学习了SPI总线的通信编程,以及熟练掌握了Word软件的使用。(6)存在缺陷:设计方面经验不足,很多地方需要注意的问题没有意识去避免,比如射频通信的一些软件编程的问题;设计最初没有充分考虑到程序初始化的各个方面等。在整个系统的开发过程中,我们仅仅是完成和验证了半闭环胰岛素泵集成系统,离全闭环控制系统和最后完全投放市场还有一定距离。由于资源和时间的关系,许多后续工作还没有展开。后续工作可在以下几个方面进行一下拓展:(1)可把血糖的微创检测改进为无创检测,这样可以减轻患者的痛苦,提高其生活质量。(2)在本文的研究基础上可以扩充网络功能,通过网络将所有病人

60、的数据集中到一起进行管理,并最终方便医患之间的交互。(3)把人机界面做的更细化和人性化,增加一上位PC机,通过RS485总线与PC机相互通信,增加一些问询对话画面,更好的进行人机沟通。参考文献1 新型闭环无创胰岛素泵集成系统研制成功J.上海生物医学工程,2007.28(2) 2 李东升.血糖检测装置最新发展动态J.上海生物医学工程,2005.26(1):353 王浩鸣.常用无线数据通讯技术比较J.计算机与现代化,2006.(9):35424 易卫军,朱旅云等.胰岛素泵的研制和进展J.医疗卫生装备,2004.(7):29-305 蒋俊峰.无线收发芯片比较与选择J.今日电子,2003.(9):58-606 韩永华.基于MSP430 单片机嵌入式系统的开放式开发平台的研究D.燕山大学硕士学位论文.2003.30-347 周金陵.基于MSP430 系列单片机的微机外围电路的通用化平台研究与设计D.河海大学硕士学位论文.2003.25-278李彤,姚子华电流型酶传感器的研究进展J河北大学(自然科学版),20049廖永国,蔡克家,钟立刚,等无创血糖检测方法的研究J南开大学学报(自然科学版),2005,38(3):70一7210李践无创血糖测试仪的现状和发展J医疗装备2007,17(8)-101111Vizimul

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!