基于FPGA的RS-232串口通信控制器设计汇总_第1页
基于FPGA的RS-232串口通信控制器设计汇总_第2页
免费预览已结束,剩余50页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 FPGA 的 RS-232 串口通信控制器设计摘要串口是可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议也可以用于获取远程采集设备的数据。通过RS-232以实现计算机之间、计算机与设备之间相互通信,目前仍是通讯领域广泛使用 的方法之一。几乎每台计算机都有一两个串行接口,用来与调制解调器、实验室设备、工控设备、POS终端等进行数据传输。RS-232以其方便、 经济的实II现特点,一直深受工程界的青睐。不论是在电力、工控还是电 信、金融交通等诸多行业都有广泛的应用。系统主芯片采用RS-232串口通信控制器,由基本时钟发生电路模 块,复位电路模块,波特率选择模块,数据帧格式选择模

2、块,串并转换 模块组成。经编译和仿真所设计的程序, 在可编程逻辑器件上下载验证, 结合FPGA技术高度灵活性与模块化的特点,实现基本RS-232总线通信的功能,以实现串口数据帧结构选择,串并转换,波特率选择等功能。通过软件仿真,得到功能的验证,并进行功能逻辑模块的整合,从而验 证设计的可行性与可靠性。关键词:RS-232串口通信控制器;硬件描述语言;FPGAIIIAbstractcom muni cati ons betwee n equipme nt, is still widely used method of communi catio n field. Almost every com

3、puter has a serial in terface, used andmodems, laboratory equipme nt, in dustrial equipme nt, POS term in als, etc fordata transmission. With its rs-five 232 convenient, economical realizati on ofengin eeri ng characteristics, has bee n deeply favored. Whether in electricpower, telecom muni cati ons

4、, finan cial traffic con trol or many in dustries havewidely applicati on.The master chip adopt rs-five 232 serial com muni cati on con troller, thebasic clock circuit module, reset circuit happened module, baud rate, data frameformat selection module choice module, and conversion module composition

5、string. The compiler and simulation design program, in programmable logicdevices on FPGA tech no logy, comb ining dow nl oad highly flexible andmodular characteristics, basic RS - 232 fieldbus com muni catio n fun cti on, inorder to realize the serial data frame structure, and the conversion of choi

6、ce,baud rate etc. Function. Through the simulation test, the function and theintegration of the logical module function, which verified the feasibility andreliability of the design.Keywords: RS - 232 serial com muni cati on con troller, Hardware description Ian guage, The FPGA1目录1绪论.11.1选题背景.11.1.1课

7、题相关技术的发展 .11.1.2课题研究的必要性 .21.2课题研究的内容.32 FPGA及RS-232简介.42.1FPGA概述.42.1.2FPGA基本结构.62.1.3FPGA系统设计流程.82.1.4FPGA开发编程原理 .112.2 RS-232概述.121RS-232电气特性.132RS-232连接器的机械特性 .133RS-232的接口信号 .143 RS-232串口通信控制器硬件设计方案 .183.1锁相环设计.183.2模式选择模块设计 .193.3接收模块设计.193.4发送模块设计.214 RS-232控制器软件设计 .234.1模式选择模块软件设计 .234.2接收模块

