E D A 课程设计.docx
- 文档编号:7783778
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:14
- 大小:64.70KB
E D A 课程设计.docx
《E D A 课程设计.docx》由会员分享,可在线阅读,更多相关《E D A 课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
EDA课程设计
EDA课程
设
计
报
告
设计题目:
RS-232/485通信接口设计
学院:
电子与信息工程学院
班级:
电子科学与技术082班
姓名:
刘旭晨
学号:
200810152
指导教师:
吴小所
成绩:
2011年07月14日
目录
0摘要...........................................2
1EDA及VHDL简介.................................4
1.1EDA技术....................................4
1.1.1EDA技术的概念.........................4
1.1.2EDA技术的特点.........................4
1.2硬件描述语言(VHDL)........................5
1.2.1VHDL简介..............................5
1.2.2VHDL语言的特点........................5
2设计目的.......................................7
3RS-232简介.....................................7
3.1RS-232的历史和作用........................7
3.2RS-232接口的电气特征......................7
3.3RS-232接口的物理结构......................8
3.4RS-232传输电缆长度........................8
3.5RS-232C的接口信号.........................8
3.6RS-232端口缺点............................10
4设计原理......................................11
5通信功能实现步骤..............................13
6仿真结果......................................14
7总结..........................................15
8附录(程序)
0摘要
20世纪是IC迅速发展的时代。
计算机等信息产业的飞速发展推动了集成电路(IntegratedCircuit—IC)产业。
大多数超大规模集成电路(VeryLargeScaleIC—VLSI)在日常生活中有着广泛的应用.而越来越多的汽车控制系统也走向了电子化。
为了实现基于VHDL的通信接口电路,采用QuartusII开发平台进行逻辑综合和时序仿真,由时序仿真图可以看出设计的电路获得了预期的结果。
实验结果表明,该系统没有传统设计中的接线问题,硬件功能可以像软件一样通过编程来修改,可靠性高、体积小,极大地提高了电子系统设计的灵活性和通用性。
【关键词】FPGA;VHDL;通信接口;QuartusII
Abstract
The20thcenturyistheeraofrapiddevelopmentoftheIC.thebloomingdevelopmentofComputerSciencehasledtothegrowthofintegratedcircuit(IC)devices.MostoftheVeryLargeScaleIC(VLSI)applicationsareusingeveryday.Moreandmoreauto-controlandanincreasingnumberofvehiclecontrolsystemtotheelectronicfilingsystemtotheelectronic.TheQuartusIIdevelopmentplatformareproposedtorealizetheVHDL-basedcartaillightscontrolcommunicationinterface,afterlogicsynthesisandtimingsimulation,accesstothedesiredresults.Experimentalresultsshowthatcomparedwithtraditionaldesignthesystemhasnowiringproblem,likesoftware,hardwarefunctionscanbeprogrammedtomodifythesame,highreliability,smallsize,greatlyenhancingtheelectronicsystemdesignflexibilityandversatility.
【Keywords】FPGA;VHDL;communicationinterface;QuartusII
1EDA及VHDL简介
1.1EDA技术
1.1.1EDA技术的概念
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
1.1.2EDA技术的特点
典型的EDA设计流程如下:
1、文本/原理图编辑与修改。
首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。
2、编译。
完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、综合。
将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
4、行为仿真和功能仿真。
利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
5、适配。
利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。
适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。
6、功能仿真和时序仿真。
7、下载。
如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。
8、硬件仿真与测试。
1.2硬件描述语言(VHDL)
1.2.1VHDL简介
VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
1.2.2VHDL语言的特点
1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。
3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。
4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。
随着电子技术的发展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子CAD软件,在实验室里就可以设计自己的专用集成电路ASIC器件。
这种可编程ASIC不仅使设计的产品达到小型化、集成化和高可靠性,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,降低了设计风险。
目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述﹑综合﹑优化﹑仿真与验证,直到生成器件,实现电子设计自动化。
其中电子设计自动化(EDA)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。
VHDL是用来描述从抽象到具体级别硬件的工业标准语言,它是由美国国防部在80年代开发的HDL,现在已成为IEEE承认的标准硬件描述语言。
VHDL支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。
利用VHDL这些优点和先进的EDA工具,根据具体的实际要求,我们可以自己来设计通信接口电路。
2设计目的
1掌握QuartusⅡ的基本操作及使用方法
2熟练在QuartusⅡ环境下编写,调试,仿真,下载程序代码
3了解RS-232在通信中的作用
4锻炼理论知识运用于实践的能力
3RS-232简介
3.1RS-232的历史和作用
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。
(“RS-232-C”中的“-C”只不过
表示RS-232的版本,所以与“RS-232”简称是一样的)
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。
而工业控制的RS-232口一般只使用RXD、TXD、GND
三条线。
3.2RS-232接口的电气特征
在RS-232-C中任何一条信号线的电压均为负逻辑关系。
即:
逻辑“1”为-3到-15V;逻辑“0”为+3到+15V。
(RS-232-C最常用的9
条引线的信号内容如下所示)
DB-9123456789;DB-2583220764522
定义DCDRXDTXDDTRGNDDSRRTDCTSRI
3.3RS-232接口的物理结构
RS-232-C接口连接器一般使用型号为DB-9插头座,通常插头在DCE端,插座在DTE端。
PC机的RS-232口为9芯针插座。
一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。
RS-232传输线采用屏蔽双绞线。
3.4RS-232传输电缆长度
由RS-232-C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10%-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定容许畸变为10%而得出下面实验结果。
其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723内有三对双绞线,每对有22#AWG组成,其外覆以屏蔽线。
2号电缆为不带屏蔽的电缆。
型号为DECP.NO.9105856-04
是22#AWG的四芯电缆。
3.5RS-232C的接口信号:
RS-232C的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的
5根线作备用或未定义。
常用的只有10根,它们是:
(1)联络控制信号线:
数据发送准备好(Datasetready-DSR)——有效时(ON)状态,
表明MODEM处于可以使用的状态。
数据终端准备好(Dataterminalready-DTR)——有效时(ON)
状态,表明数据终端可以使用。
这两个信号有时连到电源上,一上电就立即有效。
这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行
通信了,能否开始进行通信要由下面的控制信号决定。
请求发送(Requesttosend-RTS)——用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM
请求发送。
它用来控制MODEM是否要进入发送状态。
允许发送(Cleartosend-CTS)——用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。
当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端
开始沿发送数据线TxD发送数据。
这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。
在全双工系统中,因配置双向通道,
故不需要RTS/CTS联络信号,使其变高。
接收线信号检出(ReceivedLinedetection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。
当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。
此线也叫做数据
载波检出(DataCarrierdectection-DCD)线。
振铃指示(Ringing-RI)——当MODEM收到交换台送来的振呼
叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。
(2)数据发送与接收线:
发送数据(Transmitteddata-TxD)——通过TxD终端将串行据
发送到MODEM,(DTE→DCE)。
接收数据(Receiveddata-RxD)——通过RxD线终端接收MODEM
发来的串行数据,(DCE→DTE)。
(3)地线:
GND、Sig.GND——保护地和信号地,无方向。
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。
例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。
若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。
这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这
时线路才能开始发送。
3.6RS-232端口缺点
1、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
2、传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也
是这个原因。
3、接口使用一根信号线和一根信号返回线而构成共地的传输形
式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
4、传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。
(通过外接RS-232增强器可将传输距离扩大到
1000米左右)
4设计原理
串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线UniversalSerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以
用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,
长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:
(1)地线,
(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:
1)波特率:
这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近
的仪器间的通信,典型的例子就是GPIB设备的通信。
2)数据位:
这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通
信协议的选取,术语“包”指任何通信的情况。
3)停止位:
用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同
时也越慢。
4)奇偶校验位:
在串口通信中一种简单的检错方式。
有四种检错方式:
偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接
收数据是否不同步。
5通信功能实现步骤
单片机实现串口通讯一般使用UART接口或利用GPIO口模仿异步串行通讯数据格式,外加驱动芯片连接RS-232口。
1.打开串口
2.配置串口
配置串口是通过改变设备控制块DCB(DeviceControlBlock)的成员变量值来实现的
3.数据读写
对串口进行读写与对文件进行读写所用的函数相同,具体为可采用查询、同步、异步或事件驱动等方法对串口进行读写。
4.程序的编制
用VHDL进行程序的编制首先要对串口进行初始化,设定端口,通信速率和校验方式,并在使用前打开串口。
6仿真结果
1QuartusII调试
打开QuartusⅡ软件,选择File>>NewProjectWizard(新建工程向导)进入新建工程对话框>>单击Next,设置新建工程的路径、名称、顶层实体指定对话框(选择好保存路径、输入工程名为wd_top),单击Finish完成设置。
建立VHDL程序文件(选择File>>New打开新建文件对话框>>选择VHDLFile即可)。
最后是输入汽车尾灯控制电路程序代码>>保存>>对该工程文件进行全程编译处理。
如果在编译的过程中发现有错误,则找出并更正错误,直至编译成功为止。
2时序仿真与分析
选择File>>NewOtherFiles>>VectorWaveformFile;
选择Edit>>EndTime>>设置仿真时间;
选择View>>UtilityWindows>>NodeFinder(或者使用快捷键Alt+1),将程序涉及到的输入输出端口添加到时序仿真文件中,设置相应的信号并保存时序仿真文件,鼠标单击仿真按钮进行仿真
仿真波形图如下:
7总结
通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。
本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
希望学校以后多安排一些类似的实践环节,让同学们学以致用。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。
在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。
用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
8附录(程序)
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entityuartis
generic(ff:
integer:
=8);
Port(cs:
outstd_logic_vector(1downto0);
--位选数码管和发光二极管
clk:
instd_logic;--系统时钟
reset:
instd_logic;--复位信号
set:
instd_logic;--设置信号
cn:
instd_logic;--数据发送使能
rver:
instd_logic;--RS232的信号接收端
data2:
outstd_logic_vector(7downto0);
--送出的8位数据
txd:
outstd_logic);--RS232的信号发送端
enduart;
architectureBehavioralofuartis
typestate1is(t_indle,t_start,t_wait,t_shift,t_stop);
signalc_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)