十、UART控制器.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十、UART控制器,十字路口交通灯控制器,十字路口控制器的仿真,十字路口交通控制器,uart接口,uart协议,usart和uart区别,uart是什么意思,ft232rusbuart,uartrs232

本章目标 掌握2440的UART寄存器设置 编写简单串行通信程序 原理说明 原理说明 UART使用标准的TTL/CMOS逻辑电平(0~5V、0~3.3V、0~2.5V或0~1.8V)来表示数据,高电平表示1,低电平表示0。为了增强数据的刚干扰能力,提高传输长度,通常将TTL/CMOS逻辑电平转换为RS-232逻辑电平,3~12V表示0,-3~-12表示1。 2440 UART概述 S3C2440A 的通用异步收发器(UART)配有3个独立异步串行I/O(SIO)端口,每个都可以是基于中断或基于 DMA 模式的操作。即UART 可以发出中断或 DMA 请求以便在 CPU 和 UART 之间传输数据。 UART通过使用系统时钟可以支持最高115.2Kbps的波特率。如果使用UEXTCLK引脚提供外部时钟,则UART可以达到更高波特率。每个UART 通道包含两个的64字节的FIFO给发送和接收。 S3C2440A 的UART包括了可编程波特率,红外(IR)发送/接收,插入1 个或2个停止位,5位、6 位、7位或 8位的数据宽度以及奇偶校验。 每个 UART 包含一个波特率发生器、发送器、接收器和一个控制单元。波特率发生器可以由PCLK、FCLK/n 或 UEXTCLK(外部输入时钟)时钟驱动。发送器和接收器包含了 64 字节 FIFO 和数据移位器。 功能框图 自动流控制 S3C2440A 的UART0 和UART1支持通过nRTS和nCTS信号支持自动流控制,例如连接到外部UART时。如果用户希望将UART连接到一个MODEM,可以在UMCONn寄存器中禁止自动流控位,并且通过软件控制nRTS信号。 nCTS意味着其它UART的FIFO准备接收数据。 nRTS意味着它自己的接收FIFO开始准备接收数据。 在AFC时,nRTS由接收器的状态决定,而nCTS信号控制发送器的操作。只有当nCTS信号有效的时候UART发送器才会发送FIFO中的数据。在UART接收数据之前,当它的接收FIFO多于32字节的剩余空间时nRTS必须有效,当它的接收FIFO少于32字节的剩余空间时nRTS必须无效。 UART操作 可编程发送数据帧。由 1个起始位、5至 8位数据位、1个可选奇偶校验位以及1 至2 个停止位组成,由线路控制寄存器(ULCONn)指定。 CPU将数据写入到发送FIFO中,然后UART会自动将FIFO中的数据复制到发送移位器中,发送移位寄存器将数据一位一位地发送到TxDn数据线上。 UART操作 中断请求 中断请求 当发送器转移来自自身的发送FIFO寄存器的数据到其发送移位器并且在移出发送FIFO的数据量达到Tx FIFO触发深度,如果在控制寄存器中的发送模式选择了中断请求或查询模式,则发生 Tx 中断。在非 FIFO 模式中,转移来自发送保持寄存器中的数据到发送移位器在中断请求和查询模式下将引起Tx中断。 错误状态FIFO 错误状态FIFO指示出FIFO寄存器之中的数据错误。错误中断将只在数据包含错误并准备读出时发出。为了清除错误状态FIFO,带错误的URXHn 和UERSTATn 必须被读取出来。UART接收错误并不会产生任何错误中断,因为不会读取接收带错误字符。一旦读取字符将引发错误中断。 波特率设置 每个 UART 的波特率发生器为发送器和接受器提供串行时钟。波特率发生器的源时钟可以选择 S3C2440A 的内部系统时钟或 UEXTCLK。分频由设置 UCONn 的时钟选项选择。波特率时钟是通过 16 和由 UART波特率分频寄存器(UBRDIVn)指定的 16 位分频系数来分频源时钟(PCLK,FCLK/n 或 UEXTCLK)产生。 UBRDIVn 由下列表达式决定: UCONn UCONn UCONn ULCONn UFCONn UMCONn UTRSTATn UERSTATn UFSTATn UTXHn URXHn UBRDIVn 函数封装 硬件接口函数: UART_Init(... ...) 函数封装 int UART_Open(int nPort, int nBaudRate, int nDatabits, int nStopbits, int nParity) int UART_Close(int nPort) int UART_SendBuff(int nPort, char *pcBuff, int nLength); int UART_RecvBuff(int nPort, char *pcBuff, int nSize); 使用时,直接删除本页! 精品课件,你值得拥有! 精品课件,你值得拥有! 使用时,直接删除本页! 精品课件,你值得

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档