彩灯变换控制器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号
EDA技术及应用A
课程设计说明书
彩灯变换控制器设计
起止日期:2021 年12 月28 日至2021 年12 月31 日
学生X X
班级13电信科1班
成绩
指导教师(签字)
计算机与信息工程学院电子信息工程系
2021 年12月31日
课程设计任务书
2021 —2021学年第1学期
计算机与信息工程学院电子信息工程系13电信科专业1 班
课程设计名称:EDA技术及应用A
设计题目:彩灯变换控制器设计
完成期限:自2021 年12 月28 日至2021 年12 月31 日共1 周
一.课程设计依据
在掌握常用数字电路原理和技术的根底上,根据EDA技术及应用课程所学知识,利用硬件描述语言〔VHDL或VerilogHDL〕,EDA软件〔QuartusⅡ〕和硬件开发平台〔达盛试验箱CycloneⅡFPGA〕进展初步数字系统设计。

二.课程设计内容
设计彩灯控制器,实现16个三色LED把戏显示,具有4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮;s3,从中见到两边逐个点亮。

每个模式有4档速度,快、稍快、中速、慢速;设计时序逻辑实现模式的自动循环切换,速度切换,颜色手动切换。

〔提示:可把各种图形存储在片内ROM中,通过数据读取实现〕。

扩展设计:LED通过串行移位存放器进展连接〔串行驱动采用HC595或MBI5026驱动〕。

三.课程设计要求
1. 要求独立完成设计任务。

2. 课程设计说明书封面格式要求见?XX城建大学课程设计教学工作标准?附表1
3. 课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、标准。

4. 测试要求:采用modelsim或Quartus进展时序仿真,并在实验箱上验证设计结果。

5. 课设说明书要求:
1) 说明题目的设计原理和思路、采用方法及设计流程。

2) 对各子模块的功能以及各子模块之间的关系作明确的描述。

3) 对实验和调试过程,仿真结果和时序图进展说明和分析。

4) 包含系统框图、电路原理图、HDL设计程序、仿真测试图。

指导教师〔签字〕:
教研室主任〔签字〕:
批准日期:2021 年12 月24 日
目录
第1章设计方案及原理1
1.1 设计方案1
1.2 设计原理及流程1
第2章设计程序3
2.1 Verilog HDL程序3
第3章原理图及仿真波形6
3.1 原理图6
3.1.1顶层文件原理图6
3.2 仿真波形6
3.3 仿真结果分析8
3.4硬件联接8
3.4.1 引脚分配8
3.4.2 实验箱硬件电路局部的线路连接8
总结9
参考文献11
第1章设计方案及原理
1.1设计方案
本次课程设计采用Verilog HDL硬件描述语言编写控制程序,应用Quartus Ⅱ软件实现仿真测试。

拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口。

使用Verilog HDL设计软件画出原理图,采用FPGA芯片对LED灯进展控制,使其到达流水跑马灯显示的效果,LED灯采用共阳极接法,当给它一个低电平时,LED点亮,我们利用移位存放器使各输出口循环输出上下电平,到达控制的目的。

1.2设计原理及流程
本次试验我的内容是彩灯变换控制器设计的设计,下面我简单的进展一下原理的阐述。

设计方案流程图如图1-1所示:
图1-1 方案流程图
彩灯控制器课程设计的要求是控制16个LED进展把戏显示,具有4种显示模式,所以应设计四种显示模块:第一种显示是从左向右顺序点亮LED。

第二种显示:从右向左顺序点亮LED。

第三种显示:从两边向中间顺序点亮LED。

第四种显示:从中间到两边顺序点亮LED。

每个模式有4档速度,快、稍快、中速、慢速;四种显示模式自动循
环切换,速度切换,颜色手动切换。

为了完成要求的效果显示,我准备以下方案。

由于要求比拟简单,所以不用分为很多模块来具体控制,所以我先利用移位存放来完成灯的点亮,并采用LED灯共阳极接法,当给LED低电平时LED灯点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可。

本次设计中我要实现16个LED灯从左到右依次点亮,那么就可以给这16个数码灯分别赋值11111,经过一段时间的延时后再给其赋值11111,再经过一段时间延时后再给其赋值1111,依次类推,那么最后一种赋值状态为11110,这样就实现要求中所要求的。

