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

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2026-1-23 22:05:44 | 显示全部楼层

截图202601232205413664.jpg

截图202601232204593009.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2026-1-23 22:14:58 | 显示全部楼层
请严格按照我们的推荐来做,
楼主的描述和原理图,不一定吻合,但问题:
1,说 VCC串了 22欧电阻,这肯定不专业,直接短路;
2,ADC参考源 TL431的输出没有 并1个10uF电容到地,
     这是不会使用 TL431
3, 楼主一个简单的电路,原理图却搞得那么复杂,请参考下图简化

截图202601232217291388.jpg

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-1-24 10:27:58 来自手机 | 显示全部楼层
神农鼎 发表于 2026-1-23 22:14
请严格按照我们的推荐来做,
楼主的描述和原理图,不一定吻合,但问题:
1,说 VCC串了 22欧电阻,这肯定不 ...

麻烦先仔细看一下10楼的测试板验证。

最开始的原工程在VCC串联22Ω,但是VCC上是添加了大容量电解电容,足够给VCC提供工作电流,不放这个电解电容是不足够提供工作电流的,这是组成RC滤波,因为USB电源上有较大的纹波。这个做法在需要采集ADC保证1LSB精度时很有必要,要保证电源上噪声小于0.5LSB。
这里串联电阻的工作前提是单片机IO没有大电流出入,芯片工作电流没有大的波动,可以保证负载接近阻性,并非所谓的不专业设计,这个做法在测量uV级别的运放上也是明显有效果。

测试板的电路是按照标准的电路结构搭建,TL431上放置22μF陶瓷电容和220μF电解电容,电容超过10μF是为了避开431的环路谐振频点,但是多数的10μF陶瓷电容施加了直流偏压后容量通常不足10μF,这点手册中并无严谨考虑,只能说压着范围边界满足的,再加上新版本的431的谐振频点已经做过优化,所以可以满足更宽范围的输出电容容量(哪怕是100nF也有不震荡的版本)
而且测试电路并未做什么复杂的设计,只是两种供电方式,一种由USB直连VCC供电,一种由线性稳压器对VCC供电,已经没有串联22Ω进行滤波的做法。

因为现在的项目需要在USB通讯的同时采集检流电阻上的微小电压,总量程100mV,所以ADC每一次采样的LSB都很重要,如果跳动达到10以上,那就意味着只能用8位有效位数,任何数字滤波都只能降低噪声的平均值,对随机值是没有办法的,所以必须保证每次采样是有效的,噪声的峰峰值就是不可用的底噪。

如果我的测试还有不足的地方,麻烦指出我再继续验证。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-1-24 11:29:39 | 显示全部楼层
因为我之前用 STC8H3K64 的TSSOP20 封装做过一个电压检测电路,利用特殊的电路结构对ADC分辨率进行拓展,
使用MCU的12位ADC采集,可以测量±30V的直流电压范围,分辨率达到1mV,等效把ADC拓展到了16位,代价是只能采集直流电压。
实际测试可以做到在采集电池电压时ADC的结果跳动在±1的范围,模拟前端的噪声已经要控制在50uV以内,
板子很小只有50mm*20mm且是双面板没法做太多的地线分割,而且还有OLED显示屏,
OLED显示屏的电源有10KHz的电荷泵电流纹波,抑制起来非常麻烦,板子上也不能放置电解电容,只有MLCC。
验证了一点:只要电源和ADC信号进入MCU是干净的,ADC的结果就是干净的,这是由MCU内部决定的上限。

因为在这个项目中和其他的项目中使用STC8的单片机都可以实现非常良好的ADC表现,所以我对STC的ADC是非常有信心的,
这个帖提出这个问题是我确实在电路外围做了很多解决手段都没办法解决,这与STC8一贯优秀的ADC性能表现不符,
所以才非常疑惑,希望官方能对此提供一些解决方案或者结论。

或者可以在你们的测试环境中去运行同样的程序功能,把USB转串口和ADC同时运行,
对比USB开启和关闭时ADC结果的变化,看是否可以复现出这个问题现象。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2026-1-24 12:06:47 | 显示全部楼层
主电源串22欧肯定不专业,直接短路 !
===先按照我们的推荐来,毕竟几十万人在看的电路
       我们错了,我们会立即改正的

