EDA技术与应用课程实训.docx

上传人:b****2 文档编号:515742 上传时间:2023-04-29 格式:DOCX 页数:34 大小:438.43KB
下载 相关 举报
EDA技术与应用课程实训.docx_第1页
第1页 / 共34页
EDA技术与应用课程实训.docx_第2页
第2页 / 共34页
EDA技术与应用课程实训.docx_第3页
第3页 / 共34页
EDA技术与应用课程实训.docx_第4页
第4页 / 共34页
EDA技术与应用课程实训.docx_第5页
第5页 / 共34页
EDA技术与应用课程实训.docx_第6页
第6页 / 共34页
EDA技术与应用课程实训.docx_第7页
第7页 / 共34页
EDA技术与应用课程实训.docx_第8页
第8页 / 共34页
EDA技术与应用课程实训.docx_第9页
第9页 / 共34页
EDA技术与应用课程实训.docx_第10页
第10页 / 共34页
EDA技术与应用课程实训.docx_第11页
第11页 / 共34页
EDA技术与应用课程实训.docx_第12页
第12页 / 共34页
EDA技术与应用课程实训.docx_第13页
第13页 / 共34页
EDA技术与应用课程实训.docx_第14页
第14页 / 共34页
EDA技术与应用课程实训.docx_第15页
第15页 / 共34页
EDA技术与应用课程实训.docx_第16页
第16页 / 共34页
EDA技术与应用课程实训.docx_第17页
第17页 / 共34页
EDA技术与应用课程实训.docx_第18页
第18页 / 共34页
EDA技术与应用课程实训.docx_第19页
第19页 / 共34页
EDA技术与应用课程实训.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA技术与应用课程实训.docx

《EDA技术与应用课程实训.docx》由会员分享,可在线阅读,更多相关《EDA技术与应用课程实训.docx(34页珍藏版)》请在冰点文库上搜索。

EDA技术与应用课程实训.docx

EDA技术与应用课程实训

 

苏州市职业大学

实习(实训)报告

课程名称EDA技术与应用课程实训

项目名称 电压监控系统的设计

2013年6月24日至2013年6月28日共1周

学院(部)电子信息工程学院

班级11应用电子2

姓名田闯

学号117303233

 

学院(部)负责人张红兵

系主任陈伟元

指导教师孙加存

 

苏州市职业大学

实习(实训)设计任务书

 

课程名称:

EDA技术与应用课程实训

起讫时间:

2013年6月24日至2013年6月28日

学院(部):

电子信息工程学院

班  级:

11应用电子2班

指导教师:

孙加存

学院(部)负责人:

张红兵

 

目录

目录3

第一章绪论4

1.1EDA技术的概述4

1.1.1EDA技术的发展历程4

1.1.2EDA技术的应用4

1.2EDA技术的设计方法4

1.2.1数字系统设计模型5

1.2.2数字系统设计基本步骤6

第二章电压监测系统介绍7

2.1电压监测系统的应用场合7

2.2电压监测仪的作用7

2.3电压监测系统的结构7

2.4TLC549芯片8

2.4.1引脚图及各引脚功能8

2.4.2TLC549工作原理9

第三章电压监测系统的设计10

3.1设计要求10

3.2设计思路11

3.3设计流程12

3.4设计步骤及程序12

3.5硬件实现及调试步骤12

第四章课程实训总结15

参考文献16

附录17

第一章绪论

1.1EDA技术的概述

1.1.1EDA技术的发展历程

回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段。

七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。

八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。

CAE的主要功能是:

原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。

九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。

在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。

基于以上不足,人们开始追求:

贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。

1.1.2EDA技术的应用

EDA技术在教学、科研、产品设计与制造等方面都发挥着巨大的作用。

在教学方面,几乎所有理工科院校的电子信息类专业都开设了EDA课程,主要目的是让学生了解EDA的基本概念和基本原理,掌握用VHDL语言编写规范的程序,掌握逻辑综合的理论和算法,使用EDA工具进行电子电路课程的实验并进行简单系统的设计,为今后工作打下基础。

在科研方面,主要利用电路仿真工具进行电路设计与仿真,利用虚拟仪器进行产品测试,将CPLD/FPGA期间实际应用到仪器设备中,从事PCB设计和ASIC设计等。

