病床呼叫系统毕业设计.docx
《病床呼叫系统毕业设计.docx》由会员分享,可在线阅读,更多相关《病床呼叫系统毕业设计.docx(65页珍藏版)》请在冰豆网上搜索。
病床呼叫系统毕业设计
摘要
病床呼叫系统是现在国内医院中需求很高的一种应用电子设备,具有相当大的社会意义和重要的实用价值。
所使用的病床呼叫系统既要考虑到医院的整体环境,又要有很好的实用性以及装饰性。
它为病人和医护人员之间搭建起一个信息沟通的快速通道,使病房病人在紧要时可得到及时的治疗。
本文论述了一种病床呼叫系统的设计方案和实现方法。
系统使用VHDL语言,采用目前比较流行的FPGA来完成病房患者呼叫器与护士所在护士站主控之间的通信。
文中给出了该系统的软件设计与仿真结果。
本系统底层模块采用文本设计输入方法,编译,仿真,生成相应的模块元器件;顶层模块采用原理图设计输入方法,将底层模块元器件结合简单门电路连线而成;最后对系统进行了整体仿真测试。
结果表明,系统各功能模块工作状态良好,整个系统设计达到了预期的目的。
本系统具有结构简单,程序调试容易,可靠性高,功耗低,安装方便等特点,具有很强的实用价值。
关键词:
病床呼叫;VHDL;FPGA;底层模块
Abstract
Electronicdevicethatwidelyusedinmanyhospitalsforthesystemofhospitalbedcalling,becomemoreandmorepopularandvaluable.Thesystemshouldconsiderbothvaluableanddecorativeaswellasthewholedesignofthehospitalrequirements.Itisbuildinganinformationchannelthatcouldconnectwithbothpatientsandhealthcareworkers,soitmaybeverybeneficialforpatientstohavetheeffectivetreatmentsinashorttime.
Thispaperdiscussedtheconcretedesignandthemethodofrealizationonthesystemofhospitalbedcalling.Inthesystemdesigned,FPGAthatisverypopularnowadaysusingVHDLwasadoptedtohelpthepatientsinhospitalbedcommunicatewithnursesinthenursesstation.Thesoftwaredesignandthesimulationresultsofthesystemarepresentedinthisthesis.
Thebuttonmodulesofthesystemwasdesignedbythemethodoftextdesigninput,compiled,simulatedandthengeneratedthecorrespondingcomponentofthemodule;Themethodofschematicdiagramdesigninputwasadoptedtodesignthetopmodule,inwhichthecomponentsofthebuttonmodulescombinedandlinkedwithsomesimplegates;Finally,thesystemwastestedasawhile.Onasummaryofallthework,allofthemodulesworkedwellandthewholesystemattainedthedesiredgoals.
Thesystemischaracteredbysimplestructure,easyprogramdebugging,highreliability,lowpowerconsumptionandeasyinstallation,whichmakeitpossesspracticalvalue.
Keywords:
hospitalbedcalling;FPGA;VHDL;buttonmodules
1绪论
1.1课题背景和意义
现代社会的重要标志之一就是电子信息产品的广泛使用,而且是产品的性能越来越好,复杂程度越来越高,更新的步伐越来越快。
支撑电子信息产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。
前者的代表是微细加工技术,而后者以电子设计自动化(electronic design automatic, EDA)技术为代表。
许多EDA开发工具都支持的硬件描述语言已成为满足这些满足需求的关键技术。
硬件描述语言发展至今已有几十年历史,并成功地应用于硬件系统的设计、仿真、综合和验证等各个方面,特别是VHDL语言适用于可编程逻辑器件的设计,已成为设计人员首选的开发工具。
正常情况下,病房和护士站之间有一定距离,病人数量庞大,医务人员数量有限,无法达到一对一的监护要求,使得监护工作很难完成,且病人出现问题时,医务人员在第一时间内无法获得救助信息,这给治疗带来一定困难。
面对患者越来越多的更加具有个性化的要求,为了减少医疗事故所带来的压力,以及为了更好适应现代化的步伐,达到服务的智能化,医院需要引入病床呼叫系统,升级现有设备。
病床呼叫系统是传送病床信息的重要手段,病床呼叫系统可将病人的请求快递传送给值班医生和护士。
呼叫系统的优劣直接关系到病人安危,历来受到各大医院的普遍重视。
它要求及时、可靠、准确、简便可行、利于推广。
基于FPGA的具有呼叫、语音提示、显示等功能的病床呼叫系统,基本满足了医院的病房护理要求[1]。
本课题基于VHDL的医院病床呼叫系统设计,系统维护简单,工作应用简单。
因此,本课题是非常有意义的。
1.2国内外研究现状
随着全球老龄化进程的不断加快,全球生存环境的严重恶化,以及人类对健康关注的增加,医疗行业正快速膨胀。
由于医疗行业的客户是患者,医疗行业比其他任意一个行业都需要提高客户满意度。
患者希望得到最高质量的护理和服务,因为他们的生命就掌握在服务提供者的手中,所以他们所提出要求的苛刻程度超过其他任何客户。
怎么样更好的满足患者的要求,提升患者的满意度,是从事医疗行业的所有管理人员应该积极思考的问题。
病床呼叫系统已经成为医院提高自身医护服务质量,提高员工的工作效率,减少医疗事故发生的一种非常重要的基础设施。
从早期的人工呼叫发展到今天的电子按铃呼叫系统,病床呼叫系统的发展大概经历了3个阶段,即传统意义上的口头呼叫、摇铃呼叫和电子按铃呼叫3个阶段。
病床呼叫系统在国外发展比较迅速,目前已经出现了向着护理系统的智能化和可视化发展,但我们国家的病床呼叫系统起步则比较晚,在上世纪八十年代还处于人工呼叫或者摇铃呼叫阶段。
到上世纪八十年代以后,电子按铃呼叫才开始在我国各大医院得以应用,但是技术含量比较低。
目前国内的大部分医院均处在非常低端的管理模式上,在资源利用上采用人工呼叫,不能做到智能一体化的管理模式,另外由于医院采用有线管理,线路盘绕复杂,极易引起火灾,存在着很大安全隐患。
当病人身体出现不适或者其他方面需要帮助时,通常都是呼叫医生,继而等待治疗。
在这过程中,不但浪费了病人的宝贵时间,更给医院医生带来一定的麻烦。
1.3课题主要内容
本课题的主要内容为设计一个病床呼叫系统,实现40位的病床呼叫,同时用数码管显示出病床的编号并伴有指示灯和语音提示。
主要运用VHDL语言进行编程和仿真实现,使用系统仿真软件QuartusII完成所有实验项目的调试,并得出完整的仿真结果,然后将调试完成的程序文件适配到可编程器件FPGA中进行实验,最终达到本次毕业设计的结果。
1.4论文的章节安排
本论文在分析了病床呼叫系统和EDA技术的国内外发展情况下,给出了基于FPGA病床呼叫系统的设计,对系统底层设计和顶层设计做了较为详细的介绍,最后根据仿真结果做出了总结。
全文共分六章,具体安排如下:
第一章,绪论,从宏观上介绍了课题的背景和选题意义、病床呼叫系统以及EDA技术的国内外发展现状,提出了本文的主要内容及章节安排。
第二章,开发工具介绍,主要介绍开发语言VHDL、可编程逻辑器件FPGA、开发平台QuartusII软件。
第三章,系统总体方案设计,首先明确系统设计步骤,再次进行系统的功能需求分析,最后给出系统设计步骤。
第四章,底层模块的详细设计,根据功能需求分析的结果大体明确整个系统需要按键矩阵扩展模块,定时模块,二进制编码转BCD码模块,数码管动态扫描模块,显示段码转换模块,二分频模块,使用VHDL编写程序,实现相应的功能,生成元器件符号图并进行仿真,以检验模块设计结果。
第五章,顶层电路的综合设计,将设计好的底层模块结合简单的门电路按照设计要求连线,编译仿真,若结果符合要求则将调试完成的程序文件适配到可编程器件FPGA中进行实验,完成本次设计。
第六章,结论,本章从系统设计、调试结果等方面对课题的研究进行了总结,并对课题中出现的问题作出了分析,并给出相应的解决措施,展望课题相关技术今后的发展方向。
2开发工具介绍
2.1开发语言VHDL
2.1.1简介
VHDL是英文名VHSIC(Very-High-SpeedIntegratedCircuit)HardwareDescriptionLanguage的缩写。
VHDL语言是一种用于电路设计的高级语言。
它出现于80年代的后期。
最初是由美国国防部开发出来给美军用来提高设计的可靠性和缩短开发周期的一种使用范围较小的设计语言。
将VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用于数字电路的设计中。
它在中国的应用多数是使用在FPGA/CPLD/EPLD的设计中。
当然,在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL主要用来描述数字系统的结构,行为,功能和接口。
除了拥有很多具有硬件特征的语句之外,VHDL的语言形式、描述的风格和语法是非常类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称作设计实体(可以是一个元件,一个电路模块或者一个系统)分成外部(或称可视部分以及端口)和内部(或称不可视部分),涉及实体的内部功能和算法完成部分。
在对一个设计实体进行定义外部界面之后,一旦其内部开发完成后,其他的设计应用就可以直接调用这一实体。
这种将设计实体分成内外两部分的概念就是VHDL系统设计基本点[2]。
2.1.2特点
与其他硬件描述语言相比,VHDL具有如下特点。
1.功能强大且设计灵活
VHDL拥有功能强大的语言结构,可以使用明确而简洁的源代码来描述较为复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。
VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
2.支持广泛且易于修改
由于VHDL已经成为IEEE标准所规范的硬件描述语言,大多数EDA工几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。
3.强大的系统硬件描述能力
VHDL具有多层次设计的描述功能,不但可以描述系统级电路,而且可以描述门级电路。
而描述既可以采用结构描述、寄存器传输描述或行为描述,又可以采用三者相混合的混合级描述。
另外,VHDL支持惯性延迟以及传输延迟,还可以准确地建立起硬件电路模型。
VHDL支持预定义的,自定义的数据类型,给硬件描述带来很大的自由度,使设计开发人员能够方便创建较高层次的系统模型。
4.独立于器件的设计且与工艺无关
设计开发人员用VHDL进行设计开发时,不必首先考虑选择需要完成设计的器件,就可以集中精力以进行设计的优化。
当设计描述的工作完成后,可以使用多种不同的器件结构实现其功能。
5.很强的移植能力
VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
6.易于共享和复用
VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。
这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
2.1.3优势
与其他的硬件描述语言相比,VHDL具有更为强大的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.2可编程逻辑器件FPGA
FPGA(FieldProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础之上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,不但解决了定制电路的不足,而且克服了原有可编程器件门电路数有限的缺点。
2.2.1背景
以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)。
2.2.2技术特点
现场可编程门阵列(FPGA)作为新一代的ASIC器件,它是在可编程阵列逻辑和通用阵列逻辑等器件基础之上发展起来的。
同PAL、GAL相比来说,FPGA技术的集成度更高、功能更加强大,一片FPGA基本上就可代替上千块通用IC芯片。
FPGA除了具有ASIC所拥有的特点之外,还具有以下这些优点。
随着微电子技术的快速发展,加上芯片制造技术的日益提高,FPGA芯片的片内资源也在不断扩大,就现在的FPGA芯片来说,它们内部的逻辑门数量己达到数百万门乃至上千万。
所以,FPGA的功能己经变的非常强大,而且应用也越来越广泛。
用户可以充分的利用FPGA芯片的可编程特性,在发项目的过程当中反复地编程、擦除,用户只需要对软件部分进行相应的修改就可以实现功能上的不同了。
这样的优势,在电路只做少量修改时表现的尤为明显。
FPGA的厂商会出厂以前对FPGA芯片进行测试,设计人员只需通过相应的软件、硬件环境便可完成芯片相关功能的设计。
从这个方面来看,在系统开发中使用FPGA芯片可以减少项目资金的投入,节约系统的成本,同时缩短了系统的开发周期。
FPGA技术之所以拥有现在这样大的吸引力,个人认为这里的根本原因在于FPGA不仅仅实现了系统小型化、低功耗、高可靠性等构想,而且它的开发周期相对来说比较短、而且芯片价格也在不断下降。
所以,可以预见的是FPGA正在越来越多地取代传统意义上的ASIC,特别是在个性化、小批量的产品市场方面。
2.2.3设计流程
FPGA是可编程芯片,因此FPGA的设计方法包括硬件设计和软件设计两部分内容。
硬件包括FPGA芯片、存储器、输入输出接口和其他设备,软件即相应的VHDL程序和VerilogHDL程序。
FPGA设计采用的是自顶而下方法,最初从系统级设计,然后逐步划分到二级单元,二级单元设计,直到可以直接操作基本逻辑单元或IP核为止,一般来说FPGA的设计流程可以分为如下步骤。
1.功能定义
在设计FPGA项目之前,就要对系统功能的定义和模块进行划分,另外一点就是要根据项目的要求,如是否需要使用到锁相环,是否需要IP核,对器件工作的速度以及它本身的资源、成本等方面进行权衡后,选择合适的设计方案和性价比较高的器件类型。
2.设计输入
设计输入有原理图输入和硬件描述语言两种方式,原理图输入比较直观但效率低,不容易维护,不利于模块构造和重用、可移植性差,当芯片结构升级后,所有的原理图都需要改动。
硬件描述语言包括VHDL和VerilogHDL以及SystemC等,硬件描述语言输入的特点是:
设计与芯片工艺无关,可以方便的进行自顶向下设计,输入效率很高,有利于模块的划分与移植,可移植性好,同时具有很强的逻辑描述和仿真功能。
3.功能仿真
功能仿真也可以称之为前仿真。
是指在编译之前对用户所设计的硬件电路进行逻辑功能验证,由于没有延时信息,所以仅仅是对功能的初步检测。
4.综合优化
综合就是将较高层次的描述转化成较低层次的描述。
综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA进行布局布线。
目前的层次来说,综合优化(Synthesis)是指将设计输入编译成由与或非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而非真正的门级电路。
5.综合后仿真
综合后仿真是用来检查综合结果是否和原设计一致。
在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可用来估计门延时对整个系统的影响。
但是这一步骤却不能估计线延时,因此综合后仿真与布线后实际情况还有一定的差距,并不准确。
6.实现与布局布线
实现是将综合生成的逻辑网表配置到具体的FPGA芯片上。
布局布线可以认为是利用工具把逻辑映射到目标器件结构的资源中去,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。
7.时序仿真
时序仿真也称后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有时序规则,如建立时间,保持时间等)现象。
时序仿真包含的延迟信息最精确,能较好地反映芯片的实际工作情况。
8.板级仿真与验证
板级仿真主要用于高速电路系统的设计当中,对高速电路系统的信号完整性、电磁干扰等性能进行分析,一般都需要借助于第三方工具进行仿真和验证。
9.芯片编程与调试
芯片编程与调试是设计的最后一步。
芯片编程是抬产生使用的数据文件(位数据流文件,BitstreamGeneration),然后将编程数据配置到FPGA芯片当中去。
目前,为了方便用户进行芯片调试,FPGA芯片生产商都提供了内嵌的在线逻辑分析仪。
随着FPGA厂商降低芯片的成本,FPGA被广泛应用于,通信,数字信号处理,工业控制,航空航天等领域,并取得非常高的可靠性[3]。
2.2.4产品比较
早在1980年代中期,FPGA已经在PLD设备中扎根。
CPLD和FPGA包括了一些相对大数量的可编辑逻辑单元。
CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。
CPLD和FPGA的主要区别是他们的系统结构。
CPLD是一个有点限制性的结构。
这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器组成。
这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。
而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。
CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。
因此一个有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。
允许他们的设计随着系统升级或者动态重新配置而改变。
一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。
CPLD和FPGA还有一个区别:
CPLD下电之后,原有烧入的逻辑结构不会消失;而FPGA下电之后,再次上电时,需要重新加载FLASH里面的逻辑代码,需要一定的加载时间。
2.2.5工作原理
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输入输出模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。
FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
2.3开发平台QuartusII
2.3.1QuartusII软件简介
QuartusII是Altera公司在Max+plusII基础上推出的新一代功能强大的Windows环境下FPGA/CPLD的开发软件。
该开发软件是一个完全集成化、易学易用的可编程逻辑设计环境,可以在多种平台上运用。
它所提供的灵活性和高效性是无可比拟的,其丰富的图形界面,辅之以完整的、可及时访问的在线文档,使初学者能够轻松掌握和使用QuartusII软件。
QuartusII软件支持各种HDL设计输入选项,如VHDL、VerilogHDL和AHDL等,它允许设计人员添加自己认为有价值的宏单元。
QuartusII系统的核心编译器Compiler支持Altera公司的FLEX10K、FLEX6000、MAX9000、Cyclone、CycloneII、CycloneIII、Stratix等可编程逻辑器件系列,提供了真正与结构无关的可编程逻辑设计环境。
Qua