基于SOPC的嵌入式数字秒表课程设计Word格式.doc
- 文档编号:13044546
- 上传时间:2022-10-03
- 格式:DOC
- 页数:20
- 大小:688.23KB
基于SOPC的嵌入式数字秒表课程设计Word格式.doc
《基于SOPC的嵌入式数字秒表课程设计Word格式.doc》由会员分享,可在线阅读,更多相关《基于SOPC的嵌入式数字秒表课程设计Word格式.doc(20页珍藏版)》请在冰豆网上搜索。
但是随着电子技术的飞速发展,电子秒表的出现彻底改变了这一局面,电子秒表以其成本低廉、工作稳定、走时精确、操作简单在人类的工作生活中得到了广泛的应用。
秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。
本设课程设计是主要采用sopc技术基于FPGA的数字秒表的设计,利用VerilogHDL语言和QuartusII软件以及FPGA实验操作平台来实现的。
本论文的重点是用硬件语言VerilogHDL来描述数字秒表,偏重于软件设计。
大致内容是首先简单介绍了EDA的现状和前景,VerilogHDL语言特点,应用平台FPGA,之后阐述了数字秒表的设计思想和大体的设计流程,最后进入本设计的核心设计部分,用VerilogHDL语言设计数字秒表电路,着重对各个模块进行了详细的分析和说明。
【关键词】VerilogHDL语言;
QuartusII软件;
数字秒表;
SOPC技术
二、课题简介
SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件QuartusII。
SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案有多种途径,我们主要用到的是:
基于FPGA嵌入IP硬核的SOPC系统
2.3基于FPGA嵌入IP硬核的SOPC系统
即在FPGA中预先植入嵌入式系统处理器。
目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。
尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。
如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。
这样会增加整个系统的体积、功耗,而降低系统的可靠性。
但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。
2.2基于FPGA嵌入IP软核的SOPC系统
这种SOPC系统是指在FPGA中植入软核处理器,如:
NIOSII核等。
用户可以根据设计的要求,利用相应的EDA工具,对NIOSII及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。
2.3VerilogHDL语言及QuartusⅡ软件简介
VerilogHDL语言是1983年GDA公司的PhilMoorby首创的,之后Moorby有设计了Verilog-XL仿真器获得很大成功,也使得VerilogHDL语言得到发展和推广。
VerilogHDL语言是在C语言的基础上发展而来的。
从语法结构上看,VerilogHDL继承和借鉴了C语言的很多语法,两者有许多的相似之处,但VerilogHDL作为一种硬件描述语言,还是有本质的区别。
即可适于可综合的电路设计,也可胜任电路和系统的仿真;
能在多层次上对所设计的系统加以描述,从开关级、门级,寄存器传输级到行为级等都可以担任,而且没规模限制;
灵活多变的电路描述风格,可进行行为描述,也可进行结构描述等;
应用十分的广泛。
QuartusⅡ软件是Atlera的CPLD/FPGA集成开发软件,具有完善的可视化设计环境,并具有标准的EDA工具接口,基于QuartusⅡ进行EDA设计开发需要以下步骤:
设计输入、编译、仿真、编程与验证等。
2.4VHDL语言的特点
VHDL的程序结构特点是将一项工程设计,关于用VHDL和原理图输入进行CPLD/FPGA设计的粗略比较:
在设计中,如果采用原理图输入的设计方式是比较直观的。
你要设计的是什么,你就直接从库中调出来用就行了。
这样比较符合人们的习惯。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
应用VHDL进行工程设计的优点是多方面的。
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.5VHDL的设计流程
它主要包括以下几个步骤
1.文本编辑:
用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。
通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件
2.功能仿真:
将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)
3.逻辑综合:
将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。
逻辑综合软件会生成.edf或.edif的EDA工业标准文件。
4.布局布线:
将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。
5.时序仿真:
需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。
(也叫后仿真)通常以上过程可以都在PLD/FPGA厂家提供的开发工具。
6.器件编程
三、实验总体设计
3.1实验目的
通过定时器实现电子秒表,达到熟练使用定时器中断,熟练掌握单片机原理及应用并且熟悉SOPC嵌入式系统,熟悉掌握在NiosII的C语言编程,
3.2实验要求
1)在开发板上,利用中断实现电子秒表,显示6位(低位模拟到10ms,高位模拟到分钟级),第一次按键开始计时,再按同一个按键暂停计时,再次按此键,计时继续;
按另外一个按键停止计时。
采用ALTERA公司FPGA产品作为数字系统基础
2)在该FPGA中设计NIOSII软核处理器及其周边模块如PIO、定时器等。
3)使用PIO接口模块,设计一个控制键盘,该键盘有启动键,停止键,查看键和记录键
4)在按下启动键后,秒表从0开始计数,0.01秒增加一个计数值。
5)在计数过程中,可按下5次记录键,记录5个时间点。
在按下停止键后,停止计数,并且在这个情况下,按查看键可以逐一查看刚才按下的时间点
3.3课程设计的内容
1、采用ALTERA公司FPGA产品作为数字系统基础
2、在该FPGA中设计NIOSII软核处理器及其周边模块如PIO、定时器等。
3、使用PIO接口模块,设计一个控制键盘,该键盘有启动键,停止键,查看键和记录键
4、在按下启动键后,秒表从0开始计数,0.01秒增加一个计数值。
5、在计数过程中,可按下5次记录键,记录5个时间点。
在按下停止键后,停止计数,并且在这个情况下,按查看键可以逐一查看刚才按下的时间点。
6、完成硬件系统设计和软件系统设计
7、按照课程设计格式要求认真完成
四、数字秒表的工作原理及设计过程
图1数字秒表总体框图
4.17段数码显示译码器基本原理
在数字电路中,常常需要把运算结果用十进制数显示出来,这就要用显示译码器。
现以驱动七段发光二极管的二-十进制译码器为例说明显示译码器的设计原理,如图2。
图2段数码显示译码器的原理示意图
7段显示译码器实际上是一种代码变换器,它是将4位二进制码转换成7位代码,燃亮LED显示器a、b、c、d、e、f、g七段中的对应段,显示出十进制数的字型。
图37段显示译码器真值表
在EDA实验箱中验证这个项目,可用数据开关表示输入,用LED数码管表示输出。
本次的设计仿真选用以EPlC6Q240芯片为核心的FPGA开发板,该开发板提供了较完善的外围周边电路和信号接口,并提供了一块4位7段数码管的扩展板,为本次设计提供了硬件条件。
在设计中,功能控制模块根据控制选择不同的功能状态的时间输出,通过势能控制模块和显示输出模块驱动7段数码管显示相应的时间。
本系统设计由控制模块、时基分频模块,计时模块和显示模块四部分组成。
各模块实现秒表不同的功能。
CLR
SP
CLK
OUTPUT
EN
CB10
SEG[7..0]
OUTBCD[3..0]
LED[6..0]
CO
BCD7
MULX
COUNT
CTRL
CLKCO
S_1MS[3..0]
S_10MS[3..0]
CLKS_100MS[3..0]
CLRS_1S[3..0]
ENS_10S[3..0]
M_1MIN[3..0]
M_10MIN[3..0]
HOUR[3..0]
S_1MS[3..0]
S_10MS[3..0]OUTBCD[3..0]
S_100MS[3..0]
S_1S[3..0]SEG[]7..0]
S_10S[3..0]
CLKEN
BCD[3..0]LED[6..0]
图4系统的整体组装设计原理图
4.2秒表程序构成
1、程序设计思路
利用定时器经确定时,并且利用随机存储区的有限空间,定义一个二维数组,通过按键将时间数值赋给数组(实践证明,随机存储器内最多只能存储30组时间数值),然后在秒表停止或在数组存满的情况下将所存的时间数值读出。
当然,也需要通过按键来读取不同时间数值,并且使用按键来控制秒表的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SOPC 嵌入式 数字 秒表 课程设计