基于FPGA的跑马灯控制电路设计
实验题目:基于 FPGA 的跑马灯控制电路设计
1. 课程简要信息
课程名称是《数字电子技术》,是我校自动化、智能科学与技术、电气工程及其自动化、通信、电子信息工程等专业的本科生二年级下学期或三年级上学期在电子技术方面入门性质的专业基础课。内容包括数字逻辑基础、组合逻辑电路的分析和设计方法、时序逻辑电路的分析和设计方法、常用电子器件的使用,课程总学时为64 学时,理论课(48)+实验(16),实验课不单独设课,该实验为数字电子技术课程关于FPGA的入门性的第二个实验,实验学时为 4学时。为适用我校自动化和通信工程两个专业的工程认证对课程的大纲进行了修订,学生的要求也有所提高。
2. 实验内容与任务(限 500 字,可与“实验过程及要求”合并)
根据所学数字电子技术理论知识,设计一个跑马灯电路(彩灯控制电路),使一排 LED 灯改变显示样式。
基本要求:
1)控制8只LED 灯进行左移、右移、对移和闪烁四种模式的电路设计;2) 设置三个按键,K1-模式键,通过按键调整显示结果,要求有 4种模式;K2与K3-调速键,通过调整按键控制跑马灯移动速度;3) 4 种模式通过一个数码管显示出来,比如,走马灯的显示效果为模式一时,数码管显示数字“1”;4)根据设计要求,使用原理图方式和分层次、分模块的方法进行电路设计;5)通过FPGA开发平台 DE2实现该电路的功能,并观察、记录实验结果。扩展要求:1) 增加LED灯的数量为 16个,进行相应的变换控制;2)增加控制的模式,可以自定 LED灯的变换方式。3)对于模式的显示在实现基本的数码管实现的基础上,可提高为用 $1 6 * 2$ 的 LCD进行模式显示。
3. 实验过程及要求(限 300 字)
1)结合理论课讲解跑马灯相关知识,并让学生课外进一步查阅和学习跑马灯控制电路和 EDA 工具软件 Quartus II 13 的相关知识;
2)为了熟悉 FPGA 相关的实验,本次实验前还设置了一个两个学时的分频器设计实验,在第一次实验时,讲解 Quartus II 13软件的使用,对 DE2 实验平台进行简单介绍。为跑马灯控制电路设计做准备。为了满足学生课外学习的要求,可以将部分多余的实验装置借给学生使用,学生也可以利用实验室开放时间来实验室进行软硬件的使用;
3)实验课前,要求学生尽可能多地查找满足实验要求的相关器件,了解这些器件的参数指标与应用,并在 EDA 软件 Quartus II 13 中能熟练的使用这些器件进行电路设计;
4)在实验课前要求学生通过学习查阅资料制定出两种以上方案进行讨论,仿真实现跑马灯电路的基本要求;
5)画出逻辑电路图,并对电路中使用器件的功能及作用加以说明。记录仿真波形,并对实验结果进行分析说明。对学习能力强的同学可以使用硬件描述语言来自行设计电路实现跑马灯电路设计;
6)撰写设计总结报告,并通过分组演讲,学习交流不同解决方案的特点;
7)分组进行演示验收,并进行简答的答辩;
8)对于扩展要求不安排课内实验学时,供有兴趣、能力强的同学在课外选做,学生完成扩展实验,教师应做好相应的验收工作,并记录好实验结果,记入实验平时成绩。
4. 相关知识及背景(限 150 字)
随着计算机技术和电子技术的飞速发展,EDA 技术已经成为了电子设计的发展方向。跑马灯也叫做彩灯控制电路,在实际生活中有着广泛的应用,这是一个能够将数字电子技术和 EDA 技术很好的相结合来并能够应用于实际生活的典型实验。这个实验项目既有一定的实用性,又具有一定的趣味性。
5. 教学目标与目的(限 100 字)
通过该实验的训练,引导学生掌握先进的 EDA技术进行电路设计,熟练使用一种 EDA 设计工具,通过电路的设计过程提高学生查阅资料的能力,引导学生使用尽可能多的方法实现实际电路以提高学生的创新能力,通过小组合作的机制提高学生协调合作的能力。
6. 教学设计与引导
本实验的过程是掌握了基本的数字电路的基本知识和相应的 EDA 知识的基础上实现一个比较完整的实验。在实验教学中,应在以下几个方面加强对学生的引导:
1)通过电路的设计要求,提出了多种实现该电路的方法及器件,对不同的器件功能及作用做了解。
2)通过电路的设计过程,进一步学习使用 EDA技术进行电路的设计。
3) 在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,拓宽知识面。
7. 实验原理及方案
跑马灯控制器可以自动控制多路彩灯按不同的节拍循环显示各种灯光变换样式。跑马灯控制器是以高低电平来控制彩灯的亮灭。在跑马灯路数较少,样式变化比较简单时,可以用移位寄存器实现,也可以采用可逆计数器加译码器实现。由于计数器加译码器实现该电路的方案相对较简单,因此这里只给出了以移位寄存器实现跑马灯电路设计的系统框图。
1)系统结构

