微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 串口通讯基础及S3C2410 UART控制器

串口通讯基础及S3C2410 UART控制器

时间:12-06 来源:互联网 点击:

CPU内部外设总线(APB)的工作时钟。

当需要得到更精确的波特率时,可以选择由 UCLK 引入的外部时钟来生成。

UBRdivn=(int)(UCLK/(bps*16))-1

LoopBack操作模式

S3C2410 CPU的UART提供了一种测试模式,也就是这里所说的LoopBack模式。在设计系统的具体应用时,为了判断通讯故障是由于外部的数据链路上的问题,还是CPU内驱动程序或CPU本身的问题,这就需要采用LoopBack模式来进行测试。在LoopBack模式中,资料发送端TXD在UART内部就从逻辑上与接收端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 :选择接收中断类型。

选择0:Pulse(脉冲式/边沿式中断。非FIFO模式时,一旦接收缓冲区中有资料,即产生一个中断;为FIFO模式时,一旦当FIFO中的资料达到一定的触发水平后,即产生一个中断)

选择1:Level(电平模式中断。非FIFO模式时,只要接收缓冲区中有资料,即产生中断;为FIFO模式时,只要FIFO中的资料达到触发水平后,即产生中断)

Tx Interrupt Type :类同于Rx Interrupt Type

Clock Selection :选择UART波特率发生器的时钟源。

  

图5-14

UFCONn (UART FIFO Conrtol Register)见图5-15

FIFO Enable :FIFO使能选择。

Rx FIFO Reset :选择当复位接收FIFO时是否自动清除FIFO中的内容。

Tx FIFO Reset :选择当复位发送FIFO时是否自动清除FIFO中的内容。

Rx FIFO Trigger Level :选择接收FIFO的触发水平。

Tx FIFO Trigger Level :选择发送FIFO的触发水平。

  

图5-15

UMCONn (UART Modem Control Register)见图5-16

Request to Send :如果在AFC模式下,该位将由UART控制器自动设置;否则的话就必须由用户的软件来控制。

Auto Flow Control :选择是否使能自动流控(AFC)。

  

图5-16

UTRSTATn (UART TX/RX Status Register)见图5-17

Receive buffer data ready :当接收缓冲寄存器从UART接收端口接收到有效资料时将自动置“1”。反之为“0”则表示缓冲器中没有资料。

Transmit buffer empty :当发送缓冲寄存器中为空,自动置“1”;反之表明缓冲器中正有资料等待发送。

Transmitter empty :当发送缓冲器中已经没有有效资料时,自动置“1”;反之表明尚有资料未发送。

  

图5-17

UERSTATn (UART Error Status Register)见图5-18

Overrun Error :为“1”,表明发生Overrun错误。

Frame Error :为“1”。表明发生Frame(帧)错误。

  

图5-18

UFSTATn :(UART FIFO Status Register)见图5-19

Rx FIFO Count :接收FIFO中当前存放的字节数。

Tx FIFO Count :发送FIFO中当前存放的字节数。

Rx FIFO Full :为“1“表明接收FIFO已满。

Tx FIFO Full :为“1“表明发送FIFO已满。

  

图5-19

UMSTATn :(UART FIFO Status Register)见图5-20

Clear to Send :为“0”表示CTS无效;为“1”表示CTS有效。

Delta CTS :指示自从上次CPU访问该位后,nCTS的状态有无发生改变。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top