利用DMA提升低功耗可穿戴设备外设监测效率

发布时间:2025-02-12 阅读量:2904 来源: 发布人: lina

【导读】嵌入式系统执行的一个常见任务是管理外部输入。管理输入会给处理器带来很多不必要的计算压力,导致处理器处于有功功率模式下的时间更长,响应速度更慢。为了优化功率,保持对事件的快速响应以及管理大量数据连续传输,具有直接内存访问(DMA)的微控制器可提供更好的解决方案。


嵌入式系统执行的一个常见任务是管理外部输入。管理输入会给处理器带来很多不必要的计算压力,导致处理器处于有功功率模式下的时间更长,响应速度更慢。为了优化功率,保持对事件的快速响应以及管理大量数据连续传输,具有直接内存访问(DMA)的微控制器可提供更好的解决方案。


01 直接内存访问(DMA)

在涉及外设的系统应用中,微处理器在许多点可能都会遭遇瓶颈。例如,在管理一个不断发送数据的ADC时,处理器可能时常被中断,导致它很难完成其他任务。DMA是一种在大型或快速数据处理事务中移动数据和尽量减少处理器参与的方法。您可以将DMA控制器当做一个协处理器,它的唯一作用就是与存储器和外设交互。通过这种方式,主处理器可以成功管理工作量大的外设,专注于处理其他任务,甚至可以在后台处理数据时进入睡眠状态,以节省功率。例如,在Arm®架构上,DMA模块可以在LP2(睡眠)或LP3(运行)模式下运行。对于需要更长的电池寿命的应用,例如可穿戴传感器中枢和智能手表,这具有明显的优势。


02 优点和缺点

在许多数字系统中,DMA很有用处,有时甚至用于管理大量总线流量。它还用于网卡、显卡,甚至一些原始的IBM个人电脑中。也就是说,将DMA集成到设计中时,确实需要进行一些权衡考量。


利用DMA提升低功耗可穿戴设备外设监测效率

表1. 使用DMA的优点


利用DMA提升低功耗可穿戴设备外设监测效率

表2. 使用DMA的缺点


03 总线访问和CPU周期

虽然DMA控制器在节能或加速嵌入式系统方面非常有效,但它们的实现方案还没有高度标准化。可以使用多种方案来确保不会与CPU同时授予内部总线访问权限。总线访问方案的主要目标是避免同时访问相同的存储器位置,以免发生缓存区不连续和逻辑错误。单个DMA控制器通常配置为采用这些方案之一,因为使用每种方案可能需要不同的硬件或固件控制。大多数DMA控制器使用的总线访问方案是突发、周期窃用和透明模式的DMA。


透明DMA一次只能执行一项操作,但是,它也必须等待处理器执行指令,以获得对所需数据或地址总线的访问。验证这种访问限制需要使用额外的逻辑,这种类型DMA的速度通常最慢。在不需要访问存储器总线但需要进行额外的处理的应用中,透明DMA可能具有优势。在这种情况下,优势在于消除了对CPU的节流,因为处理器无需完全停止运行。


利用DMA提升低功耗可穿戴设备外设监测效率

表3. DMA类型及其优缺点总结


利用DMA提升低功耗可穿戴设备外设监测效率
图1. DMA运行期间,突发DMA的架构图。


突发DMA是借由不常见的大型突发事件发生,在此期间,DMA会根据缓冲区可以存储的容量,向目标缓冲区发送尽可能多的数据。DMA控制器会在短时间内阻止CPU运行,以移动大量内存,然后将总线交还给主CPU,并一直重复该过程,直到传输完成。突发DMA通常被认为是速度最快的类型。


利用DMA提升低功耗可穿戴设备外设监测效率

图2. 在DMA运行期间,周期窃用DMA发生在两个CPU周期之间。


相反,单字节传输或周期窃用DMA从CPU获取提示,并且仅在CPU指令之间执行操作。它在两个CPU周期之间插入一个操作,因此实际上"窃取"了CPU时间。由于一次只能执行一项操作的限制,它通常比突发DMA慢。


利用DMA提升低功耗可穿戴设备外设监测效率

图3. 在DMA运行期间,透明DMA在处理器处理不访问数据或地址总线的任务时发生。


04 突发DMA架构示例


利用DMA提升低功耗可穿戴设备外设监测效率

图4. MAX32660上的DMA控制器的架构图。


