收藏 分享(赏)

基于AMBA总线的UART IP设计与实现——学士论文.doc

上传人:wo7103235 文档编号:6273679 上传时间:2019-04-03 格式:DOC 页数:61 大小:1.74MB
下载 相关 举报
基于AMBA总线的UART IP设计与实现——学士论文.doc_第1页
第1页 / 共61页
基于AMBA总线的UART IP设计与实现——学士论文.doc_第2页
第2页 / 共61页
基于AMBA总线的UART IP设计与实现——学士论文.doc_第3页
第3页 / 共61页
基于AMBA总线的UART IP设计与实现——学士论文.doc_第4页
第4页 / 共61页
基于AMBA总线的UART IP设计与实现——学士论文.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、哈尔滨理工大学学士学位论文- -I基于 AMBA 总线的 UART IP 设计与实现摘 要当今社会,集成电路产业对整个社会的发展有着很大的影响。集成电路产业也是如今国家重点发展的产业。随着半导体技术的发展,芯片上电路的集成度越来越高,基于 IP 核的 SOC 设计已经成为集成电路设计的主流。其中 IP 软核的灵活性很好,对于复杂的 IC 设计, IP 软核是绝佳的选择。本文针对可重构媒体 SOC 芯片系统功能的需求,在深入研究了AMBA 总线接口协议和 UART 接口协议基础上,设计了基于 AMBA 总线的 UART 的 IP 设计与实现。本设计采用 AMBA 总线中的 APB 总线作为片上总

2、线,为了与外围设备进行数据通信,设计了与总线接口的 UART 收发控制器、发送器、接收器以及中断控制器。使用硬件描述语言 Verilog 对设计进行编写,结合有限状态机的方法来实现本设计的要求,并通过了代码的功能验证。本设计是基于 IC 设计流程进行的,在完成了前端的设计验证的同时,也完成了后端流程中的逻辑综合、布局布线、形式验证和静态时序分析。布局布线后 core 的面积为 73692.9um2。工作频率为 200MHz。关键词 AMBA;APB;UART;SOC哈尔滨理工大学学士学位论文- -IIDesign and Implementation of UART IP Based on A

3、MBA BusAbstractNow, the integrated circuit industry has a great influence on the development of the society. Its very important to develop the integrated circuit industry for the whole country. With the development of semiconductor technology, the integration of circuit on chip is higher and higher.

4、 IP core based SOC design has become mainstream of IC design. And the flexibility of IP soft core is very well. IP soft core is an excellent choice for a complex IC design.In order to meet reconfigurable system functional requirements of the Media-SOC-chip, making the Design and Implementation of UA

5、RT IP based on AMBA bus, after making a deep study of the AMBA bus interface protocol and UART interface protocol.This design uses APB of AMBA bus as the on-chip bus. In order to perform data communication with peripheral equipment, we designed a UART bus interface controller, a transmitter, a recei

6、ver, and an interrupt controller. Using the hardware description language to implement the design, with the Finite-state machine to satisfy the design requirements. And the functional verification has achieved.The implementation is based on IC-design flow. Not only front-end design verification but

7、also accomplished a complete the back-end process which includes logic synthesis, formal verification, placement, routing and static 哈尔滨理工大学学士学位论文- -IIItiming analysis. The core area is 73692.9um2. Its working frequency is 200MHz.Keywords AMBA, APB , UART, SOC 哈尔滨理工大学学士学位论文- IV -目 录摘要 .IAbstractII第

8、1 章 绪论 11.1 课题背景 .11.2 研究意义 .21.3 国内外研究现状分析 .21.3.1 SOC 技术 31.3.2 串行通信 41.4 论文研究的主要内容 .5第 2 章 AMBA 总线与 UART 接口 72.1 AMBA 总线 .72.1.1 AHB 总线 72.1.2 ASB 总线 92.1.3 APB 总线 92.2 UART 传输协议 112.2.1 UART 简介 .112.2.2 UART 通信协议 .122.3 本章小结 .12第 3 章 设计方案的实现 133.1 方案设计 .133.1.1 收发控制器 133.1.2 发送器 143.1.3 接收器 143.

