《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA控制的输液系统设计
基于FPGA控制的输液系统设计
来源:微型机与应用2010年第20期
杨志成,张利霞,闫贵琴,樊晓兵
(北京联合大学 生物化学工程学院,北京100023)
摘要: 介绍了一种以FPGA为核心的多功能输液系统的设计方法。该系统具有键盘操作、点滴检测、点滴速度控制、余液显示、语音通信和报警等功能。采用光纤传感器检测点滴速度,用容栅传感器检测余液量,用步进电机及其配套装置控制点滴速度。实验证明,检测与控制等性能达到设计要求。
Abstract:
Key words :

摘  要: 介绍了一种以FPGA为核心的多功能输液系统的设计方法。该系统具有键盘操作、点滴检测、点滴速度控制、余液显示、语音通信和报警等功能。采用光纤传感器检测点滴速度,用容栅传感器检测余液量,用步进电机及其配套装置控制点滴速度。实验证明,检测与控制等性能达到设计要求。
关键词: FPGA;点滴速度控制;光纤传感器;容栅传感器;语音通信

    目前,医院输液现场一般是人工控制和监视,但输液速度和输液量是一个很难准确把握的值,护士通过转动输液器上的手动轮来控制输液速度,并通过肉眼观察估计速度,而且输液过程中,医护人员一般不能全程陪护,会给病人和医务人员带来许多安全隐患和不便[1-5]。本文设计了一种集输液控制、显示、报警、语音通信等多种 功能的输液控制系统。
1 系统总体设计
    输液监控系统原理如图1所示,包括FPGA控制器、点滴速度检测、余液体积检测、执行机构、键盘控制、LCD显示、语音通信(发送与接收)以及RS232总线转换等部分。

    输液控制与语音通信是本文的主要研究内容,也是本系统稳定性和可靠性的根本保证。根据系统要求,设计中以FPGA为控制器,以光纤传感器和容栅传感器为检测机构,以步进电机为执行机构。为了安全和方便,利用RS232总线增设了语音通信和输液完成自动报警等功能。
2 硬件部分
2.1 控制器硬件设计

    控制器主芯片采用Altera公司的型号为APEX系列的FPGA芯片,芯片型号为 Cyclone II EP2C35F672C6。FPGA芯片采用90 nm的低功耗设计、672-Pin FineLine BGA封装,内置35个内嵌18×18乘法器、475个用户管脚、4PLLs、205个差分通道(比c8高出一倍的主频,可以达到400 MHz)典型值100万门,最大值约160万门。主处理器采用Altera公司的32位Nios软核处理器,与传统的嵌入式处理器相比,NiosⅡ处理器更加灵活。该芯片具有定制特性,可以根据自身的系统要求、性能要求和成本要求进行定制。系统总线采用AVALON总线标准。另外系统具有RS232串行通信口、键盘PIO、LCD显示等外围扩展功能,便于系统的进一步开发,缩短系统的开发周期,降低系统的开发成本[6]。
2.2 键盘控制
    为了操作方便,系统采用键盘操作。设备履行一种双向同步串行协议,接口中最重要的4根线是数据线、地线 、电源线和时钟线。在键盘内部,有一个专门负责扫描按键的处理器,它能检测出某个键被按下或者按下后被释放,并根据按键的类型产生相应的扫描码。键盘发送的扫描码有通码(Make)和断码(Break)两种类型。当键盘上的一个键被按下时,键盘会根据按键类型产生一段通码;当键盘上的一个键按下后被释放时,键盘会根据按键类型再产生一段断码。此处理器为每个按键分配了唯一的通码和断码,这样主机通过查找唯一的扫描码就可以测定是哪个键被按下或释放。具体方法是启动QuartusⅡ,建立一个名为ps2_keyboard.qpf的工程,选择器件,创建文本文件并编写代码,以接收来自键盘的扫描码,要求对不同的按键做出响应,为器件进行输入输出管脚分配,完成后对工程进行编译。
    如图2所示,键盘总是产生时钟信号,从键盘发送到主机的数据在时钟信号的下降沿被读取。键盘的扫描码发送给FPGA,这些扫描码包含在键盘发送给主机的数据帧中。每个数据帧包括1位起始位(总是低电平)、8位数据位(即扫描码,从低位开始发送)、1位奇偶校验位(奇校验)和1位结束位(总是高电平)。

2.3 传感器
    点滴速度检测采用在茂菲氏滴管的中部外侧安装一个光纤传感器。因为光电传感器的红外接收管很容易受到外界光线的干扰,并且它的直径一般在2 mm以上,体积较大,安装不方便。光纤传感器测量端口面积小,可以做到直径1 mm以内,药液点滴时分辨率高。液滴经过时利用液滴对光线的“遮挡”使光纤接收管的接收的光束发生变化,再经过电路处理得到点滴的速度脉冲,再将这种速度脉冲采集信息发送给控制器。为了防止输液速度过快而产生点滴连续流,设计了上下分别安装两个检测光纤,从而避免了少计脉冲数而产生错误的处理结果。如图3所示,电路X为光纤输出电压波形,Y为光纤输出电压波形。一般情况下,点滴离散时只有X计数,点滴连续时XY同时计数,这种方法既安全又稳定可靠。点滴离散时,XY只有一个高电平,或门C1产生的信号作为D锁存器Q1的控制端只允许X产生的正脉冲通过,而D锁存器Q2因为C1作用时Y信号尚在低电平,信号被屏蔽,Q2输出低电平,门电路在计数器中作加法运算。点滴连续时XY同时输出高电平,D锁存器Q2也在计数。OUT0是输出,OUT1是进位,Z是控制端输入。

    余液体积检测采用直线式容栅传感器,安装位置如图4所示。固定容栅安装在输液系统底座上,滑动容栅安装在输液系统步进电机带动的丝杠的螺丝母上,丝杠转动使螺母产生水平移动,测量原理如同游标卡尺,这种传感器响应速度快、量程可以达到1 m,误差小于0.01 mm[7]。余液体积检测通过滑动容栅移动的距离乘以容器室的截面积而得出。

