首页 理论教育S5PV210异步串行通信-ARM原理与应用

S5PV210异步串行通信-ARM原理与应用

【摘要】:S5PV210处理器的UART模块提供了4个独立的异步串行输入/输出端口。UART支持最高3Mbit/s的传输速度。每个UART通道都包含两个FIFO用来接收和发送数据,其中UART0的FIFO为256B,UART1为64B,UART2和UART3为16B。S5PV210处理器的UART每个通道的结构可见图4.11所示。波特率发生器使用PCLK或SCLK_UART,发送器和接收器包含FIFO和数据移位寄存器。要发送的数据被写入Tx FIFO,然后被复制到发送移位寄存器,随后被发送引脚TxDn移出。波特率是将时钟源和波特率除数寄存器的值相除得到的。

S5PV210处理器的UART模块提供了4个独立的异步串行输入/输出端口。每个端口都支持中断模式或DMA模式,UART可产生一个中断或发出一个DMA请求,来传输CPU和UART之间的数据。UART支持最高3Mbit/s的传输速度。每个UART通道都包含两个FIFO用来接收和发送数据,其中UART0的FIFO为256B,UART1为64B,UART2和UART3为16B。

S5PV210处理器的UART每个通道的结构可见图4.11所示。每个UART包含一个波特率发生器、一个发送器、一个接收器和一个控制单元。波特率发生器使用PCLK或SCLK_UART,发送器和接收器包含FIFO和数据移位寄存器。要发送的数据被写入Tx FIFO,然后被复制到发送移位寄存器,随后被发送引脚TxDn移出。接收数据时,数据通过RxDn引脚移位进入接收移位寄存器中,最后被复制到Rx FIFO。

图4.11 UART结构图(www.chuimin.cn)

数据通信过程中,有一个状态寄存器UTRSTATn来描述当前状态下的发送状态和接收状态,通过查看状态寄存器中的相应位的值就可以确定当前状态下发送和接收的状态,从而判断是否可以发送数据,是有有新的数据到来。

每个UART波特率发送器为发送器和接收器提供串行时钟。波特率发生器的时钟源可以通过UCONn寄存器中的时钟选择位来选择PCLK或SCLK_UART。波特率是将时钟源和波特率除数寄存器(UBRDIVn)的值相除得到的。计算公式为:

UBRDIVn=[PCLK/(波特率×16)]-1