9、1.4 中断控制器 143.2 模块的设计与实现 .143.2.1 收发控制器 143.2.2 发送器 163.2.3 接收器 193.2.4 中断控制器 213.3 功能仿真验证 .223.3.1 发送数据波形仿真结果分析 223.3.2 接收数据波形仿真结果分析 233.4 本章小结 .24哈尔滨理工大学学士学位论文- V -第 4 章 物理设计 254.1 逻辑综合 .254.1.1 Design Compiler 工具介绍 .254.1.2 综合过程 264.1.3 综合结果分析 284.2 布局布线 .324.2.1 参数设置以及芯片利用率 334.2.2 时序报告与验证报告 344

10、.2.3 版图 354.3 形式验证 .384.3.1 逻辑综合后形式验证 394.3.2 布局布线后形式验证 404.4 静态时序分析 .414.5 本章小结 .42结论 44致谢 45参考文献 46附录 A 48附录 B 54哈尔滨理工大学学士学位论文- 1 -第 1 章 绪论1.1 课题背景本文是以国家高技术研究发展计划信息技术领域的重点项目可重构移动媒体处理核心技术为研究背景。具有一下特征的嵌入式可重构处理器是当下和将来高性能并行移动计算的技术和移动媒体处理的研究发展方向。这些特征包括具有多种媒体方式处理、扩展性大、性能高,而且自身还具有低功耗特征。这类嵌入式可重构处理器的体系结构应当

11、既具备通用构造的灵活性,同时要具有定制构造的高效性,其在高密度信号处理的SOC( System-on-Chip)应用领域具有十分广阔的发展前景。可重构媒体SOC 是支持 32 位性能较高的具有高清解码功能的一款 SOC 芯片。其预期目标希望能够实现对一系列的可重构处理核心技术的掌握,这些技术包括可重构机理、新型系统架构和集成开发环境等。这些技术的研究都是为了国家开发重大项目能够有足够的技术储备,能够为我国在新一代并行移动计算技术产业和移动媒体产业的发展提供强有力的技术支持。可重构媒体SOC 芯片的体系结构图如图 1-1 所示。调试接口功耗控制AHB 总线控制器最小系统REmus锁相环 PLL复

12、位控制AHB 总线ARM1 136AHB 接口AHB 主机口LCD 控制器APB 从机口外部存储器接口 EMI 控制器TS 流接口控制器AHB DMA控制器AHB-APB控制器SD 卡接口控制器APB 总线PS2 I2C IR UART GPIO 音频输出接口 定时器图 1-1 可重构媒体 SOC 芯片的体系结构图从上图可以看出,可重构媒体芯片(SOC 芯片)主要包括这几个部分:ARM(Advanced RISC Machines)内核、片外存储系统、 AHB(Advanced 哈尔滨理工大学学士学位论文- 2 -High Performance Bus)主机部件、AHB(Advanced P

13、eripheral Bus)从机部件和 APB 从机部件。这个芯片能够实现的功能很多,并且能够提供很多的外围设备接口类型,也正是由于它具有大量的外围设备资源,因此对于媒体处理、有线通信和多通道无线通信的应用的需要,这款芯片可以更好的满足。本设计研究的通用异步收发传输器 UART 就是可重构媒体 SOC 芯片的众多外围设备中的一种,它可以用作集成于微处理器中的周边设备和独立的模块化芯片。其英文全称为 Universal Asynchronous Receiver/Transmitter。UART 设备与 CPU、DMA 的进行的数据通信是在其芯片内部通过 AMBA(Advance Microco

14、ntroller Bus Architecture)总线来实现的,与外部连接的接口标准一般与 RS-232C 规格相同,通常情况下是选择的搭配对象是按照其标准信号幅度变换的芯片。UART 主要的应用领域是 PC 机的操作系统的升级,对于传输速率要求不高的数据,UART 就可以满足设计的要求。1.2 研究意义在可重构媒体 SOC 芯片中,UART(通用异步收发传输器)是 PC 机与 CPU 核之间连接的纽带,在芯片操作系统的升级中扮演着不可替代的角色。而 UART 还有更值得与研究设计的一点,对于串行数据传输速率要求的不太高的设备,使用 UART 进行通信是性价比更高的绝佳选择。接口简单、占用资

