找回密码
 立即注册
楼主: 叶凡

【疑难问题】不同批次的STC8G2K64S4芯片 PWM波形不连续

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:365
  • 最近打卡:2025-05-02 00:20:03

6

主题

319

回帖

2206

积分

金牌会员

积分
2206
发表于 2024-4-3 18:14:07 | 显示全部楼层
可以试着把其他程序屏蔽掉,只留下PWM部分,
甚至只留下出问题的那一路PWM,
实时监视相关寄存器内容是不是被误改,
研究下到单片机在那10ms底在干什么
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-04-29 09:24:38

1

主题

19

回帖

69

积分

注册会员

积分
69
发表于 2024-4-3 20:36:01 来自手机 | 显示全部楼层
网老四 发表于 2024-4-3 18:14
可以试着把其他程序屏蔽掉,只留下PWM部分,
甚至只留下出问题的那一路PWM,
实时监视相关寄存器内容是不是被 ...

您好,试过这种方式了,相同程序烧录到不同批次的单片机才出现的这个问题,您可以看一下之前的描述
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-4-3 23:28:34 | 显示全部楼层
叶*** 发表于 2024-4-3 13:49
梁工,您好:

出问题的单片机信息:

已经按您的技术参数编写了程序,主频24MHz,
PWM时钟=主频/2,周期4096(0x1000),
低电平时间2450个PWM时钟,高电平时间4096-2450=1646个PWM时钟,
PWM频率2.93KHz。

请先别修改程序,直接下载PWM.hex测试。24个IO都设置为推挽输出,

但为了避免外部电路的影响,最好IO悬空测试,这样能定性问题所在。

01-45路15位增强型PWM-C语言.rar (59.79 KB, 下载次数: 83)


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-4-4 06:13:13 来自手机 | 显示全部楼层
从你描述的情况分析一下:
1. 烧写的程序一致,两个批次MCU,对调MCU问题跟着MCU走——要么是硬件问题,要么是软硬件兼容问题;
2. 从示波器看到的波形不一致,逻辑分析仪也是断的,而示波器设置又一致,而且产品表现也不同——最终输出的PWM波形肯定是不一样,并不是示波器和逻辑分析仪的问题;
所以,如果硬件不应该出这样的bug,最简单的办法是换MCU,不然后期可能还会出现其他异常问题,不好预估问题和损失;如果无法更换MCU,那就考虑用软件补偿,比如利用IO翻转形成PWM,看看还会不会出现断的现象。
祝好运!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-04-29 09:24:38

1

主题

19

回帖

69

积分

注册会员

积分
69
发表于 2024-4-4 09:04:04 来自手机 | 显示全部楼层
梁工 发表于 2024-4-3 23:28
已经按您的技术参数编写了程序,主频24MHz,PWM时钟=主频/2,周期4096(0x1000),低电平时间2450个PWM时 ...

好的,谢谢,我后天去公司测试一下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-04-29 09:24:38

1

主题

19

回帖

69

积分

注册会员

积分
69
发表于 2024-4-4 09:05:27 来自手机 | 显示全部楼层
haishi28 发表于 2024-4-4 06:13
从你描述的情况分析一下:
1. 烧写的程序一致,两个批次MCU,对调MCU问题跟着MCU走——要么是硬件问题,要 ...

好的,谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-4-4 09:34:37 | 显示全部楼层
按梁工最后给你的测试程序来测试,
程序先啥都不要动,你动了梁工就无法跟你顺利交流。

如还有问题,直接上班后工作时间电话梁工 13922829991
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-04-29 09:24:38

1

主题

19

回帖

69

积分

注册会员

积分
69
发表于 2024-4-7 17:16:16 | 显示全部楼层
梁*** 发表于 2024-4-3 23:28
已经按您的技术参数编写了程序,主频24MHz,
PWM时钟=主频/2,周期4096(0x1000),
低电平时间2450个PWM ...

梁工,您好:
     感谢您的程序支持,您提供的程序烧录到异常批次的单片机中PWM正常输出。结合您的程序最终我们将问题定位到RTX51操作系统配置的问题。


     最后的解决方法是:我们将RTX51配置的空闲代码配置禁用之后问题消失,目前程序在两个批次的单片机上边测试PWM均输出正常。当前正在对程序进行持久化的测试。

     疑惑的是在之前批次的单片机上量产了500多片没有发现这个问题。

截图202404071710166532.jpg



点评

如果是RTX51的问题,则要深入去了解其底层和工作原理,才有可能解决得了。 如果是多任务操作同一个外设,则一定要保证不能重入,就是说,一个任务操作一个外设时,别的任务不能操作,切记。 PWM这种硬件的外设,是不  详情 回复 发表于 2024-4-7 17:52
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-04-29 09:24:38

1

主题

19

回帖

69

积分

注册会员

积分
69
发表于 2024-4-7 17:16:53 | 显示全部楼层
神*** 发表于 2024-4-4 09:34
按梁工最后给你的测试程序来测试,
程序先啥都不要动,你动了梁工就无法跟你顺利交流。

好的,感谢您的支持,目前问题得到解决
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-4-7 17:52:30 | 显示全部楼层
叶*** 发表于 2024-4-7 17:16
梁工,您好:
     感谢您的程序支持,您提供的程序烧录到异常批次的单片机中PWM正常输出。结合您的程序 ...

如果是RTX51的问题,则要深入去了解其底层和工作原理,才有可能解决得了。
如果是多任务操作同一个外设,则一定要保证不能重入,就是说,一个任务操作一个外设时,别的任务不能操作,切记。
PWM这种硬件的外设,是不会出现断续的,一定要记住,避免浪费时间。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 00:50 , Processed in 0.220439 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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