找回密码
 立即注册
楼主: rm543

关于STC8 USB功能导致ADC读取跳动的问题

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2026-07-23 20:24:48

6

主题

83

回帖

997

积分

高级会员

积分
997
发表于 2026-1-28 08:50:43 | 显示全部楼层
神*** 发表于 2026-1-28 08:30
重新再整个板子吧,另外 UCAP 0.1uF--->10uF
ADC不要用,UCAP旁边的 ADC通道
===我们是没问题的 ...

这个板上的Ucap是 100nF+22uF 陶瓷电容 +220uF 电解电容。
Ucap和电源上的电压波形请查看45#的测试结果。

如果可以的话麻烦把你们的测试环境和测试结果展示一下,
我这边希望可以通过复制环境来复现没问题的效果,
也可以出一个测试板的布局或者PCB Demo,我做出来验证,
我水平有限,这块板的走线我不太懂可以怎样优化。

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2026-07-23 20:24:48

6

主题

83

回帖

997

积分

高级会员

积分
997
发表于 2026-1-28 20:20:51 | 显示全部楼层
神*** 发表于 2026-1-28 08:30
重新再整个板子吧,另外 UCAP 0.1uF--->10uF
ADC不要用,UCAP旁边的 ADC通道
===我们是没问题的 ...


把5路ADC的引脚都直接连到单片机的GND引脚了。

P1.0 ADC0, P1.1 ADC1, P3.3 ADC11, P3.4 ADC12, P3.5 ADC13
这几个ADC引脚直接焊一坨锡然后直连单片机GND引脚:
IMG_20260128_194809.jpg

测出的结果:
捕获33.PNG

把ADC引脚短接到 Vref 上也是一样的跳动规律:

捕获44.PNG


我还做了一个实验,验证引脚输出数字电流是否有影响:
把 P1.6 设置成推挽,然后设置该引脚为 MCLKO 系统时钟分频输出,
系统时钟为24MHz,4分频输出 6MHz ;
引脚输出串联 1KΩ 电阻。

然后我把这个时钟输出引脚串联电阻后对地短路,相当于高电平时输出3.3mA,
不停对短路跳线进行不规则插拔模拟负载变化,ADC的读取结果跳动规律不变。

看来单独的IO口电流变化并没有对ADC造成什么影响,干扰最大估计还是 USB 模块。

目前看到的规律是:
P5.4 靠近 Ucap 引脚短路后的ADC跳动最大,达到 8,
远离电源的ADC引脚短路后跳动最大约在 4;

ADC不同通道之间受干扰程度有区别,
10KΩ下拉电阻和短路时跳动值也有区别。




回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2026-07-23 20:24:48

6

主题

83

回帖

997

积分

高级会员

积分
997
发表于 2026-1-29 20:19:19 | 显示全部楼层
再验证了比较器,设置迟滞为0mV也没有受到USB的干扰,
目前看来最少还可以用比较器来做简单的过流检测。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:810
  • 最近打卡:2026-07-23 13:42:49
已绑定手机

13

主题

91

回帖

3695

积分

论坛元老

积分
3695
发表于 4 天前 | 显示全部楼层
rm5*** 发表于 2026-1-29 20:19
再验证了比较器,设置迟滞为0mV也没有受到USB的干扰,
目前看来最少还可以用比较器来做简单的过流检测。 ...

兄弟最后这个问题解决没?
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2026-07-23 20:24:48

6

主题

83

回帖

997

积分

高级会员

积分
997
发表于 4 天前 | 显示全部楼层
our*** 发表于 2026-7-20 13:18
兄弟最后这个问题解决没?

最后我在芯片硬件上没办法解决这个在USB模块工作时候导致的读数跳动,


然后使用了一个三数取中值的滤波方式,经过取两次中值滤波后这个干扰绝大部分都可以滤掉了。
意味着只要使用USB硬件的同时想要得到较好的ADC结果,那么就要牺牲掉9次采样来换来一次正确的结果,
因为没办法和USB硬件动作进行同步避让,USB行为是异步任意时机来的,
所以只能是通过滤波的方式。

如果有兴趣的话我可以开个贴写一下针对这个问题的滤波方法。

点评

后续 USB的 3.3V-LDO的GND会在封装时不和 AGND打线在一起 [attachimg]144565[/attachimg]  详情 回复 发表于 3 天前
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:810
  • 最近打卡:2026-07-23 13:42:49
已绑定手机

13

主题

91

回帖

3695

积分

论坛元老

积分
3695
发表于 3 天前 | 显示全部楼层
rm5*** 发表于 2026-7-20 20:09
最后我在芯片硬件上没办法解决这个在USB模块工作时候导致的读数跳动,

我以为最后是重新排板解决这个问题的,或者你把板子寄给官方一起来研究这个问题到底怎么回事的,开一个新帖吧
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2026-07-23 09:42:38

851

主题

1万

回帖

2万

积分

管理员

积分
24438
发表于 3 天前 | 显示全部楼层
rm5*** 发表于 2026-7-20 20:09
最后我在芯片硬件上没办法解决这个在USB模块工作时候导致的读数跳动,

后续 USB的 3.3V-LDO的GND会在封装时不和 AGND打线在一起
截图202607210945299122.jpg

截图202607210946063697.jpg

截图202607210946411136.jpg

截图202607210947195508.jpg



回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2026-07-23 20:24:48

6

主题

83

回帖

997

积分

高级会员

积分
997
发表于 昨天 20:24 | 显示全部楼层
our*** 发表于 2026-7-21 06:38
我以为最后是重新排板解决这个问题的,或者你把板子寄给官方一起来研究这个问题到底怎么回事的,开一个新 ...

一开始我也以为是我电路板布局有问题,
但是我在原来的电路板上在不开启USB时候是ADC可以做到跳动±2LSB以内的,
所以就很疑惑。
后面单独做了一个验证板,用尽可能理想的外围布局和环境去测试这个问题,
但按照我的测试方法发现不是外围电路造成的影响,现象和原来的板是一致的。
如果官方需要这个测试板我也可以提供分析,也希望后面的芯片版本可以改良这个问题。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-24 05:00 , Processed in 0.076826 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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