Click to edit Master text styles,Second level,*,TM,Click to Edit Master Title Style,*,第十五讲,UART,串口,S3C2410,的,UART,提供,3,个独立的异步串行通信端口,每个端口可以基于中断或者,DMA,进行操作。,S3C2410,的,UART,包括可编程红外接收,/,发送以及,16,位的,FIFO,。,UART,通道,0,和,1,具有,nRTS0,nCTS0,nRTS1,和,nCTS1,。,1.UART,的内部结构,(,1,),自动流控制,(,AFC,),UART0,和,UART1,通过,nRTS,and,nCTS,信号支持自动流控制。,在,AFC,时,,nRTS,由接收器的状态决定,而,nCTS,信号控制发送器的操作。只有当,nCTS,信号有效的时候,UART,发送器才会发送,FIFO,中的数据。在,UART,接收数据之前,当它的接收,FIFO,多于,2,字节的剩余空间时,nRTS,必须有效,当它的接收,FIFO,少于,1,字节的剩余空间时,nRTS,必须无效。,(,2,)非,自动流控制,(,AFC,),使用,FIFO,的接收操作:,1,)选择接收模式(中断还是,DMA,模式)。,2,)检查,UFSTATn,寄存器中,Rx FIFO,的值。如果值小于,15,,用户必须将,UMCONn0,置,1,(,nRTS,生效),如果大于等于,15,,用户必须将,UMCONn0,清,0,(,nRTS,无效)。重复 第,2,步。使用,FIFO,发送操作:,1,)选择发送模式(中断还是,DMA,模式)。,2,)检查,UMCONn0,的值,如果为,1,,写数据到,Tx,FIFO,。重复第二步。,(,3,),RS-232C,接口,如果希望将,UART,连接到,MODEM,,,nRTS,nCTS,nDSR,nDTR,DCD,和,nRI,信号是必须的,在这种情况下,用户可通过,GPIO,端口产生这些信号,因为,AFC,不支持,RS-232,接口。,(,4,),中断,/DMA,请求的产生,(,5,)波特率,UBRDIVn,=(,int)(PCLK,/(bps*16)-1,(,6,),loop-back,模式 为了识别通讯连接中的故障,,UART,提供了一种叫,loop-back,模式的测试模式。这种模式结构上使能了,UART,的,TXD,和,RXD,连接,即自发自收。(,7,),UART,红外(,IR,)支持红外,(IR),接收和发送,可以通过设置,UART,线控制寄存器,ULCONn,的,Infra-red-mode,位来进入这一模式。,2.UART,的特殊功能寄存器(,1,),UART,的线路控制寄存器,(,2,)端口,B,的可编程寄存器,(,2,),UART,控制寄存器,UCONn,(,3,),UART FIFO,控制寄存器,UFCONn,(,4,),UART MODEM,控制寄存器(,UMCONn,),1.,端口,C,介绍(,1,)端口,C,引脚含义,(,5,),UART TX/RX STATUS REGISTER,(,6,),UART,错误状态寄存器(,UERSTATn,),(,7,),UART FIFO 状态寄存器(UFSTATn),(,8,),UART MODEM,状态寄存器(,UMSTATn,),(,9,),UART,发送缓冲寄存器(保持,&FIFO,寄存器),(,9,),UART,接收缓冲寄存器(保持,&FIFO,寄存器),(,10,),UART BAUD RATE,除数寄存器(),图,1 UART AFC,接口,7.,端口,H,介绍(,1,)端口,H,引脚含义,(,2,)端口,H,的可编程寄存器,1,)端口,H,寄存器描述以及地址分配,2,)端口,H,数据以及上拉电阻寄存器,3,)端口,H,的控制寄存器,8.,杂项控制寄存器(,MISCCR,),9.DCLK,控制寄存器(,DCLKCON,),只有当,CLKOUT1:0,设置为发生,DCLKn,信号时,DCLKCON,寄存器才会生效。,10.,外部中断控制寄存器(,EXTINTn,),11.,外部中断滤波寄存器(,EINTFLTn,),12.,中断屏蔽寄存器(,EINTMASK,),13.,中断请求寄存器(,EINTPEND,),14.,通用状态寄存器(,GSTATUSn,),注:,GSTATUS3,存放的是在掉电模式下的返回地址,3,)端口,G,的控制寄存器,(,2,)端口,G,的可编程寄存器,1,)端口,G,寄存器描述以及地址分配,2,)端口,G,数据以及上拉电阻寄存器,