15、源空间小、标准化、易于控制、易于实现软硬件模块化等都是串行总线设备所具有的优点。正是由于其的这些优势,使得 UART 在诸多领域都被广泛的使用,例如语音、图形图像、仪器仪表等。因此,研究设计一个高性能的 UART 设备,使其能够满足可重构媒体( SOC)芯片对规模大、来源广泛、实时性要求更高的数据传输,在整个可重构媒体芯片的设计中,甚至是国家高技术研究发展计划信息技术领域的重点项目,也就是作为本设计研究依据的嵌入式可重构移动媒体处理核心技术都有着十分重要的意义。1.3 国内外研究现状分析集成电路(Integrated Circuit)的发展到现在为止已经有了几十年的历史,它一直都在按着摩尔提出

16、的规律增长。提出的规律是集成电路中晶体管的数目增加一倍的周期为 18 个月 1。更新一代的时间周期大概是两到三年。造成这种现象的原因是器栅长在不断的减小,减小的规律基本上是按照等比例减小的规则,并且在一定程度上有利于提高其它的一些工艺参数。按照这一规律,集成电路的基本单元 CMOS(Complementary Metal Oxide Semiconductor)器件已经进入到了超深亚微米甚至是纳米加工时代。纳米哈尔滨理工大学学士学位论文- 3 -加工是指器件的栅长小于 50nm。为了满足信息市场的需求、微电子产业的发展需求,必须把集成电路的特征尺寸尽可能的不断的缩小,发展多种工艺集成技术,并且

17、这些技术都应该具有的特点是微细加工。生产面向应用的系统级芯片。在上个世纪末,SOC 技术开始兴起,并且一直都在随着半导体工艺技术的发展而发展,IC 设计者们在单个硅片上开始集成更加复杂的功能,SOC 正是在集成电路(Integrated Circuit)向集成系统(Integrated System)转变的大方向下产生并不断发展的 2。所谓的SOC(System-on-a-Chip)即为系统级芯片,通常也被叫做片上系统。它既是一个产品,也是一个集成电路。它包含着完整的系统,并且有嵌入软件的全部内容。它又是一门用来完成从确定系统功能开始一直到软硬件划分且完成全部设计的完整的过程的技术。1.3.1

18、 SOC 技术SOC 技术具有两个与其他技术相比的巨大优势:集成度高和固件化。SOC 技术设计系统的核心思想是将整个电子系统都集成在同一个芯片上。如果使用 SOC 技术来设计所需的应用系统,所有的系统电路必须全部都集成在一个芯片,但是这之中不包括那些不能够集成的机械部分和外部电路 3。SOC 是一个微型系统,用一个比较恰当的比喻来说,可以将中央处理器 CPU 比作人的大脑,SOC(片上系统)就是包括人的大脑、肺、心脏、手和脚的系统。国内外学术界都习惯于把 SOC 定义成为一个同时集成了微处理器、数字 IP 核、模拟 IP 核和片外存储控制接口的芯片系统。一般情况下它是客户定制的,是面向某些专用

19、用途的一种标准化产品。具体来说,软硬件协同设计技术、IP 核可复用技术、总线架构技术、 SOC 验证技术、低功耗设计术、可测性设计技术和超深亚微米电路实现技术都是 SOC设计的核心技术 4。另外,SOC 技术还包括嵌入式软件移植等。SOC 可以大量的使用已经存在的设计,从而明显地提高了整个 ASIC(专用集成电路)领域的设计能力,这也是其发展迅速的最主要原因,并且引起了工业界、学术界两大领域的强烈的关注。随着社会的进步,微电子技术和 SOC 芯片处理技术也在不断地发展,如今已经可以合并成一个“单片系统”,从而进一步的提高芯片上电路的集成度,降低生产成本。这个 SOC 芯片是一个具有多个处理器核

20、心的单片集成系统,并且在其中包含有 CPU 主处理器,集成的核心的类型有:专用集成电路类的硬核、DSP 软核、协处理器类的软核以及某些专用处理的子系统。更值得大家注意的是它集成有丰富的外围设备。SOC 技术已经是集成电路发展的必然趋势,SOC 技术具有很多其他技术不具备的特点,具体的包括半导体工艺技术的系统集成、软件系统和硬件系统的集成。SOC 技术也有着它的巨大优势,它能创造其产品不可估量的价值,同时能哈尔滨理工大学学士学位论文- 4 -满足如今社会最求的耗电量低、体积小、系统功能强大、速度快,成本低廉的市场需求。当下,很多半导体方案提供商都在慢慢的开始使用 SOC技术,提高集成度、使用先进