关于突发DMA控制器示例,可以参见 MAX32660(参见图4)。上方路径对应数据流,下方路径代表先进的高性能总线(AHB)和DMA逻辑之间的控制/状态流。DMA控制器可以用作AHB和存储器或外设模块之间的缓冲区接口,具体取决于其配置方式。DMA逻辑位于DMA缓冲区和每个外设之间,用于在处理期间独立管理每个唯一的外设总线。DMA运行一次可以移动多达32个字节,只要源/目标缓冲区中可以包含这么多数据。缓冲区最高可存储16 MB,除了内部存储器传输外,还可以配置为发送或接收I2C、SPI、I2S和UART。编程DMA控制可能会因协议的不同而略有不同,但外设事务完全由DMA控制器管理。仲裁模块控制四个DMA通道和CPU之间的总线访问限制,根据优先级系统批准请求。


05 现代DMA选项

总之,对于管理大量传感器并要求高吞吐量、高效率和低功耗操作的现代嵌入式系统来说,DMA是一个关键特性。它就像是一个专门用于处理存储器和外设总线事务的协处理器。


许多应用必须使用DMA,以尽可能降低功耗和减轻处理器负载。例如,健康和可穿戴设备可以处理大量的数据吞吐量,但它们也必须尽可能地节省电池电量,同时还要处理敏感数据。ADI在适用于低功耗可穿戴设备的微控制器上采用快速突发DMA架构,例如 MAX32660 和 MAX32670。此外,DARWIN Arm微控制器(例如 MAX32666 )是为集成Bluetooth® 5的可穿戴设备和物联网应用而设计的。这些器件采用2个8通道突发DMA控制器,支持基于事件的事务。它们甚至配备了出色的安全硬件,具有安全引导加载程序和信任保护单元(TPU),可以加速ECDSA、SHA-2和AES加密。从早期的IBM电脑到网卡,再到现在的安全、低功耗可穿戴设备和物联网设备,DMA是现代数字系统的基本特征。

(来源:亚德诺半导体)


免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。


我爱方案网


推荐阅读:

利用GaNFET构建四开关降压-升压DC-DC转换器的指南

电感式传感器是应对工业苛刻需求的最佳选择

通过低损耗LED驱动器:加速电源系统“绿色”转型

D类放大器1L调制技术在汽车音响系统应用中如何缩小尺寸,增强音质?

如何通过信号切换实现设备功耗估量?


相关资讯
我们还需要GPU吗?从LineShine登顶看纯CPU超算的四层技术突围

在英伟达GPU与CUDA生态长期主导AI训练与科学仿真的背景下,国产LineShine(灵晟)纯CPU超算以2.198 EFlops持续双精度性能登顶TOP500,印证了“矩阵增强型CPU”正在重构HPC底层硬件标准。 近日,Jack Dongarra、Satoshi Matsuoka、Torsten Hoefler三位HPC权威联合发表《Do We Still Need GPUs? Rethinking AI and Scientific Computing on Matrix-Enhanced CPUs》,系统拆解了无GPU同构超算的四层技术体系:处理器指令集硬件加速、统一HBM高带宽内存架构、全精度混合运算单元、原生高速互联网络。

从“回答问题”到“完成任务”:AI产业正在发生的五个结构性转向

回顾AI今年的发展轨迹,我们能察觉到一种质的变化:AI不再只是被展示、被调用的“展品”,而是拥有了更明确的“行动感”。从代码编写到机器人奔跑,从算力基建到未来接口,行业正集体从“回答问题”走向“完成任务”。 我们试图透过五个数字,捕捉这一轮产业变革中的关键切片。

ROHM车载MOSFET新品:抑制二次击穿,SOA范围扩大5倍

全球知名半导体制造商ROHM近日宣布,面向车载安全功能和保护电路开发出100V耐压MOSFET新品“RS4P063BPHZG”

斩获SAIL最高奖背后:DF1000如何破解国产算力“存不够、改不动”?

2026 WAIC落下帷幕,国内AI算力产业的共识正发生清晰转向:单点参数竞赛逐渐退潮,超节点集群、全产业链自主可控与底层架构原始创新成为核心主线。在此背景下,首次参展的东方算芯凭借“高能效软件定义近存计算芯片DF1000”斩获大会最高荣誉SAIL奖。这座奖杯背后,指向了一条不依赖先进制程与既有生态的突围之路。