Ultrascale+ ZYNQ UART(一)Controller介绍

目录

01 PS端 UART 控制器介绍

UART Controller 特性

UART Controller功能模块图

Baud Rate Generator

Mode Switch

UART Controller寄存器总览

02 文章总结


大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。

Xilinx分享篇已经对GPIO、AXI DMA的总结进行了分享,本篇系列开始分享Ultrascale+ Zynq SOC的PS端UART的分享总结;

本篇系列总结的都是基于Ultrascale+ ZYNQ系列的内容,与其他系列会有一些内容上的差异,注意区别。


好的,话不多说,直接进入主题。

01 PS端 UART 控制器介绍

UART Controller 特性

  • 波率可调

  • 送/接收FIFOs可配置,有字节、半字、字的APB访问机制

  • 数据位可配置为6bit、7bit、8bit

  • 停止位可配置为1bit、1.5bit、2bit

  • 校验位可配置为奇(Odd)、偶(Even)、空格(Space)、标记(Mark)、无校验(No Parity)

  • 支持奇偶校验错误、帧错误、溢出错误检测

  • 断行的生成以及检测

  • 支持自动回显、本地环回、远程环回通道模式

  • 可产生中断

  • 支持Modem Control:CTS,RTS,DSR,DTR,RIDCD

  • 时钟:APB时钟(100Mhz)以及uart_ref_clock([1,100]Mhz)


UART Controller功能模块图

图片

模块描述
①Transmit FIFOTxFIFO存储来自APB Slave接口的数据,数据出FIFO到Transmitter的移位寄存器,TxFIFO最大数据位宽为8bit;FIFO深度为64字节;
② Receiver FIFORxFIFO存储来自Receiver移位寄存器接收到的数据,RxFIFO最大数据位宽为8bit;FIFO深度为64字节;
③Mode Switch控制UART的模式(普通、自动回传、本地环回、远程环回);通过mode寄存器的[CHMODE]位配置不同的模式;
④MIO/EMIO实际与外部进行连接的物理引脚
⑤Interrupts中断模块,用于产生中断(IRQ);
⑥Baud Rate Generator为Tx/Rx产生波特率时钟和比特周期时钟;

  • Baud Rate Generator

    图片

说明
①输入时钟选择

波特率模块输入时钟为UART_REF_CLK或者UART_REF_CLK/8,通过配置模式寄存器的[0(CLKS)]位进行选择;经过一个二选一选择器输出为sel_clk:

sel_clk = (UART_Ref_clock) || (UART_Ref_clock/8);

②生成波特率采样时钟

sel_clk经过CD分频后,作为波特率的采样时钟,通过Baud Rate Generator寄存器的CD字段设置(CD=[1,65535]);

Baud_sample = sel_clk/CD;

分频后的Baud Sample时钟分为两路:

  •     用作Tx、Rx的时钟的采样时钟(过采样);

  •     作为生成Tx、Rx时钟的分频输入时钟;

③生成Tx、Rx传输时钟

Baud Sample时钟经过[BDIV+1]分频后作为Rx、Tx的传输时钟,通过Baud Rate Divider寄存器的BDIV字段设置(BDIV=[4,255]):

Baud_sample = sel_clk/[ CD * (BDIV + 1) ];


  • Mode Switch

图片

模式描述
Normal Mode标准UART操作;
Automatic Echo Mode从RxD引脚接收数据,同时RxD引脚连接TxD引脚,接收的时候通过RxD返回;
Local Loopback ModeTxD和RxD与Mode Switch没有物联引脚连接,数据从Transmit发送,到Receive接口;
Remote Loopback ModeRxD引脚与TxD引脚直接连接,Controller不参与接发过程;

UART Controller寄存器总览

串口寄存器如下表所示:

图片


02 文章总结

本篇推文主要是对Ultrascale+ ZYNQ Uart Controller外设进行简单介绍,对于文档中数据的捕获、传输有效等内容并未在此描述。

参考文档:

《UG1085-zynq-ultrascale-trm.pdf》

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰克拉力船长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值