21、工艺、降低成本、提高系统性能都成为决定半导体方案提供厂商市场竞争力的决定因素。每一次更新出的 SOC 技术据能够更高效地利用资源,实现资源优化和共享。并且每个子系统的协同工作能力也能不断的提高,致力于在提高产品可靠性的同时,不断的减小产品的成本和功耗。事实上,集成系统级芯片主要含有软、硬件的协同设计技术、IP 模块库技术和模块界面间的综合分析技术。这三个技术是核心的支持技术。若想要系统级芯片作为主要特征的信息技术持续不断的更新就必须将这三个支持技术进行不断的更新。在 21 世纪,SOC 技术正在不断的普及,这也真正是 SOC 技术飞速发展的时代。主控 CPU 不断的更替、视频协处理器能力的不断

22、增强、DSP 资源的充分利用以及且可以同时支持定点和浮点运算,这些在证明 SOC 芯片的发展趋势越来越强。未来的发展不可估量,还有更多的像是 UART、DVI、SATA、PCI-E 等等高性能外围设备接口将会被集成到同一个芯片中来,构成更加完美的“单片系统”芯片。1.3.2 串行通信如今,被人们所熟知的串行通信技术标准是由美国电子工业协会提出的 RS-232、RS-422 以及 RS-485,也就是 EIA-232、EIA-422 以及 EIA-4855。在工业通信领域习惯将称之为 RS-232、RS-422 以及 RS-485,它们是串行数据接口标准。美国电子工业协会在 1962 年发布的

23、RS-232,在之后不断的又推出了一些其他的版本。在其发布的这些标准中,RS-232-C 是如今最受欢迎、最常用的版本。如今,在通信工业中,与 PC 机通信使用频率最高的串行接口仍然是RS-232。RS-232 是一种在串行通信中对数据传输速率要求不高,但对数据通信距离要求相对较高的单端标准。不平衡的单端通信方法是 RS-232 采取的数据传输方式,它的传送距离可以达到 15 米左右,最高的数据传输速率可以达到 20kbps6。RS-232 对于传输距离不高的还可以满足,但是距离相对再远一些的就不适用了,因此 EIA 有更新发布了 RS-422 接口标准。平衡通信方法是 RS-422 采用的数

24、据传输方式,它制订了双端通信接口标准。RS-422 的数据传输速率可以达到 10Mbps,传输距离也可以增加到大约 1219 米,与 RS-232 相比,大大的提高了数据传输速率和传输距离。其在一条平衡总线上最多可以连接的接收器可以达到 10 个左右 7。RS-422也存在着一些缺点,它的传输速率越大,平衡双绞线的长度就越小,它们两个是成反比的。只有在数据传输速率小于 100kbps 时,传输距离的最大值才有可能达到。换句话说,距离和数据传输速率想要都达到最佳的效果还是个未完全实现的目标,虽然 RS-422 相对 RS-232 来说,性能方面提高哈尔滨理工大学学士学位论文- 5 -了很多,但是

25、其也只有在短距离传输时,传输速率才可以达到最快。一般传输速率达到最大的 1Mbps 时,双绞线的长度大约在 100 米左右。除此之外需要指明的一点是,在 RS-422 通信中可以有主设备(Master)个数一个,而从设备(Salve)多个。虽然从设备可以是多个,但是他们之间是不能进行数据通信的,因此 RS-422 支持的是一对多的双向通信。为扩展应用范围,在 1983 年美国电子工业协会有发布了 RS-485 标准,在 RS-422 的基础上允许同一条总线上同时连接多个发送器,实现了多点双向的通信能力8。在发送器的驱动能力和冲突保护特性这两个方面有了明显的提高,同时增加了总线共模范围。现在也叫

