FPGA为核心的多功能输液系统的设计
时间:2023-09-25 22:55来源: 作者: 点击: 次今朝医护人员一般不能全程陪护,会给病人和医务人员带来良多平安隐患和未便。本文设计了一种集输液节制、显示、报警、语音通信等多种 功能的输液节制系统。
1 系统总体设计
输液监控系统原理如图1所示,包括控制器、点滴速度检测、余液体积检测、执行机构、键盘控制、LCD显示、语音通信(发送与接收)以及RS232总线转换等部分。
输液控制与语音通信是本文的主要研究内容,也是本系统稳定性和可靠性的根本保证。根据系统要求,设计中以为控制器,以光纤传感器和容栅传感器为检测机构,以步进电机为执行机构。为了安全和方便,利用RS232总线增设了语音通信和输液完成自动报警等功能。
2 硬件部分
2.1 控制器硬件设计
控制器主芯片采用Altera公司的型号为APEX系列的芯片,芯片型号为 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]。
Altera 公司简介
Altera 的可编程解决方案帮助系统和半导体公司快速高效的实现创新,突出产品优势,赢得市场竞争。自二十年前发明世界上第一个可编程逻辑器件开始,Altera 公司秉承了创新的传统,是世界上可编程芯片系统 (SOPC) 解决方案倡导者。Altera 公司总部位于美国加州的圣何塞,并在全球的14个国家中拥有近2000名员工,其2005年度的年收入高达11.23亿美元。Altera 将其早在1983年发明的可编程逻辑技术与软件工具、IP 和设计服务相结合,向全世界近14,000家客户提供超值的可编程解决方案。
Altera 一直在可编程系统级芯片,领域中处于前沿和领先的地位,结合带有软件工具的可编程逻辑技术、知识产权 (IP) 和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。我们新产品系列将可编程逻辑的内在优势 —— 灵活性、产品及时面市 —— 和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。Altera 可编程解决方案包括:业内最先进的 FPGA、CPLD 和结构化 ASIC 技术 全面内嵌的软件开发工具 最佳的 IP 内核 可定制嵌入式处理器 现成的开发包 专家设计服务
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));