Page 1 of 2

【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 15:47
by jujuju

我参考这个帖子:https://www.tuyaos.com/viewtopic.php?p= ... =ADC#p6406;将模式改成了bypass,然后外部接了分压电路,一个47K,一个10.2K,外部输入的电压是3V,正常ADC引脚该检测到534mv; 但是实际返回的值是134mv,感觉即使使用了bypass模式,芯片内部的分压电阻仍然会生效; 请问使用bypass模式是不是只改这个地方就可以了

1.png
2.png

Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 15:52
by jujuju

我外部要检测的电压最高4V,所以只能用bypass模式了吗


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 16:25
by 逻辑的院子

是的,如图所示:

Snipaste_2025-01-06_16-19-36.jpg

建议您按照以下步骤操作:
(1)先用标准电源输出0 ~ 0.8V电压,用PHY6222进行测试,观察是否准确;
(2)用万用表单独测试一下您的分压电路,观察是否准确;
(3)如果(1)(2)都准确的话,再将PHY6222接到您的电路上进行测试,观察结果。


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 17:20
by jujuju

能帮我试一下这个bin文件吗? 这个bin文件我用的衰减模式,但是现在直接拉过去3.3V,ADC采集出来的都不对了,不知道是不是我的芯片坏了, P14引脚


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 18:10
by 逻辑的院子

建议您直接基于原始的SDK修改上面提到的bypass模式,然后通过上位机来按照我说的三个步骤测一下,如果结果不对,可以把结果贴上来看看


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 18:43
by jujuju

嗯嗯现在用了一个原始demo,只修改了sg_adc_cfg.is_high_resolution = 0x3F,0xFF也试过了,烧录后用logic软件测试,每个通道读到的值都一样,比如我外部用直流电源输入了0.8V恒压电压,万用表量着也是0.8V,先后接到通道0和通道1上,但是通道0和通道1读出来的就不一样,而且即使我在0-0.8V范围内调节外部直流电源,通道0、1读出来的值也不会明显变化


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 18:45
by jujuju

这是截图; 如果你那里测试可以,可以发我个bin文件我测试下;注意不能直接用3.3V测ADC是否准确,我测试发现这个芯片的ADC总是不符合预期


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 19:06
by jujuju

每个通道的情况都不一样


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 6日 20:07
by 逻辑的院子

只修改了sg_adc_cfg.is_high_resolution = 0x3F,测试结果如下:

Snipaste_2025-01-06_19-54-07.jpg

从趋势来看是符合预期的

我测试了两个通道,测试结果类似。
不过要注意的是,由于修改成了bypass模式,这里显示的单位是不存在的。


Re: 【BLE phy6222】ADC还是不准

Posted: 2025年 Jan 7日 10:19
by jujuju

有个疑问,bypass模式,tkl_adc_read_voltage返回的是采样值不是电压值是吗? ADC是12位的,那采样范围是0-4096吗? 看上面您测试的0.8V对应的是3000多