26、 RS-485-A 标准。通过改进了一些性能而发展来的 RS-485,在很多电气规范方面与 RS-422 的规范都相差不大,他们都采用数据传输方式都为平衡传输,需要在传输线上接电阻 9。传输的距离最高可以达到 1220 米左右,数据传输的最高速率可以达到 10Mbps 左右。但是,RS-485 与 RS-422 不同的地方是其可以采用二线与四线方式。如果想要真正的做到可以多点双向通信,需要采用二线连接方式。采用四线连接时,虽然同样只能实现一对多的通信,但是 RS-485 采用的二线连接方式和四线连接方式在总线上都可以接 32 个设备。1.4 论文研究的主要内容本设计完成了基于 AMBA 总线的

27、 UART 的 IP 设计与实现。研究的主要方面如下:SOC 技术和 AMBA 总线协议、UART 通信协议。通过对系统功能的分析,研究了 APB 总线与 UART 设备之间通信的过程。分别设计了 APB_UART 收发控制器,接收器和发送器。APB_UART 收发控制器根据 APB 总线发出来的信号,如时钟信号、使能信号、选择信号、地址信号等进行工作。APB 总线通过输送给 UART 不同的地址信号来控制其不同的工作方式。本设计根据 IC 设计流程完成了前端设计和后端设计。前端设计通过使用 QuartusII 软件和 Modelsim 软件实现了 RTL 级代码的编写及验证,完成了 APB

28、总线和 UART 接口功能、结构以及其串行通信的数据传输协议的设计。后端流程中完成了逻辑综合、布局布线、形式验证以及时序分析,分别用到的工具是 Design Compiler、SOC-Encounter、Formality 和PrimeTime。论文的具体安排如下:第二章主要介绍了 AMBA 总线协议,并对 UART 接口的通信协议进行了详细的描述。第三章主要讲述了本课题的设计方案和 IC 设计流程中到前端流程部分。详细介绍了设计的收发控制器、发送器、接收器和中断控制器以及其哈尔滨理工大学学士学位论文- 6 -实现的方法。并给了前端仿真结果。第四章主要叙述了 IC 设计流程中的后端流程部分。给

29、出了后端流程中逻辑综合、布局布线、形式验证以及静态时序分析的结果,并对结果进行了解释说明。哈尔滨理工大学学士学位论文- 7 -第 2 章 AMBA 总线与 UART 接口2.1 AMBA 总线AMBA 片上总线是 ARM 公司研发推出的。AMBA 总线提出了一种独特的机制,可以在其他 IP 芯核和外设中集成 RSIC(Reduced Instruction Set Computer)处理器。 AMBA 除了作为一种总线存在以外,它还是带有接口模块的完整的互连体制。AMBA 2.0 版标准定义了三组总线:AMBA高性能总线 AHB、AMBA 系统总线 ASB(Advanced System Bu

30、s)和AMBA 外设总线 APB。AMBA 总线的基本结构如图 2-1 所示。AHB/ASB高带宽外部存储接口 High-bandwidth external menory interface高性能 ARM处理器高带宽片内 RAM High-bandwidth on-chip RAMBRIDGEDMA bus masterUART TimerKeypad PIO(外围IO 设备)APB bridge图 2-1 AMBA 总线的基本结构2.1.1 AHB 总线AHB 总线接口中的一种,被作为高性能总线的它具有以下特性:1突发连续传输2分布传输3单周期内主控制器处理4单时钟边沿操作5非三态操作6支

31、持 64 位,128 位总线宽度7支持字节、半字和字的传输CPU、高速 RAM、DMA 等这些性能较高的模块之间都是通过 AHB总线实现各个接口之间的连接的。AHB 系统由 3 部分组成,这三个部分分别是主模块、从模块以及基础结构,AHB 总线上的数据传输命令均从主模块向外发出,而从模块负责做出相应的响应。系统的基本结构有以下几个哈尔滨理工大学学士学位论文- 8 -部分构成:仲裁器、主从模块的两个双向的多路选择器、译码器以及虚拟主模块和从模块。其结构图如图 2-2 所示:仲裁器Arbiter主模块到从模块的多路选择器MUX_M_S从模块到主模块的多路选择器MUX_S_M译码器DecoderLC

