关键词不能为空

当前您在: 主页 > 英语 >

UART(中文版的数据手册)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-27 21:24
tags:

-

2021年2月27日发(作者:fitch)


第十一章



异步串口通信




概述



S3C2410



UART


提供


3

< p>
个独立的异步串行通信端口,每个端口可以基于中断


或者

< br>DMA


进行操作。换句话说,


UART

< br>控制器可以在


CPU



UART


之间产生一


个中断或者


DMA


请求来传输数据。


UART


在系统时钟下运行可 支持高达


230.4K


的波特率,如果使用外部设备提供的


UEXTCLK



UART


的速度还可以更高。每个


UART


通道各含有两个


16


位的接收和发送


FIFO




S3C2410



UART


包括可编程的波特率,红外



接收


/


发送,一个或两个停止位

< p>
插入,


5-8


位数据宽度和奇偶校验。

< p>


每个


UART


包括一个 波特率发生器、一个发送器、一个接收器和一个控制单


元,如图


11-1


所示。波特率发生器的输入可以是


PCLK

< p>
或者


UEXTCLK


。发送器

和接收器包含


16


位的


FIFO< /p>


和移位寄存器,数据被送入


FIFO


,然 后被复制到发送


移位寄存器准备发送,然后数据按位从发送数据引脚

TxDn


输出。同时,接收数据


从接收数据引脚

< p>
RxDn


按位移入接收移位寄存器,并复制到


FI FO





特性





RxD0, TxD0, RxD1, TxD1, RxD2,


TxD2


基于中断或者


DMA< /p>


操作





UART Ch 0, 1,



2


具有


IrDA 1.0 & 16


字节


FIFO




UART Ch 0



1


具有


nRTS0, nCTS0, nRTS1,



nCTS1




支持发生


/


接收握手




11-1


UART


方框图




串口操作



下述部分描述了


UART


的一些操作,包括数据发送、数据接收 、中断产生、波


特率发生、


loop- back


模式、红外模式和自动流控制。




数据发送



发送数据的帧结构是可编程的,它由


1


个起始位、


5-8


个数据位、


1


个可选 的奇


偶位和


1-2


个停止位组成,这些 可以在线控制寄存器


ULCONn


中设定。

接收器可


以产生一个断点条件——使串行输出保持


1


帧发送时间的逻辑


0


状态

。当前发送字


被完全发送出去后,这个断点信号随后发送。断点信号发送之后,继续 发送数据到


Tx FIFO(


如果没有


FIFO


则发送到


Tx


保持寄存器


)





数据接收



与数据发送一样,接收数据 的帧格式也是可编程的。它由


1


个起始位、

5-8


个数


据位、


1


个可选的奇偶位和


1-2


个停止位组成,这些可以在 线控制寄存器


ULCONn


中设定。


接 收器可以探测到溢出错误和帧错误






溢出错误:在旧数据被读出来之前新的数据覆盖了旧的数据





帧错误:



接收数据没有有效的停止位



当在


3


个字时间(与字长度位的设置有关)内没有接收到任何数据并且< /p>


Rx


FIFO


非空时,将会产生一个接 收超时条件





自动流控制


(AFC)


UART0< /p>



UART1


通过


nRTS and nCTS


信号支持自动流控制,例如连接到外部

< br>UART


时。如果用户希望将


UART

< br>连接到一个


MODEM


,可以在


UMCONn


寄存器


中禁止自动流控位,并且通过软件控制


nRTS


信号。




AFC


时,


nRTS


由接收器的状态决定,而


nCTS

< br>信号控制发送器的操作。只


有当


nCTS


信号有效的时候


(



AFC< /p>


时,


nCTS


意味着其它


UART



FIFO


准备接收


数据


)UART


发送器才会发送


FIFO


中的数据。在


UART


接收数据之前,当它的接



FIFO


多于


2


字节的剩余空间时


nR TS


必须有效,当它的接收


FIFO


少 于


1


字节的


剩余空间时


nRTS


必须无效(


nRTS


意味着它自己的接收


FIFO


开始准备接收数

< br>据)。




11-2


UART AFC


接口



注:


UART2


不支持


AF C


功能,因为


S3C2410


没有


nRTS2



nCTS2





AFC


的例子



通过


FIFO


操作


Rx


1




选择接 收模式(中断还是


DMA


模式)。



2




检查< /p>


UFSTATn


寄存器中


Rx FIFO


的值。如果值小于


15



RX FIFO


未满),用户必须将


UMCONn[ 0]



1(nRTS


生效


)


,如果大于等于


15


(< /p>


RX FIFO



满),用户必须将


UMCONn[0]



0(nRTS


无效


)




3


、重复第


2


步。




通过


FIFO


操作


Tx


1


、选择发送模式(中断还是


DMA


模式)。


2


、检查


UMCONn[0]< /p>


的值,如果为


1



nRTS active


),写数据到


Tx FIFO



RS-232C


接口



如果希望将


UART


连接到


M ODEM



nRTS, nCTS, nDSR, nDTR, DCD



nRI


信号


是必须的。这种情况下用户可以通过


GPIO


控制这些 信号因为


AFC


不支持


RS-232C


接口。




中 断


/DMA


请求的产生



每个


UART



5


个状态


(Tx/Rx/Error)


