硬汉嵌入式论坛

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

[技术讨论] 关于定时器PWM变频问题

  [复制链接]

16

主题

62

回帖

110

积分

初级会员

积分
110
发表于 2021-9-14 09:42:38 | 显示全部楼层 |阅读模式
单片机是stm32G030j6,8脚单片机,程序如下,TIM使用LL库,其余部分为HAL库,波形前段是200khz的两路互补驱动,延时开启产生的,后段需要降频到70khz,中间降频部分不能两端同时开启导通,所以就想可以停止计数然后去修改compare和autoreload,又因为两个是互补,所以设定他们新的counter值 来对齐(这边先是随便设了2个点,0和457),但是tim14的波形后面出现了问题,会有一段没有生成PWM,Output compare preload也关了。有大神做过这一类的吗,急需帮助。
微信截图_20210914092459.png

有一段无波形

有一段无波形
微信截图_20210914092200.png 微信图片_20210914094021.jpg
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-14 09:45:43 | 显示全部楼层
还有想问下,究竟是关计数好还是关BDTR寄存器的总输出好
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-15 08:58:57 | 显示全部楼层
这个要有人实际测试过才行,否则还真不太好回复。

这种变频,使用TIM_UP触发DMA传输波形数据给GPIO比较方便。
回复

使用道具 举报

1

主题

26

回帖

29

积分

新手上路

积分
29
发表于 2021-9-15 09:40:37 | 显示全部楼层
我们以前用Hrtim做过,拿主定时器做同步,就不会出现这个问题了。靠延时的话挺难搞的
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-15 16:56:09 | 显示全部楼层
eric2013 发表于 2021-9-15 08:58
这个要有人实际测试过才行,否则还真不太好回复。

这种变频,使用TIM_UP触发DMA传输波形数据给GPIO比较 ...

内部DA吗。板子布不下大芯片了只能用这种8脚的。现在搞得差不多了中间切换的时候大概有3-4us是同时低的,不知道硬件工程师那边行不行
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-15 16:58:54 | 显示全部楼层
菜鸟中的萌新 发表于 2021-9-15 09:40
我们以前用Hrtim做过,拿主定时器做同步,就不会出现这个问题了。靠延时的话挺难搞的

也不算延时把,就是一路tim初始的计数值改个中间附近的值,主要这新的8脚芯片没有hrtim,也只能这么操作了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-16 08:00:32 | 显示全部楼层
opsd999 发表于 2021-9-15 16:56
内部DA吗。板子布不下大芯片了只能用这种8脚的。现在搞得差不多了中间切换的时候大概有3-4us是同时低的, ...

这种方案任意通用GPIO都可以。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-16 13:50:33 | 显示全部楼层
eric2013 发表于 2021-9-16 08:00
这种方案任意通用GPIO都可以。

直接用DMA把数据往gpio寄存器送的做法吗。这还真没试过
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-17 08:06:48 | 显示全部楼层
opsd999 发表于 2021-9-16 13:50
直接用DMA把数据往gpio寄存器送的做法吗。这还真没试过

可以看下这个文档的第41和43章

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-24 09:38:56 | 显示全部楼层
eric2013 发表于 2021-9-17 08:06
可以看下这个文档的第41和43章

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

好的,对了硬汉哥这个V7的第68章的网盘例程是不是放错了。之前看和串口IAP程序一样没有USB DFU文件在里面
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-25 09:28:03 | 显示全部楼层
opsd999 发表于 2021-9-24 09:38
好的,对了硬汉哥这个V7的第68章的网盘例程是不是放错了。之前看和串口IAP程序一样没有USB DFU文件在里面

没问题。

就是这个例子

1.png

2.png
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-25 10:01:09 | 显示全部楼层
eric2013 发表于 2021-9-25 09:28
没问题。

就是这个例子

不对吧,keil5的 好像USB DFU文件没有啊,网盘下的 微信截图_20210925095845.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-25 11:54:18 | 显示全部楼层
opsd999 发表于 2021-9-25 10:01
不对吧,keil5的 好像USB DFU文件没有啊,网盘下的

这个是就系统BootLoader的,不需要用户自己去写代码。芯片内置的USB DFU。

方便的话,看下教程就明白了。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-27 18:55:46 | 显示全部楼层
内置就有啊,我还以为要另外加的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 02:54:30 | 显示全部楼层
opsd999 发表于 2021-9-27 18:55
内置就有啊,我还以为要另外加的。

是的,使用比较方便。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-28 10:47:57 | 显示全部楼层
eric2013 发表于 2021-9-28 02:54
是的,使用比较方便。

哦对了,硬汉哥,我这里有片f103c8t7有点问题,现在一开始,boot0低电平上电 搜不到芯片,programmer也搜不到,boot0高电平上电,可以搜到也能烧写,然后我下载了个空的程序,没有任何操作就初始化了SW引脚,接着boot0在低电平上电,想着烧之前的程序,然后keil报stlink错误,但programmer能找到芯片了,就用programmer下载了原来的程序,device memory读了下 也烧进去了。重新boot0上电,programmer能读到,但是程序还是没正常跑起来。keil设置里 微信截图_20210928103841.png 能看到它找到了sw器件,但点下载他就是连接不到器件 微信截图_20210928103931.png 。也不是我程序把SW和jtag屏蔽,别的板子烧写这个程序都是正常。
以下是option byte,我看了下也没问题
微信截图_20210928101642.png 微信截图_20210928101627.png
想问下,这个大概是哪方面可能出问题了,是有次3.3和地线碰到导致的,但现在芯片也不烫也没短路。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 12:00:33 | 显示全部楼层
opsd999 发表于 2021-9-28 10:47
哦对了,硬汉哥,我这里有片f103c8t7有点问题,现在一开始,boot0低电平上电 搜不到芯片,programmer也搜 ...

如果只有这一个1芯片这样,感觉没用必要再研究它了,研究起来太费时间。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-28 13:04:12 | 显示全部楼层
eric2013 发表于 2021-9-28 12:00
如果只有这一个1芯片这样,感觉没用必要再研究它了,研究起来太费时间。

确实只有一个,主要103现在太贵了,越想越气哈哈
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-9-28 13:04:24 | 显示全部楼层
eric2013 发表于 2021-9-28 12:00
如果只有这一个1芯片这样,感觉没用必要再研究它了,研究起来太费时间。

确实只有一个,主要103现在太贵了,越想越气哈哈
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-29 09:04:55 | 显示全部楼层
opsd999 发表于 2021-9-28 13:04
确实只有一个,主要103现在太贵了,越想越气哈哈

这样的话,确实是。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-11-1 14:33:15 | 显示全部楼层
eric2013 发表于 2021-9-29 09:04
这样的话,确实是。

硬汉哥,我有个问题,想请教下,如何让.s汇编文件内部支持预编译语句如#if #endif等。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-11-1 14:34:04 | 显示全部楼层
eric2013 发表于 2021-9-29 09:04
这样的话,确实是。

软件是KEIL
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-11-2 09:00:55 | 显示全部楼层

MDK AC6选择CLANG可以支持。
回复

使用道具 举报

16

主题

62

回帖

110

积分

初级会员

积分
110
 楼主| 发表于 2021-11-5 09:34:42 | 显示全部楼层
eric2013 发表于 2021-11-2 09:00
MDK AC6选择CLANG可以支持。

感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 20:52 , Processed in 0.269866 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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