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

时间:2016-12-06来源:网络

  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的状态有无发生改变。

  为“0”则说明不曾改变;反之表明nCTS信号已经变化了。

    

 

  图5-20

  UTXHn 和 URXHn 分别是UART发送和接收资料寄存器

  这两个寄存器存放着发送和接收的资料,当然只有一个字节8位资料。需要注意的是在发生溢出错误的时候,接收的资料必须要被读出来,否则会引发下次溢出错误

  UBRDIVn :(UART Baud Rate Divisor Register)见图5-21

    

 

  图5-21

  关于UART波特率的计算方法,在前面的内容中已经有详细的阐述,此处不做多余说明。

  小结:读写状态寄存器UTRSTAT 以及错误状态寄存UERSTAT,可以反映芯片目前的读写状态以及错误类型。FIFO 状态寄存器UFSTAT 和MODEM 状态寄存器UMSTAT,通过前者可以读出目前FIFO 是否满以及其中的字节数;通过后者可以读出目前MODEM 的CTS状态。

1 2

关键词: 串口 UART

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版