交通灯控制程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料2
2总体设计2
2.1需求规定2
2.2运行环境2
2.3基本设计概念和处理流程3
2.4结构3
2.5功能器求与程序的关系3
2.6人工处理过程3
2.7尚未问决的问题3
3接口设计3
3.1用户接口3
3.2外部接口3
3.3内部接口4
4运行设计4
4.1运行模块组合4
4.2运行控制4
4.3运行时间4
5系统数据结构设计4
5.1逻辑结构设计要点4
5.2物理结构设计要点4
5.3数据结构与程序的关系4
6系统出错处理设计5
6.1出错信息5
6.2补救措施5
6.3系统维护设计5
概要设计说明书
1引言
1.1编写目的
创建一个可供日常交通灯使用的程序,目标读者为交通灯控制人员。
1.2背景
说明:
a.交通路口复杂交通信号灯的设计
b.任务提出者,开发者:陈磊
用户:交通指挥系统
设计环境:使用Verilog HDL语言进行设计
使用Quartus 2编程环境进行开发。。
1.3定义
ORDER 选择信号
ROAD 亮灯控制信号
EN5 5秒延时使能信号
LIN5 5秒延时终止信号
EN25 25秒延时使能信号
LIN25 25秒延时终止信号
RST 系统复位信号
CLK 系统时钟信号
1.4参考资料
Verilog HDL数字系统设计与应用
2总体设计
2.1需求规定
输入项目:
CLK 系统时钟信号
RST 系统复位信号
输出项目:
ROAD 亮灯控制信号,ROAD=00,红灯亮;ROAD=01,黄灯亮;ROAD=10,绿灯亮;ROAD=11,黄灯亮。
处理要求:
根据ORDER的不同值,使相应的灯发亮。
2.2运行环境
运行环境:。Quartus II 9.0
2.3基本设计概念和处理流程
2.4结构
ORDER 选择某一灯的选择变量
ROAD 控制某一灯亮的控制变量
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
2.6人工处理过程
人工输入ORDER的值,根据ORDER的不同值,相应的灯变亮
2.7尚未问决的问题
创建一个稳定的时钟源
3接口设计
3.1用户接口
light(red,amber,green,0,order>
ORDER为控制变量,由它决定让哪一盏灯发亮。
ROAD=100,则红灯亮;
ROAD=010,则绿灯亮;
ROAD=001,则黄灯亮;
3.2外部接口
CLK 外部时钟源信号
RST 计时程序使能信号
ROAD 控制哪一盏灯发亮的信号
3.3内部接口
根据ORDER的不同取值,在下面这段程序中,case(order>
0: begin
road='b100。
en25<=1。 en5<=0。
if(lin25==1> order<=1。
end
1: begin
road='b010。
en25<=0。 en5<=1。
if(lin5==1> order<=2。
end
2: begin
road='b001。
en25<=1。 en5<=0。
if(lin25==1> order<=3。
end
3: begin
road='b010。
en25<=0。 en5<=1。
if(lin5==1> order<=0。
end
endcase
4运行设计
4.1运行模块组合
ORDER=0时,ROAD=100,调用模块TIMER25,红灯亮ORDER=1时,ROAD=010,调用模块TIMER5,黄灯亮ORDER=2时,ROAD=001,调用模块TIMER25,绿灯亮ORDER=3时,ROAD=010,调用模块TIMER5,黄灯亮
4.2运行控制
ORDER=0时,ROAD=100,调用模块TIMER25,红灯亮ORDER=1时,ROAD=010,调用模块TIMER5,黄灯亮ORDER=2时,ROAD=001,调用模块TIMER25,绿灯亮ORDER=3时,ROAD=010,调用模块TIMER5,黄灯亮
4.3运行时间
运行模块将始终占用CPU
5系统数据结构设计
5.1逻辑结构设计要点
ORDER 选择变量用于选择让哪一盏灯亮
ROAD=100,则红灯亮;
ROAD=010,则绿灯亮;
ROAD=001,则黄灯亮;
5.2物理结构设计要点
ORDER 2位寄存器变量每次存取要存取全部2位
ROAD 3位寄存器变量,每次存取要存取全部3位
5.3数据结构与程序的关系
ORDER 2位寄存器变量每次存取要存取全部2位
ROAD 3位寄存器变量,每次存取要存取全部3位
6系统出错处理设计
6.1出错信息
1.系统开始运行时RST!=0,即系统没有复位,即开始运行,此时会导致出错。
2.系统时钟工作不正常,各个时钟上升沿的间隔不相等,在此情况下延时程序会工作不正常,使延时时间延长或缩短。
6.2补救措施
故障1:
使RST初始时为0,过一段时间后再将RST置1。
故障2:
寻找一个工作稳定的时钟源作为系统的时钟源。
6.3系统维护设计
1.系统开始运行时RST!=0,即系统没有复位,即开始运行,此时会导致出错。
2.系统时钟工作不正常,各个时钟上升沿的间隔不相等,在此情况下延时程序会工作不正常,使延时时间延长或缩短。
设计需求说明书
2任务概述2
2.1目标2
2.2用户的特点3
2.3假定和约束3
3需求规定3
3.1对功能的规定3