FPGA 学习小组
登录
直播中
王敏
7年用户
245经验值
私信
关注
基于FPGA为核心的多功能输液系统该怎么设计?
开启该帖子的消息推送
FPGA
输液系统
Altera
今朝医护人员一般不能全程陪护,会给病人和医务人员带来良多平安隐患和未便。本文设计了一种集输液节制、显示、报警、语音
通信
等多种功能的输液节制系统。
回帖
(3)
秦涌安
2019-9-3 15:02:30
1 系统总体设计
输液监控系统原理如图1所示,包括FPGA控制器、点滴速度检测、余液体积检测、执行机构、键盘控制、LCD显示、语音通信(发送与接收)以及RS232总线转换等部分。
输液控制与语音通信是本文的主要研究内容,也是本系统稳定性和可靠性的根本保证。根据系统要求,设计中以FPGA为控制器,以光纤传感器和容栅传感器为检测机构,以步进电机为执行机构。为了安全和方便,利用RS232总线增设了语音通信和输液完成自动报警等功能。
1 系统总体设计
输液监控系统原理如图1所示,包括FPGA控制器、点滴速度检测、余液体积检测、执行机构、键盘控制、LCD显示、语音通信(发送与接收)以及RS232总线转换等部分。
输液控制与语音通信是本文的主要研究内容,也是本系统稳定性和可靠性的根本保证。根据系统要求,设计中以FPGA为控制器,以光纤传感器和容栅传感器为检测机构,以步进电机为执行机构。为了安全和方便,利用RS232总线增设了语音通信和输液完成自动报警等功能。
举报
谢昌火
2019-9-3 15:02:36
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]。
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));
显示器选用唯信诺公司提供的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。报警功能主要是在护士室显示,绑定在传输模块上,当余液控制达到下限时发生报警。
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]。
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));
显示器选用唯信诺公司提供的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。报警功能主要是在护士室显示,绑定在传输模块上,当余液控制达到下限时发生报警。
举报
吴秀英
2019-9-3 15:02:39
3 软件设计
输液控制主程序主要由初始化模块和各功能模块组成,如图5所示。初始化模块主要完成对通信、中断、定时的初始状态设置。初态时,RS232通信端口设置为接收状态,波特率设置为19 200 b/s;各功能模块包含键盘控制、点滴速度检测、步进电机控制、数据显示、语音通信及报警等。
本系统采用Cycl-one II的FPGA进行开发,其键盘操作方便快捷,LCD显示一目了然,语音通信及报警功能提高了医患人员的安全感。本系统充分利用了键盘PIO、LCD显示、ADC和DAC音频接口、RS232串行通信口等,缩短了系统的开发周期,降低了系统的开发成本。通过实验测试,系统各检测传感器、控制执行机构、显示、报警等功能正常,性能达到了设计要求。
3 软件设计
输液控制主程序主要由初始化模块和各功能模块组成,如图5所示。初始化模块主要完成对通信、中断、定时的初始状态设置。初态时,RS232通信端口设置为接收状态,波特率设置为19 200 b/s;各功能模块包含键盘控制、点滴速度检测、步进电机控制、数据显示、语音通信及报警等。
本系统采用Cycl-one II的FPGA进行开发,其键盘操作方便快捷,LCD显示一目了然,语音通信及报警功能提高了医患人员的安全感。本系统充分利用了键盘PIO、LCD显示、ADC和DAC音频接口、RS232串行通信口等,缩短了系统的开发周期,降低了系统的开发成本。通过实验测试,系统各检测传感器、控制执行机构、显示、报警等功能正常,性能达到了设计要求。
举报
更多回帖
rotate(-90deg);
回复
相关问答
FPGA
输液系统
Altera
基于
FPGA
的
输液
监控
系统
该
怎么设计?
2019-10-15
1046
嵌入式WiFi
输液
智能云监控
系统
2018-05-25
2004
怎么实现基于单片机和
FPGA
的
多功能
计数器的设计?
2021-05-14
866
如何实现病房
输液
远程监测和控制
系统
设计?
2021-10-28
1414
如何利用CPLD/
FPGA
设计
多功能
分频器?
2019-08-12
2739
如何实现智能
输液
监控
系统
的设计?
2021-12-23
1892
分享一款不错的
多功能
对讲机通信
系统
设计方案
2021-05-20
1607
求助,基于
FPGA
的
多功能
时钟。
2016-03-06
4520
基于MSP Launchpad的低功耗数字
多功能
表
2018-06-21
1227
如何实现基于STM32的
多功能
GSM通讯
系统
设计?
2022-02-17
1284
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分