2.4 执行机构
    输液速度控制采用的控制机构由步进电机、丝杠、螺丝母、压缩支架、容器室组成。步进电机在FPGA的控制下进行正反转动,丝杠转动使螺母产生水平移动,压缩支架安装在螺丝上,压缩架压缩容器室,药液包因容器室体积变小而收缩,药液从输液管输出,通过调整步进电机的步进速度,达到控制输液速度的目的。
2.5 语音通信
    立体声CODEC芯片WM8731是一个高性能、低功耗的24位音频立体声接口,被广泛应用于各种便携式音乐播放器中。该芯片可以分别设置音频ADC和DAC的采样率,包含microphone-in、line-in和line-out接口,WM8731用I2C接口与FPGA连接。
    语音发送接收要有一个合适的波段,本文选定为15.6 MHz。让软件生成一个锁相环变频模块,AUDIO_DAC_ADC.v需要一个15.6 MHz的时钟,调用FPGA上的锁相环(PLL)资源,让软件生成这个模块的.v文件,然后在de2_top.v中添加这个模块。
    添加AUDIO_DAC_ADC模块过程为:
    reg signed [15:0] audio_outR;
    wire signed [15:0] audio_outL;
    wire signed [15:0] audio_inL, audio_inR;
    AUDIO_DAC_ADC  u2 (//Audio Side
    .oAUD_BCK(AUD_BCLK),
    .oAUD_DATA(AUD_DACDAT),
    .oAUD_LRCK(AUD_DACLRCK),
    .oAUD_inL(audio_inL),/audio left data from ADC
    .oAUD_inR(audio_inR),//audio right data from ADC
    .iAUD_ADCDAT(AUD_ADCDAT),
    .iAUD_extL(audio_outL),//audio left data to DAC
    iAUD_extR(audio_outR),//audio right data to DAC
    //Control Signals
    .iCLK_15_6(AUD_CTRL_CLK),
    .iRST_N(1′b1));
2.6 液晶显示控制
    显示器选用唯信诺公司提供的OLED有机发光显示器,分辨率160×128,6.5K色,用16位并行数据总线与FPGA相连。OLED的控制芯片为LGDP4216,OLED供电电压10 V~21 V,接口供电电压2.2 V~3.3 V。显示区域大小可变,最大160(RGB)×128行,刷新率有7种,默认90 Hz。
2.7 RS232数据传送与报警
    使用MAX3232电平转换芯片和9针D型连接器进行串口通信。由于系统是3.3 V供电,因此需要使用MAX3232进行电平转换。MAX3232是3.3 V工作电源的RS232转换芯片。护士室MAX3232适配器端口装有三个LED灯分别用来显示执行状态、数据传送、报警。串口直接连接到CyclII FPGA上。MAX3232芯片包含两组收发器,最大数据传输率250 kb/s。报警功能主要是在护士室显示,绑定在传输模块上,当余液控制达到下限时发生报警。
3 软件设计
    输液控制主程序主要由初始化模块和各功能模块组成,如图5所示。初始化模块主要完成对通信、中断、定时的初始状态设置。初态时,RS232通信端口设置为接收状态,波特率设置为19 200 b/s;各功能模块包含键盘控制、点滴速度检测、步进电机控制、数据显示、语音通信及报警等。

    本系统广泛吸取了同类系统的优点,采用的测试方法、控制方法具有安全方便、节能、可靠等特点。本系统采用Cycl-one II的FPGA进行开发,其键盘操作方便快捷,LCD显示一目了然,语音通信及报警功能提高了医患人员的安全感。本系统充分利用了键盘PIO、LCD显示、ADC和DAC音频接口、RS232串行通信口等,缩短了系统的开发周期,降低了系统的开发成本。通过实验测试,系统各检测传感器、控制执行机构、显示、报警等功能正常,性能达到了设计要求。
参考文献
[1] 蒋廷松.基于AT89C52的多功能输液监控系统的设计[J]. 微计算机信息,2008,25(2):34-36.
[2] 李蕾, 张晓蓉, 庄汇文.一种输液检测报警装置的研制[J]. 医疗设备信息, 2003,18(3):14-15.
[3] 张益清, 张阳, 吕大伟.病人输液微机监控系统[J].计量技术, 1995,39(7):16-18.
[4] 张益清, 吕大伟, 张阳,等.病人输液情况微机监控集中显示仪[J].自动化与仪器仪表, 1995,15(4):12-15.
[5] 张益清, 吕大伟, 张阳,等.可用于病人输液情况自动监测和液滴监视系统[J].测控技术, 1995,14(14):27-28.
[6] Cycl-one II EP2C35F672C6[EB/OL].[2010-04-20].www.parts.digikey.ca/1/3/cyclone-ii-ep2c35f672c6-fpga.
[7] 梁森.自动监测技术[M].北京:机械工业出版社,2006:132-134.

此内容为AET网站原创,未经授权禁止转载。