同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。

为了到达四种显示模式循环切换的目的,可以将以上的所有赋值语句以顺序语句的形式置于进程中,这样在完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。

任务中要XX现每种模式有四种速率循环方式,这里我采用了硬件连接拨码开关控制速率,共用慢速、中速、稍快、快四档速度。

设计中我还为程序增添了复位功能,当需要程序复位时,只需按下rst键,此时程序不管走都那里,只要执行这条语句,确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进展新的循环点亮。

第2章设计程序
2.1Verilog HDL程序
module muxone(clk,rst,Q,DIN,CLK);
input clk,rst;
input [1:0]DIN; //DIN为变换速度档output signed[15:0]Q; //Q为15个LED output CLK; //自定义时钟
parameter DOUT=16'b01111111_11111111;
reg CLK;
reg [16:0]x;
reg [1:0]cs;
reg [15:0]Q;
always(posedge clk)
begin
x<=15'b00000;CLK=0;
case(DIN)
0:begin
x<=x+1'b1;
if(x==30)begin
x<=15'b0;
CLK=~CLK;
end
end
1:begin
x<=x+1'b1;
if(x==25)begin
x<=15'b0;
CLK=~CLK;
end
end
2:begin
x<=x+1'b1;
if(x==20)begin
x<=15'b0;
CLK=~CLK;
end
end
3:begin
x<=x+1'b1;
if(x==15)begin
x<=15'b0;
CLK=~CLK;
end
end
default begin
x<=x+1'b1;
if(x==20)begin
x<=15'b0;
CLK=~CLK;
end
end
endcase
end
always(posedge CLK or negedge rst)begin if(!rst)begin
Q<=DOUT;cs<=2'b00;
end
else begin
case(cs)
0:begin Q<=Q>>1;Q[15]<=1'b1;
if(Q==16'b11111111_11111110)begin Q<=16'b11111111_11111101;
cs<=2'b01;
end
end
1:begin Q<=Q<<1;Q[0]<=1'b1;
if(Q==16'b01111111_11111111)begin Q<=16'b01111111_11111110;
cs<=2'b10;
end
end
2:begin Q[15:8]<=Q[15:8]>>1;
Q[7:0]<=Q[7:0]<<1;
Q[15]<=1'b1;
Q[0]<=1'b1;
if(Q==16'b11111110_01111111)begin Q<=16'b11111101_10111111;
cs<=2'b11;
end
end
3:begin Q[15:8]<=Q[15:8]<<1;
Q[7:0]<=Q[7:0]>>1;
Q[8]<=1'b1;
Q[7]<=1'b1;
if(Q==16'b01111111_11111110)begin Q<=16'b01111111_11111111;
cs<=2'b00;
end
end
default begin
Q<=DOUT;
cs<=2'b00;
end
endcase
end
end
endmodule
第3章原理图及仿真波形
3.1原理图
3.1.1顶层文件原理图
编译上述程序,并创立图形的symbol,翻开原理图编辑器,命名为jie.bdf,在快捷菜单对话框中的project里选择已生成好的命为jie的图形symbol,根据已编程序添加引脚,得原理图如下:
图3-1 顶层文件原理图
3.2仿真波形
利用编译工具quartus II对程序进展编译,准确无误后进展时序仿真,仿真结果图如下面四个图所示,代表了不同速率一样总时长下的移位情况,即先从左到右,再从右
到左,再从中间到两边,最后从两边到中间的移位存放过程。

图3-2 速度最慢移位波形图
图3-3 速度中速移位波形图
图3-4 速度稍速移位波形图
图3-5 速度最速移位波形图
3.3 仿真结果分析
根据程序可知,当输入DIN为00时选择慢速档,CLK的周期大约为30us,此时根据仿真结果我们可以看出,当rst选为高电平时程序运行,随着CLK上升沿的到来输出Q做移位变化,开场从左向右移,然后从右向左移,然后从中间向两边移,最后从两边向中间移,之后循环显示。

因为设定了复位功能,所以无论程序运行到哪个位置时,当按下复位键rst时系统运行停顿,回到最初设定值状态,第一个灯点亮。

当输入DIN为01时选择中速档,CLK的周期大约为25us,执行以上循环显示。

当输入DIN为10时选择稍快档,CLK的周期大约为20us,执行以上循环显示。

当输入DIN为11时选择最快档,CLK的周期大约为15us,
执行以上循环显示。

3.4硬件联接
3.4.1引脚分配
仿真完毕准确无误后开场硬件连接,先分配引脚信息,本次设计共需21个引脚分配引脚信息截图如图3-4-1所示。

图3-6 硬件引脚分配图
3.4.2实验箱硬件电路局部的线路连接
再次编译,设定好编程下载方式后,根据引脚锁定,将导线与相应数码管及开关连接好
就可以进展硬件下载测试了。

硬件连接如图3-4-2所示。

最后,将程序下载入芯片后,观察硬件运行结果,即LED灯的显示情况。

经测试,所编写的程序到达了课程设计的要求,并得要了相应的结果。

第一种显示是从左向右逐个点亮LED。

第二种显示:从右向左逐个点亮LED。

第三种显示:从两边向中间逐个点亮LED。

第四种显示:从中间到两边逐个点亮LED。

在每个显示模式之间没有多余显示结果,直接进入下一种模式,直至四种模式全部循环完再开场下一轮循环。

四种显示模式通过自动切换,并带有一位复位键控制系统的运行停顿。

当rst按键按下时,led停顿显示,保持按下前的状态,如过不按rst,十六位led灯四种模式通过自动循环模式显示。

DIN所连接的两个拨码开关控制循环速度,共有慢速,中速,稍快,快四个档速分别靠手动预置实现。

图3-7 硬件连接图
总结
为期近一周的EDA课程设计终于完毕了,回忆这一周真的觉得自己受益匪浅,不仅对书本知识有了更全面更深刻的理解,还掌握了QuartusⅡ这款软件的根本用法。

为以后的工作又增加了一门新技能。

在上机操作的过程中,刚开场我们遇到了很多的困难,引脚的设定,顶层文件的建立,画图中连线的区分,这些虽然都是小细节,但都必须注意,否那么就会影响整个设计的实验,经过对最简单的模型的设计及仿真练习过后,我
们根本掌握了软件的使用方法,通过软件仿真及对各个参数的设置,我们不断调试仿真出来的波形。

在这个过程中我明白了,要想防止实验中走弯路,首先程序要逻辑清晰,简洁明了,防止不必要的嵌套与条用,其次要适当地给程序加上注解文字,提高可读性,以方便之后的程序出错时进展查找。

虽然软件的仿真功能很强大,但是还是需要操作人员仔细的进展观察及调试的,否那么也容易出现仿真错误。

最后充分利用仿真软件提供的各项编译工具与报错消息,按图索骥,有方向的完成程序调试。

网上搜集的一些资料也给予了我很大的帮助。

这次的学习开阔了我们的视野,使我们了解了更多的专业方面的实际应用,在生产应用方面的用处等,以及专业方面的开展方向等……随着电子技术和计算机技术的不断开展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它已成为当今电子技术开展的前沿之一。

EDA技术开展迅猛,完全可以用日新月异来描述。

EDA技术的应用广泛,现在已涉及到各行各业。

EDA水平不断提高,设计工具趋于完美的地步,所以我们更加应该多多掌握这方面的知识。

书本上的知识要想学会并且了解,必须在实践中才能深入的掌握所学的知识,要不就是纸上谈兵,不管说的多么华美,只有在实践中才能表达知识的价值,也才能考验一个人的真正能力。

这次EDA课设对我受益匪浅,谢谢在设计中帮助过我的教师和同学,团结的力量是伟大的。

参考文献
[1] 潘松,黄继业编著. EDA技术与VHDL[M].:清华大学,2005
[2] 边计年主编.用VHDL设计电子线路[M].:清华大学,2000(8)
[3] 王金明,杨吉斌编著.数字系统设计与Verilog HDL[M].:电子工业,2002〔1〕
[4] 徐志军,徐光芒编著.CPLD/FPGA的开发与应用[M].:电子工业,2002
[5] 潘松,黄继业,潘明编著.EDA技术实用教程[M].科学,2021。

相关文档
最新文档