32、D ARM REMUS SD DMADMASD APBTSIEMI图 2-2 AHB 系统结构图AHB 主控制器:总线上只能存在一个主控制器,它通过不同的地址信号和控制信号来进行初始化、读、写等操作。AHB 从设备:从设备是用来响应主控制器发出的命令,并将执行命令后的操作的成功与否反馈给主控制器。AHB 译码器:与主控制器相同,总线上只能存在一个译码器。它的功能是解析在总线上传输的地址信号和控制信号。AHB 仲裁器:与主控制器相同,总线上只能存在一个仲裁器。他的功能是根据用户的配置信息,保证同一时间在总线上只用一个主控制器具有操作总线的权限。在任意的一个时间周期中,只允许一个主控制器接入总线,

33、对该主控制器规定好的从设备进行读操作和写操作。总线统一规划从设备的地址,译码器根据地址选择指定的从设备与主控制器进行数据通信。授权访问机制的实现方法是使用多路选择器进行选择,多路选择器判断哪个传输给地址来选择哪个主控制器接入总线的依据是已经被选择授权的主控制器次序10。地址译码器通过需要访问的地址来选择相应的主控制器,并且可以同时为带有写数据功能的多路选择器提供控制信号,从而选择相应的从设备。哈尔滨理工大学学士学位论文- 9 -2.1.2 ASB 总线AMBA 总线中主要用于性能较高的系统模块的总线是 ASB 总线。ASB 总线与 APB 总线相比,其总线架构更具有优势,是比较适用于性能更高的

34、系统模块的总线协议,它的特点有很多,具体如下:1突发连续传输2单管道数据传输3多总线主控制器对于 AHB 总线不需要的一些高性能的芯片设计,ASB 总线是绝佳的系统总线选择。ASB 支持片上内存、高性能处理器、片外内存提供接口以及慢速外围设备。ASB 总线上可以存在的主控制器是可调的,可以是一个,也可以是多个。而 ASB 总线与 AHB 总线相比还有另外一个优点上,挂接一些慢速外围设备在 ASB 总线上,将这些外围设备作为从设备是可以的。但是 APB 总线还是主要被用来挂接慢速外围设备的,所以挂接在 APB 总线上还是比较常用的情况。2.1.3 APB 总线APB 总线接口是优化度很高的连接低

35、功耗、低速率外设的精简接口。APB 总线是一个本地的二级总线接口协议,AHB 总线和 ASB 总线协议的从设备接口通常都是 APB 总线接口 11。APB 桥是从控制器模块,用来保证不同总线数据的有效传输,以及确保不同总线上的控制信号的转发处理。APB 总线接口主要用于连接低带宽、低性能的数据传输的外围设备。APB总线协议指明了所有的信号的传递只有在时钟的上升沿来的时候才会被触发。这种方法有如下的优点:1易于实现高频率操作2通过单时钟操作简化静态时序3专用集成电路设计库在上升沿寄存器有较好的选择4简化整合的时钟模拟器上述的优点同时说明 APB 总线能够更好的连接最新的 AHB 总线接口。在 A

36、PB 总线协议中不可缺少的一个部分是 APB 桥,APB 桥的作用是将 APB 总线从设备控制器可以使用的信号从 AHB 总线和 ASB 总线上的控制信号转换出来。APB 总线上外围设备均是从设备,APB 总线主要用哈尔滨理工大学学士学位论文- 10 -于低带宽的周边外围设备之间的连接,UART 就是其中之一。而这些从设备有如下的特征:1接收有效的地址和控制访问。2当这些外围设备不处于活动状态的时候,可以把外围设备设置成为功耗为 0 的状态。3译码器通过选通信号来提供时序供输出时使用。4访问时可执行数据写入。在 APB 总线系统中只有一个主模块,即 APB 桥。其特征主要有:传输的时钟周期为两

37、个时钟、等待周期为 0、没有任何响应信号以及控制逻辑不复杂等。APB 的传输数据过程可以用图 2-3 来表示。TransferIDLEPSELx=0PENABLE=0SETUPPSELx=1PENABLE=0ENABLEPSELx=1PENABLE=1No transferNo transferTransfer图 2-3 APB 传输状态图IDLE 状态:系统初始状态,在此状态时,不进行任何传输操作,任何从模块都不会被选中。SETUP 状态:数据准备传输状态,将 PSELx 置“1”,PENABLE 置“0”,系统只在 SETUP 状态停留一个时钟周期 12。当下一个时钟上升沿到来时,立即转到