下面说明您是如何错的,您供电不合理
1,22欧 * 10mA = 220mV, 5V-0.22V = 4.78V;
2,22欧 * 50mA = 1100mV, 5V-1.1V = 3.9V;
3,22欧 * 100mA = 2.2V, 5V-2.2V = 2.8V;
===可能复位,复位门槛电压,
       3.0V以下复位/2.7V以下复位/2.4V以下复位/2.0V以下复位
4,22欧 * 150mA = 2.2V, 5V-3.3V = 1.7V;
===已经复位了


下图中的 5欧电阻串在 0.8mA电流的 ADC 电源支路中:
5欧 * 0.8mA = 4mV,忽略不计
截图202601241209149602.jpg

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2026-04-02 11:53:21
已绑定手机

6

主题

337

回帖

1721

积分

金牌会员

积分
1721
发表于 2026-1-24 12:15:52 | 显示全部楼层
是电压不稳导致的么
学习
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-1-24 12:25:17 | 显示全部楼层
神*** 发表于 2026-1-24 12:06
主电源串22欧肯定不专业,直接短路 !
===先按照我们的推荐来,毕竟几十万人在看的电路
       我们错了, ...

保证芯片工作电流小于10mA的时候,串连22Ω加上大容量电解电容,
芯片不会复位,而且实测也没遇到过复位,因为没有低频的电流变化。
而且用示波器测量电源上没有电压的跌落,纹波小于1mV。
在对uV小信号处理的运放供电时,如果电源质量不能保证噪声在uV级别,
那么是要串联电阻和磁珠,再并联大容量的电容进行滤波,
才可以保证信号质量的良好,这个是经过验证的。

如果芯片有大电流变化,为保证电压稳定,那电源自然是不能串联电阻。
而且我测试板上已经使用了0Ω,也对比过USB直接供电和线性稳压器供电。

现在的问题不在电源这里,而是ADC的结果跳动问题。
在不打开USB时,已经可以实现±1的结果跳动,
说明MCU的ADC和模拟电路上都工作正常,是良好的状态,
打开USB转串口,就会出现ADC结果跳动变大,问题在这里。


回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:725
  • 最近打卡:2026-03-30 12:09:34
已绑定手机

97

主题

7246

回帖

1万

积分

超级版主

积分
13798
发表于 2026-1-24 12:31:01 | 显示全部楼层
rm5*** 发表于 2026-1-23 20:22
Ucap是内部给USB模块降压的电源脚,官方说3.3V供电时可以VCC直连UCAP

UCAP是数字电源
UCAP接VCC接VREF会相互影响
数字电源和模拟电源之间要退耦
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-1-24 12:31:48 | 显示全部楼层
patch*** 发表于 2026-1-24 12:15
是电压不稳导致的么

我已经在测试板上添加了足够大容量的电容,MLCC和电解电容都就近放置了。

而且用示波器的20mV档弹簧接地已经在MCU引脚上看不到USB开启和关闭时候的噪声变化,
应该是在外围电路能处理的范围内最理想的效果了。

而且ADC结果跳动的范围最大达到了10,有8个mV,如果外围引脚有这个波动示波器应该可以看到。

点评

波动还受VREF影响,示波器测VREF看看  发表于 2026-1-24 12:35
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-1-24 12:38:36 | 显示全部楼层
Debu*** 发表于 2026-1-24 12:31
UCAP是数字电源
UCAP接VCC接VREF会相互影响
数字电源和模拟电源之间要退耦

现在VCC和UCAP各用一路线性稳压供电,线性稳压器的输入用电池供电(USB供电效果也是一样)

然后VREF改用TL431提供,从VCC上取电进行并联稳压,VCC串联47Ω到TL431。
而且在VCC、Ucap、VREF引脚上都各并联了22uF陶瓷电容和220uF的电解电容。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-3 02:15 , Processed in 0.123274 second(s), 88 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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