S5PV210 处理器提供了 4 个独立的异步串行 I/O 端口 (或通道) , 每个端口都可以工作于中断或者 DMA 模式,也就是说 UART 控制器可以通过发出中断或 DMA
请求以便在 CPU 和 UART 间传输数据。S5PV210 的 UART 波特率最大可达 3Mbps。每个 UART 通道都有 2 种 FIFO (缓存区),一种是发送 FIFO,另一种是接收 FIFO,而
通道 0 的 FIFO 深度是 256 bytes,通道 1 的 FIFO 深度是 64 bytes,通道 2 和通道 3 的 FIFO 深度都是 16 bytes发送数据时, CPU 先将数据写入发送 FIFO 中,然后 UART 控
制器会自动将 FIFO的数据复制到“transmit shifter”,它按照设定的格式将数据一位一位地发送到 TxDn 数据线上。接收数据时, “receive shifter”将 RxDn 数据线上的数据一
位一位接收进来,然后复制到接收 FIFO 中,CPU 即可从中读取数据。每一个 UART 都包含四个主要部分,分别是波特率发生器、控制单元、发送器和接收器。发送器中包含
一个移位器和一个发送 FIFO 寄存器,接收器中同样包含一个移位器和一个接收 FIFO 寄存器。
UART波特率的计算
公式·1:DIV_VAL = (SCLK_UART/(bps * 16)) – 1
公式2:DIV_VAL = UBRDIVn + (UDIVSLOTn 值为 1 的个数) / 16;
DIV_VAL = ( PCLK / (bps * 16))