DMA在如何在实时控制中提高系统的稳定性和实时性?
直接存储器访问(DMA,Direct Memory Access)的优点
· 提高系统效率:通过绕过CPU,DMA显著减少了数据传输对CPU资源的占用,使得CPU能够专注于其他计算任务,提升了系统整体的响应速度和处理能力。
· 加快数据传输速度:针对多总线高性能MCU,DMA可以避免不同总线同步问题,提供更高的数据传输速率。
· 降低系统延迟:由于减少了CPU参与数据搬运的环节,系统延迟显著降低,这对于实时系统和高性能计算应用至关重要,确保了数据的即时处理和反馈。
· 简化软件设计:DMA控制器的硬件自动化处理降低了软件层面对数据传输的复杂管理,使得软件设计更为简洁,降低了开发难度和维护成本。
先楫产品中,有大量支持DMA的设备,其中USB、Ethernet、ADC、DAC等有自己的内部DMA,AHB和AXI总线上还有公共的DMA设备——HDMA、XDMA。
HDMA、XDMA都是多通道DMA,可以通过DMAMUX实现多通道的数据传输。
HDMA、XDMA分别接入AHB和AXI总线,在总线内部传输效率更高,可以支持8-64bit数据宽度的传输。
本文将通过两个应用案例,说明DMA在如何在实时控制中提高系统的稳定性和实时性。
DMA准确控制
下图是典型伺服三环的控制框图,其中编码器是控制的关键反馈,除了准确读取位置之外,还需要通过不同时刻读取位置计算转速。读取位置的时刻在伺服闭环中占非常关键的作用。
常见位置读取方式是在定时中断中读取位置,确保读取间隔时刻一致。但由于软件响应时间不确定,读取间隔很难保证一致。
本文通过DMA+链表方式实现HPM6200用串口与多摩川编码器定时通讯的方式。多摩川编码器通讯协议见下图:
例程通过PWM定期触发DMA,由DMA启动串口读取动作。DMA动作完成后利用链式传输,可以在处理器不介入的情况下,连续完成多个不同配置的传输任务。
程序中使用了PWM、DMA、UART三个模块
· PWM负责定时输出DMA触发信号
· DMA接收触发信号后将采样命令写入UART的THR寄存器
· UART负责收发位置传感器信息,其中接收建议使用硬件idle+FIFO模式
先楫的UART有硬件收发使能控制,只需要DE设置为有效,485通讯可以自动实现收发方向控制,无须CPU干预。
HPM6280集成了9个UART模块:
除了常规配置之外,还支持硬件空闲中断
支持16字节的TXFIFO和RXFIFO
硬件收发使能自动控制
通过简单配置即可实现2.5Mbps通讯、RS485自动收发使能控制、硬件空闲中断接收数据等功能。
下面DMA配置启用了链式传输,实现DMA循环触发UART读取位置信息。
构建两个相互链接的DMA任务描述符列表。DMA控制器会在完成当前任务描述符的相应任务后,从ChnLLPointer指向地址取下一个任务描述符。下一个任务描述符又关联当前描述符,如此互锁,无限循环。
描述符中DMA配置目标数据为握手模式,UART设备返回接收数据完毕信号。
为确保uart数据可以准确传输,DMA的高优先级标志位要设置为1。
在PWM中配置DMA定期触发,配置比较器匹配触发,配置DMA输出使能。
互联管理器TRGM是HPM MCU中非常有特色的外设,可以通过配置实现多个外设的输入输出相互连接,使得多个外设可以相互配合使用。
HPM6200中TRGM支持4个DMA请求输出,用户可以配置TRGM,从多个DMA请求输入中,选择4个连接到DMAMUX。本文选择了PWM0的CMP14。
下图是DMA以20kHz触发UART定期输出的波形,定期输出0X1A,读取多摩川传感器中全部信息。
DMA加速传输
HPM5300、HPM6800、HPM6E00引入了DMAv2,增加了无限循环、DMA传输一半中断,并修改了burst传输长度定义。下文将列举一个buck-boost电源应用通过DMAv2更新PWM的例子,演示DMA加速传输的方法和效果。
例程选用了两路交错buck-boost电路。
高效电源对功率密度有更高的要求,更高的开关频率可以降低主回路中电感和电容体积,实际应用中,中小功率的电源开关频率可达100khz以上,频繁的调节对CPU的运算能力和读写外设的速度有更高的要求。
HPM5300单次写PWM寄存器至少需要5个AHB时钟(HPM6700、HPM6300时间更长),例程使用了8个PWM比较寄存器,CPU时钟为480Mhz、AHB总线为160Mhz,连续写入时至少0.25us,相当于120条CPU clock。
修改PWM刷新方式后,将PWM比较器寄存器的值放入DLM内存中,更新PWM只是占用了CPU 8个访问高速RAM的时间。
与HPM6200不同,DMAv2直接支持无限循环模式,CHCTRL[CTRL].INFINITELOOP设置为1即可,不需要链表实现无限循环。
将CHCTRL[CTRL].burst_opt配置为1,burst传输个数不再是2的指数次方,可以根据实际需要配置。
PWM配置需要清零SHLK[SHLK],影子寄存器锁定功能。
其它设置与前文配置相同。
HPM系列MCU包含了强大互联管理器和DMA模块,可以轻松实现外设无限循环的触发DMA,不需要占用CPU时间每次配置DMA触发外设。
DMA直接触发外设动作,将极大提高系统动作的一致性。伺服客户对比之前中断触发读取位置与DMA触发读取位置效果:在2000rpm时,中断触发读取位置得到的计算最大瞬时转速波动为20rpm,改为DMA触发后波动降为2rpm。
微逆应用中,同时变频、变占空比时,通过DMA定时修改PWM比较器和周期寄存器数值消除了同时修改后造成的波形偶发异常问题。
电源应用中,开关频率往往超过100kHz,对CPU的利用率要求更高,且对PWM、ACMP读写频率和内容更多,DMA读写可以有限减轻CPU负担,提高CPU效率。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自先楫半导体HPMicro公众号,原文标题为:经验分享 | DMA助力实时控制,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
先楫HPM6000系列高性能MCU在Linux环境下自动生成SDK本地化工程
本文介绍先楫半导体HPM6000系列高性能MCU在Linux环境下自动生成SDK本地化工程,SDK下载地址可通过世强FAE获取并提供技术支持。工程支持世强整合的SekormStudio(eclipse+GCC)以及第三方Segger Studio集成开发环境。
设计经验 发布时间 : 2024-11-07
先楫HPM5361EVK开发板测评
上海先楫半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。HPM5361EVK是基于先楫HPM5300系列高性能RISC-V内核MCU的一款开发板。本文介绍先楫HPM5361EVK开发板测评。
设计经验 发布时间 : 2024-05-15
经验分享|先楫HPM5300驱动设计,交错式buck-boost
Buck-Boost简介Buck-boost是一种非隔离变换器,可以将电源的电压转换为较高或较低的电压输出。它采用开关控制原理,通过周期性地切换电感和电容的连接方式,改变电感储能和释放能量的时间比例来实现电压升降。
设计经验 发布时间 : 2024-10-17
国产高性能MCU又一力作,集成授权EtherCAT,助力工业伺服走向海内外
最近,先楫半导体发布中国首款拥有德国倍福公司正式授权EterhCAT从站控制器的高性能MCU产品HPM6E00系列,将国产高性能MCU在工业领域的应用推向新高度。
原厂动态 发布时间 : 2024-07-02
【IC】先楫半导体最新款高性能MCU HPM5301,搭载单核32位RISC-V处理器,主频高达360MHz
先楫半导体于2023年11月24日宣布推出高性能HPM5300系列MCU最新款——HPM5301芯片。这款MCU搭载单核32位RISC-V处理器,采用QFN48封装,是迄今为止先楫推出的最简单易用的产品。该芯片的开发板HPM5301EVKLite也同步上市。
产品 发布时间 : 2023-11-25
先楫半导体(HPMicro)HPM6000家族MCU选型指南
描述- 上海先楫是一家致力于高性能嵌入式解决方案的半导体公司,产品覆盖微控制器、微处理器和周边芯片,以及配套的开发工具和生态系统。 目前已经量产的两个高性能通用MCU产品系列HPM6700/6400及HPM6300,性能领先国际同类产品,并完成AEC-Q100认证,全力服务中国工业,汽车和消费市场。公司成立于2020年6月,总部坐落于上海市张江高科技园区,并在天津、深圳和南京均设立分公司。 核心团队来自世界知名半导体公司管理团队,具有15年以上,超过20个SoC的丰富的研发及管理经验。
型号- HPM6320IEP,HPM6454IAN,HPM6754IAN,HPM6450,HPM6750IAN,HPM6350,HPM6754IVM,HPM6300系列,HPM6450IAN,HPM6454IVM,HPM6750IVM,HPM6320IPA,HPM6000家族,HPM6360IPA,HPM6360IEP,HPM6364IPA,HPM6430IVM,HPM6300,HPM6400,HPM6320,HPM6364,HPM6364IEP,HPM6700,HPM6430IAN,HPM6350IPA,HPM6340,HPM6000,HPM6360,HPM6730IAN,HPM6340IEP,HPM6730IVM,HPM6350IEP,HPM6340IPA,HPM6700系列,HPM6450IVM,HPM6454,HPM6730,HPM6430,HPM6400系列,HPM6750,HPM6754
媒体视角 | 先楫半导体HPM6E00系列MCU填补国内空白,EtherCAT中国首授权
2023年12月先楫半导体正式推出中国首款拥有德国倍福公司正式授权EtherCAT从站控制器的高性能MCU产品HPM6E00系列。先楫半导体HPM6E00系列产品采用国际流行的RISC-V架构,主频高达600MHz,有单双核选项,集成了德国倍福公司授权的EtherCAT从站控制器,具备高性能运动控制、高实时工业以太网互联的特性。
原厂动态 发布时间 : 2024-07-17
震撼首发!先楫携手致远电子打造基于HPM6450的多通道车载以太网分析仪
先楫半导体携手致远电子打造多通道车载以太网分析仪,VBNET系列产品内置HPM6450 MCU,可实现主从模式和速率自适应,大大降低操作时间和试错成本,让测试与刷写更高效简单。
应用方案 发布时间 : 2024-10-13
【应用】基于RISC-V的高主频MCU HPM6750用于LED大屏,双千兆以太网透传实现实时控制
基于RISC-V的高主频MCU能让LED大屏显示系统实现更高的驱动频率及更高的实时性。HPM6750是先楫半导体开发的采用RISC-V 内核、具有高主频及创新总线架构的双核高性能MCU,能通过双千兆以太网透传的方案加双核加持完美解决高速的链路设计。
应用方案 发布时间 : 2022-12-22
先楫半导体MCU选型表
先楫半导体提供高性能MCU选型,:主频最高达816MHz,高性能外设:包括JPEG编解码器,有16位和24位LCD,4×8通道PWM,2×8通道PWM,最高有千兆以太网,CAN FD等通讯接口,高速12位和高精度16位模数转换器,工作温度:-40℃-105℃Ta/-40℃-125℃Ta
产品型号
|
品类
|
内核
|
最高主频(MHz)
|
SRAM(KB)
|
CAN
|
USB
|
SPI
|
I²C
|
UART
|
比较器
|
封装形式
|
HPM5301IEG1
|
高性能微控制器
|
32 位 RISC-V 处理器
|
360MHz
|
288KB
|
CAN FD
|
USB HS 带 PHY ×1
|
4
|
4
|
9
|
2
|
6*6 QFN48 P0.4
|
选型表 - 先楫半导体 立即选型
兆松ZStudio为先楫MCU开发带来全新体验,编译优化助力性能提升
兆松发布的 ZStudio 3.2.4 已经对先楫高性能 RISC-V MCU 进行了全面支持,并对先楫 SDK 导入进行了优化适配,极大地简化了用户在 ZStudio 中针对先楫 MCU 进行嵌入式开发的流程。1nfinite 社区已提供了详细的教程。不仅为先楫 MCU 用户提供了便捷友好的开发环境,更通过其一流的编译及算法优化能力助力先楫 MCU 实现进一步性能提升。
原厂动态 发布时间 : 2024-10-11
打造高效自动化的利器,先楫HPM6200系列高性能MCU芯片携手钧舵机器人推出精密装配方案
末端执行器作为整个自动化领域的核心所在,承载着精准抓取、稳定操作以及高效执行各种任务的重要职责。苏州钧舵机器人有限公司推出的搭载先楫半导体HPM6200系列高性能MCU芯片的LRA系列直线旋转执行器(ZR轴)凭借其精确力控补偿、软着陆算法、恒力磁性弹簧技术以及高精度光编技术等多项创新技术,为半导体封测、芯片贴装、3C精密装配等行业提供强大支持。
原厂动态 发布时间 : 2024-05-18
【IC】有动静!先楫出了颗适用机器人的国内首款内嵌ESC高性能MCU——HPM6E00
先楫半导体(HPMicro)推出的新款MCU——HPM6E00,引发了外界的广泛关注。这家成立仅四年的公司,凭借“国内首款内嵌ESC的高性能MCU”,再次证明了其在MCU领域的创新实力。
产品 发布时间 : 2024-07-03
HPM6700/6400 系列开创国产高性能 MCU 新时代
型号- HPM6400 系列,HPM64A0A,HPM64G0,HPM64A0,HPM6400,HPM6700 系列,HPM6700,HPM6750EVKMINI,HPM6750EVK2
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论