资源描述:
《UART中文版的数据手册样本.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。第十一章异步串口通信概述S3C2410的UART提供3个独立的异步串行通信端口,每个端口能够基于中断或者DMA进行操作。换句话说,UART控制器能够在CPU和UART之间产生一个中断或者DMA请求来传输数据。UART在系统时钟下运行可支持高达230.4K的波特率,如果使用外部设备提供的UEXTCLK,UART的速度还能够更高。每个UART通道各含有两个16位的接收和发送FIFO。S3C2410的UART包括可编程的波特率,红外接收/发送,一个或两个停止位插入,5-8位
2、数据宽度和奇偶校验。每个UART包括一个波特率发生器、一个发送器、一个接收器和一个控制单元,如图11-1所示。波特率发生器的输入能够是PCLK或者UEXTCLK。发送器和接收器包含16位的FIFO和移位寄存器,数据被送入FIFO,然后被复制到发送移位寄存器准备发送,然后数据按位从发送数据引脚TxDn输出。同时,接收数据从接收数据引脚RxDn按位移入接收移位寄存器,并复制到FIFO。特性—RxD0,TxD0,RxD1,TxD1,RxD2,和TxD2基于中断或者DMA操作—UARTCh0,1,和2具有IrDA1.0&16字节FIFO
3、—UARTCh0和1具有nRTS0,nCTS0,nRTS1,和nCTS1—支持发生/接收握手资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。图11-1UART方框图串口操作下述部分描述了UART的一些操作,包括数据发送、数据接收、中断产生、波特率发生、loop-back模式、红外模式和自动流控制。数据发送发送数据的帧结构是可编程的,它由1个起始位、5-8个数据位、1个可选的奇偶位和1-2个停止位组成,这些能够在线控制寄存器ULCONn中设定。接收器能够产生一个断点条件——使串行输出保持1帧发送时间的逻辑0状态。当前
4、发送字被完全发送出去后,这个断点信号随后发送。断点信号发送之后,继续发送数据到TxFIFO(如果没有FIFO则发送到Tx保持寄存器)。数据接收资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。与数据发送一样,接收数据的帧格式也是可编程的。它由1个起始位、5-8个数据位、1个可选的奇偶位和1-2个停止位组成,这些能够在线控制寄存器ULCONn中设定。接收器能够探测到溢出错误和帧错误。—溢出错误:在旧数据被读出来之前新的数据覆盖了旧的数据—帧错误:接收数据没有有效的停止位当在3个字时间(与字长度位的设置有关)内没有接收到
5、任何数据而且RxFIFO非空时,将会产生一个接收超时条件。自动流控制(AFC)UART0和UART1经过nRTSandnCTS信号支持自动流控制,例如连接到外部UART时。如果用户希望将UART连接到一个MODEM,能够在UMCONn寄存器中禁止自动流控位,而且经过软件控制nRTS信号。在AFC时,nRTS由接收器的状态决定,而nCTS信号控制发送器的操作。只有当nCTS信号有效的时候(在AFC时,nCTS意味着其它UART的FIFO准备接收数据)UART发送器才会发送FIFO中的数据。在UART接收数据之前,当它的接收FIFO
6、多于2字节的剩余空间时nRTS必须有效,当它的接收FIFO少于1字节的剩余空间时nRTS必须无效(nRTS意味着它自己的接收FIFO开始准备接收数据)。图11-2UARTAFC接口注:UART2不支持AFC功能,因为S3C2410没有nRTS2和nCTS2。无AFC的例子资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。经过FIFO操作Rx1、2、选择接收模式(中断还是DMA模式)。检查UFSTATn寄存器中RxFIFO的值。如果值小于15(RXFIFO未满),用户必须将UMCONn[0]置1(nRT
7、S生效),如果大于等于15(RXFIFO已满),用户必须将UMCONn[0]清0(nRTS无效)。3、重复第2步。经过FIFO操作Tx1、选择发送模式(中断还是DMA模式)。2、检查UMCONn[0]的值,如果为1(nRTSactive),写数据到TxFIFORS-232C接口如果希望将UART连接到MODEM,nRTS,nCTS,nDSR,nDTR,DCD和nRI信号是必须的。这种情况下用户能够经过GPIO控制这些信号因为AFC不支持RS-232C接口。中断/DMA请求的产生每个UART有5个状态(Tx/Rx/Error
8、)信号:溢出错误、帧错误、接收缓冲满、发送缓冲空和发送移位寄存器空。这些状态体现在UART状态寄存器中的相关位(UTRSTATn/UERSTATn)。溢出错误和帧错误与接收错误状态相关,每个错误能够产生一个接收错误状态中断请求,如果控制寄存器UCONn中的