硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4876|回复: 6
收起左侧

[STM32H7] 第41章关于BDMA控制任意IO口pwm和脉冲数问题?

[复制链接]

2

主题

25

回帖

31

积分

新手上路

积分
31
QQ
发表于 2020-12-7 15:50:38 | 显示全部楼层 |阅读模式
功能已经调通。但有个地方不太理解,请大神解惑?
就是DMA输出的IO频率与定时器频率是一致的,修改IO_Toggle[]数组长度没有用,我试着改为24,256。结果输出频率依然和定时器一样,还是20K,10K,5K。看了下代码,这三个频率通过按键控制也就是修改了定时器的频率。
1,我的理解是DMA的速度要比定时器快的多,难道不是定时器触发一次,DMA直接发送8次吗(IO_Toggle[8]),频率应该会变才是啊?
2,看现像,是定时器触发一次,DMA只发送IO_Toggle数组内的一个数据,为什么会这样?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115661
QQ
发表于 2020-12-8 00:35:10 | 显示全部楼层
DMA传输长度修改没。
回复

使用道具 举报

2

主题

25

回帖

31

积分

新手上路

积分
31
QQ
 楼主| 发表于 2020-12-8 14:45:48 | 显示全部楼层
eric2013 发表于 2020-12-8 00:35
DMA传输长度修改没。

DMA长度没有修改,一直是8,在DMA中断内什么都没有做。DMA用循环模式。用逻辑分析仪抓到的波形频率与定时器设置的一样。也没见到波形不均匀的现像。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115661
QQ
发表于 2020-12-8 14:54:08 | 显示全部楼层
augustedward 发表于 2020-12-8 14:45
DMA长度没有修改,一直是8,在DMA中断内什么都没有做。DMA用循环模式。用逻辑分析仪抓到的波形频率与定时 ...

必须要改,跟你的DMA缓冲大小匹配。
回复

使用道具 举报

2

主题

25

回帖

31

积分

新手上路

积分
31
QQ
 楼主| 发表于 2020-12-8 17:21:26 | 显示全部楼层
eric2013 发表于 2020-12-8 14:54
必须要改,跟你的DMA缓冲大小匹配。

你理解错我的意思了,缓冲区大小肯定是匹配的。我就是不明白为什么DMA输出的PWM频率与定时器是直接相关的。就是定时器设置为20K,pwm输出也是20K; 定时器设置为5K,PWM输出也是5K。难道DMA是每次由定时器触发一次,只发送一个32位的数据吗?
这个跟我之前理解的DMA方式不一样。当我缓冲区大小是8个32位数的时候,不是应该DMA触发一次,连续发送8个32位吗?但现在实际情况是DMA触发一次,只发了一个32位数,然后再触发一次,再发下一个32位数。
总的来说,我就是想要明白为什么PWM的输出频率由定时器决定。而不是由DMA的总线传送速度决定。(AHB总线速度一般都很高的)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115661
QQ
发表于 2020-12-8 17:26:54 | 显示全部楼层
augustedward 发表于 2020-12-8 17:21
你理解错我的意思了,缓冲区大小肯定是匹配的。我就是不明白为什么DMA输出的PWM频率与定时器是直接相关的 ...

DMA触发一次,连续发送8个32位,那是突发模式。
回复

使用道具 举报

2

主题

25

回帖

31

积分

新手上路

积分
31
QQ
 楼主| 发表于 2020-12-8 17:34:39 | 显示全部楼层
eric2013 发表于 2020-12-8 17:26
DMA触发一次,连续发送8个32位,那是突发模式。

谢谢了,理解了,经过逻辑分析仪测试,确实是定时器触发一次,DMA只传输1个32位。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 11:28 , Processed in 0.404042 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表