资源描述
上 海 电 力 学 院
课程设计(大型作业)任务书
(2009 /2010 学年第 二 学期)
课程名称 SOPC课程设计
课程代码 1307132
院(系) 计信学院
专 业 电子信息工程
班 级
学 生
时 间 19/20周
一、 设计目的
本课程的授课对象是电子信息工程专业本科生,是电子类专业的一门重要的实践课程,是理论与实践相结合的重要环节。本课程作为《SOPC技术与应用》的后续实践课程,有助于增强学生对SOPC技术的理解,掌握SOPC设计方法及调试能力,为今后从事现代电路设计与调试工作打下扎实的基础。
二、 设计内容、要求及组织形式
本课程要求学生在掌握FPGA技术和SOPC技术的基础上,以QuartusII、SOPC Builder和Nios II IDE等软件为工具,分别完成SOPC的硬件模块设计和软件模块设计。设计题目:LCD日历电子钟、多功能数字钟、交通信号灯和抢答器。采用一人一题的方式,课堂形式则采用讲授与上机相结合。
三、 设计进度安排(时间及地点)
地点:计信学院实验室304
时间:19-20周
第1天 分析各设计的工作原理、设计目的
第2天 硬件模块设计
第3天 软件流程图设计,整理设计思路
第4天 对软件模块进行划分
第5-8天 完成模块的代码编写、调试、运行
第9天 报告撰写
第10天 答辩
下面给出四个任务的具体要求。
任务一: LCD日历电子钟
1.实验任务及要求
(1)日历电子钟的显示:用NiosII DE2开发板实现电子钟功能。用LCD显示电子钟的日期和时间。LCD分两行显示,第一行显示年、月和日(如:20090201);第二行显示时、分和秒(如16:20:30)。
(2)日历电子钟的修改:用输入按钮KEY[0]来控制LCD行修改,同时让DE2板上的绿色发光二级管LEDG3的亮与灭来表示这个选择。当KEY[0]按下一次后,LEDG3亮,可以修改年、月和日的数字;再按一次KEY[0]后,LEDG3灭,可以修改时、分和秒的数字。另外用输入按钮KEY[3]来控制日期和时间的修改,当处于日期修改方式时,每按动一次KEY[3]按钮,依次更换“年”、“月”和“日”的修改。当处于时间修改方式时,每按动一次KEY[3]按钮,依次更换“时”、“分”和“秒”的修改。修改对象被选中后,按动KEY[2]输入按钮可以增加显示的数字;按动KEY[1]输入按钮可以减少显示的数字。
2.实验原理
SOPC的硬件模块包括:
处理器:Nios II
存储器:SDRAM
PIO:LEDG、KEY
显示:LCD
定时器:Timer(20ms)
调试口:JTAG UART
软件模块的设计进程可分为以下几个步骤:
(1) 电子钟功能的实现。可通过定时器定时1s“秒”加1,依次对“分”、“时”加1,实现简单的电子钟功能。
(2) 日历的实现。在上述电子钟的基础上,每24个小时“日”加1,依次对“月”和“年”加1,实现日历的功能。
(3) LCD显示。将上述时间与日期显示在LCD上。
(4) 时间和日期的调整。在程序中需要加入按键中断程序,通过判断按键值按要求实现相应的功能。
3.实验报告要求
(1)画出(或打印出)硬件电路图。
(2) 画出(或打印出)程序流程图。
(3) 解释程序中各部分的功能。
(4)书写实验报告时应结构合理, 层次分明。
任务二: 多功能数字钟
1.实验任务及要求
(1)主体功能
设计一个多功能数字钟,包含以下主要功能:
1.计时及校时,时间12小时制显示
2.秒表:启动/停止/保持显示/清除
4.闹钟:设定闹钟时间,整点提示
(2)输入输出界面
输入:4个Key
输出:8位7段码,8个LED
4个按键从左到右为:Key3、key2、Key1,Key0,功能在不同模式下定义不同:
Key0:显示模式键;
Key1:时间、闹钟模式下的设置选择键或秒表模式下的取时间键;
Key2:时间、闹钟设置时所调对象加1或秒表模式下的开始/停止键;
Key3:复位键。
8位7段码从左到右编号为7-0
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
7
6
5
4
3
2
1
0
两个LED分别指示闹钟与整点提示的开关状态。
(3)详细功能及状态描述:
总体分四种模式,由Key3切换
l 时间显示模式:
初始状态为12小时制显示当前时间:小时(7-6位)/分(5-4位)/秒(3-2位),(1-0位)不显。
当按下key1时,可以进行时、分设置选择。按Key1进行调节对像选择顺序如下表:
Key1
--->
调整小时
Key1
--->
调整分
Key1
--->
不调整
--┐
<-┘
选择好调整对象后,按Key2一下,所调对像加1。设置某一部分时,要断开相关的进位链,如:正在调分时,应忽略秒的进位脉冲,并且满60的进位也不能影响到后面的小时。
按Key3进入下一模式:秒表模式
l 秒表模式
进入秒表模式后,按下key2即开始计时;按下key1则将当前的秒表数据显示在LCD上,而秒表还在继续,直到再次按下key2停止计时。若要重新运行秒表则可以按下key3复位,秒表从0开始计时。
显示:小时(7-6位)分钟(5-4位)/秒(3-2位)/百分秒(1-0位)
按Key3(ModeKey)进入下一模式:闹钟模式
l 闹钟模式
按Key1进行调节对像选择,选择顺序如下表:
Key1
--->
调整小时
Key1
--->
调整分
Key1
--->
闹钟开关
Key1
--->
整点提示开关
Key1
--->
不调整
--┐
<-┘
选择好调整对象(时、分)后,按Key2一下,所调对像加1;选择闹钟开关或整点提示开关设置时,按下key2后,开关状态取反。
按Key3(ModeKey)回到时间显示模式。
2.实验原理
SOPC的硬件模块包括:
处理器:Nios II
存储器:SDRAM
PIO:LEDG、KEY
显示:7段码、LCD
定时器:Timer(20ms)
调试口:JTAG UART
软件模块的设计进程可分为以下几个步骤:
(1)按键接口模块
功能:判断按键输入值,从而作出相应的动作。主要是通过按键中断来实现的。
(2)时钟、秒表计时模块:时钟每秒加1,主要是通过定时器每秒定时完成的。
(3)模式切换模块:通过按键切换当前模式及设置选择。
(4)时钟、秒表校时模块:根据模式和设置选择的不同,对各时间部分进行计数及设置
(5)显示控制模块
控制不同模式下显示不同的内容,以及调节时闪烁显示。
3.实验报告要求
(1)画出(或打印出)硬件电路图。
(2) 画出(或打印出)程序流程图。
(3) 解释程序中各部分的功能。
(4)书写实验报告时应结构合理, 层次分明。
任务三: 交通信号灯
1.实验任务及要求
(1)用红、绿、黄三色发光二极管作信号灯。
(2)当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红灯。
(3)主支干道交替允许通行,主干道每次放行45s、支干道25s。设计45s和25s计时显示电路。主干道在通行45s后,若支干道无车,则主干道的绿灯继续亮,直到支干道有车,绿灯才开始交替。
(4)在每次由亮绿灯变成亮红灯的转换过程中间,要亮5s的黄灯作为过渡,以使行驶中的车辆有时间停到禁止线以外,设置5s计时显示电路。
(5)输入输出界面
输入: 1个开关SW
输出:8位7段码
1个开关SW表示支干道上是否有车
8位7段码从左到右编号为7-0
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
7
6
5
4
3
2
1
0
通行时间倒计时时间显示在(1-0位)。
2.实验原理
SOPC的硬件模块包括:
处理器:Nios II
存储器:SDRAM
PIO:LEDG、SW
显示:7段码
定时器:Timer(20ms)
调试口:JTAG UART
支干道是否有车辆到来可利用传感器进行检测,本设计用开关代替;有车到来,开关闭合(sw=1),反之,开关断开(sw=0)。
根据设计要求,各信号灯的工作顺序流程图如下图所示。四个路口均设有红、黄、绿三色信号灯和用于计数的两位数码管显示的十进制计数器。
3.实验报告要求
(1)画出(或打印出)硬件电路图。
(2) 画出(或打印出)程序流程图。
(3) 解释程序中各部分的功能。
(4)书写实验报告时应结构合理, 层次分明。
任务四: 抢答器
1.实验任务及要求
(1)抢答器可容纳四组12位选手,每组设置一个抢答按钮供选手使用。
(2)电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统复位后,灯闪烁提示抢答开始,时显示器显示初始时间并开始倒计时,若参赛选手按抢答按钮,则该组指示灯亮并用组别显示器显示选手的组别。此时,电路具备自锁功能,使其它抢答按钮不起作用。
(3)如果无人抢答,计时器倒计时到零,主持人可以按复位键,开始新一轮的抢答。
(4)设置犯规功能。选手在主持人按开始键之前抢答,则认为犯规,犯规指示灯亮和显示出犯规组号,主持人可以终止抢答执行相应惩罚。
(5)抢答器设置抢答时间选择功能。为适应多种抢答需要,系统设有10秒、15秒、20秒和3O秒四种抢答时间选择功能 。
(6)输入输出界面
输入:4个按键Key、4个开关SW
输出:8位7段码
4个按键从右到左为:Key0、key1、Key2,Key3;代表4位选手,只要检测到1位选手按下按键则关闭按键中断,其他按键按下无效。
4个开关SW从右到左为:SW0、SW1、SW2、SW3;功能在不同模式下定义不同:
SW0:复位秒表计时,抢答暂时处于暂停状态,如果此时有人按下Key则意味着犯规,其相应分值减1;
SW1:选择抢答时间的设置值,分别为10秒、15秒、20秒和3O秒四种抢答时间;
SW2:所有选手的分数值清零键;
SW3:主持人的开始键,当主持人按下该键则抢答开始。
8位7段码从左到右编号为7-0
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
━
┃ ┃
━
┃ ┃
━
7
6
5
4
3
2
1
0
4位选手的分值分别显示在(3-0位);秒表的倒计时时间显示在(5-4位)
2.实验原理
SOPC的硬件模块包括:
处理器:Nios II
存储器:SDRAM
PIO:LEDG、KEY、SW
显示:7段码
定时器:Timer(20ms)
调试口:JTAG UART
软件模块包括以下几部分:
(1)主持人控制模块
在抢答比赛开始前,主持人可通过SW2将选手的分数全部清零;然后,通过SW1选择抢答时间的设置值可以是10秒、15秒、20秒和3O秒4档,设置的时间可同时显示在7段码(5-4位);上述值全部设定完成后,通过SW3抢答开始;如果要进行新一轮的抢答则按下SW3重新开始。
(2)选手抢答模块
4位选手可以通过按下相应的Key进行抢答,程序中可通过按键中断来判断是哪个按键按下,一旦判断到有按键按下则关闭按键中断,其他按键将不再起作用。
(3)定时模块
定时模块是通过定时器完成的,当主持人按下开始键后,秒表计时开始倒计时;当时间减到0时,没有选手按下按键,则本次抢答无效,重新开始新一轮抢答。
3.实验报告要求
(1)画出(或打印出)硬件电路图。
(2) 画出(或打印出)程序流程图。
(3) 解释程序中各部分的功能。
(4)书写实验报告时应结构合理, 层次分明。
四、 考核形式及成绩评定办法
本课程采用平时分、作品分、实验报告、答辩三部分成绩来综合评定学生的成绩,着重考查学生对SOPC相关知识的掌握程度。平时考勤成绩占20%,实验作品成绩占50%,实践报告成绩占10%、答辩占20%,成绩按百分制评定。
展开阅读全文