历史上的今天
返回首页

历史上的今天

今天是:2024年10月11日(星期五)

正在发生

2019年10月11日 | stm32F4-----DMA的FIFO作用和用法

2019-10-11 来源:eefocus

在STM32F4系列中DMA增加了个FIFO;这个FIFO的作用是什么?

当我使能这个FIFO时(DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;),进仿真模式查看接收数组,他只更新16个字节(我在外边发进去20个字节);读取DMA接收数据个数寄存器显示DMA接收到了20个字节,我 第二次发送数据,接收缓冲又只更新了16个字节(包含上一次未更新的字节);当我把FIFO关闭时(DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;),我在外边不论发送多少字节都一次性更新到接收缓冲区中;这个FIFO的作用是什么?应该在何时使用?怎么用?


DMA 无非就是为了加快数据的传输. 多组数据可以用 burst 方式传输. 字节数据在 FIFO 中变换成 WORD 传输, 减少传输次数.


象你的问题在于, FIFO 的深度设定为 16 了, 这样还有四个字节在 FIFO 中, 数据没有丢失除非你在随后涮洗了 FIFO, 会跟后续的数据一起凑成 16 字节再次传输.你可以减少FIFO 的深度, 比如设置成 1/4. 这样每收到4个字节就会传输. 不过没有更小的选项了. 如果还是不能满足你的要求, 那考虑用 DIRECT 模式吧


建议你将传输计数值设置为20,这样当20个数据进入之后,会全部传输到RAM中,如果你设置FIFO 为 DMA_FIFOThreshold_Full 那么,中间会发生2次传输,一次16字节,一次4字节。


如果你设置FIFO 为 DMA_FIFOThreshold_HalfFull 那么,中间会发生3次传输,一次8字节,一次8字节,一次4字节。

推荐阅读

史海拾趣

Electrocube Inc公司的发展小趣事

随着科技的不断进步,Electrocube Inc公司始终将技术创新作为发展的核心动力。公司投入大量研发资金,积极引进高端人才,不断推出具有领先水平的电子产品。其中,一款具有自主知识产权的高温电容器,以其卓越的性能和稳定性,在航空航天、汽车电子等高端领域得到了广泛应用,进一步提升了公司的市场竞争力。

FWBELL公司的发展小趣事
合理的温度控制可以减少电池在充电过程中的热应力,从而延长电池的使用寿命。
广州奥松公司的发展小趣事

随着公司的不断发展,奥松电子陆续获得了多项荣誉资质,如“国家专精特新‘小巨人’企业”、“国家高新技术企业”等。这些荣誉的获得,不仅证明了公司在电子行业中的实力与地位,也为公司的品牌建设提供了有力的支撑。同时,这些荣誉也为公司的市场拓展和业务发展提供了更多的机遇和可能。

ept Connectors公司的发展小趣事

EPT Connectors公司成立于1967年,由创始人Bernhard Guglhör在德国的某个小镇上创建。起初,公司专注于连接器的小规模制造,以满足当地电子设备的需求。随着技术的不断进步和市场的扩大,EPT逐渐意识到连接器在电子设备中的重要性,并决定专注于这一领域的发展。经过几年的努力,EPT在德国建立了自己的总部,并开始向国际市场拓展。

协顺电子(Finecables)公司的发展小趣事

随着公司业务的不断拓展,协顺电子逐渐意识到品质和创新的重要性。公司投入大量资金引进先进的生产设备和技术人才,同时加强内部管理和质量控制。此外,协顺电子还积极与国内外知名企业和研究机构合作,共同研发新产品和新技术。这些举措使得公司的产品质量和技术水平得到了显著提升,也赢得了客户的广泛赞誉。

CITIZEN公司的发展小趣事

近年来,西铁城公司在市场推广方面也进行了一些大胆的尝试。其中,与著名花样滑冰选手羽生结弦的跨界合作尤为引人注目。双方共同推出了限量版签名腕表“四周半”,这一产品以羽生结弦的经典动作为灵感,融合了西铁城独特的光动能技术,展现了技术与艺术的完美结合。这一合作不仅提升了西铁城品牌的市场影响力,也展示了公司在产品创新和市场推广方面的新思路和新策略。

这些故事只是西铁城公司发展过程中的一部分,但它们都充分展示了公司在电子行业中的创新实力和市场竞争力。从最初的维修和销售到如今的全球知名品牌,西铁城的发展历程充满了挑战和机遇,也为我们提供了一个观察电子行业发展和变革的窗口。

问答坊 | AI 解惑

TINA ti 仿真

我用TINA_TI直流/交流仿真时出现“TINA7仿真出现“Circuit must contain at least one  IC”的对话框怎么办?为什么会这样…

查看全部问答>

关于WINCE中断

请教一下高手,CPU接到中断后在OEMInterruptHandler处理后,返回了中断号,然后会调用哪个函数呀?谢谢!…

查看全部问答>

LM3S811DDLLXXRR笔记之七:比较器

这个比较器可以代替,模拟比较器。哪天再深入测下。现在先介绍下函数先:   比较器API提供一组函数来处理模拟比较器。比较器可以将一个测试电压和单个外部参考电压、一个公共的单端外部参考电压或一个公共的内部参考电压相比较。比较器可以 ...…

查看全部问答>

Application profile是ZIGBEE联盟定义的应用规范, 那Device profile是什么?急!!!

也就是所谓的ZDP。。。跟前面一个什么区别?急!!!!…

查看全部问答>

博世安防技术现身知名的莫斯科大剧院

博世安防技术现身知名的莫斯科大剧院 慧聪安防网讯 当著名的莫斯科大剧院于2005年至2011年期间进行整修时,博世被指派开发和 安装最先进的安防系统,包括防火、广播、疏散和视频监控技术。新的系统不仅要提供全面的、可 共同操作的网络,而且还 ...…

查看全部问答>

【视频分享】WEBENCH 系统电源架构

来自TI硅谷实验室的Jeff为您演示 WEBENCH 系统电源架构。这是一个用于热插拔集成和完整的系统级电源设计的工具。 $(\'swf_zkk\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'all ...…

查看全部问答>

富士通FRAM心得提交——MB85RC64

本帖最后由 ltbytyn 于 2013-12-27 14:22 编辑 本文中将使用MB85RC64来代指MB85RC64PNF_G_JNERE1。    前段时间申请到了富士通的MB85RC64(FRAM,铁电随机存取存储器)。看资料MB85RC64与传统的24C64(E2PROM)完全兼容(存储空间、封 ...…

查看全部问答>

BQ24195 OTG PIN 怎么控制

充电时是什么电平,放电时是什么电平,边充边放是什么电平。有谁有BQ24195中文规格书。发我邮箱一下,谢谢!…

查看全部问答>

麦克风前置放大输入与输出电压信号相位反相对声音的影响

做了一个简单的麦克风前置放大,用的是分立元件三极管,第一级共射放大,第二级共集,咪头拾取到的输入信号与经三极管放大后的输出信号电压相位是相反的,相差180度,这样出来的声音和原始声音会不会差别很大。 …

查看全部问答>

TI CC2650 套件注意事项汇总

最近在用TI的CC2650做一款低功耗蓝牙设备,板子入手两天,发现了一些使用中常遇到的问题,为避免大家走弯路,整理上来,以供参考。 1:开发环境我用的IAR 7.4,SDK版本tirtos_simplelink_2_11_01_09,ble_cc26xx_2_00_00_42893。 建议在完全理解开 ...…

查看全部问答>