caven 发表于 2024-7-19 09:34:21

STC8G1K08-38I-TSSOP20 ADC问题

Hi:

   请教一个问题,我在淘宝上买了一个STC8G1K08-38I-TSSOP20开发板,参考官方样例配置ADC4 ,ADC5使能;然后在ADC4对应的pin输入一个信号,发现软件扫描到ADC4 ,ADC5 的电压都变化了;然后在ADC5 对应的pin输入一个信号,发现软件扫描到ADC4 ,ADC5 的电压都变化了; 用万用表 量ADC4 ,ADC5 的pin,也没有发现短路的情况。
   各位有见过以上现象吗。

DebugLab 发表于 2024-7-19 09:37:55

分布参数的原因,会影响悬空的相邻引脚,正常现象
正常的应用中不允许ADC悬空

caven 发表于 2024-7-19 09:44:10

我的开发板测试时 当时一个ADC4 连vcc(gnd)切换, ADC5是悬空的。 我如果把ADC4 连接信号源 A, ADC5 连接信号源 B, 那么软件扫描到的 ADC4 ,ADC5取值 就能正确对应 信号源 A , 信号源 B 的电压吗。

DebugLab 发表于 2024-7-19 09:59:40

caven 发表于 2024-7-19 09:44
我的开发板测试时 当时一个ADC4 连vcc(gnd)切换, ADC5是悬空的。 我如果把ADC4 连接信号源 A, ADC5 连 ...

对的,都接上信号就可以了,悬空随机数,信号的阻抗越小,越不容易受干扰

小飞侠 发表于 2024-7-19 11:55:54

DebugLab 发表于 2024-7-19 09:59
对的,都接上信号就可以了,悬空随机数,信号的阻抗越小,越不容易受干扰 ...

支持

soma 发表于 2024-7-19 12:39:37

AD一定要接否则AD值会在一个范围飘

caven 发表于 2024-7-19 17:51:33

本问题是指 只接 ADC4 与 ADC5 其中之一(另一个悬空), 软件读取 2个 ADC4 与 ADC5 值基本是一样的,不是指 ADC的取值在小幅度跳动。比如 把 ADC4 的pin接3.3v,则软件读出 ADC4 , ADC5 值在1000左右。比如 把 ADC4 的pin接gnd,则软件读出 ADC4 , ADC5 值在100以下左右。所以我怀疑 ADC4 与 ADC5 的2个pin短路了,但是用万用表,并没有短路。

soma 发表于 2024-7-19 18:03:02

ADC是共用一个通道的。多读几次会怎么样。

2300606886 发表于 2024-7-19 20:14:48

如果ADC4和ADC5共用电源或地线,并且电源或地线上存在噪声,这种噪声可能会被两个ADC同时捕获,导致它们的读数都发生变化。

检查ADC的配置代码,确保没有错误地将ADC4和ADC5配置为某种形式的关联或同步模式。

检查ADC4和ADC5的外部电路,包括任何可能连接到这两个ADC的滤波器、缓冲器或放大器,确保它们没有以某种方式相互干扰。

仔细检查ADC4和ADC5的输入信号线走线,确保它们之间有足够的间隔,并且没有与电源线或地线重叠。

确保ADC4和ADC5的电源和地线是分开的,或者使用去耦电容来减少电源噪声。
使用示波器或频谱分析仪来检查电源和地线上的噪声水平。

仔细检查并重新配置ADC的软件代码,确保没有错误地将ADC4和ADC5配置为同步或关联模式。
如果可能,尝试将ADC4和ADC5的配置代码分别注释掉,然后单独测试它们,以查看问题是否仍然存在。

如果以上步骤都无法解决问题,考虑更换ADC芯片,以排除芯片本身存在故障的可能性。

caven 发表于 2024-7-20 11:31:35

2300606886 发表于 2024-7-19 20:14
如果ADC4和ADC5共用电源或地线,并且电源或地线上存在噪声,这种噪声可能会被两个ADC同时捕获,导致它们的 ...

这是买的开发板,板子的线路非常简单,看不出什么问题。 软件是抄官方例子的,ADC.c 的基本代码没有修改。
页: [1] 2
查看完整版本: STC8G1K08-38I-TSSOP20 ADC问题