信号:溢出 错误、帧错误、接收缓冲满、发


送缓冲空和发送移位寄存器空。这些状态体现在


UART


状态寄存器中的相关位


(UTRSTA Tn/UERSTATn)




溢出错 误和帧错误与接收错误状态相关,每个错误可以产生一个接收错误状态


中断请求,如果控 制寄存器


UCONn


中的


receiv e-error-status-interrupt-enable


位被置

< p>
1


的话。如果探测到一个


receive- error-status-interrupt-enable


位,通过读

< p>
UERSTSTn


的值


可以识别这一中断请求。< /p>



控制寄存器


UCONn


的接收器模式为


1(


中断或者循环检测模式

< p>
)


:当接收器在


FIFO


模式下将一个数据从接收移位寄存器写入


FIFO


时,如果接收 到的数据到达了


Rx FIFO


的触发条件,

< br>Rx


中断就产生了。在无


FIFO


模式下,每次接收器将数据从移


位寄存器写入接收保持寄存器都将产生一个

< p>
RX


中断请求。



如果控 制寄存器的接收和发送模式选择为


DMAn


请求模式,在上面的 情况下则



DMAn


请求发生而不是< /p>


RX/Tx


中断请求产生。




UART


错误状态


FIFO


UART


除了


Rx FIFO


外还有错误状态


FIFO


。错误状态

< p>
FIFO


指示接收到的哪个数


据有错误。只有当有 错误的数据准备读出的时候才会产生错误中断。要清除错误状



FIFO



URXHn



UERSTATn


必须被读出。



例如:假设


UART Rx FIFO


顺序接收到


ABCD4


个字符,在接收


B


的时候发生了


帧错误。事实上


UAR T


接收错误并未产生任务错误中断,因为错误的数据


B


还没有


被读出,只有当读


B

字符的时候才会发生错误中断。图


11-3


描述了这一例子 。





波特率发生器



每个

< br>UART


的波特率发生器提供串行时钟给接收器和发送器。波特率发生器的


时钟源可以选择呢不系统时钟或者


UEXTCLK

。换句话说,通过设置


UCONn


的时钟

< br>选择被除数是可选的。波特率时钟通过对时钟源


(PCLK OR UEXTCL K)


进行


16



频,然后进行一个


16


位的除数分频得到,这个分频数由波特 率除数寄存器


UBRDIVn


指定。


U BRDIVn


可由下式得出:



UBRDIVn = (int)(PCLK/(bps * 16) ) -1


此除数应该在


1-(2


< br>16



-1)


之间。

< p>


为了


UART


的精确性 ,


S3C2410


还支持


UEXTCL K


作为被除数。



< br>如果使用


UEXTCLK


(由外部


UART


设备或者系统提供),串行时钟能够精确地



UEXTCLK


同步,因此用户可以得到更精确的

UART


操作,


UBRDIVn


由 下式决


定:




UBRDIVn = (int)(UEXTCLK / (bps x 16) )



1


此除数应该在

< br>1-(2



16



-1)


之间,且


UEXTCLK

要比


PCLK


低。



例如,如果波特率为


115200bps


,而


PCLK


或者


UEXTCLK



40MHz


,则


UBRDI Vn


为:



UBRDIVn = (int)(40000000/(115200 x 16)) -1


= (int)(21.7) -1


= 21 -1 = 20



波特率错误容差



UART

< p>
的帧错误应该少于


1.87%(3/160)


。< /p>



UART Frame error should be less than 1.87%(3/160).


tUPCLK = (UBRDIVn + 1) x 16 x 1Frame / PCLK


tUPCLK : Real UART Clock


tUEXACT = 1Frame / baud-rate



tUEXACT : Ideal UART Clock


UART error = (tUPCLK



tUEXACT) / tUEXACT x 100%


注意:


1



1



=


起始位


+


数据位


+


奇偶位


+


停止位




2


、在特定条件下,波特率上限可达


921.6K


,例如当


PCLK


60MHZ


时,


可以使用


921.6K


的波特率而误差为


1.69%



loop- back


模式



为了识别通讯连接中的 故障,


UART


提供了一种叫


loop -back


模式的测试模式。


这种模式结构上使能了

< p>
UART



TXD



RXD


连接,因此发送数据被接收器通过


R XD


接收。这一特性允许处理器检查每个


SIO


通道的内部发送到接收的数据路径。可以


通过设置


UA RT


控制寄存器


UCONn


中的


loopback


位选择这一模式。




红外


(IR)


模式



UART


支持红外


(IR)


接收和发送,可以通过设置


UART


线控制寄存 器


ULCONn



Infra- red-mode


位来进入这一模式。图


11-4


阐述了如何实现


IR


模式。




IR


发送模式下,发送脉冲的比例是


3/16


——正常的发送比率


(


当发送数据位为


0


的时候

)


;在


IR


接收模式下,接收器必 须检测


3/16


的脉冲来识别


0


值(见图


11-6



11-7


所示的帧时序)。









UART SFR


UART


线控制寄存器


ULCONn



3



UAR T


线控制寄存器:


ULCON0, ULCON1, and ULCON2




-


-


-


-


-


-


-


-



本文更新与2021-02-27 21:24,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/676090.html

UART(中文版的数据手册)的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文