请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 927|回复: 2
收起左侧

[DMA] 新手有关DMA突发传输的不解

[复制链接]

2

主题

5

回帖

11

积分

新手上路

积分
11
发表于 2022-6-24 10:45:58 | 显示全部楼层 |阅读模式
假如DMA配置传输方向是从存储器到外设,根据手册描述,此时使能EN,数据流会立即启动传输,从源完全填充FIFO(16字节完全填满???)。每次发生外设请求,FIFO的内容都会移出并存储到外设数据寄存器中,当FIFO级别小于或等于预定义的阈值级别时,将使用存储器中的数据完全重载FIFO。当DMA_SxNDTR中的值减到0时,此次请求所对应要传输的数据流传输完成。
问题1:
在突发模式下,可以分别配置存储器端口和外设端口的突发模式。在上述情形下,配置存储器突发是指存储器每次发送到FIFO中的数据量;配置外设端口突发是指从FIFO中每次传输给外设的数据量。这样理解对吗???
问题2:
在上述情况下,当外设发送请求时,从FIFO中取数据到外设,如果取数据时FIFO内的数据量达到了阈值级别,FIFO被重装在,而数据还没取完,这样不就丢失数据了?
问题3:
FIFO的封装、解封:源数据宽度小于目的数据宽度,此时FIFO进行的时封装;相反则FIFO进行的时解封,可以这样理解吗?
回复

使用道具 举报

210

主题

1041

回帖

1681

积分

至尊会员

More we do, more we can do.

积分
1681
发表于 2022-6-24 12:59:02 | 显示全部楼层
FIFO使能时,DMA传输触发源是TXFNF或RXFNE,跟设置的FIFO阈值没关系
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106398
QQ
发表于 2022-6-24 13:58:57 | 显示全部楼层
FIFO的理解不对,FIFO作用是降低带宽和源地址目的地址不同位宽数据拆封,并不存在什么一定存满才可以使用。
1、准确的理解是下面的的框图。

image.png

2、理解不对,DMA FIFO是阻塞式的,基本不存在丢包问题。
3、不同位宽情况下,源地址数据组装可以统称为封包,目的地址数据可以统称解包。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-19 06:49 , Processed in 0.164765 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表