RH850 DMA UART UART通信使用DMA进行数据传输

DMA是一种直接内存访问技术,用于在不占用CPU资源的情况下进行数据传输。文章详细阐述了DMA的基本特性,包括多个DMA通道、不同数据宽度支持及通道优先级。同时,介绍了UART的DMA数据发送和接收流程,包括配置源地址、目的地址、传输次数以及硬件或软件触发方式。

DMA通信基本原理

DMA(Driect Memory Access),直接寄存器访问,DMA控制器通过硬件总线的方式将数据从源地址拷贝到目的地址,通过DMA进行数据传输过程中,不需要占用CPU。通过DMA进行数据传输,避免数据传输占用CPU资源,从而影响CPU对于其他事件的响应/处理速度。

DMA通信框图

DMA基本特性

DMA通道:2个DMA单元各8个通道,共16个DMA通道

传输数据大小:支持8bit,16bit,32bit数据传输

最大传输次数:65535

通道优先级:(0-15),设置为0优先级最高,15则最低

通道请求:每个DMA通道有特定的硬件触发请求,所有通道都可配置软件触发

硬件触发:配置DMA通道数据传输为硬件中断触发的方式,当对应的硬件中断发生,则开始执行DMA传输,外设与存储器,存储器与外设之间的通信可采用此方式。

软件触发:配置完DMA通道后,通过软件逻辑触发的方式进行DMA数据传输。

UART DMA数据发送流程

1)失能DMA通道传输功能,DTE = 0;

2)配置源地址DSA,目的地址DDA;

3)配置传输次数;

4)配置通道硬件触发,选择对应UART TX的使能中断号。注意:配置UART数据发送时先通过软件发送一个字节数据到UART,然后硬件触发DMA传输接下来的数据

5)使能DMA通道传输,使能DMA中断功能

UART DMA数据接收

1)失能DMA通道传输功能,DTE = 0;

2)配置源地址DSA,目的地址DDA;

3)配置传输次数(可设置循环接收);

4)配置通道硬件触发,选择对应UART RX的使能中断号

5)使能DMA通道传输,使能DMA中断功能

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值