找回密码
 立即注册
查看: 271|回复: 7

32G8K64-42I-LQFP48比较器输出结果的电瓶转换和中断波形对不上。

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2024-10-15 23:51:22 | 显示全部楼层 |阅读模式


1.我使用比较器做的BLDCM电机的过零检测,手动旋转转子测试中发现比较器结果输出P3.4口的波形是对的,但在比较器中断中做电瓶反转,测试出来的波形理应和P3.4能对的上,但是结果却是差别很大,麻烦看下是什么原因。
其中CH1(黄色)是P2.3中断电平反转测试,       CH2(蓝色)是比较器结果输出口P3.4

黄色是中断电平反转信号,蓝色是比较器结果P3.4输出口

黄色是中断电平反转信号,蓝色是比较器结果P3.4输出口

主程序中测试V相下降沿触发中断

主程序中测试V相下降沿触发中断

比较器宏定义

比较器宏定义

比较器初始化函数

比较器初始化函数

比较器中断函数

比较器中断函数

电平反转定义

电平反转定义


回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-04-10 08:59:03

15

主题

30

回帖

433

积分

中级会员

积分
433
发表于 2024-10-16 09:25:19 | 显示全部楼层
1、CMP_config()这个函数没有看到在哪里调用;
2、V_COM_NIE,应该只需要调用一次就可以了吧,不用放在while里面吧;
3、芯片上电后除了P3.0,P3.1外都是高阻输入状态,直接使用IO取反是否合适。

设置一下P23的属性,再试下,如果还有问题中间可以使用一个标志位试下;
bit flag;
flag = !flag;
P23 = flag;
类似这种
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2024-10-16 10:03:09 | 显示全部楼层
templ*** 发表于 2024-10-16 09:25
1、CMP_config()这个函数没有看到在哪里调用;
2、V_COM_NIE,应该只需要调用一次就可以了吧,不用放在wh ...

1.这个是用的官网参考例程,调用是再mian函数中的SYS_Init()函数中,在系统初始化函数中,
2.IO口的初始化P5.0 P5.1 P3.7 P3.6和比较器相关的使用的是高阻输入, P3.4和P2.3使用的是标准的输入输出设置,  
3.P2.3电平反转我在mian函数中的while(1)中测试过是没问题的
4.P2.3电平反转放在中断中和P3.4口比较输出波形对不上,应该是进入中断有问题,但是我已经将中断优先级由0改到3还是没有改变,所以很奇怪。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:374
  • 最近打卡:2025-05-12 11:09:23

6

主题

326

回帖

2256

积分

金牌会员

积分
2256
发表于 2024-10-16 11:35:07 | 显示全部楼层
估计是示波器测量问题,带宽不够或者开了滤波,很窄的干扰尖脉冲没有显示出来.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-12 09:01:08
已绑定手机

77

主题

4900

回帖

8564

积分

超级版主

DebugLab

积分
8564
发表于 2024-10-16 12:53:34 | 显示全部楼层
检查边沿是否有抖动导致多次进入中断
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2024-10-16 15:42:50 | 显示全部楼层
网*** 发表于 2024-10-16 11:35
估计是示波器测量问题,带宽不够或者开了滤波,很窄的干扰尖脉冲没有显示出来. ...

示波器带宽应该是够得,因为测试比较结果输出P3.4的波形是没有问题的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2024-10-16 15:46:14 | 显示全部楼层
Debu*** 发表于 2024-10-16 12:53
检查边沿是否有抖动导致多次进入中断

现在问题应该不是多次进入中断,而是进入中断的次数不足,CH2(蓝色)通道是比较器结果输出P3.4的波形, 黄色是进入中断IO口反转的波形,比较器设置下降沿触发进入中断,理应在蓝色波形每次由高电平转到低电平的时候要进去一次中断(中断中的IO口电平反转),但是实际看起来好像是没有规律的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:61
  • 最近打卡:2025-05-12 09:50:54

73

主题

5922

回帖

1万

积分

超级版主

积分
12207
发表于 2024-10-16 21:26:42 | 显示全部楼层
P3.4输出是硬件输出的,不会受到软件运行的影响。
比较器中断取反输出则受到软件运行的影响(比如别的同级或更高优先级中断程序执行时间比较长),
对毛刺的响应也很快(上升沿、下降沿时的毛刺、抖动),
所以才出现你这种情况。
你可以允许比较器内部的回差电压,外部电路增加适当的RC滤波。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-12 23:45 , Processed in 0.128216 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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