在产品设计与制造方面,EDA技术应用于仿真、生产、测试各个环节,如PCB的制作、电子设备的研制与生产、电路板的焊接、运用FPGA/CPLD进行数字系统的设计与制作、ASIC的流片过程,等等。

EDA技术已经应用于各行各业,在机械、电子通信、航空航天、化工、矿场、生物、医学、军事等各个领域都有EDA技术的应用。

另外,EDA软件的功能也日益强大。

1.2EDA技术的设计方法

EDA中数字系统的设计方法可以采用不同的方法,概括起来只有两种设计:

一种为由底向上的设计方法,也成为传统的设计方法;另外一种为自顶向下的设计方法,也成为现代的设计方法。

自顶向下的设计方法使系统被分解为各个模块的集合之后,可以对设计的每个独立模块指派不同的工作小组,这些小组可以工作在不同的地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。

由底向上的硬件设计方法有如下几个特征:

(1)设计的方法是自底至上,先设计最小的单元电路。

(2)采用通电逻辑元器件,通常采用74系列或CMOS4000系列的产品进行设计。

(3)在系统硬件设计的后期进行调试和仿真。

(4)设计结果是多张电路图。

EDA设计流程为:

设计输入、时序与功能仿真、综合、适配与下载。

下图图1是运用EDA技术进行数字系统设计的流程图。

 

图1EDA技术数字系统设计的流程图

采用先自顶向下技术进行设计可分为三个主要阶段:

系统设计、系统的综合优化和系统实现,各个系统之间没有明显的界限。

1.2.1数字系统设计模型

数字系统分为受控器与控制器两大部分,方框图如图2所示

数据子系统主要完成数据的采集、存储、运算处理和传输任务,主要由存储器、运算器,数据选择器等组成,与外界进行数字交换,他所有的存取、运算等操作都是在控制子系统发出的控制信号的作用下进行的。

控制子系统是执行算法的核心,它具备记忆能力,图2数字系统方框

是一个时序系统,由组合逻辑电路和触发器等组成。

1.2.2数字系统设计基本步骤

数字系统设计的基本步骤有:

系统任务分析,确定逻辑算法,系统划分,系统逻辑描述,逻辑电路设计,仿真、验证,物理实现。

(1)系统任务分析:

数字系统设计中的第一步是明确系统的任务。

设计任务书可用各种方式提出对整个数字系统的逻辑要求,常用的方式有自然语言、逻辑语言描述、逻辑流程图、时序图等。

(2)确定逻辑算法:

实现系统逻辑运算的方法称为逻辑算法,简称算法。

一个数字系统的逻辑运算往往有多种算法,设计者的任务要比较各种算法的优劣,取长补短,从中确定最合理的一种。

数字系统的算法是逻辑设计的基础,算法不同,则系统的结构也不同,算法的合理与否直接影响系统结构的合理性。

(3)系统划分:

当算法明确后,应根据算法构造系统的硬件框架(也称为系统框图),将系统划分为若干个部分,各部分分别承担算法中不同的逻辑操作功能。

(4)系统逻辑描述:

当系统中各个子系统和模块的逻辑功能和结构确定后,则需采用比较规范的形式来描述系统的逻辑功能。

对系统的逻辑描述可先采用较粗略的逻辑流程图,再将逻辑流程图逐步细化为详细逻辑流程图,最后将详细逻辑流程图表示成与硬件有对应关系的形式,为下一步的电路级设计提供依据。

(5)逻辑电路设计:

电路级设计是指选择合理的器件及连接关系以实现系统逻辑要求。

电路级设计的结果通常采用两种方式来表达:

电路图方式和硬件描述语言方式。

EDA软件支持这两种方式的输入。

(6)仿真、验证:

当电路设计完成后必须验证设计是否正确。

在早期,只能通过搭试硬件电路才能得到设计的结果。

目前,数字电路设计的EDA软件都有具有验证(也称为仿真、电路模拟)的功能,先通过电路验证(仿真),当验证结果正确后再进行实际电路的测试。

由于EDA软件的验证结果十分接近实际结果,因此,可极大地提高电路设计的效率。

(7)物理实现:

最终用实际的器件实现数字系统的设计,用仪表测量设计的电路是否符合设计要求。

