研究背景
项目需要使用到Zynq的UARTLITE核,在测试过程中发现,使用中断方式收串口数据时,会丢包,为了排查该问题,对UARTLITE进行了详细研究,形成该小结。
UARTLITE简介
该小结内容摘自UARTLITE的datasheet。
UARTLITE特性
datasheet中列出的UARTLITE feature有如下几点:
- 接口为AXI接口,具体为 AXI4-Lite
- 全双工,一个发送通道一个接收通道
- 内置一个收fifo和有一个发fifo,大小均为16字节,fifo大小不可配
- 数据位支持5~8比特,可配置
- 校验位可配置,支持奇校验、偶校验和无校验
- 波特率可配置
值得注意的是,数据位、校验位以及波特率的配置,均不支持在PS端配置。
UARTLITE模块组成
UARTLITE组成框图如上图所示,由AXI接口模块、UARTLITE寄存器模块以及UART控制模块三个部分组成,其中:
- 寄存器模块只包含4个寄存器,分别是收数寄存器、发数寄存器、状态寄存器以及控制寄存器;
- 控制模块包含一个独立的波特率生成器,以及一个控制单元,用于控制中断信号的输出。 <