Nordic52810 uarte

2020-08-06  本文已影响0人  昨天剩下的一杯冷茶

原文
https://blog.csdn.net/libin55/article/details/101770888
本人是转发的,原文在上面。

一、前言

Nordic52810串口外设手册命名为 UARTE,直译的意思就是带EasyDma的通用异步收发器
52810仅一路UARTE0外设,应用中如果需要多路串口进行通信的话,可以重新映射到任意的GPIO引脚上,实现异步的串口切换(无法同时进行多路收发)

二、工作原理详解

UARTE功能特点

UARTE原理框图

如下图,RXD输入信号通过FIFO经由EasyDMA输出到RXD缓存中,输出反之EasyDMA读取TXD缓存,调制后经由TXD引脚发送

原理框图

数据发送

如下图

  • TXD.MAXCNT计数器中存放了需要发送的数据长度,使能STARTTX任务后即开始进行发送(将会生成一个TXSTARTTED指示开始发送)
  • 每发送一个字节后,会触发一个TXDRDY事件
  • 当数据发送完成后(MAXCNT)将会生成ENDTX事件
  • 使能STOPTX任务后,串口发送停止时将会触发一个TXSTOPPED事件
  • 当UARTE发送器停止时,如果尚未生成ENDTX事件,UARTE将显式生成ENDTX事件
  • 如果启用了发送流控CTS,当CTS被停用时传输将自动挂起,当CTS再次被激活时将继续传输
在这里插入图片描述

数据接收

EasyDma将串口接收的数据传到数据缓存中,如下图

  • RX缓存地址通过RXD.PTR寄存器指定
  • RX缓存大小由RXD.MAXCNT寄存器配置,当RX缓存填满后将会触发ENDRX事件
  • RXD每接收一个字节数据,将会产生RXDRDY事件
  • RXD.AMOUNT寄存器指示有多少数据已经被搬移到RAM中
在这里插入图片描述

三、寄存器

https://blog.csdn.net/qq_33784286/article/details/104899319
还有参考这篇文章。

上一篇 下一篇

猜你喜欢

热点阅读