基于EP1K10TC1003的FPGA最小系统.docx
《基于EP1K10TC1003的FPGA最小系统.docx》由会员分享,可在线阅读,更多相关《基于EP1K10TC1003的FPGA最小系统.docx(13页珍藏版)》请在冰豆网上搜索。
基于EP1K10TC1003的FPGA最小系统
《电子设计自动化(EDA)技术》课程实训报告
设计题目:
基于EP1K10TC100-3的FPGA最小系统
姓名:
**
院系:
应用技术学院
专业:
08电信(仪器仪表)
学号:
************
指导教师:
徐正坤
完成时间:
2010年7月1日
设计题目:
基于EP1K10TC100-3的FPGA最小系统
设计摘要:
设计题目
基于EP1K10TC100-3的FPGA最小系统
设计要求
1设计芯片
2下载电路
3外部时钟
4复位电路和电源
设计过程
1学习掌握AltiumDesigner系统的基本操作。
2通过AltiumDesigner设计出FPGA最小系统的原理图。
3在通过原理图编辑无误后生成PCB文件。
4在AltiumDesignerPCB板中布线。
5完成设计。
6写出实验报告。
成绩评定
指导教师评语
课程设计等级
EDA课程实训报告主要内容
关键字:
FPGA最小系统设计
目录
1.设计要求…………………………………………………………………………4页
1.1.设计题目…………………………………………………………………………4页
1.2.设计内容…………………………………………………………………………4页
1.3.设计目的…………………………………………………………………………4页
1.4.AltiumDesigner的介绍…………………………………………………………5页
1.5.PCB板设计的工作流程…………………………………………………………5页
2.系统思路…………………………………………………………………………6页
3.系统实现……………………………………………………………………………6页
3.1.系统芯片…………………………………………………………………………6页
3.2.电源电路…………………………………………………………………………7页
3.3.外部时钟电路………………………………………………………………………7页
3.4.复位电路……………………………………………………………………………8页
3.5.下载电路……………………………………………………………………………8页
3.6.二极管电路…………………………………………………………………………8页
3.7.按键电路……………………………………………………………………………9页
3.5.整体系统原理图……………………………………………………………………9页
3.6.PCB图的设计流程…………………………………………………………………9页
4.实验心得……………………………………………………………………………12页
5.参考书目……………………………………………………………………………13页
基于EP1K10TC100-3的FPGA最小系统
周晓
重庆三峡学院应用技术学院电子信息工程(仪器仪表)2008级重庆万州404000
摘要基于VHDL的交通灯控制器设计,芯片采用ALTERA公司的ACEX1K系列的EP1K10TC100-3,、使用VHDL语言编写,采用模块化单元构建系统,本文采用软件altiumdesigner绘制交通灯的最小系统,并对制作的的过程做了详细阐述,附有图片,以便阅读。
关键词:
FPGA交通灯小系统模块化设计
一:
设计要求
1.1设计题目
基于EP1K10TC100-3的FPGA最小系统
1.2设计内容
本设计以EP1K10TC100-3的FPGA为核心,通过AltiumDesigner软件进行模拟仿真,以此来实现交通灯控制系统的模拟功能,模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。
能达到的要求:
(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;
(2)交通灯红变绿是直接进行的,没有间隔时间;
(3)主干道上的绿灯时间为50秒,支干道的绿灯时间为30秒;
(4)在任意时间,显示每个状态到该状态结束所需的时间。
利用FPGA的定时器/计数器定时,令红、绿灯交替点亮和熄灭,并且红灯点亮前黄灯要闪烁,并且在各个灯颜色转换前有规律的时间间隔。
各种颜色交通灯转化的规律为:
1.3设计目的
通过开发软件AltiumDesigner和Quartus
这两个软件,设计一个十字路口的红绿灯控制器最小系统。
在使用中熟悉可编程逻辑器件的使用,电路原理图的画法,PCB板的制作等重点步骤。
增强对AltiumDesigner的了解和软件的基本使用。
制作出一个符合设计要求的十字路口的红绿灯控制器最小系统。
1.4AltiumDesigner的特点
1、通过设计档包的方式,将原理图编辑、电路仿真、PCB设计,FPGA设计及打印这些功能有机地结合在一起,提供了一个集成开发环境。
2、提供了混合电路仿真功能,为设计实验原理图电路中某些功能模块的正确与否提供了方便。
3、提供了丰富的原理图组件库和PCB封装库,并且为设计新的器件提供了封装向导程序,简化了封装设计过程。
4、提供了层次原理图设计方法,支持“自上向下”的设计思想,使大型电路设计的工作组开发方式成为可能。
5、提供了强大的查错功能。
原理图中的ERC(电气法则检查)工具和PCB的DRC(设计规则检查)工具能帮助设计者更快地查出和改正错误。
6、全面兼容Protel系列以前版本的设计文件,并提供了OrCAD格式文件的转换功能。
7、提供了全新的FPGA设计的功能,这好似以前的版本所没有提供的功能。
1.5PCB板设计的工作流程
1、方案分析
决定电路原理图如何设计,同时也影响到PCB板如何规划。
根据设计要求进行方案比较、选择,元器件的选择等,开发项目中最重要的环节。
2、电路仿真
在设计电路原理图之前,有时候会对某一部分电路设计并不十分确定,因此需要通过电路仿真来验证。
还可以用于确定电路中某些重要器件参数。
3、设计原理图组件
AltiumDesigner6.0提供了丰富的原理图组件库,但不可能包括所有组件,必要时需动手设计原理图组件,建立自己的组件库。
4、绘制原理图
找到所有需要的原理组件后,开始原理图绘制。
根据电路复杂程度决定是否需要使用层次原理图。
完成原理图后,用ERC(电气法则检查)工具查错。
找到出错原因并修改原理图电路,重新查错到没有原则性错误为止。
5、设计组件封装
和原理图组件库一样,AltiumDesigner6.0也不可能提供所有组件的封装。
需要时自行设计并建立新的组件封装库。
6、设计PCB板
确认原理图没有错误之后,开始PCB板的绘制。
首先绘出PCB板的轮廓,确定工艺要求(使用几层板等)。
然后将原理图传输到PCB板中来,在网络表(简单介绍来历功能)、设计规则和原理图的引导下布局和布线。
(设计规则检查)工具查错。
电路设计时另一个关键环节,它将决定该产品的实用性能,需要考虑的因素很多,不同的电路有不同要求。
7、文档整理
对原理图、PCB图及器件清单等文件予以保存,以便以后维护、修改。
二:
系统思路
利用FPGA的定时器/计数器定时,令红、绿灯交替点亮和熄灭,并且红灯点亮前黄灯要闪烁,并且在各个灯颜色转换前有规律的时间间隔。
针对以上要求,着重要完成以下几个方面的内容:
对于系统的硬件设计,主要包括:
(1)FPGA基本系统电路设计。
(2)电源电路设计。
(3)时钟电路的设计。
(4)复位电路的设计。
(5)下载配置电路的设计。
(6)二极管电路的设计。
(7)按键电路的设计。
对于系统的软件设计,主要包括:
(1)系统主程序的设计。
(2)AltiumDesigner软件的使用以及PCB图设计流程。
三:
系统的实现
所要设计的交通信号灯控制电路要能够适用于由一条主干道和一条支干道的汇合点形成的十字交叉路口。
能够做到主、支干道的红绿灯闪亮的时间不完全相同,在绿灯跳变红灯的过程中能够用黄灯进行过渡,使得行驶过程中的车辆有足够的时间停下来。
人群有足够的时间过马路。
3.1.系统芯片
在该实验中,我选取的系统芯片是EP1K10TC100-3。
该芯片有100个引脚。
3.2.电源电路:
本设计中,采用上述电路结构,来得到5V的直流稳压电源用于给整个系统芯片供电。
3.3.外部时钟:
上电瞬间,RST端的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。
上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。
复位电路的典型参数为:
C取10uF,R取2k,故时间常数
=RC=10
10
2
10
=20ms
3.4.复位电路:
将RST接到芯片上,按下此键电路开关,状态恢复到初始状态,重新开始计时显示。
3.5.下载电路:
3.6.二极管电路:
接受交通灯控制信号,显示主干道次干道上的红绿灯。
红灯绿灯黄灯各两个。
3.7.按键电路:
紧急信号开关,当开关接通时,主干道支干道同时显示红灯。
3.8.整个原理图:
3.9PCB图的生成的大致流程
(1).在菜单栏中选择文件新建工程PCB工程
(2).原理图的编写和ERC检查
原理图的编写
(3).PCB图中元件的布局和布线
然后选择设计中的ImportChangesFromPCB_Project.PrjPCB
选择执行更改————>使更改生效————>点击右边的确定,
最后PCB图的生成,如下图所示
四:
实验心得
通过此次设计,我对于AltiumDesigner和Quartus
有了更深入地了解,对这两个软件的使用方法有了更深一步掌握。
在编写程序的过程中,遇到了很多问题,经过不断的对程序进行修改,到最终编译成功的过程中,我学到了很多以前在课本上没学到的知识。
通过对最小系统的设计,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。
也在原来所学的理论基础上得到了进一步地应用。
但由于经验上的不足,有些地方还需要做进一步地改善,通过这一次实训,我掌握了以前没有掌握的知识,同时锻炼了自己的能力。
五、参考书目
1、基于AltiumDesigner的原理图与PCB设计[专著]/史久贵编著北京:
机械工业出版社,2010
本书详细介绍基于AltiumDesigner的原理图与PCB设计,内容包括基础知识、项目实践和深入应用三部分共12章,并附有AltiumDesignerWinter09快捷键列表。
2、AltiumDesignerWinter09电路设计入门与提高[专著]/韩国栋,赵月飞,娄建安等编著北京:
化学工业出版社,2010
本书介绍了电路设计的方法和技巧,主要包括AltiumDesignerWinter09概述、原理图设计基础、原理图的绘制、原理图的后续处理、层次结构原理图的设计、创建元件库及元件封装、信号完整性分析、可编程逻辑器件设计等内容。
3、杨恒,卢飞成.FPGA/VHDL快速工程实践入门与提高[M].北京:
北京航空航天大学
出版社,2003
4、杨文利,杨耕,赵明国.一种基于USB接口的移动机器人运动控制系统[J].微计算机
信息,2007,5-2:
223-225
5、杨文利,杨耕,赵明国.一种基于USB接口的移动机器人运动控制系统[J].微计算机
信息,2007,5-2:
223-225
6、基于AltiumDesigner的原理图与PCB设计[专著]/史久贵编著北京:
机械工业出版社,2010
7、《数字电子技术基础》(第四版),阎石主编,高教出版社