发布时间:2025-02-12 阅读量:1705 来源: 发布人: lina
【导读】嵌入式系统执行的一个常见任务是管理外部输入。管理输入会给处理器带来很多不必要的计算压力,导致处理器处于有功功率模式下的时间更长,响应速度更慢。为了优化功率,保持对事件的快速响应以及管理大量数据连续传输,具有直接内存访问(DMA)的微控制器可提供更好的解决方案。
嵌入式系统执行的一个常见任务是管理外部输入。管理输入会给处理器带来很多不必要的计算压力,导致处理器处于有功功率模式下的时间更长,响应速度更慢。为了优化功率,保持对事件的快速响应以及管理大量数据连续传输,具有直接内存访问(DMA)的微控制器可提供更好的解决方案。
在涉及外设的系统应用中,微处理器在许多点可能都会遭遇瓶颈。例如,在管理一个不断发送数据的ADC时,处理器可能时常被中断,导致它很难完成其他任务。DMA是一种在大型或快速数据处理事务中移动数据和尽量减少处理器参与的方法。您可以将DMA控制器当做一个协处理器,它的唯一作用就是与存储器和外设交互。通过这种方式,主处理器可以成功管理工作量大的外设,专注于处理其他任务,甚至可以在后台处理数据时进入睡眠状态,以节省功率。例如,在Arm®架构上,DMA模块可以在LP2(睡眠)或LP3(运行)模式下运行。对于需要更长的电池寿命的应用,例如可穿戴传感器中枢和智能手表,这具有明显的优势。
在许多数字系统中,DMA很有用处,有时甚至用于管理大量总线流量。它还用于网卡、显卡,甚至一些原始的IBM个人电脑中。也就是说,将DMA集成到设计中时,确实需要进行一些权衡考量。
表1. 使用DMA的优点
表2. 使用DMA的缺点
虽然DMA控制器在节能或加速嵌入式系统方面非常有效,但它们的实现方案还没有高度标准化。可以使用多种方案来确保不会与CPU同时授予内部总线访问权限。总线访问方案的主要目标是避免同时访问相同的存储器位置,以免发生缓存区不连续和逻辑错误。单个DMA控制器通常配置为采用这些方案之一,因为使用每种方案可能需要不同的硬件或固件控制。大多数DMA控制器使用的总线访问方案是突发、周期窃用和透明模式的DMA。
透明DMA一次只能执行一项操作,但是,它也必须等待处理器执行指令,以获得对所需数据或地址总线的访问。验证这种访问限制需要使用额外的逻辑,这种类型DMA的速度通常最慢。在不需要访问存储器总线但需要进行额外的处理的应用中,透明DMA可能具有优势。在这种情况下,优势在于消除了对CPU的节流,因为处理器无需完全停止运行。
表3. DMA类型及其优缺点总结
突发DMA是借由不常见的大型突发事件发生,在此期间,DMA会根据缓冲区可以存储的容量,向目标缓冲区发送尽可能多的数据。DMA控制器会在短时间内阻止CPU运行,以移动大量内存,然后将总线交还给主CPU,并一直重复该过程,直到传输完成。突发DMA通常被认为是速度最快的类型。
图2. 在DMA运行期间,周期窃用DMA发生在两个CPU周期之间。
相反,单字节传输或周期窃用DMA从CPU获取提示,并且仅在CPU指令之间执行操作。它在两个CPU周期之间插入一个操作,因此实际上"窃取"了CPU时间。由于一次只能执行一项操作的限制,它通常比突发DMA慢。
图3. 在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之间的总线访问限制,根据优先级系统批准请求。
总之,对于管理大量传感器并要求高吞吐量、高效率和低功耗操作的现代嵌入式系统来说,DMA是一个关键特性。它就像是一个专门用于处理存储器和外设总线事务的协处理器。
许多应用必须使用DMA,以尽可能降低功耗和减轻处理器负载。例如,健康和可穿戴设备可以处理大量的数据吞吐量,但它们也必须尽可能地节省电池电量,同时还要处理敏感数据。ADI在适用于低功耗可穿戴设备的微控制器上采用快速突发DMA架构,例如 MAX32660 和 MAX32670。此外,DARWIN Arm微控制器(例如 MAX32666 )是为集成Bluetooth® 5的可穿戴设备和物联网应用而设计的。这些器件采用2个8通道突发DMA控制器,支持基于事件的事务。它们甚至配备了出色的安全硬件,具有安全引导加载程序和信任保护单元(TPU),可以加速ECDSA、SHA-2和AES加密。从早期的IBM电脑到网卡,再到现在的安全、低功耗可穿戴设备和物联网设备,DMA是现代数字系统的基本特征。
(来源:亚德诺半导体)
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。
推荐阅读:
D类放大器1L调制技术在汽车音响系统应用中如何缩小尺寸,增强音质?
伺服电机控制在工业自动化中的应用非常广泛,其高精度、快速响应和良好的可控性使其成为许多行业实现自动化和提升生产效率的关键组件
编码器在伺服电机控制系统中扮演着至关重要的角色,主要用于精确测量电机轴的位置和速度
汽车制造商每年都会提出研发电动汽车 (EV) 的目标,期望实现更长的行驶里程(大于 400 英里)和提供更好的操作安全性,同时保持实惠的价格。集成式隔离式直流电压检测器件可以在车载充电器、直流/直流转换器和电池管理系统中提供低于 1% 的直流电池电压精度误差,从而更大限度地提高直流电压测量值并延长行驶里程。集成的隔离式交流电压检测器件可以在紧凑型集成电路 (IC) 中精确测量单相或三相交流电网电压,从而更大限度地提高电网对电压电平的利用率。交流和直流隔离式电压检测器件均可通过检测功能故障并通知驱动器来确保运行安全。通过将外部元件集成到单个 IC 中,交流和直流隔离式电压检测器件还可以提高性价比,从而帮助设计人员通过更节能的设计缩短产品上市时间。
传统的隔离型反激式转换器的架构中,转换器的功率等级通常可达60W左右,通过调整变压器的匝数比,借助原边开关和可以将电源电压转换为输出电压。有关输出电压的信息会通过反馈路径传输到原边的PWM发生器,以使该输出电压尽可能保持稳定。如果输出电压太高或太低,则将调整PWM发生器的占空比。
为了将逆变器输出的交流电成功并入电网,逆变器必须首先确保其输出电压的频率和相位与电网同步