现在的数字系统往往采用大规模和超大规模集成电路,由于器件集成度高、导线密集,故一般在电路设计完成后即设计印刷电路板,在印刷电路板上组装电路进行测试。

需要注意的是、印刷电路板本身的物理特性也会影响电路的逻辑关系。

 

第二章电压监测系统介绍

2.1电压监测系统的应用场合

电压监测仪是对电力系统正常运行状态缓慢变化所引起的电压偏差进行连续的监测和统计的统计型电压监测仪。

具备监测、分析、记忆、查询、参数设置等功能,支持GSM短信、GPRS网络、无线电台、RS485组网方案。

2.2电压监测仪的作用

1、实时电压显示状态:

显示各路电压瞬时值及状态;

2、菜单状态:

查询电压统计,包括:

电压实际值,上限值,下限值,当超过上限值时,红灯报警,低于下限值时,黄灯提示,处于正常范畴,绿灯亮。

2.3电压监测系统的结构

基于EDA技术设计完成的数字电压测量系统,采用了VHDL语言进行硬件描述,以超大规模芯片如CPLD/FPGA为设计载体,进行适配编译、逻辑映射、编程下载。

本系统要求具有电压测量、显示、报警、调压四部分功能.测量范围0-2V,最小测量电压不大于0.05V,能够显示3位电压值,A/D转换器:

将测到的模拟信号转换为数字信号.CPLD/FPGA:

负责激活A/D转换器,接收A/D转换器传递过来的数字转换值,并将转换值调整为相对应的数字信号和显示代码.显示电路:

以十进制显示所测电压值.CPLD/FPGA功能模块的划分对A/D转换来的数据的高低位给出算法,将结果以便于显示的BCD码形式表示BCD码结果转化成数码管显示代码。

电压监测模块图见下图图3:

2.4TLC549芯片

TLC549是TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,其转换速度小于17us,最大转换速率为40000HZ,4MHZ典型内部系统时钟,电源为3V至6V。

它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。

2.4.1引脚图及各引脚功能

REF+:

正基准电压输入2.5V≤REF+≤Vcc+0.1。

REF-:

负基准电压输入端,-0.1V≤REF-≤2.5V。

且要求:

(REF+)-(REF-)≥1V。

VCC:

系统电源3V≤Vcc≤6V。

图4TLC549引脚图

GND:

接地端。

/CS:

芯片选择输入端,要求输入高电平VIN≥2V,输入低电平VIN≤0.8V。

DATAOUT:

转换结果数据串行输出端,与TTL电平兼容,输出时高位在前,低位在后。

ANALOGIN:

模拟信号输入端,0≤ANALOGIN≤Vcc,当ANALOGIN≥REF+电压时,转换结果为全“1”(0FFH),ANALOGIN≤REF-电压时,转换结果为全“0”(00H)。

I/OCLOCK:

外接输入/输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步。

2.4.2TLC549工作原理

图5工作时序图

当/CS变为低电平后,TLC549芯片被选中,同时前次转换结果的最高有效位MSB(A7)自DATAOUT端输出,接着要求自I/OCLOCK端输入8个外部时钟信号,前7个I/OCLOCK信号的作用,是配合TLC549输出前次转换结果的A6-A0位,并为本次转换做准备:

在第4个I/OCLOCK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个I/OCLOCK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。

转换时间为36个系统时钟周期,最大为17us。

直到A/D转换完成前的这段时间内,TLC549的控制逻辑要求:

或者/CS保持高电平,或者I/OCLOCK时钟端保持36个系统时钟周期的低电平。

由此可见,在自TLC549的I/OCLOCK端输入8个外部时钟信号期间需要完成以下工作:

读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换开始。

 

第三章电压监测系统的设计

3.1设计要求

6个按键,一片TLC549,要求可以设置电压的上限值与电压的下限值,并用AD转换检测分位器上的电压值,该电压值对于电压的上压值进行比较,当超过上限值时,红灯亮,低于下限值时黄灯亮,在范围之内绿灯亮。

运用数码管进行显示。

(开发板子上的参考电压是2.5伏的,请注意,也即显示的最大电压值最大只能2.5V)。

红绿灯显示:

红灯:

实测电压值超过上限值

黄灯:

实测电压值低于下限值

绿灯:

实测电压值在范围之内

