UART之软件篇(2)
ARM PL011 Introduction
参考ARM PL011技术手册(https://developer.arm.com/documentation/ddi0183/f)
Features
-
符合
AMBA规范
(Rev 2.0),便于集成到SoC实现。 -
可编程使用
UART或IrDA SIR
输入/输出。IrDA SIR红外编解码暂时接触的少。 -
独立的
32×8发送
和32×12接收
先进先出(FIFO)内存缓冲区,以减少CPU中断。 -
可编程禁用FIFO,默认为1 byte深度
。 -
标准异步通信位(启动、停止和奇偶校验)。
这些在传输之前添加,在接收时删除
。 -
发送FIFO、接收FIFO、接收超时、调制解调器状态和错误条件可
独立屏蔽中断
。 -
支持DMA
-
错误起始位检测。断行的产生与检测。
-
支持硬件流控,支持modem控制功能CTS、DCD、DSR、RTS、DTR、RI。
-
完全可编程串行接口特点:
-
数据可以是5/6/7/8 bits
-
偶校验、奇校验、无奇偶校验、固定校验位
-
1/2 stop bit
-
可编程波特率发生器
-
-
红外IrDA SIR编解码
-
可编程使用
IrDA SIR or UART input/output
-
IrDA SIR ENDEC最高速率115200bps,半双工
-
Others
-
UART参数控制寄存器
UARTLCR_H
Defines the:-
transmission parameters
-
word length
-
buffer mode
-
number of transmitted stop bits
-
parity mode
-
break generation.
UARTIBRD
Defines the integer baud rate dividerUARTFBRD
Defines the fractional baud rate divider -
-
数据发送和接收
发送时,数据写入发送32 byte FIFO,启动数据发送,每一帧增加控制参数的bit,如校验和停止位
接收时,接收FIFO有额外的4 bit状态信息
11 Overrun indicator
10 Break error
9 Parity error
8 Framing error
7:0 Received data