2)实现方案
实现跑马灯电路的方案有多种,总的来说分一下几部分:
首先,在 ED2 实验装置上有两个时钟源,通过特定的硬件引入到了 FPGA 芯片内部,时钟频率分别是 50MHz 和 $2 7 \mathrm { M H z }$ ,显然这两个频率太高了,导致周期太小,由于人眼睛的视觉暂留现象,使得人眼是无法看到 LED灯的闪亮状况,因此要对其进行分频。在设计过程中,可以任选一个时钟频率,将其分频到 100HZ以下的任一频率,已适合观看为准。分频电路分出几个适合观察的频率,送入一个数据选择器,把 K2和 K3键接至数据存储器的选通端,来控制送入哪个频率的时钟数据送入到移位寄存器的数据输入端。数据存储器可以由数据选择器构成。
分频电路一般采用的方式是计数分频的方式,所以可以采用具有计数功能的芯片,比如74X160、161、163、191、290等,查阅相关芯片资料选取合适的芯片进行计数分频电路的设计。这一部分电路在分频器实验中已经完成,可以直接将电路移植到跑马灯电路中。
其次,跑马灯控制器完成左移、右移、对移和闪烁的基本要求,所以只需 4 状态,所以状态计数器完成模 4计数器,计数器的输出接至移位寄存器用在控制寄存器的工作状态。
可以用上述计数器芯片任一种可以完成状态计数功能。
移位寄存器用来输出跑马灯的几种变换样式的,其工作状态由方式控制字决定,查阅相关移位寄存器的数据手册,选择合适的移位寄存器并且通过查阅手册确定移位寄存器的工作方式。
移位寄存器有74Ls194 等芯片。
数码管显示译码电路,根据所选数码管类型是共阴极还是共阳极选择不同的译码器芯片,查阅相关手册确定芯片。
8. 教学实施进程
由于实验学时有限,所以在理论教学过程中对实验任务进行安排,学生明确了实验任务后在课余时间进行资料的查阅,和电路方案选择,可以利用 EDA工具软件对电路进行仿真,仿真正确后可以与老师约时间进行初步电路检查,在实验中实验学时一分为二,部分用来检验学生电路下载后的正确性,一部分时间用来进行学生的总结和答辩。
9. 实验报告要求
实验报告需要反映以下工作:
1)实验需求分析
2)实现方案论证
3)电路设计与参数选择
4) 电路的仿真图及下载验证的实物图
5) 实验结果总结
6)实验过程中遇到的为题及解决方法
7)实验结束后的收获和心得体会
10.考核要求与方法(限 300 字)
1)实物验收:将设计电路下载至实验箱,进行功能验证。
2)自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
3)实验数据:实验的电路图及仿真图。
4)实验报告:实验报告的规范性与完整性。
11.项目特色或创新(可空缺,限 150 字)
将数字电子技术课程中的译码器、计数器、分频器、移位寄存器及 EDA 相关知识结合起来,实现一个即具有实用性,又具有一定趣味性的实验项目。
该实验项目体现了分模块、分层次的设计方法,通过要求学生进行多种方案的比较和设计,体现了实验方法的多样性。实验项目由简单到复杂、由基础到综合,循序渐进,培养学生的实践动手能力和创新能力。
参赛信息表
| 案例提供单位 | 北京信息科技大学自动化学院辛苦中心 | 相关专业 | 电子技术、检测与自动化 | |||
| 设计者姓名 | 王丽霞 | 电子邮箱 | wangli-xia@163.com | |||
| 移动电话 | 15801667336 | 通讯地址(含邮编) | 北京市海淀区清河小营东路 12号自动化学院电子信息与控制实 | |||
| 设计者姓名 | 杨慧春 | 电子邮箱 | 52009222@qq.com | |||
| 移动电话 | 18910180797 | 通讯地址(含邮编) | 北京市海淀区清河小营东路 12号自动化学院电子信息与控制实 | |||
| 设计者姓名 | 姜钧 | 电子邮箱 | jjjj_u@126.com | |||
| 移动电话 | 13601373029 | 通讯地址(含邮编) | 北京市海淀区清河小营东路 12号自动化学院电子信息与控制实 | |||
| 相关课程名称 | 数字电子技术 | 学生年级 | 大二下或大三上 | 学时(课内+课外) | 4+8 | |
| 支撑条件 | 仪器设备 | DE2 开发板板、PC 机、示波器 | ||||
| 软件工具 | QuartusII 13 | |||||
| 主要器件 | DE2开发板 | |||||