关闭

S3C2410数据资料之UART

763人阅读 评论(0) 收藏 举报
 

S3C2410数据资料之UART

  

自动流控模式
S3C2410UART0UART1都可以通过各自的nRTSnCTS信号来实现自动流控。
在自动流控(AFC)模式下nRTS取决于接收端的状态,而nCTS控制了发送断的操作。具体地说:只有当nCTS有效时(表明接收方的FIFO已经准备就绪来接收资料了),UART才会将FIFO中的资料发送出去。在UART接收资料之前,只要当接收FIFO有至少2-byte空余的时候,nRTS就会被置为有效。图5-12UART 自动流控模式的连接方式 

5-12

中断/DMA请求产生
S3C2410
的每个UART都有7种状态,分别是:溢出覆盖(Overrun)错误、奇偶校验错误、帧出错、断线错误、接收就绪、发送缓冲空闲、发送移位器空闲。它们在UART状态寄存器 UTRSTATn / UERSTATn 中有相应的标志位。

波特率发生器
每个UART控制器都有各自的波特率发生器来产生发送和接收资料所用的序列时钟,波特率发生器的时钟源可以CPU内部的系统时钟,也可以从CPU UCLK 管脚由外部取得时钟信号,并且可以通过 UCONn 选择各自的时钟源。
波特率产生的具体计算方法如下:
当选择CPU内部时钟时:
UBRDIVn=(int)(PCLK/(bps*16))-1,bps
为所需要的波特率值,PCLKCPU内部外设总线(APB)的工作时钟。
当需要得到更精确的波特率时,可以选择由 UCLK 引入的外部时钟来生成。
UBRDIVn=(int)(UCLK/(bps*16))-1
LoopBack操作模式
S3C2410 CPU
UART提供了一种测试模式,也就是这里所说的LoopBack模式。在设计系统的具体应用时,为了判断通讯故障是由于外部的数据链路上的问题,还是CPU内驱动程序或CPU本身的问题,这就需要采用LoopBack模式来进行测试。在LoopBack模式中,资料发送端TXDUART内部就从逻辑上与接收端RXD连在一起,并可以来验证资料的收发是否正常。
UART控制寄存器
下面将针对UART的各个控制寄存器逐一进行讲解,以期对UART的操作和设置能有更进一步的了解。

ULCONn UART Line Control Register)见图5-13

5-13

Word Length :资料位长度
Number of Stop Bit
:停止位数
Parity Mode
:奇偶校验位类型
Infra-Red Mode
UART/红外模式选择(当以UART模式工作时,需设为0”

UCONn UART Control Register)见图5-14
Receive Mode
:选择接收模式。如果是采用DMA模式的话,还需要指定说使用的DMA信道。
Transmit Mode
:同上。
Send Break Signal
:选择是否在传1帧资料中途发送Break信号。
Loopback Mode
:选择是否将UART置于Loopback测试模式。
Rx Error Status Interrupt Enable
:选择是否使能当发生接收异常时,是否产生接收错误中断。
Rx Time Out Enable
:是否使能接收超时中断。
Rx Interrupt Type
:选择接收中断类型。
选择0Pulse(脉冲式/边沿式中断。非FIFO模式时,一旦接收缓冲区中有资料,即产生一个中断;为FIFO模式时,一旦当FIFO中的资料达到一定的触发水平后,即产生一个中断)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27661次
    • 积分:605
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:1篇
    • 译文:0篇
    • 评论:5条
    文章分类
    文章存档