数码管显示:

显示:

E显示上限电压值2.0V,E20

F显示下限电压值1.2V,F12

确认,取消,复位,“00”:

显示AD转换出来的电压值1.38,显示为138

按键功能:

1:

K1,设计上下限电压转换

2:

K2电压加1

3:

K3电压减1

4:

K4确认

5:

K5取消

6:

K6复位

5:

K5复位

 

3.2设计思路

采用由底向上的设计方法,根据系统对硬件的要求详细编制技术规格书,画出系统控制流程图,仔细分析系统要求达到的各个功能,将系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;进行各功能模块的设计,运用VHDL语言设计出各个功能模块;在软件环境下导出各个功能框图,在将各个模块按系统要求达到的功能连接起来,做出系统的原理图;编译、调试完成后,在下载到硬件结构中,进行硬件调试。

1、设计准备在系统设计之前,首先要进行方案论证、系统设计和器件选择等准备工作。

一般采用自上而下的设计方法,也可采用传统的自下而上的设计方法。

2、设计输入:

设计输入将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程称为设计输入。

设计输入通常有以下集中形式:

1)原理图输入方式

2)硬件描述语言输入方式

3)波形输入方式

3、功能仿真:

功能仿真也叫做前仿真。

用户所设计的电路必须在编译之前进行逻辑功能验证,此时的仿真没有延时信息,对于初步的功能检测非常方便。

仿真中如发现错误,则返回设计输入中修改逻辑设计。

4、设计处理设计处理是器件设计中的核心环节。

在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。

主要有:

1)语法检查和设计规则检查

2)逻辑优化和综合

3)适配和分割

4)布局和布线

5、时序仿真:

时序仿真又称后仿真或延时仿真。

由于不同器件的内部延时不一样,不同的布局布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除竟争冒险等是非常有必要的。

6、器件编程测试时序仿真完成后,软件就可产生供器件编程使用的数据文件。

3.3设计流程

1、系统任务分析:

数字系统设计中的第一步是明确系统的任务。

2、确定逻辑算法:

实现系统逻辑运算的方法称为逻辑算法,简称算法。

数字系统的算法是逻辑设计的基础,算法不同,则系统的结构也不同,算法的合理与否直接影响系统结构的合理性。

3、系统划分:

当算法明确后,应根据算法构造系统的硬件框架(也称为系统框图),将系统划分为若干个部分,各部分分别承担算法中不同的逻辑操作功能。

4、系统逻辑描述:

对系统的逻辑描述可先采用较粗略的逻辑流程图,再将逻辑流程图逐步细化为详细逻辑流程图,最后将详细逻辑流程图表示成与硬件有对应关系的形式,为下一步的电路级设计提供依据。

图4设计流程图

5、逻辑电路设计:

电路级设计是指选择合理的器件及连接关系以实现系统逻辑要求。

电路级设计的结果通常采用两种方式来表达:

电路图方式和硬件描述语言方式。

EDA软件支持这两种方式的输入。

6、仿真、验证:

当电路设计完成后必须验证设计是否正确。

目前,数字电路设计的EDA软件都有具有验证(也称为仿真、电路模拟)的功能,先通过电路验证(仿真),当验证结果正确后再进行实际电路的测试。

3.4设计步骤及程序

见附录

3.5硬件实现及调试步骤

下载编译成功后,定义芯片管脚,再编译之后,把程序烧录到硬件中,记录数据。

图6上限电压值图7下限电压值

 

图8

在上下值之间绿灯亮

大于上限值红灯亮

 

表3-1

图10

测试数据5.小于下限值黄灯亮

数码管显示数据

0.95

1.19

1.50

1.78

2.33

电压表测量值

0.94

1.14

1.49

1.78

2.37

第四章课程实训总结

这次实训速度真快,也许因为这学期快结束了吧,加上马上快考试了,感觉自己有点匆忙。

总体上来讲,通过这次比较完整的数字电压表设计,我摆脱了单纯的理论知识学习状态,完全将理论和实际设计相结合,锻炼了我将所学的专业基础知识进行综合运用的能力。

在刚开始的时候,也遇到了不少困难,比如源程序错误问题等,这些都需要耐心细心地的一步一步的检查并一步步的最终完成。