38、 ENABLE 状态。哈尔滨理工大学学士学位论文- 11 -ENABLE 状态:使能状态,PADDR、PSEL 和 PWRITE 均保持不变,此时将 PENABLE 置“1”。同样在 ENABLE 状态也只停留一个时钟周期。数据传输结束后如无传输要继续进行,系统回到 IDLE 状态等待,否则系统再次进入 SETUP 状态。2.2 UART 传输协议2.2.1 UART 简介UART(Universal Asynchronous Receiver/Transmitter)是一种用于异步通信的通用串行数据总线,其全称为通用异步收发传输器。UART 总线可以实现全双工接收数据和传输数据。在 SOC

39、设计中,与 PC 机进行通信时使用的是 UART,包括监控调试器等其它器件,例如 EEPROM 通信。计算机内部采用的数据格式是并行数据,因此不能直接将数据传送到Modem。想要进行异步数据传输操作,那么必须经过 UART 才可以正常的进行传输。传输过程如下:CPU 先把准备写入串行设备的数据存储在UART 的寄存器中,再通过 FIFO(先入先出队列)传送到串行设备。这里 FIFO 是必须存在的,若是没有 FIFO,信息的顺序将会发生改变,不可能完全无误的传送到 Modem。UART 之所以能够实现 PC 机与外围设备之间的通信是因为它可以进行串并转化换,它传输数据的方式是把接收到的并行数据转

40、换成串行数据再进行传输。消息帧的格式如下:低位起始位、数据位、奇偶校验位和停止位,起始位为一位,数据位为 5 到 8 位,奇偶校验位为一位,停止位为一位或者几位 13。开始位到达接收器之后,数据开始准备发送,接收器会立即与发送器进行时钟频率同步工作。如果存在奇偶,那么在数据位的后面,UART 会加上一个奇偶校验位。奇偶校验位用来对传输的数据进行错误校验。UART 在接收数据的过程中会先在消息帧中除去其中的起始位和结束位,并且对接收的数据进行奇偶校验,校验无误后把数据字节进行串并转换,将并行数据转换为串行数据 14。并且对于接收状态和发送状态,UART 可以用别的信号来显示。作为接口的一部分,U

41、ART 还提供以下功能:1把计算机内部传送过来需要传输的并行数据转换为可以输出的串行数据流 15。2把计算机外部传送来的需要传输的串行数据转换为供计算机内部使用并行数据。3将奇偶校验位加入到输出的串行数据流中,并对从外部接收的数据流进行奇偶校验。哈尔滨理工大学学士学位论文- 12 -4将开始标志和停止加入到输出的数据流中,然后删除接收数据流中的开始标志和停止标志。5为输入数据、输出数据提供缓冲区。在计算机处理数据之前,可以在其缓冲区内存储 16 字节数据比较新的 UART 是 16550,但通常使用的还是 8250。2.2.2 UART 通信协议UART 是异步串口通信协议,把需要传输的数据按

42、照每个字符一位接着一位地进行传输是它的工作原理。每一位的代表的意义如下:1起始位:逻辑为“0“的信号,开始传输字符的标志位。2资料位:构成一个字符的资料位的个数可以是 4、5、6、7、8。采用的字符格式一般是 ASCII 码,通过时钟来定位,从最低位开始传送一直到最后一位。3奇偶校验位:位于资料位后一位,“1”为有效,以此来检验传送的数据是否正确。4停止位:字符数据的结束标志。有 1 位、1.5 位、2 位的三种高电平。在传输线上的数据是定时的,设备都有它自己的时钟,所以在通信中的两台设备之间经常会出现一些不能够同步的现象。因此停止位除了可以表示数据传输结束以外,也可以将计算机的时钟进行同步的

43、校正。UART 传输数据的格式如图 2-4 所示。图 2-4 UART 传输数据格式2.3 本章小结本章主要给出了 AMBA 总线协议,详细介绍了 2.0 版 AMBA 标准定义的三组总线 AHB 高性能总线、ASB 系统总线和 APB 外设总线,还介绍了 UART 接口以及其通信协议。 0 10 10 10 10 10 1空闲位 启动 字符数据 奇偶校验位 停止第 N 帧数据哈尔滨理工大学学士学位论文- 13 -第 3 章 设计方案的实现3.1 方案设计根据 APB 总线与 UART 设备的通信方式以及本设计需要实现的功能,分别设计了收发控制器、中断控制器、接收器和发送器。收发控制器用来发出