8、软件设计 .244.3发送模块软件设计 .265研究展望.28实验结论.29致谢.30参考文献.312附录.321.绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品 高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发 技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计 自动化(electronic designautomatic,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描 述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的 设计;支持结构、数据流、行为三

9、种描述形式的混合描述、覆盖面广、 抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比, 它具有设计开发周期短、 设计制造成本低、 开 发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或 数字键按下的时候,系统应该完成该键所设置的功能。因此,键信息输 入是与软件结构密切相关的过程。根据键盘的结构不同,采用不同的编 码方法。但无论有无编码以及采用什么样的编码,最后都要转换成为相 应的键值,以实现按键功能程序的转移。1.1

10、 选题背景本节将从FPGA嵌入式应用开发技术与数字钟技术发展的客观实际 出发,通过对该技术发展状况的了解,以及课题本身的需要,指出研究 基于FPGA的芯片系统与设计一一数字钟的设计与实现的必要性。1.1.11.1.1 课题相关技术的发展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别师大量使用大规模可编程 逻辑器件,使产品的性能提高,体积缩小,功耗降低同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采

11、用全新的结构和先进的技 术,加上Maxplusll(或最新的QUARTUS)开发环境,更具有高性能,开 发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术,技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件 的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完 成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻 辑分割,逻辑映射,编程下载等工作。最终形成集成电子系统或专用集 成芯片的一门新技术。本设计利用VHDL硬件描述语言结合可编程逻辑器件进行的, 并通 过数码管动态显示计时结果。数字钟可以由各种技术

12、实现,如单片机等.利用可编程逻辑器件具有其他方式没有的特点,它具有易学,方便,新 颖,有趣,直观,设计与实验项目成功率高,理论与实践结合紧密,体 积小,容量大,I/O口丰富,易编程和加密等特点,并且它还具有开放 的界面,丰富的设计库,模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。1.1.21.1.2 课题研究的必要性现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技 术的发展更是日新月异。 可以毫不夸张的说,电子技术的应用无处不在, 电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发 展的年代,速度,精准对人们来说是越来越宝贵,在快

13、节奏的生活时,RS-232串口通信控制器给人们带来了极大的方便。近些年,随着科技的 发展和社会的进步,人们对科技的要求也越来越高,传统的东西已不能 满足人们的需求。1 2 课题研究的内容本设计主要研究基于FPGA的RS-232串口控制器,针对具体设计 要求进行原理设计(可在一般电子线路CAD软件,如protel99se上完成), 提供电子版电路原理图用QuartusU软件进行时序仿真,验证设计性能的可行性与可靠性,并提供相应的仿真效果图采用VHDL语言设计相关的功能化模块,实现串口数据帧结构选择,串并转换,波特率选择等功 能。通过具体操作,验证设计的稳定性与操作的灵活性。2.FPGA 及 RS

14、-232 简介2.1 FPGA 概述FPGA(FieldProgrammable Gate Array),即现场可编程门阵列, 是目前应用最广泛的现场可编程逻辑器件(FPLD)之一。FPGA是一类高集成度的可编程逻辑器件,起源于美国的Xillnx公司,该公司于1985年推出了世界上第一块FPGA芯片。在这二十年的发展过程中,FPGA的硬件体系结构和软件开发工具都在不断的完善,日趋成熟。从最初的1200个可用门,90年代时几十万个可用门,发展到目前数百万门至上 千万门的单片FPGA芯片,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。FPGA结合了微电子技术

15、、电路技术、EDA技术,使设计者可以集中精力进行所需逻辑功能的设计,缩短 设计周期,提高设计质量。FPGA的应用领域最初为通信领域,但目前,随着信息产业和微电 子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热 门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随 着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越 多的设计也开始以ASIC转向FPGA,FPGA正以各种电子产品的形式 进入了我们日常生活的各个角落。目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可 以经过简单的综合

16、与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。 这些可编辑元件可以被用来实现一些基本的 逻辑门电路 (比如AND、OR、XOR、NOT)或者更复杂一些的组合功 能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。2.1.12.1.1 FPGAFPGA 的发展历史早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。 由于结构的限制,它们只能完成简单的数字逻辑功能。其后出现了一类结构上稍复杂的可编程芯片,即可编

17、程逻辑器件(PLD) , 它能够完成各种数字逻辑功能。 典型的PLD由一个“与”门 和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表 达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列 逻辑)。PAL由一个可编程的“与”平面和一个固定的“或”平面构成, 或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系