经过了前面的工作铺垫,后面的进行的顺利多了,这些步骤熟练的掌握以后,很快就完成了程序编译、仿真、下载到最后的调试可谓是一气呵成的快啊。

通过这次实训,我不仅在知识上有了进一步的巩固和提高,在求学和研究的心态上

也有不小的进步。

我想无论是在学习还是在生活上只有自己有心去学习和参与才可能有

收获,同时我也深深感受到理论与实践相结合的重要性。

以前一直觉得理论知识离我们

很远,经过实训,才发现理论知识与生活的联系。

这大大激发我学习书本的兴趣。

再者我们学习的是工科,不单纯只是理论方面的工作,还应该考虑到实际情况。

理论计算的的结果可能与实际稍有差别,要以实际情况为准。

经过努力,终于圆满的完成了本次实训。

通过亲身体验实训的目的,在于通过理论与实际的结合,进一步提高我们观察、分析和解决问题的实际工作能力。

大二下半学期了,马上就要进入社会开始工作,理论的学习我们或许已经掌握的很好,但实际的工作能力就是有待提高的了,通过本次实训以便积累一些经验对我们来说肯定是很有利的。

通过这次实训我不仅学到了以前从未接触过的新知识,而且学会了独立的去发现,面对,分析,解决新问题的能力,不仅学到了知识,又锻炼了自己的能力,使我受益匪浅。

 

参考文献

[1]焦素敏EDA应用技术北京:

清华大学出版社,2005

[2]孙加存电子设计自动化西安:

西安电子科技大学出版社2008

[3]林明权,等VHDL数字控制系统设计范例北京:

电子工业出版社,2005

[4]江国强EDA技术与应用北京:

电子工业出版社,2005

 

附录

FP2源程序:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityFP2is

port(clk20M:

instd_logic;--2.5kHz

CLK10M:

bufferstd_logic;

clk100hz:

bufferstd_logic;

clk200hz:

bufferstd_logic);

endfp2;

architecturebehavoffp2is

signaltemp:

integerrange0to8000;

signaltemp1:

integerrange0to500;

begin

process(clk20m)

begin

ifclk20m'eventandclk20m='1'then

clk10m<=notclk10m;

endif;

endprocess;

process(clk20m)

begin

ifclk20m'eventandclk20m='1'then

iftemp<7999then

temp<=temp+1;

else

temp<=0;

clk200hz<=notclk200hz;

endif;endif;

endprocess;

process(clk200hz)

begin

ifclk200hz'eventandclk200hz='1'then

iftemp1<50then

temp1<=temp1+1;

else

temp1<=0;

clk100hz<=notclk100hz;

endif;

endif;

endprocess;

endbehav;

时序图:

CPU源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcpuIS

port(mode:

instd_logic_vector(1downto0);

data0,data1,data2:

instd_logic_vector(3downto0);

data:

instd_logic_vector(7downto0);

datao,datal:

instd_logic_vector(7downto0);

dout0,dout1,dout2:

outstd_logic_vector(3downto0);

red,yellow,green:

outstd_logic);

endcpu;

architecturebehofcpuis

signaltemp0,temph,templ:

std_logic_vector(7downto0);

signalt0,t1,t2:

std_logic_vector(3downto0);

begin

temp0<=data2&data1;

process(datao,temp0,datal)

begin

iftemp0>dataothen

red<='1';yellow<='0';green<='0';

elsiftemp0

red<='0';yellow<='1';green<='0';

else

red<='0';yellow<='0';green<='1';

endif;

endprocess;

process(mode)

begin

casemodeis

when"00"=>t0<=data0;t1<=data1;t2<=data2;

when"01"=>t0<=data(3downto0);t1<=data(7downto4);t2<="1110";

when"10"=>t0<=data(3downto0);t1<=data(7downto4);t2<="1111";

WHENothers=>null;

endcase;

endprocess;

dout0<=t0;dout1<=t1;dout2<=t2;

endbeh;

时序图:

Addsub源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYaddsubIS

port(add:

instd_logic;

addsub:

bufferstd_logic);

endaddsub;

architecturebehofaddsubis

begin

process(add)

begin

ifrising_edge(add)then

addsub<=notaddsub;

endif;

endprocess;

endbeh;

时序图:

Debouncing源程序:

--DCFQ.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDCFQIS

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2