十七、从0开始卷出一个新项目之瑞萨RZN2L定时器(GPT)+DMA生成PWM的运动控制

一、概述

  • 嵌入式科普(34)通过对比看透DMA的本质

  • 分享瑞萨RZN2L使用DMA生成PWM的运动控制的例程源码

  • rzn2l必要的外设资源:

    • rzn2l拥有32-bit timer General PWM Timer (GPT) with 18 channels

    • CPU、GPT最高频率400Mhz

    • DMAC0 and DMAC1 8 channels + 8 channels

    • 还有cmt、cmtw、mtu3等其他定时器

    • ESC控制器

二、工程源码

__asm volatile ("cpsie i");

    g_timer0.p_api->open(g_timer0.p_ctrl, g_timer0.p_cfg);
    g_timer0.p_api->enable(g_timer0.p_ctrl);
    g_timer0.p_api->start(g_timer0.p_ctrl);

    g_transfer0.p_api->open(g_transfer0.p_ctrl, g_transfer0.p_cfg);

    g_transfer0_ctrl.p_cfg->p_info->p_src = (void*)&buf_left[0];
    g_transfer0_ctrl.p_cfg->p_info->p_dest = (void*)&g_timer0_ctrl.p_reg->GTPBR;//(void*)&buf_des[0];//(void*)&g_timer0_ctrl.p_reg->GTPBR;
    g_transfer0_ctrl.p_cfg->p_info->length = 40;
    g_transfer0.p_api->reconfigure(g_transfer0.p_ctrl, g_transfer0_ctrl.p_cfg->p_info);

    g_transfer0.p_api->enable(g_transfer0.p_ctrl);
    g_transfer0.p_api->softwareStart(g_transfer0.p_ctrl, (transfer_start_mode_t)0);

三、测试效果

四、总结

  • rzn2l具备实现运动控制的重要资源,可实现1Mhz的效果

  • 例程仅提供GPT+DMA的使用

相关推荐
北京耐用通信10 天前
半导体晶圆精控:ethercat转profient网关数据提升制造精度
网络·制造·ethercat·ethercat总线
稳联技术2 个月前
稳定的通信桥梁,CCLINKIE转ModbusTCP网关实现AGV运输的光速效应
网络·ethercat·cclink ie
沐多2 个月前
【原创】浅谈EtherCAT主站EOE(下)-EtherCAT IgH主站EoE具体实现
ethercat
JXES智能生态系统5 个月前
【EtherCAT实践篇一】TwinCAT 3安装、使用
ethercat·电机驱动
田彼南山6 个月前
零差云控电机ubuntu+IGH调试记录
ethercat·igh
幻想编织者8 个月前
EtherCAT使用教程:在C++中的详细应用
开发语言·c++·ethercat
金士顿8 个月前
/EtherCATInfo/Descriptions/Devices/Device/SubDevice/@Hideable
服务器·网络·php·ethercat
钡铼技术网关8 个月前
钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦合器
分布式·mqtt·modbus·opc ua·耦合器·ethercat·ethernet/ip
金士顿8 个月前
路径:/EtherCATInfo/Descriptions/Devices/Device/Type/@ShowHideableSubDevices
ethercat