18、是 可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上又发展了一种通用阵列逻辑(GAL,Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了EzPROM工艺,实现了电可擦除、 电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强 的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。为了弥补这一缺陷,20世纪80年代中期,Altera和Xilinx分别推 出了类似于PAL结构的扩展型CPLD(Complex Programmable L

19、ogic Dvice)和与标准门阵列类似的FPGA(FieldProgrammable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特 点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其他ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品不需测试、质量稳定以及可实时在线检验等优点,因此被广泛 应用于产品的原型设计和产品生产(一般在10 000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPL

20、D器件。FPGA和CPLD的内部结构稍有不同。通常,FPGA中的寄存器资源比较丰富,适合同步时序电路较多的数字系统;CPLD中组合逻辑资源比较丰富,适合组合电路较多的控制应用。在这两类可编程逻辑器件 中,CPLD提供的逻辑资源较少,而FPGA提供了最高的逻辑密度、最丰富的特性和极高的性能,已经在通信、消费电子、医疗、工业和军事 等各应用领域当中占据重要地位。因此,本文主要针对FPGA进行阐述。2.1.2 FPGA 基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵 列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的

21、静态存储 器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-COnfigurable Logic Block)、输入/输 出模块(I0B-I/0 Block)和互 连资源 (IRInterconnect Resource)。可编程逻辑模块CLB是实现逻辑功能的 基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程 输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它 通常排列在芯片的四周; 可编程互连资源包括各种长度的连接线段和一些可编程连接开关, 它们将各个CLB之间或CLB、IOB之间以及IOB之间 连接起来,构成特定功能的电路。1.CLB是FPGA的主要

22、组成部分。图2-1是CLB基本结构框图,它主 要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G、F和H。G有4个输 入变量G1、G2、G3和G4;F也有4个输入变量F1、F2、F3和F4。这两个 函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。 逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合起来,可实现多达9变量的逻辑函数。CLB中有许多不同规格的数据选择器(四选一、二选一等),通过 对CL

23、B内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或丫,并用来选择触发器的激励输入信号、时钟有效 边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均 由编程信息提供,从而实现所需的电路结构。CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可 以得到相应的组合逻辑函数输出。另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用, 它由信号变换电路控 制。2输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的 连接。它主要由输入触发器、输入缓冲器

24、和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。 当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入 缓冲器。缓冲器的输出分成两路:一路可以直接送到MUX,另一路经延时几纳秒(或者不延时)送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可 以有两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存 入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们

25、的栅极均可编程,使MOS管导通 或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波 形和负载能力。 图 2-1 CLB 基本结构3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动 布线实现各种电路的连接。2.1.3 FPGA 系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法: 分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再 细分去具体实现,这就是TOP DOWN(自顶向下)的设计方法。目前这 种

26、高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综 合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转 化变得轻而易举。CPLD/FPGA系统设计的工作流程如图2-2所示可编程开关矩输入输出模块互连资源CCCC图 2-2 CPLD/FPGA 系统设计流程流程说明:1工程师按照“自顶向下”的设计方法进行系统划分。2输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可 以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容 易理解的优点。3.将以上的设计输入编译成标准的VHDL文件。4进行代码级的功能

27、仿真,主要是检验系统功能设计的正确性。这 一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿 真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。在Quartus II用VHDL实现新建如图2-3 所示图 2-3 新建 vhdl5利用综合器对VHDL源代码进行综合优化处理, 生成门级描述的 网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化 是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及 具体器件的硬件特性, 是较为粗略的。一般的设计,也可略

28、去这一步骤。7利用适配器将综合后的网络表文件针对某一具体的目标器件进行 逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时 序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真 结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计 要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设 计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FP

29、GA中。2.1.4 FPGA 开发编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最 佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。CPLD/FPGA软件设计可分为两大块:编程语言和编程工具。编程语 言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如MAX+plusll、Quartusll、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)o具体的设计输入方式有以下几种:1.HDL语言方式。HDL既可以描述底层设计,也可

30、以描述顶层的设 计,但它不容易做到较高的工作速度和芯片利用率。用这种方式描述的 项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大 的关系。2图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。有的软件3种输入方法都支持,如Active-HDL。MAX+plusII图 形输入方式只支持电路原理图描述和波形描述两种。电路原理图方式描 述比较直观和高效,对综合软件的要求不高。一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件 的内部去,所以硬件工作速度和芯片利用率很高, 但是但项目很大的时 候, 该方法就显得有些繁琐;状态机描述主要用来设

31、计基于状态机思想 的时序电路。在图形的方式下定义好各个工作状态,然后在各个状态上 输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利 用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。这种输入方式最后所能达到的 工作速度和芯片利用率也是主要取决于综合软件。2.2 RS-232 概述EIA RS-232C是由美国 电子工业协会EIA(Electro nic In dust ryAssociation)在1969

32、年颁布的一种串行物理接口标准。RS(Recommended Standard)是英文 推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及 一条地线。RS-232C标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232C标准规定, 驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例 如,米用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容

33、量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题, 因此一般用于20m以内的通信。串行通信接口标准经过使用和发 展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-232C标准是美国EIA (电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通信。这个标准对串行 通信接口的有关问题,如信号线功能、电器特性都作了 明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在

34、微机通信接口中广泛采用。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA (ElectronicIndustry Association)代表美国 电子工业 协会,RS(recommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。例如,目前在IBM PC机上的C0M1、COM2接口,就是RS-232C接口。2.2.12.2.1 RS-232RS-232 电气特性EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了

35、规定。在TxD和RxD上:逻辑1(MARK)=-3V-15V逻辑0(SPACE)=+3+15V在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V+15V信号无效(断开,OFF状态,负 电压)=-3V-15V以上规定说明了RS-232C标准对逻辑电平的定义。对于数据(信息码):逻辑1”传号)的电平低于-3V,逻辑0”空号)的电平高 于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开 状态(OFF)即信号 无效的电平低于-3V,也就 是当传输电平 的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15

36、V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在315)V之间。EIA RS-232C与TTL转换:EIA RS-232C是用正负电压来表 示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此, 为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C与TTL电路之间进行电平和逻辑关系的变换。 实现这种变换的 方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集 成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平 的转换。MAX232芯片可完成TT一EIA

