第五章 基于裸机的程序设计方法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 基于裸机的程序设计方法

一、UART接口概述 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是广泛使用的串行数据传输方式,用于控制计算机与串行设备的接口。S3C2410的UART提供三个独立的异步串行I/O端口,每个都可以在中断模式或DMA模式下运行。即,其UART可以产生内部中断或DMA中断请求,从而在CPU和UART之间传输数据。UART在使用系统时钟的情况下,最高可以支持230.4Kbps的波特率。 二、UART特点 1 基于DMA或中断操作的RxD0、TxD0、RxD1、TxD1、RxD2和TxD2; 2 UART通道0,1,2符合IrDA1.0标准,并且 具有16字节的FIFO; 3 UART通道0和1具有nRTS0、nCTS0、nRTS1 和nCTS1; 4 接收/发送时支持握手模式。 三、UART操作 UART的操作包括数据发送、数据接收、中断发生、波特率发生、回送模式、红外模式和自动流控制等。 (1)数据发送 发送的数据帧可编程,一个起始位,5~8个数据位,一个可选的奇偶校验位和1~2个停止位组成,通过行控制器(ULCONn)来设置。发送器也能产生暂停条件,使串口在一帧的发送期间连续输出若干个0。当前发送的字完全发送之后,暂停条件发送信号,这个信号发送之后,继续发送数据到Tx FIFO中。 UART操作 (2)数据接收 与数据发送一样,接收的数据帧也是可编程的,它由一个起始位,5~8个数据位,一个可选的奇偶校验位和1~2个停止位组成,这些也通过行控制器(ULCONn)来设置。接收器可以检测溢出错误和帧错误。溢出错误表示新的数据在旧的数据没有被读取的情况下,覆盖了旧的数据。帧错误表示接收的数据没有有效的停止位。 UART操作 (3)自动流控制(Auto Flow Control,AFC) S3C2410的UART0和UART1通过nRTS和nCTS信号支持自动流控制,以此实现与外部UART的连接。如果用户想把UART连接到Modem上,需要禁止UMCONn的自动流控制位并且通过软件控制nRTS信号。 在AFC模式下,nRTS根据接收器的状态和nCTS信号控制发送器的操作。 UART操作 (4)RS-232C接口 RS-232C是EIA(美国电子工业协会)制定的一种串行通信接口标准。通常RS-232接口以9个引脚(DB-9)或25个引脚(DB-25)的形态出现,常用的一般是DB-9。简单地通过RS-232C接口进行通信时,只需要连接发送数据线、接收数据线和信号地,称为三线连接。 UART操作 (5)中断/DMA请求的产生 S3C2410的每一个UART有5个状态(Tx/Rx/Error)信号:溢出错误、帧错误、接收缓冲数据准备好、发送缓冲区为空和发送移位寄存器空。 这些状态通过读取UART状态寄存器(UTRSTATn/UERSTATn)来获取 UART操作 在FIFO模式下,如果采用中断请求和查询模式,当发送器将发送FIFO寄存器中的数据传输到发送移位寄存器中,并且发送FIFO寄存器中剩余的数据量达到Tx FIFO的触发水平时,Tx中断产生。在非FIFO模式下,如果采用中断请求和查询模式,当把数据从发送保持寄存器中传输到发送移位寄存器时,将会引起Tx中断。 如果控制寄存器中的接收和发送模式位设置为DMAn请求模式,则以上提到的情况下产生的中断是DMAn请求,而不是Rx或Tx中断。 UART操作 (6)波特率发生 每个UART的波特率发生器为发送器和接收器提供连续的时钟。时钟源可以选择S3C2410的内部系统时钟或者UEXTCLK。UBRDIVn的值可以通过以下表达式确定: UBRDIVn=(int)(PCLK/(bps×16))-1 在这里,除数因子的值在1到216-1之间。 UART操作 (6)波特率发生 为了使UART操作精确,S3C2410还支持UEXTCLK作为被除数。 UBRDIVn的值可以由以下表达式确定: UBRDIVn=(int)(UEXTCLK/(bps×16))-1 在这里,除数因子的值在1~216-1之间,并且UEXTCLK应该小PCLK。 UART操作 (7)回送模式 S3C2410的UART提供一个测试模式,即回送模式,以解决通信链接中出现的孤立错误。这种模式在结构上可以使能UART上RXD和TXD之间的连接。因此,在这种模式下发送的数据通过RXD被接收器接收

文档评论(0)

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

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

1亿VIP精品文档

相关文档