数字设计课程设计.docx
- 文档编号:9055503
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:24
- 大小:842.93KB
数字设计课程设计.docx
《数字设计课程设计.docx》由会员分享,可在线阅读,更多相关《数字设计课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
数字设计课程设计
课程设计报告
设计题目:
民航客机客舱服务请求系统II
(时序电路设计)
姓名:
孙健
学号:
2011084040015
教师:
王振松
日期2013.6.29
摘要
本设计实现的是民航客机客舱服务请求系统的功能。
该设计采用主从结构,监控机构置于空乘人员处,乘客有请求按下位于座位上方请求按钮后,根据优先等级,在显示器上显示乘客的位置,并点亮相应座位的指示灯。
采用模块设计思想,分为3个主要功能模块:
请求显示模块,译码显示模块,以及请求模块,共同工作完成本电路的功能实现。
本论文阐述了如何利用数字电路的思想。
关键词:
民航客机客舱服务请求系统,模块设计,主从结构,时序电路
1.课程设计任务及要求
1.1设计任务
设计一个180人的名航客机客舱服务请求系统。
民航客机的乘客服务请求系统包括:
每个座位上方设置的服务请求按钮和指示灯、机舱尾部设置的服务请求指示装置(如LED灯阵列)以及相应的控制电路。
乘客有服务请求时,按下座位上方的请求按钮,指示灯会变亮,按钮为轻触式按键(按下释放后会自动弹起);设置头等舱、商务舱以及经济舱,对于每种舱位均设置一个数码显示装置来显示最先发起服务请求的座位号(即显示的请求以时间作为优先级排序)会按优先级依次显示座位号;客服人员完成服务后,再按一次服务请求按钮来确认服务已完成,相应的指示灯熄灭。
1.2设计要求
1.写出该时序逻辑电路的分析和设计方法;
2.使用某种HDL语言(如VerilogHDL)设计并进行仿真。
3.完成设计报告。
设计报告应包含设计过程中所包含的文档要求
具体包括:
(1)使用QuartusⅡ建立工程;
(2)QuartusⅡ工程设计;
(3)设置编译选项并编译硬件系统;
(4)进行仿真观察输入输出状况
2.系统设计
2.1方案论证
数字逻辑电路控制方案
数字逻辑电路控制系统主要由各种逻辑元件构成,包括计数器、触发器以及各种门电路,硬件设计思路非常简单,造价低廉,元件少,体积小,稳定性好,可靠性和性价比都很高。
缺点在于功能实现后电路结构复杂,维护起来比较困难。
在本设计中,采用数字逻辑电路控制系统,与单片机相比,该电路具有价格低,元件少,体积小,稳定性好,可靠性高的特点。
因此,在本设计上采用数字逻辑电路方案。
其中运用优先级解码器实现小规模逻辑门电路,7段字形译码器74LS47D和实现译码显示模块主要功能。
使用QuartusⅡ作为设计软件,用verilog语言的编程方法描述电路的逻辑结构。
2.2系统设计
2.2.1结构框图及说明
本次课设的题目是客舱呼叫系统,有三个客舱,分别编号为1、2、3,其优先级依次降低。
即当一号客舱有信号输出的时候即使其他客舱有信号输出系统也不会响应。
当二号客舱有信号输出时,3号客舱有信号输出系统不响应其信号。
此过程为组合电路,有if语句完成其功能。
当病房没有信号时,动态数码管和双色点阵显示0。
有信号输出时,动态数码管和双色点阵显示输出的病房号。
由于分为三种舱位进行优先级分配,在这里,暂取三输入来演示,外加多路选择器便可扩展为所要求端口数。
方案中,进行信号保持的模块可以利用多种方案来实现,例如用D触发器、74373八D锁存器等;闪烁灯选通电路通过6个与门和一个或非门,加上时间脉冲来实现;计数扫描部分配合三路输入则可完成本设计中最关键的选通部分,选通之后进入优先编码器进行优先编码实现病房优先级别的高低,最后译码显示。
2.2.2工作原理
民航客机客舱服务请求系统分为几个功能模块:
呼叫显示模块,译码显示模块,呼叫模块,信号保持单元。
这些模块共同工作完成本电路的功能实现。
其中运用了优先编码器来实现优先选择模块主要功能,运用7段字形译码器74LS47D和共阴极七段数码管来实现译码显示模块主要功能。
信号呼叫由呼叫显示模块的各个呼叫开关发出并使对应的座位指示灯亮起。
接着,信号传到优先选择模块,将高等级先传到的乘客的信号选择出来,并传到呼叫模块与译码显示模块。
译码显示模块通过可编程器件与74LS47D将信号变换成对应的乘客座位号,并由七段数码管显示出来。
当该乘客服务完毕后,断开其对应的呼叫开关,此时该系统将显示下一名乘客座位号。
当所有的乘客都已经获得服务后,该系统将自动将数码管熄灭,整个系统恢复待机状态。
①优先编码模块:
由于只有1-5个拨吗开关,所以实际是5-3优先编码,当然由于有复位功能的要求,所以要求5-3优先编码模块要有复位开关R。
要求T1优先级最高1-5依次次之。
则真知表如下图。
R
T1
T2
T3
T4
T5
C1
C2
C3
1
x
x
x
x
x
0
0
0
0
0
0
0
0
0
0
0
0
0
1
x
x
x
x
0
0
1
0
0
1
x
x
x
0
1
0
0
0
0
1
x
x
0
1
1
0
0
0
0
1
x
1
0
0
0
0
0
0
0
1
1
0
1
输出信号为C1,C2,C3,值为000-101显示六种状态,数值为0-5,分别表示:
置0态(无优先状态),T1优先态,T2优先态,T3优先态,T4优先态,T5优先态。
②动态晶体管控制电路。
首先必须知道动态晶体管的工作方式,八个动态晶体管公用一组数选输入口,所以在要求所有的晶体管同时工作,这就要求通过位选输入信号端,要有很高的频率来不断地选择这八个动态数码管。
当位选信号分别为000-111时,选中数码管DS8A-DS1A。
为此我们急需要一个八位的计数器重复不断的输出000-111的信号。
在位选的同时,数选输出相应的数字信号。
这又需要对动态数码管进行编译,通过C的六状态写出动态数码管的7位数选信号,真知表见下图。
动态数码管数选信号编译:
C1
C2
C2
Qa
Qb
Qc
Qd
Qe
Qf
Qj
显示
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
2
0
1
1
1
1
1
1
0
0
1
3
1
0
0
0
1
1
0
0
1
1
4
1
0
1
1
0
1
1
0
1
1
5
动态数码管位选信号编译
W
SS2
SS1
SS0
选中数码管
000
0
0
0
DS8A
001
0
0
1
DS7A
010
0
1
0
DS6A
011
0
1
1
DS5A
100
1
0
0
DS4A
101
1
0
1
DS3A
110
1
1
0
DS2A
111
1
1
1
DS1A
这里的W信号为八进制计数器提供的,由于这八个数不断变化,所以选中的数码管也不断变化,当变化速度足够快时,看起来就是一起工作的了。
③信号灯控制模块。
这一部分很简单,只要C1C2C3的六种不同组合的译出6组五位不同的高电平即可,即3-5译码器。
真值表如下图:
信号灯控制信号编译:
C1
C2
C3
E1
E2
E3
E4
E5
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
④双色点阵控制模块
首先要了解双色点阵的工作原理,由于设计的要求只使用双的点阵的红色点部分(或绿色点)。
红(绿)灯亮要求这一点所在的这一行必须是低电平,而其所在的列为高电平。
如果要产生图形的话需要不停地轮换的给予1-8行低电平信号,在适时的情况下给予某列高电平。
这跟动态数码管的位选有些相似,不过这次要求的是八个信号,ROW1-8,需要由八位的计数器的输出信号
这个信号同时将对下面的双色点阵显示提供输入扫描信号。
双色矩阵ROW信号编译:
W
R1
R2
R3
R4
R5
R6
R7
R8
000
0
1
1
1
1
1
1
1
001
1
0
1
1
1
1
1
1
010
1
1
0
1
1
1
1
1
011
1
1
1
0
1
1
1
1
100
1
1
1
1
0
1
1
1
101
1
1
1
1
1
0
1
1
110
1
1
1
1
1
1
0
1
111
1
1
1
1
1
1
1
0
随着8进制计数器的输出信号W的变化,双色点阵依次选中ROW1-ROW8,并提供低电平。
与此同时如果对列施以相应的高电平信号的话,就可以产生想要的图形。
看下图,对LIN信号的编译即可产生0—5。
双色矩阵LIN信号编译:
当C=000,显示图象“0”
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
0
1
1
1
1
0
0
001
0
1
0
0
0
0
1
0
010
0
1
0
0
0
0
1
0
011
0
1
0
0
0
0
1
0
100
0
1
0
0
0
0
1
0
101
0
1
0
0
0
0
1
0
110
0
1
0
0
0
0
1
0
111
0
0
1
1
1
1
0
0
当C=001,显示图象“1”
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
0
0
0
1
0
0
0
001
0
0
0
1
1
0
0
0
010
0
0
1
0
1
0
0
0
011
0
0
0
0
1
0
0
0
100
0.
0
0
0
1
0
0
0
101
0
0
0
0
1
0
0
0
110
0
0
0
0
1
0
0
0
111
0
0
1
1
1
1
0
0
当C=010,显示图象“2”
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
0
1
1
1
0
0
0
001
0
1
0
0
0
1
0
0
010
0
0
0
0
0
1
0
0
011
0
0
0
0
0
1
0
0
100
0
0
0
0
1
0
0
0
101
0
0
0
1
0
0
0
0
110
0
0
1
0
0
0
0
0
111
0
1
1
1
1
1
1
0
当C=011,显示图象“3”
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
0
1
1
1
1
1
0
001
0
0
0
0
0
0
1
0
010
0
0
0
0
0
0
1
0
011
0
0
1
1
1
1
1
0
100
0
0
1
1
1
1
1
0
101
0
0
0
0
0
0
1
0
110
0
0
1
1
1
1
1
0
111
0
0
0
0
0
0
0
0
当C=100,显示图象“4”
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
1
0
0
0
1
0
0
001
0
1
0
0
0
1
0
0
010
0
1
0
0
0
1
0
0
011
0
1
0
0
0
1
0
0
100
0
1
0
0
0
1
0
0
101
0
1
1
1
1
1
1
1
110
0
0
0
0
0
1
0
0
111
0
0
0
0
0
1
0
0
当C=101,显示图象“5
W
L1
L2
L3
L4
L5
L6
L7
L8
000
0
0
0
1
0
0
0
0
001
0
0
0
1
1
1
1
0
010
0
0
0
1
0
0
0
0
011
0
0
0
1
1
1
0
0
100
0
0
0
0
0
0
1
0
101
0
0
0
0
0
0
1
0
110
0
1
0
0
0
0
1
0
111
0
0
1
1
1
1
0
0
译码显示模块
此模块由两小模块构成,即译码模块与数码管显示模块。
先由译码模块将优先编码器输出的二进制编码转换成座位病床号所对应的BCD码,再将该BCD码输入到七段字形译码器(74LS47D)并由七段阴极数码管显示座位号数字。
其流程图如下:
三位二进制码
座位号bcd码
数码管显示模块
通过译码模块处理后的信号成为了与乘客座位相对应的BCD码,数码管显示模块由七段字形译码器(74LS47D),共阴极七段数码管,以及一些逻辑非门和限流电阻组成。
将输入的BCD码以十进制数字的形式在七段数码管上,将正确的呼叫座位号显示出来。
测试模块如下图所示:
3.实验过程
3.1利用QuartusⅡ建立工程
3.1.1进入软件界面
3.1.2选择File—New-VerilogHDLFile
31.3进入工作页面输入所需程序
3.1.4保存文件,输入工程工作路径、工程文件名以及顶层实体名
3.1.5添加设计文件
3.1.6选择设计所用器件
3.1.7设置EDA工具
3.1.8查看新建工程总结
3.1.9运行程序
3.2电路仿真
电路原理图
1010时输出1001111代表错误
3.3波形仿真
3.3.1在File-new中创建仿真输入波形文件
3.3.2添加信号节点
3.3.3进行波形仿真
4.实验程序
VerilogHDL设计源序
以下即为所有程序:
moduleWORK(E,SS,D,ROW,LIN,Q,T,R,CLK);
/**********************初始化标出I/O口及中间变量*************************/
input[1:
5]T;
inputR;
inputCLK;
outputD;
output[1:
5]E;
output[2:
0]SS;
output[1:
8]ROW;
output[1:
8]LIN;
output[1:
7]Q;
regD;
integerA;
integerB;
reg[1:
5]E;
reg[2:
0]SS;
reg[1:
8]ROW;
reg[1:
8]LIN;
reg[1:
7]Q;
reg[0:
2]C;
reg[1:
3]W;
reg[1:
3]Q_TIMED;
/********主程序,输出动态?
体管控制信号Q,SS,和指示等信号E,以及控制信C,******/
always@(TorR)
begin
casex({R,T})
'b1xxxxx:
beginQ='b1111110;C='b000;E='b00000;end
'b000000:
beginQ='b1111110;C='b000;E='b00000;end
'b01xxxx:
beginQ='b0110000;C='b001;E='b10000;end
'b001xxx:
beginQ='b1101101;C='b010;E='b01000;end
'b0001xx:
beginQ='b1111001;C='b011;E='b00100;end
'b00001x:
beginQ='b0110011;C='b100;E='b00010;end
'b000001:
beginQ='b1011011;C='b101;E='b00001;end
endcase
end
always@(posedgeCLK)
begin
case(W)
'b000:
SS='b000;
'b001:
SS='b001;
'b010:
SS='b010;
'b011:
SS='b011;
'b100:
SS='b100;
'b101:
SS='b101;
'b110:
SS='b110;
'b111:
SS='b111;
endcase
end
/******************双色点阵,在C,W控制下实现0—5的图形输出****************/
/************八进制计数程序段,为双色点阵提供扫描信号*************/
always@(posedgeCLK)
begin
if(Q_TIMED<'b111)Q_TIMED=Q_TIMED+1;
elseQ_TIMED='b000;
该处即为八进制计数器的编译程序
W=Q_TIMED;
end
always@(CorW)
begin
case({C,W})
/********************信号C=0,输出0图象****************************/
'b000000:
beginROW='b01111111;LIN='b00111100;end
'b000001:
beginROW='b10111111;LIN='b01000010;end
以下为双色矩阵的程序编译部分
'b000010:
beginROW='b11011111;LIN='b01000010;end
'b000011:
beginROW='b11101111;LIN='b01000010;end
'b000100:
beginROW='b11110111;LIN='b01000010;end
'b000101:
beginROW='b11111011;LIN='b01000010;end
'b000110:
beginROW='b11111101;LIN='b01000010;end
'b000111:
beginROW='b11111110;LIN='b00111100;end
/********************信号C=1,输出1图象****************************/
'b001000:
beginROW='b01111111;LIN='b00001000;end
'b001001:
beginROW='b10111111;LIN='b00011000;end
'b001010:
beginROW='b11011111;LIN='b00101000;end
'b001011:
beginROW='b11101111;LIN='b00001000;end
'b001100:
beginROW='b11110111;LIN='b00001000;end
'b001101:
beginROW='b11111011;LIN='b00001000;end
'b001110:
beginROW='b11111101;LIN='b00001000;end
'b001111:
beginROW='b11111110;LIN='b00111100;end
/********************信号C=2,输出2图象****************************/
'b010000:
beginROW='b01111111;LIN='b00111100;end
'b010001:
beginROW='b10111111;LIN='b01000010;end
'b010010:
beginROW='b11011111;LIN='b00000010;end
'b010011:
beginROW='b11101111;LIN='b00000100;end
'b010100:
beginROW='b11110111;LIN='b00001000;end
'b010101:
beginROW='b11111011;LIN='b00010000;end
'b010110:
beginROW='b11111101;LIN='b00100000;end
'b010111:
beginROW='b11111110;LIN='b01111110;end
/*******************信号C=3,输出3图象*****************************/
'b011000:
beginROW='b01111111;LIN='b00111110;end
'b011001:
beginROW='b10111111;LIN='b00000010;end
'b011010:
beginROW='b11011111;LIN='b00000010;end
'b011011:
beginROW='b11101111;LIN='b00111110;end
'b011100:
beginROW='b11110111;LIN='b00000010;end
'b011101:
beginROW='b11111011;LIN='b00000010;end
'b011110:
beginROW='b11111101;LIN='b00111110;end
'b011111:
beginROW='b11111110;LIN='b00000000;end
/*******************信号C=4,输出4图象*****************************/
'b100000:
beginROW='b01111111;LIN='b00000100;end
'b100001:
beginROW='b10111111;LIN='b00001100;end
'b100010:
beginROW='b11011111;LIN='b00010100;end
'b100011:
beginROW='b11101111;LIN='b00100100;end
'b100100:
beginROW='b11110111;LIN='b01000100;end
'b100101:
beginROW='b11111011;LIN='b011111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 设计 课程设计