37、双向电平转换。2.2.22.2.2RS-232RS-232 连接器的机械特性连接器:由于RS-232C并未定义连接器的物理特性,因此,出 现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也 各不相同。下面分别介绍两种连接器。(1)DB-25DB-25 :PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线,分为4组:1异步通信的9个电压信号(含信号地SG)2,3,4,5,6,7,8,20,22220mA电流环信号9个(12,13,14,15,16,17,19,23,24)3空6个(9,10,11,18,21,25)4保护地(PE)1个,作为设备接地端(1脚)

38、注意,20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。(2)DB-9DB-9 :在AT机及以后,不支持20mA电流环接口,使用DB-9连接器, 作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。电缆长度:在通信速率低于20kb/s时,RS-232C所直接连接的最大物理距离为15m(50英尺)。最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情

39、况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给 出的。为了保证码元 畸变小 于4%的要求,接口标准在电气 特性中规定,驱动器的负载电容应小于2500pF。2.2.32.2.3RS-232RS-232 的接口信号RS-232的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。常用的只有10根,它们是:16联络控制 信号线:数据发送准备好(Data set ready-DSR)-有效时(ON)状态,表明MODEM处于可以使用的状态。数据终端准备好(Data

40、terminal ready-DTR)-有效时(ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备 状态信号有效,只表示设备本身可用,并不说明通信链路可以开始 进行通信了,能否开始进行通 信要由下面的控制信号决定。请求发送(Request to send-RTS)用来表示DTE请求DCE发 送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。允许发送(Clear to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传

41、来的数据,并向前发送时,使该信号有效,通 知终端开始沿发送数据线TxD发送数据。这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向 通道,故不需要RTS/CTS联络信号,使其变高。接收线信号检出(Received Line detection-RLSD)-用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(

42、Data Carrier dectectio n-DCD)线。振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃 呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。17数据发送与接收线:发送数据(Transmitted data-TxD)-通过TxD终端将串行数据发送至U MODEM,(DTEDCE )接收数据(Received data-RxD)-通过RxD线终端接收从MODEM发来的串行数据,(DCEDTE )。18地线:GND、Siq.GND保护地和信号地,无方向。上述控制信号线何时有效,何时无效的顺序表示了接口信号的 传送过程。例如,只有当DSR和DTR都处于有效

43、(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的 回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工 的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。2个数据信号:发送TXD;接收RXD。1个信号地线:SG。6个控制信号:DSR数传发送准备好,Data Set Ready。DTR数据终端准备好,Data Terminal Ready。RTS DTE请求DCE发送(Request To Send)。CTS DCE允许DTE发送(Clear

44、To Send),该信号是对RTS信 号的回答。DCD数据载波检测(Data Carrier Detection),当本地DCE设 备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。RI振铃信号(Ringing),当DCE收到对方的DCE设备送来的 振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。由于RS232接口标准出现较早,难免有不足之处,主要有以下 四点:(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。传输速率较低

45、,在异步传输时,波特率20Kbps。接口使用一根信号线和一根信号返回线而构成共地的传输 形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。传输距离有限, 最大传输距离标准值为50英尺(实际3ud_rme15一一checkJbit(L J)电ndbitin就2图 3-3 接收模块设计3.4 发送模块设计串口发送模块针对于接收并行数据进行协议的组包设计,实现并行数据输入,串行数据输出的功能,从发送的角度,实现了对于串口协议 的组合功能。发送模块设计与接收模块类似,依然针对波特率,数据位, 校验位,停止位进行控制,实现全双向的串口通信控制功能。sendjudge-一1clrelk iudge_

46、nable datanps7 0 baud_rate15TdKjbitp check_brtl. 0) end bitinst4图 3-4 发送设计流程串口发送模块,输入控制信号分为:.16位波特率分频系数输入端:其值表示对于系统50Mhz时钟分频的结果,实现对于不同波特率产生的分频输入,可以 方便调节不同模式下的波特率,实现参数化设计。.2位数据位输入控制位:当前输入表示串口控制协议中,数据位的宽度,其中“01”表示数据位为7位,“10”表示数 据位为8位,“11”表示数据位为9位,“00”表示当前设置 无效。2位校验位输入控制位:当前输入表示串口控制协议中,校验模式的选择,其中 “01”表

47、示奇数校验,“10”表示偶 数校验,“11”表示无校验,“00”表示当前设置无效。1位停止位输入控制:当前输入表示串口控制协议中,停止位的模式选择,其中“0”表示1位停止位,“1”表示2位 停止位。串口发送模块,输出控制信号分为:1数据输出有效指示信号:0表示数据无效,1表示数据有效2.串行输出数据:表示对于控制协议解析后,对于原配置并行数据的串并转换后的协议输出。datajoutput4.RS-232 控制器软件设计本设计基于VHDL语言设计,实现了基于FPGA的硬件逻辑设计, 从设计方式上,具有高度的灵活性,与可移植性,便于系统二次开发与 项目集成整合,符合未来发展趋势。其中,软件设计内容

48、,主要针对于 不同模块进行说明,对于RS-232工作过程,进行匹配解析。4.1 模式选择模块软件设计模式选择模块整体工作流程如图4-1所示:图 4-1 模式判断模块工作流程模式判断模块的软件程序,主要包括以下实体部分:en tity mode_sel isport(4.2 接收模块软件设计当模式判断为接收模块,就先要对接收来的数据进行判断。具体过程:第一步输入数据产生波特率(表示对于时钟的分频),产生波特率 时钟然后进入数据指示,0表示数据无效,1表示数据有效;如果 有效就进入指示模块工作启示。第二步在一起正常的时候就进行起始位寄存器,先判断起始位,判 断起始位几个周期,一般只有1到2位起始位

49、;然后进入数据寄存器,判断有几位数据(一般是8-10个),01表示7位,10表示8位, 11表示9位,00表示无效,然后输出数据,7至9位并行数据输出;再进入校验寄存器,如果是01表示奇数校验,10表示偶数校验,11表示无校验,00表示无效;最后到停止位寄存器,判断 停止位有多clr:elk:mode sel:receive enable :send enable :in std_logic;in std_logic;in stdogic_vector(1 downto 0);out std_logic;out std_logic4-2所示:图 4-2 模式判断模块仿真波形图);end en

50、tity mode_sel;其仿真波形图,如图长,0表示1位,1表示2位。第三步实现串行数据转换成并行数据,然后就将其数据进行提取,提取的数据在判断校验是否有效,如果校验的数据有效就进行输出,若无效就结束。接收模块的软件程序,主要包括以下实体部分:en tity rec_judge isport(clr:in std_logic;clk:in std_logic;judge_e nable:in std_logic;data_i nput:in std_logic;baud_rate :in stdogic_vector(15 downto 0);data_bit :in stdogic_ve

51、ctor(1 downto 0);check_bit :in stdogic_vector(1 downto 0);en d_bit:in std_logic;data_valid :out stdo gicdata_output:out stdogic_vector(8 downto 0)、);end en tity rec_judge;其中,clr为复位信号输入,clk为50Mhz系统时钟输入,judge_enable为接收使能控制信号输入,datanput为串行输入数据。其仿真波形图,如图4-3所示:图 4-3 接收模块仿真波形图4.3 发送模块软件设计当模式判断为发送模块,就先要对发送

52、来的数据进行判断。具体过 程:第一步输入数据产生波特率(表示对于时钟的分频),产生波特率时钟然后进入数据指示,0表示数据无效,1表示数据有效;如果 有效就进入指示模块工作启示。数据长度是13位最大;第二步在一起正常的时候就进行起始位寄存器,先判断起始位,判 断起始位周期, 一般只有1到2位起始位;然后进入数据寄存器, 判断 有几位数据 (一般是8-10个),01表示7位,10表示8位,11 表示9位,00表示无效,然后输出数据,7至9位并行数据输出;再进入校验寄存器,如果是01表示奇数校验,10表示偶数校验,11 表示无校验,00表示无效;最后到停止位寄存器,判断停止位有多 长,0表示1位,1

53、表示2位。第三步实现把并行数据转换成串行数据,将其数据进行打包,最后 把打包的数据进行输出,然后就结束。发送模块的软件程序,主要包括以下实体部分:in std_logic;in std_logic;in std_logic;in stdogic_vector(7 downto 0);in std_logic_vector(15dow nto 0);in stdo gic_vector(1dow nto 0);in std_logic_vector(1 downto 0);in stdo gic;out std_logic;out std_logicen tity sen d_judge isp

54、ort(clr:elk:judge_e nable:datanput:baud_rate :data_bit :check_bit : end_bit:data_valid :data_output:);其中,clr为复位信号输入,elk为50Mhz系统时钟输入,judge_enable为接收使能控制信号输入,datanput为并行输入数据。其仿真波形图,如图4-4所示:图 4-4 发送模块仿真波形图5 研究展望本设计中虽然有控制键对时钟进行控制,但是用到的按键太多,在 实际应用上存在不足。故提出改进方案为用一个按键控制数码管的片 选,再用两个按键控制计数的加减。这样可以节省按键资源,以供更多

55、 的功能的使用。本设计是采用硬件描述语言和FPGA芯片相结合进行的数字钟的研 究,从中可以看出EDA技术的发展在一定程度上实现了硬件设计的软 件化。设计的过程变的相对简单,容易修改等优点,相信随着电子技术 的发展,RS-232串口通信控制器通过具体操作,验证设计的稳定性与操作的灵活性,它的功能会更加多样化,满足人们的各种需要。通过具体 操作,验证设计的稳定性与操作的灵活性。)帖10.4時2046如30. 7us 40. ui51ui创話,UE71.UTE1翠UILOL 45 nsJJOE?lk上3 IP亠13b 14一153 IEshort 11 *rt gusher Viinnmmniuii

56、uwuwmjmuinjinnniwmuwuvwiiijmuwwuuuuuumjwuuuiwifuuiwinjuuuuuwuuuwuumui LJ_LJIn_n_rL .n n n nRelkSfsel实验结论在此次的RS-232串口通信控制器设计过程中,更进一步地熟悉有 关数字电路的知识和具体应用。 学会了利Quartern软件进行原理图的绘 制, 硬件描述语言VHDL的编写,程序的仿真等工作。并能根据仿真结 果分析设计的存在的问题和缺陷,从而进行程序的调试和完善。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路 连接并不是完全一致的,例如在对具体模块的仿真的过程中,往往没有 考虑到

57、整体设计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际下载到实验箱上后会出现一系列的问题,因此仿真 图和电路连接图还是有一定区别的。此次的数字钟设计重在于按键的控制和各个模块代码的编写,虽然能把键盘接口和各个模块的代码编写出来,并能正常显示,但对于各个 模块的优化设计还有一定的缺陷和不足。总的来说,通过这次的设计实 验更进一步地增强了实验的动手能力,对数字钟的工作原理也有了更加透彻的理解。在本设计调试过程中遇到了一些问题如下:1.在进行系统的软件设计时,在保证程序功能的前提下, 尽量采用指令字节少和执行时间短的指令,以减少程序占用空间和程序执行时 间。2在设计各个程序模块时

58、,需要对各个模块进行划分。模块的划分 有很大的灵活性,但也不能随意划分,模块划分时应遵循每个模块应具 有独立的功能,能产生明确的结果,这就是单模块功能的高内聚性。3.模块说明应包括实现模块功能所用的基本算法,模块入口算法, 出口参数,模块的数据结构及调用子程序等。一半有了层次图和模块说 明后,划分模块的工作也就算完成了。致谢在论文完成之际,我首先要向指导老师姜凯老师表示最真挚的谢 意。姜凯老师认真负责的工作态度,严谨的治学精神和深厚的理论水平 都使我受益匪浅。无论在理论上还是在实践中,都给与我很大的帮助。 在理论上,老师耐心讲解电路原理图的绘制,以及元器件的性能;在实 际操作中,从系统的设计到

59、最终系统的调试,老师都给予了诸多帮助, 使我得到不少的提高,这是在这次设计中我所得到的最宝贵的财富。对 于我以后的工作和学习都是一种巨大的帮助,感谢他耐心的辅导。在这次毕业设计中,我的专业知识水平也取得一定的进步。而这些 进步都离不开老师和同学的帮助。在此我向曾经帮助和关心我的老师和同学致以诚挚的感谢。由于本人学识有限,加之时间仓促,文中不免有错误和待改进之处, 真诚欢迎各位师长、同学提出宝贵意见。参考文献1刘君,常明,秦娟,基于硬件描述语言(VHDL)的数字时钟设计,天津理工大学学报,2007,第23卷 第4期,40-412廖日坤,CPLD/FPGA嵌入式应用开发技术白金手册,中国电力出版社

60、,2003,212-218。3王开军,姜宇柏,面向CPLD/FPGA的VHDL设计,机械工业出版 社,2006,28-65。4赵保经,中国集成电路大全,国防工业出版社,1985。高吉祥,电子技术基础实验与课程设计,电子工业出版社,2002。6吕思忠,数子电路实验与课程设计,哈尔滨工业大学出版社,2001。7谢自美,电子线路设计、实验、测试,华中理工大学出版社,2003。8赵志杰,集成电路应用识图方法,机械工业出版社,2003,35-40。9张庆双,电子元器件的选用与检测,机械工业出版社,2003。10谭会生,张昌凡,EDA技术及应用,西安电子科技大学出版社,2002。11李可,数字钟电路及应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论