0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA2E1定时器带死区互补PWM中断延时问题分析

jf_pJlTbmA9 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2023-10-27 10:56 次阅读

概述

本次测试用的是RA生态工作室提供的R7FA2E1A72DFL demo板,控制定时器输出互补的带死区PWM,并通过中断触发一对IO口的电平切换。

问题

为什么使用GPT输出带死区的互补PWM,进入比较匹配中断后会有一小段延时才开始执行callback。

分析

触发中断后没有马上执行逻辑操作,在底层耗时太长。

操作

使用e2 studio配置工程分析现象

1、GPT模块的设置

时钟框图如下,GPT0是32位定时器,GPT4、GPT5、GPT6、GPT7、GPT8和GPT9是16位定时器。

wKgaomUD5JKAIqOYAADc8kKF5dQ454.png 图1 GPT框图

2、配置工程时需要注意对应通道是0,4,5,6,7,8,9,没有1,2,3。

配置过程:

timer7,P302->GTIOC7A,P301->GTIOC7B,20kHz,duty=50%,打开Capture A Interrupt(compare match A),输出互补同步三角波pwm,死区设1us。

wKgaomUD5JWAYAdFAANMvIEX2gc813.png 图2 GPT配置

3、配置IO口在callback进行翻转

wKgZomUD5JaATRG9AAB9jS0hvbw776.png 图3 在timer7_callback触发IO翻转

现象如下:

A:死区时间AB设定为1us,1,2通道为GTIOC7A(P302)和GTIOC7B (P301)

B:触发比较匹配中断后,翻转3(P103)通道和4(P104)通道的电平

从触发中断到完成3,4通道电平翻转的时间AC为3.3us。

wKgZomUD5JeAXkMFAAEr1nNFrC8190.png 图4 定时器中断触发IO翻转时间

分析——使用GPT输出带死区的互补PWM,进入比较匹配中断后会有一小段时间的延时才开始执行电平翻转:

a:通过操作寄存器完成翻转的时间为350ns,因此排除操作IO口占用时间的因素

b:在callback中完成电平翻转需要3.3us

4、为了缩短时间,把IO翻转改到gpt_capture_a_isr中执行,不在r_gpt_call_callback中执行IO翻转,

wKgaomUD5JmAU21KAAJqZZXLAWU894.png 图5 gpt_capture_a_isr
wKgZomUD5JqAOI6JAAEspVsvc1U889.png 图6 触发中断到完成IO翻转时间为AC:1.22us

结论

因为执行r_gpt_call_callback前后还需要执行一段代码,执行底层耗时过长,因此把callback改为NULL,然后在ISR底层中执行R_PORT1->PCNTR3_b.POSR,是目前测试时间最短的操作了。

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5186

    浏览量

    213826
  • 定时器
    +关注

    关注

    23

    文章

    3246

    浏览量

    114743
收藏 人收藏

    评论

    相关推荐

    STM32CubeIDE下配置STM32F103输出死区互补PWM

    STM32F103的TIM1和TIM8是高级定时器,可以产生嵌入死区时间的互补PWM波,使用STM32CubeIDE完成相关配置,可以直接生
    的头像 发表于 11-01 09:41 7509次阅读
    STM32CubeIDE下配置STM32F103输出<b class='flag-5'>带</b><b class='flag-5'>死区</b>的<b class='flag-5'>互补</b><b class='flag-5'>PWM</b>波

    普通定时器输出互补PWM死区的知识点分享,错过后悔

    普通定时器输出互补PWM死区的知识点分享,错过后悔
    发表于 02-15 07:27

    高级定时器如何实现PWM互补输出,死区控制,刹车功能

    高级定时器如何实现PWM互补输出,死区控制,刹车功能 已经在指南者上验证完毕,用的是PA8-
    发表于 12-05 15:03 31次下载

    普通定时器输出互补PWM死区

    无刷电机。这下就需要用到互补PWM了。然后选型的单片机只有一路高级定时器tim1,另外一个电机的PWM驱动分别是tim3,tim4.不同的
    发表于 12-16 16:59 24次下载
    普通<b class='flag-5'>定时器</b>输出<b class='flag-5'>互补</b><b class='flag-5'>PWM</b><b class='flag-5'>带</b><b class='flag-5'>死区</b>

    使用RA2E1 MCU和FSP实现超低设计

      RA2E1 MCU 组评估套件 FPB-RA2E1实施各种连接,允许访问 RA2E1 MCU、板载 E2 仿真
    的头像 发表于 04-25 10:10 2083次阅读
    使用<b class='flag-5'>RA2E1</b> MCU和FSP实现超低设计

    RA2E1硬件用户手册(英)

    RA2E1硬件用户手册(英)
    发表于 11-07 19:49 0次下载
    <b class='flag-5'>RA2E1</b>硬件用户手册(英)

    RA2E1数据手册(中英)

    RA2E1数据手册(中英)
    发表于 11-07 19:49 0次下载
    <b class='flag-5'>RA2E1</b>数据手册(中英)

    RA2E1开发板资料

    RA2E1开发板资料
    发表于 11-07 19:50 5次下载
    <b class='flag-5'>RA2E1</b>开发板资料

    RA2L1定时器中断

    介绍 定时器中断是由单片机中的定时器溢出而申请的中断。利用定时器中断,控制LED灯的闪烁。 准备
    的头像 发表于 11-15 12:20 952次阅读

    RA2E1 组用户手册:硬件

    RA2E1 组用户手册:硬件
    发表于 01-09 19:06 4次下载
    <b class='flag-5'>RA2E1</b> 组用户手册:硬件

    CPK-RA2L1/RA2E1 评估板入口

    CPK-RA2L1/RA2E1 评估板入口
    发表于 01-13 19:04 4次下载
    CPK-<b class='flag-5'>RA2L1</b>/<b class='flag-5'>RA2E1</b> 评估板入口

    RA2E1 组数据表

    RA2E1 组数据表
    发表于 06-30 18:50 0次下载
    <b class='flag-5'>RA2E1</b> 组数据表

    RA2E1 组用户手册:硬件

    RA2E1 组用户手册:硬件
    发表于 06-30 18:50 2次下载
    <b class='flag-5'>RA2E1</b> 组用户手册:硬件

    CPK-RA2L1/RA2E1 评估板入口

    CPK-RA2L1/RA2E1 评估板入口
    发表于 07-03 19:44 0次下载
    CPK-<b class='flag-5'>RA2L1</b>/<b class='flag-5'>RA2E1</b> 评估板入口

    使用瑞萨e² studio FSP基于RA2E1定时器配置PWM输出

    使用瑞萨e² studio FSP基于RA2E1定时器配置PWM输出
    的头像 发表于 08-01 00:13 716次阅读
    使用瑞萨<b class='flag-5'>e</b>² studio FSP基于<b class='flag-5'>RA2E1</b><b class='flag-5'>定时器</b>配置<b class='flag-5'>PWM</b>输出