找回密码
 立即注册
查看: 3308|回复: 12

Ai8051U- DMA支持高速高级PWM-HSPWMA例程:输出SPWM经过滤波可以得到正弦波

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:291
  • 最近打卡:2026-02-12 16:32:58

84

主题

7263

回帖

1万

积分

超级版主

积分
15562
发表于 2024-11-22 16:49:17 | 显示全部楼层 |阅读模式
Ai8051U-DMA支持高速高级PWM-HSPWMA@120MHz
输出演示程序:输出SPWM经过滤波可以得到正弦波


先别修改程序, 直接下载"Obj"里的"pwm.hex"测试,
下载时选择主频40MHz.
本例子演示使用HSPWMA DMA方式输出一个正弦波(SPWM),

DMA启动后自动装载60点正弦波的占空比,
装载完成后进入DMA中断重启DMA即可连续输出正弦波。
DMA中断取反P3.4来指示DMA中断频率=P3.4频率*2.。
本例主频FOSC=40MHz, PLL为120MHz给HSPWM做时钟,

PWM周期=2000, 则PWM频率=120000KHz/2000=60KHz,
60点正弦波, P3.4输出方波频率为500Hz.
PWM接滤波电路用示波器即可观察到正弦波。
P1.0或P1.1(互补) 输出正弦波频率为1000Hz, 两节无源二阶RC滤波参数: 5.1K+20nF  串联 51K+2nF.
P1.2或P1.3(互补) 输出正弦波频率为2000Hz, 两节无源二阶RC滤波参数: 5.1K+10nF  串联 51K+1nF.
P1.4或P1.5(互补) 输出正弦波频率为3000Hz, 两节无源二阶RC滤波参数: 5.1K+6.8nF 串联 51K+680pF.
P1.6或P1.7(互补) 输出正弦波频率为4000Hz, 两节无源二阶RC滤波参数: 5.1K+4.7nF 串联 51K+470pF.

本例子PWM输出IO:
PWM4N PWM4P    PWM3N PWM3P    PWM2N PWM2P    PWM1N PWM1P
P1.7  P1.6     P1.5  P1.4     P1.3  P1.2     P1.1  P1.0


两节无源二阶RC滤波电路:

截图202411221647562564.jpg
Ai8051U-DMA支持高速高级PWM-HSPWMA@120MHz
输出演示程序:输出SPWM经过滤波可以得到正弦波
程序源码,分4个程序,分别是:
1路、2路3路、4路HSPWM DMA输出SPWM:
31-HSPWMA-DMA输出SPWM.rar (240.51 KB, 下载次数: 292)



本帖被以下淘专辑推荐:

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:324
  • 最近打卡:2026-02-12 09:05:32

836

主题

1万

回帖

2万

积分

管理员

积分
22182
发表于 2024-12-10 11:41:36 | 显示全部楼层
截图202412101141012641.jpg

截图202412101141302281.jpg



回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:291
  • 最近打卡:2026-02-12 16:32:58

84

主题

7263

回帖

1万

积分

超级版主

积分
15562
发表于 2025-1-3 14:18:37 | 显示全部楼层
香河英*** 发表于 2025-1-3 14:07
感谢分享,是哪个开发板型号呀?

不是开发板上的,有MCU就可以实现。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:242
  • 最近打卡:2026-02-12 09:18:11
已绑定手机

3

主题

40

回帖

677

积分

高级会员

积分
677
发表于 2025-7-4 17:12:29 | 显示全部楼层
可以做数字电源吗

点评

数控电源-恒压/恒流,STC32G-HSPWM做充电器(升降压)-PID控制 https://www.stcaimcu.com/thread-18814-1-1.html (出处: 国芯技术交流网站)  详情 回复 发表于 2025-7-4 23:07
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:291
  • 最近打卡:2026-02-12 16:32:58

84

主题

7263

回帖

1万

积分

超级版主

积分
15562
发表于 2025-7-4 23:07:46 | 显示全部楼层
shuan*** 发表于 2025-7-4 17:12
可以做数字电源吗
截图202508280941084523.jpg
数控电源-恒压/恒流,STC32G-HSPWM做充电器(升降压)-PID控制
https://www.stcaimcu.com/thread-18814-1-1.html
(出处: 国芯技术交流网站)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:358
  • 最近打卡:2026-02-12 10:10:21
已绑定手机

79

主题

60

回帖

240

积分

中级会员

积分
240
发表于 2025-9-10 09:16:22 | 显示全部楼层
梁*** 发表于 2025-7-4 23:07
数控电源-恒压/恒流,STC32G-HSPWM做充电器(升降压)-PID控制
https://www.stcaimcu.com/thread-18814-1- ...

太牛了,我正在想这个方案呢,属于雪中送炭的感觉
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:118
  • 最近打卡:2026-02-12 13:49:17
已绑定手机

11

主题

49

回帖

406

积分

中级会员

积分
406
发表于 2025-10-15 15:18:30 | 显示全部楼层
学习了 赞
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-12-21 16:27:40
已绑定手机

0

主题

2

回帖

6

积分

新手上路

积分
6
发表于 2025-12-21 16:27:40 | 显示全部楼层
请教一下,我下载main-1路HSPWMA-DMA这个程序:
1)为啥算出来数组是在595这个位置是一组数据最后传输的?
2)为啥中断里面P34跳变的时候PWM只输出了59个数?(序号是从0开始的)



回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-12-21 16:27:40
已绑定手机

0

主题

2

回帖

6

积分

新手上路

积分
6
发表于 2025-12-21 16:27:40 | 显示全部楼层
请教一下,我下载main-1路HSPWMA-DMA这个程序:
1)为啥算出来数组是在595这个位置是一组数据最后传输的?
2)为啥中断里面P34跳变的时候PWM只输出了59个数?(序号是从0开始的)



无标题.png
捕获1.PNG
捕获2.PNG
捕获3.PNG

点评

先直接下载HEX文件测试,RC滤波后示波器看到正弦波。  详情 回复 发表于 2025-12-21 22:45
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:291
  • 最近打卡:2026-02-12 16:32:58

84

主题

7263

回帖

1万

积分

超级版主

积分
15562
发表于 2025-12-21 22:45:04 | 显示全部楼层
ku*** 发表于 2025-12-21 16:27
请教一下,我下载main-1路HSPWMA-DMA这个程序:
1)为啥算出来数组是在595这个位置是一组数据最后传输的?
...

先直接下载HEX文件测试,RC滤波后示波器看到正弦波。
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-2-13 03:42 , Processed in 0.119782 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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