44、各种控制信号,中断控制器用来发出和接收中断信号,接收器用来接收需要传送到 CPU 的数据,发送器用来发送 CPU 需要发送到外围设备的数据。本设计的基本结构框图如图 3-1 所示。intr发送状态标识接收FIFO状态标识发送FIFO状态标识状态pclkpresetnpselpenableprdata31:0r_thr7:0rbr7:0pwdata31:0接收状态标识APB_UART收发控制器发送 FIFO 接收 FIFO发送模块接收模块中断产生模块padder31:0pwritetxrx图 3-1 APB_UART 结构框图3.1.1 收发控制器收发控制器主要的功能是串行接口和数据通路,包含一

45、个单向的数据输出端口和一个单向的数据输入端口。接收数据和发送数据需要经过两个FIFO 缓存。收发控制器面向 APB 总线的端口有地址信号(padder)、写数据信号(pwdata)、读数据信号( prdata)、读写控制信号(pwrite)、选择信号(psel)、使能信号(penable)、复位信号(presetn)和时钟信号(pclk)。当选择信号(psel)有效时,表示当前 APB 总线发出的信号选择 UART 设备,用于驱动 UART 设备开始工作。收发控制器通过接收哈尔滨理工大学学士学位论文- 14 -APB 总线上发来的地址信号(padder )来决定 UART 的工作方式接收数据或

46、发送数据。3.1.2 发送器发送模块部分主要有两部分构成发送 FIFO 和发送模块。发送FIFO 首先将 CPU 需要传输的并行数据发送的 FIFO 中,发送 FIFO 将并行数据转化为串行数据后传输到发送模块中,发送模块再将数据一个接着一个的传送出去。因为 CPU 向串行设备传输数据的时候,需要将并行数据转化成为串行数据,所以发送 FIFO 是必须存在的。3.1.3 接收器同发送模块相同,接收模块部分也主要由两部分构成接收 FIFO和接收模块。当外围设备需要将数据传送到 CPU 时,首先需要接收的数据通过接收模块,将数据存储下来 16。然后接收模块再将数据传送给接收FIFO,接收 FIFO

47、将数据传输给接收缓冲寄存器,将串行数据转换成并行数据之后,再传到 APB 总线上,传到 CPU 中。同样是,接收 FIFO 也是接收数据的过程中必不可少的。3.1.4 中断控制器中断控制器用来产生和发送中断信号。本设计中分别在发送器的发送FIFO 和发送模块、接收器的接收 FIFO 和接收模块中设置了中断的状态标示符 17。当发送 FIFO 和接收 FIFO 为几乎空、几乎满、空和满的状态时,发送 FIFO 和接收 FIFO 会将状态标识发送到中断产生模块中,产生响应的中断信号。当发送模块和接收模块的数据传输完成之后,也会发送一个状态标识给中断产生模块,中断产生模块产生中断信号。UART 根据

48、产生的中断信号做出相应的响应信号。3.2 模块的设计与实现3.2.1 收发控制器关键代码:根据分配不同地址信号控制实现不同的工作方式always (posedge pclk or negedge presetn)beginif(!presetn)beginr_dlh = 8h0; /Divisor latch highr_dll = 8h0; /Divisor latch low哈尔滨理工大学学士学位论文- 15 -end else beginif(paddr11:0 = 12h00)beginfor(iB=24; iB=31; iB=iB+1)beginr_dlhiB-24 = reg_wr

49、iteiB? pwdataiB : r_dlhiB-24;endfor(iB=16; iB=23; iB=iB+1)beginr_dlliB-16 = reg_writeiB? pwdataiB : r_dlliB-16;endfor(iB=11; iB=13; iB=iB+1)beginr_widthiB-11 = reg_writeiB? pwdataiB : r_widthiB-11;endfor(iB=10; iB=10; iB=iB+1)beginr_parityiB-10 = reg_writeiB? pwdataiB : r_parityiB-10;endfor(iB=8; iB=9; iB=iB+1)beginr_stopiB-8 = reg_writeiB? pwdataiB : r_stopiB-8;endfor(iB=2; iB=2; iB=iB+1)beginr_en_fifoiB-2 =

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报