EDA课程设计病房呼叫系统.docx
- 文档编号:26593197
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:28
- 大小:83.76KB
EDA课程设计病房呼叫系统.docx
《EDA课程设计病房呼叫系统.docx》由会员分享,可在线阅读,更多相关《EDA课程设计病房呼叫系统.docx(28页珍藏版)》请在冰豆网上搜索。
EDA课程设计病房呼叫系统
EDA课程设计一一病房呼叫系统
课程设计说明书
课程:
EDA技术基础
组号:
B8<
题目:
病房呼叫系统组—
专业:
电子信息科学与技术指
2010年1月8日
B8组整体设计报告
一、课程设计思路1
1、设计题目1
2、设计要求1
3、设计想法1
二、课程设计过程2
1、模块分配2
2、模块具体设计2
三、课程设计综合介绍4
1、整体原理图4
2、引脚配置5
3、整体设计实现5
参考文献6
附件(病房呼叫系统整体程序)7
一、课程设计思路
一)、设计题目:
病房呼叫系统
二)、设计要求:
2、
用一个数码管显示呼叫信号的号码;没信号
1号优先级最高;1〜8优先级依次降低;
时显示0;有多个信号呼叫时,显示优先级最
高的呼叫号(其他呼叫用指示灯显示);用四
个数码管显示呼叫等待时间(mmss)o
3、凡有呼叫发出5秒的提示声;呼叫3分钟未处理输出报警信号。
发挥部分:
对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。
三)、设计想法:
1、整体设计思路:
根据设计要求,我们将设计分为几个模块来设计,分别为:
锁存模块、选优模块(对病房选优)、选优模块2(对复位选优)、计时模块、显示模块、蜂鸣模块。
2、整体设计流程:
(1)、锁存器:
对病房呼叫的信号进行存储并处理信号,需要用一个对所有的呼叫信号进行存储的锁存器。
(2)、数据选择器(选优):
对发出呼叫的病房
进行优先选择,选择优先级最高的一个病房号,病房号从1到8优先级一次降低。
(3)、数据选择器2(选优2):
对时间控制信号进优先选择,这样就是的数码管显示器显示的时间为当前优先级最高的病房所呼叫的时间。
(4)、计时器:
病房呼叫系统中要求凡有呼叫发出,呼叫3分种未处理输出报警信号,即要求一个模块对呼叫时间计时,因此我们设计一个分秒计时器,对呼叫时间计时。
实验箱中时钟频率为20MHZ,故计时部分需加入分频,我们使之为Iso
(5)、显示器:
用一个数码管显示呼叫信号的号码,用四个数码管显示呼叫等待时间(mmss),设计一七段数码显示器,数码片选为低电平有效,扫描信号定为1KHZ。
二、课程设计过程
一)、模块分配
:
锁存模块
Mi页
:
选优模块、对复位选优模块
:
计时模块
:
显示模块
:
连接模块、蜂鸣器模块
二)、模块具体设计
1.锁存模块:
由于有8个病房所以设计了8个输入信号且高电平时为信号输入,另外考虑到时间模块显示的是当前等待时间,所以小组讨论
后决定时间显示当前等待时间为最好,所以在
锁存模块,把复位加到锁存模块,高电平的时候表示复位不工作,低电平的时候表示复位。
锁存器的一个输入信号与LED灯相连,使得有呼叫信号时,与病房相对应的灯亮。
另外一个
相同的输出信号连接选优器,对信号进行选
优,还有一个相同输出信号控制计时模块中的
SP信号。
2.选优模块:
由设计要求,数码管要显示优先级最高的病房的呼叫信号,所以我们须得对病房呼叫信号进行选优,还考虑到对时间的优先级的问题,所以设计了两个优先输出信号。
程序功能部分按优先病房号顺序依次输出BCD码
代表的1、2、3、4、5、6、7、&
3•选优2:
考虑到复位键一一对应的问题,我们的时间模块又只用了一个,显示当前最优先病房的等待时间,所以选优2模块连在选优模块的后面以及和8个位宽的复位信号相连,然后
通过选优模块,使得输出地复位信号为当前最
优先的病房所对应的复位信号。
锁存器模块的
一个输出信号也在这时进行选优,选出来的优先级最高的信号与时间模块中的SP信号对
应。
4.计时模块:
由设计要求计时用四个数码管显示
5.显示模块:
显示模块所要显示的就是优先级最
mmss,所以时间方面采用的是以秒进位,实验箱中的时间频率为20MHZ,所以选择了0:
20000000即一秒的分频,另外由于有呼叫信号时,SP=1,我们得立即计时,所以定义了每个1秒之内出现一个上升沿,当上升沿到来时时间加计Is,另外mmss之中前一个m代表的是分的十位,后一个m代表的是分的个位,前一个s代表的是秒的十位,后一个s代表的是秒的个位。
高的呼叫病房的号码以及呼叫等待的时间mmss,所以在模块的设计当中,我们用中间的六个数码管依次显示当前最优先呼叫病房号,分的十位,分的个位,再一个数码管显示一横杠,和秒计位区分开来。
在依次是秒的十位,秒的个位。
故我设计了一个连接模块,使得两模块能够丿II
6.连接模块:
由于各个模块成功之后进行顶层设
利衔接起来。
连接模块的输出部分和时间模块的mmss各部分相互对应,模块输出部分位宽
的15-12位与记秒的个位的3-0位对应,位宽
的11-8位与记秒的十位的3-0相对应,位宽的7-4位与记分的个位的3-0相对应,位宽的3-0位与记分的十位的3-0位相对应。
7.蜂鸣器模块:
考虑到计时后发出5秒的提示声以及灯亮3分钟后进行报警,所以我设计的报警器模块和时间的链接模块是联系起来的,当输入为0000000100000000表示的是1秒,0000001000000000表示的是2秒,以此类推,当表示的时间是1-5秒时令蜂鸣器响,此时输出为低电平,表是的是蜂鸣器工作。
当时间在6秒到3分钟之间的时候,编写程序另输出为高电平,此时蜂鸣器不工作。
超过三分钟时再令蜂鸣器工作5秒,进行报警工作,此时已经达到设计要求。
三、课程设计综合介绍
我们对这个模块刚开始设计了和现在不同的方案,然后顶层设计时发现并不好实现,而且连接之后模块也比较复杂,所以我们重新思考之后就有了现在模块的初稿,但是在顶层
设定好之后,跑实验箱是显示的结果并不如预期的,多次调试没出结果之后,我选择了排除错误,首先从自身下手,我把顶层的连接改成
了用系统框图表示,选它的优点是比较直观,设想正确的话基本上不会出现什么错误,所以,当问题再次出现时我考虑到了每个模块的
逻辑问题,经过一个一个找出现的问题,从时
间模块的SP的高低电平的修改,在到蜂鸣器和时间表示对应的修改,在到对选优模块最后
执行语句YOU归零的修改,解决了计时器一直
计时、蜂鸣器不工作、病房显示号不归零等问
题,终于圆满的完成了实验的要求。
一)、病房呼叫系统框图如下:
二入综合引脚配置如下:
NodeName
Drerbon
Location
J/0Bank
VrefGroup
1
抄4恆7]
Inpjt
PIN108
3
B3NO
LV1
2
»A【r<6]
Inpjt
PINJ07
3
B3N0
LV1
3
eA[f<5]
Inpjt
PIMJ06
3
B3.N0
LV1
4
Inpjt
PIN105
3
B3NO
LV1
5
・A【F<3]
Inpjt
PINJ04
3
B3N0
LV1
6
介加岐2]
Inpjt
PIMJ03
3
B3.N0
LV1
7
妙AtWIJ
Inpjt
PIf'J100
3
B3Nil
LV1
8
MA[f<0]
Inpjt
PIN.99
3
B3.N0
LV1
9
2CLK
Inpjt
Pirji6
1
BIJvJl
LV1
10
3DISP[7]
Output
PIf'J109
2
82NO
LV1
11
QDI5P[6]
Cutput
pirjjio
2
BZ.NO
LV1
12
金DISP[5]
Output
pirjjii
2
B2J\IO
LV1
13
&D[SP[4]
Output
PIf-J112
2
B2NO
LV1
:
M
MDI5P[3]
Output
Pir-Jii3
2
B2.N0
LV1
15
QD【SP[2]
Output
PIMJ14
2
B2N0
LV1
16
妙DISP[l]
CutDilt
Pir-Jii9
2
B2„N0
LV1
17
杪DI5P[0]
Output
PINJ20
1?
BZNO
—
LV1
18
LED[7]
output
PIN少
1
blJJZ
LV
19
LED[6]
Output
PIM.33
1
B1JJ2
LV
ZO
LED[5]
Output
PIN36
1
81N2
LV
21
•£>
LED[4]
Output
PIN35
1
B1JJ2
L\
22
LED[3]
Output
PPJ96
3
B3IJ1
LV
23
<3^
LED[2]
Output
PIN94
3
B3JJ1
LV
24
LED[1]
Output
PM98
3
B3JJ0
LY
25
LED[O]
Output
PIN,?
3
B3JJO
LV
26
LEDCSI7]
Output
PINJ22
2
B2JJ1
LV
27
LEDC5[6]
Output
PINJ21
Z
B2JJO
LV
28
LEDCS⑸
Output
PINJ24
2
B2JJ1
L\l
29
LEDC5[4]
output
PIN.1Z3
Z
B2JJ1
LX
30
LEDCS⑶
Output
PINJ26
2
B2JJ1
LV
31
LEDCS⑵
Output
PIN125
2
B2Ml
LY
32
❻
LEDCS⑴
Output
PINJ28
2
B2JJ1
LY
33
LEDCSIO]
Output
PI\J127
2
B2JJ1
LV
34
<=>
pinnone
Output
PIN130
2
D2JJ2
LV
35
REST[7]
Iroit
PIN26
1
B1JJ1
LV
36
REST[6]
Irpil
PINJI
1
B1JJ1
LV
37
*
REST[5]
IrpiJt
PBM」0
1
B1JJO
LM
38
A
RE5F[4]
irput
PIN.7
1
blJJO
LV
39
REST[3]
Irpct
PIN-32
1
B1JJ2
LV
40
REST[2]
lrpit
PIN31
1
blN2
L\
41
母
REST[1]
Irput
PIN.27
1
B1JJ1
LV
42
!
»
RE5T[0]
Irott
PIM28
1
BlIJ2
LV
xo
—・•—一」一JJ
三入整体设计实现描述^
实验箱上有8个7段数码管、16个用户LED
灯(8个大LED灯,8个小LED灯)、16个开关
(横杠)、second2、secondlo
量输入端口、8个拨码开关、蜂鸣器等。
工程引脚锁定下载完后,将其下载进FPGA中,进行硬件测试。
具体实现如下:
实验箱中有8个7段数码管,我们只用到了其中的6个,除前两个外从左到右分别显示:
病房号码、minitue2>minituel>
i-aii
对应病房号指示灯我们用8个小LED。
接通电源,计时程序已下载进实验箱,蜂鸣器开始时不响,6个数码管显示000—00,拨码开关从SW1-SW7依次表示的是病房号1-7,当按下拨码开关SW1时表示2号病房开始计时,蜂鸣器接着响5秒钟然后不响,到时间记为三分钟时又开始报警。
当同时按开关SW2与SW3时,病房号显示的还是2,因为病房2的优先级比病房三的要高,另外病房相应的拨码开关打开后,相应的指示灯也开始亮,小灯从左到右依次显示优先级从低到高的8个病房的呼叫情况。
我们的实验的一个特色是设置了8个复位信号,我们主要考虑到一个实际问题,每一个复位键对应了当时优先级最高的一个病房的灯控和时间控制,当护士去处理优先级最高病房的呼叫信号时,按下复位键,发出一个确知信号:
有护士已经去处理这件事情了。
而一个复位键相较之的缺点是,当有多个呼叫信号时,
按下复位键所有的信号均清零了。
参考文献
1)FPGA实验指导书(5万门).doc
2)EDA技术与VHDL清华大学出版社黄继业
3)
4)(VHDL_与数字电路设计
5)硬件语言描述与数字逻辑电路设计侯伯亨、顾新编著)
附件:
病房呼叫系统整体程序
一、锁存器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYSUOCUNQIIS
PORT(REST:
INSTD_LOGIC_VECTOR(7DOWNTO0片SIN:
INSTD_LOGIC_VECTOR(7DOWNTO0);SOUT1:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);SOUT2:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);SOUT3:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDSUOCUNQI;
ARCHITECTUREblivOFSUOCUNQIIS
SIGNALSOUT:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(REST,SIN)
BEGIN
IFREST(0)='l*ANDSIN(0)=,0,THENSOUT(0)<=T;
ELSESOUT(0)<=0f;
ENDIF;
IFREST
(1)=VANDSIN
(1)=*O*THENSOUT
(1)<=1';
ELSESOUT
(1)<=,0,;
ENDIF;
IFREST
(2)=TANDSIN
(2)=,0,THENSOUT
(2)<=T;
ELSESOUT
(2)<=0*;
ENDIF;
IFREST(3)=TANDSIN(3)=,0,THENSOUT(3)<=T;
ELSES0UT(3)v=O;
ENDIF;
IFREST(4)=VANDSIN(4)=,0,THENSOUT(4)<=T;
ELSESOUT(4)<=0*;
ENDIF;
IFREST(5)='1,ANDSIN(5)=,0,THENSOUT(5)<=T;
ELSES0UT(5)v=O;
ENDIF;
IFREST(6)=rANDSIN(6)=,0,THENSOUT(6)<=V;
ELSESOUT(6)<=0*;
ENDIF;
IFREST(7)=TANDSIN(7)=©THENSOUT(7)<=T;
ELSESOUT(7)<=,0,;
ENDIF;
ENDPROCESS;
SOUT1<=SOUT;
SOUT2<=SOUT;
SOUT3<=SOUT;
ENDARCHITECTUREbhv;
二、选优模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYXUANYOUIS
PORT(SOUT:
INSTD_LOGIC_VECTOR(7DOWNTO0);YOU1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);YOU2:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDXUANYOU;
ARCHITECTUREbhvOFXUANYOUIS
SIGNALYOU:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(SOUT,YOU)
BEGIN
IFSOUT(0)=TTHENYOU<=,,OOOr,;
ELSEIFSOUT
(1)=I'THENYOU<=H0010M;
ELSEIFSOUT
(2)='l'THENYOU<=HOOir,;
ELSEIFSOUT(3)=TTHENYOU<=H0100n;
ELSEIFSOUT(4)=TTHENYOU<=H0101,;
ELSEIFSOUT(5)=TTHENYOU<=H0110,;
ELSEIFSOUT(6)=TTHENYOUviOMV';
ELSEIFSOUT(7)=TTHENYOU<=H1000H;
ELSEYOU1<='OGOO'1;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
YOU1<=YOU;
YOU2<=YOU;
ENDARCHITECTUREbhv;
三、计时选优模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYXUANYOU2IS
PORT(REST:
INSTD_LOGIC_VECTOR(7DOWNTO0);SOUT3:
INSTD_LOGIC_VECTOR(7DOWNTO0片YOU1:
INSTD_LOGIC_VECTOR(3DOWNTO0片ZQ:
OUTSTD_LOGIC;
LJ:
OUTSTD_LOGIC);
ENDXUANYOU2;ARCHITECTUREbhvOFXUANYOU2ISBEGIN
PROCESS(YOUl)
BEGIN
IFYOU1=*ooor,THENLJ<=REST(O);
ELSEIFYOUUOOIO”THENLJ<=REST
(1);
ELSEIFYOWOOll"THENLJ<=REST⑵;
ELSEIFYOU1=,,0100MTHENLJ<=REST(3);
ELSEIFYOU^^OlOr*THENLJ<=REST(4);
ELSEIFYOU1=,,0110MTHENLJ<=REST⑸;
ELSEIFYOUU^Olir1THENLJ<=REST(6);
ELSEIFYOUlilOOO”THENLJ<=REST(7);
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(SOUT3)
BEGIN
IFYOUl^OOOr*THENZQ<=SOUT3(0);
ELSEIFYOUl-'OOlO"THENZQ<=SOUT3
(1);
ELSEIFYOUl^OOll*'THENZQ<=SOUT3
(2);
ELSEIFYOUl^OlOO"THENZQ<=SOUT3(3);
ELSEIFYOUI^OIOVTHENZQ<=SOUT3(4);
ELSEIFYOUl^OHO"THENZQ<=SOUT3(5);
ELSEIFYOUl^OllVTHENZQ<=SOUT3(6);
ELSEIFYOUl=n1000nTHENZQ<=SOUT3(7);
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREbhv;
四、时间模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL
USEIEEE.STD_LOGIC_UNSIGNED.ALL
ENTITYTIMEIS
PORT(REST,SP,CLK:
INSTD_LOGIC;
SECOND1,SECOND2,MINITUE1,MINITUE2:
OUT
STD_LOGIC_VECTOR(3DOWNTO0));
ENDTIME;
ARCHITECTUREONEOFTIMEIS
SIGNALTIMECLK,MINI:
STD_LOGIC;
SIGNALSEC1,SEC2:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALMINI1,MINI2:
STD_LOGIC_VECTOR(3DOWNTO0);BEGIN
MINITUE1(3DOWNTO0)<=MINIl(3DOWNTO0);MINITUE2(3DOWNTO0)<=MINI2(3DOWNTO0);
SECOND1(3DOWNTO0)
PROCESS(CLK,SP)
VARIABLECNT:
INTEGERRANGE0TO20000000;-分频ISBEGIN
IFCLKEVENTANDCLK=TANDSP=FTHENCNT:
=CNT+1;
IFCNT<10000000THENTIMECLK<=T;
ELSIFCNT<20000000THENTIMECLK<=0*;
ELSECNT:
=0;TIMECLK<=0,;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(TIMECLK,REST)-计时部分程序
BEGIN
IF(REST=0)THEN
MINI2<=n0000n;MINH<=,,0000M;SEC2<=M0000u;SECl<='0000,;
ELSIF(TIMECLKEVENTANDTIMECLK=1)THEN••检验时钟上升沿
IFSECK'lOOr'THENSEC1<=SEC1+1;
ELSE
SECl<=',0000u;
IFSEC2<'OlOr'THENSEC2<=SEC2+1;
ELSE
SEC2<=n0000u;
IFMINI1<'lOOVTHENMINI1<=MINI1+1;
ELSE
MINIl<=,,0000,;
IFMINI2<'OlOl'THENMINI2<=MINI2+1;
ELSE
MINI2<=,,0000,;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
ENDONE;
五、连接模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYSQUIS
PORT(SECOND1:
INSTD_LOGIC_VECTOR(3DOWNTO0);SECOND2:
INSTD_LOGIC_VECTOR(3DOWNTO0);MINITUE1:
INSTD_LOGIC_VECTOR(3DOWNTO0);MINITUE2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
JISHI:
OUTS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 病房 呼叫 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)