第3 节 异步串口 UART讲述.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? 具有 Avalon 接口的通用异步收发器( universal asynchronous receiver/transmitter——UART)内核实现了Altera FPGA片上的嵌入式系统和片外设备之间的串行的字符流传输的一种方法。UART内核实现了RS-232协议的定时,并且提供可调的波特率,奇偶校验位、停止和数据位,以及可选的RTS/CTS流控制信号。特性集是可配置的,允许设计者只实现特定系统的必要的功能。UART内核提供了寄存器映射的Avalon从接口,这样就允许Avalon主外设(如Nios II处理器)通过读/写数据和控制寄存器和UART内核通信。??????? UART内核在SOPC Builder中提供,并且可以很容易地集成到任意的SOPC Builder生成的系统中。7.3.1 UART 内核功能描述UART 内核有两个部分对用户是可见的:寄存器文件,通过Avalon从端口进行访问。RS-232 信号,RXD、TXD、CTS和RTS。1. Avalon从端口和寄存器??????? UART内核为寄存器提供一个Avalon从端口。 UART内核的用户接口包含6个16位的寄存器: control、status、rxdata、txdata、divisor和endofpacket。主外设,如Nios II处理器,访问寄存器来控制内核,在串行的连接通道上传输数据。UART内核提供一个高电平有效的中断请求输出,当接收到新数据时或UART内核准备发送一个新的字符时,请求一个中断。???????? Avalon从端口能进行具有流控制的传输。UART内核可以和具有Avalon流控制的DMA外设联合使用,以实现自动的连续的数据传输,例如内核和存储器之间的传输。2. RS-232 接口??????? UART内核实现RS-232异步发送和接收逻辑。UART内核通过TXD和RXD端口发送和接收串行的数据。大多数Altera FPGA系列的I/O缓存和RS-232 电平不相匹配,如果直接被来自RS-232连接器的信号驱动,可能会对UART内核造成损坏。为了和RS-232 电压信令规范匹配,在FPGA I/O管脚和外部的RS-232连接器之间加入一个外部的电压转换缓冲器,比如Maxim MAX3237。UART内核使用负逻辑,FPGA内的变极器可以用来翻转任何RS-232信号的极性。3. 发送器逻辑??????? UART发生器包含一个7、8、或9位的txdata保持寄存器,和一个相应的7、8或9位的发送移位寄存器。Avalon主外设通过Avalon从端口写txdata保持寄存器。当没有串行的发送移位操作在进行,发送移位寄存器自动装载txdata寄存器。发送移位寄存器直接提供TXD输出。数据最低有效位最先移出到TXD。以上的两个寄存器提供双重的缓冲。当主外设之前写入的数据正在被从发送移位寄存器移出时,主外设可以写入txdata寄存器一个新的数据。通过读状态寄存器的发送器就绪位(trdy)、发送器移位寄存器为空位(tmt)和发送器溢出错误位(toe),发送器主外设可以监控发送器的状态。发送器逻辑按照RS-232规范的要求,在串行的TXD数据流中自动插入正确的开始位、停止位和奇偶校验位。4. 接收器逻辑??????? UART接收器包含一个7、8或9位的接收器移位寄存器和一个相应的7、8或9位的保持寄存器rxdata。Avalon主外设通过Avalon从端口读rxdata保持寄存器。每当一个新字符被完整接收, rxdata保持寄存器自动装载移位寄存器的内容。以上的两个寄存器提供双重的缓冲。rxdata寄存器可以保存之前接收到的字符,当后续的字符正在移入接收器移位寄存器。??????? 主外设通过读状态寄存器的读就绪位(rrdy)、接收器溢出错误位(roe)、间断检测位(brk)、奇偶校验错误位 (pe)和帧错误位(fe),来监控接收器状态。接收器逻辑按照RS-232的规范要求,在串行的RXD数据流中自动检测正确的开始、停止和奇偶校验位。接收器逻辑检查接收数据中的四种异常情况(帧错误、奇偶校验错误、接收器溢出错误和间断)。并且设置相应的状态寄存器位(fe, pe, roe, or brk)。5. 波特率生成??????? UART内核内部波特率时钟来自Avalon时钟输入,内部波特率时钟通过时钟分频器产生。除数值来自下面两个值:在系统生成时指定的一个常数值。在divisor寄存器中存储的16位值。divisor寄存器是一个可选的硬件特性,如果在系统生成时,没有使能divisor寄存器,除数值则是固定的,波特率就不能被改变了。7.3.2 在 SOPC Builder 中实例化 UART??????? 实例化UART在硬件上产生至少两个I/

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档