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

STC8H2K17U端口串扰

[复制链接]
已绑定手机

1

主题

13

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2026-6-3 10:42:37 | 显示全部楼层
用的PWM定时,连续转换128byte*2声道,然后计算、显示,期间没有关中断,数据被丢弃
        // 配置PWM定时器周期 (控制ADC采样率)
    // ARR = SYS_CLK / TARGET_SAMPLE_RATE - 1
    PWMA_ARR =PWM_SPEED;  // 24000000/40000-1 = 599
    // 配置PWM定时器 - 按照参考代码设置
    PWMA_CR2 = 0x20;    // 设置TRGO触发源
    PWMA_IER = 0x01;    // 使能更新中断
       
    // ADC初始化(P1.4左声道, P1.5右声道)
    ADC_CONTR = ADC_POWER | ADC_EPWMT | ADCCHS;  // 电源|PWM触发|通道4
    ADCCFG = 0x0F;                //左对齐,0.75MH时钟
    EADC = 1;                        //使能ADC中断
回复

使用道具 举报 送花

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 2026-6-3 10:45:58 | 显示全部楼层
xzx*** 发表于 2026-6-3 10:32
梁工,我可不可以这样理解:这个芯片的ADC都是没缓冲的,ADC转换过程影响到了输入脚
我转换速度是40k,两 ...

40KHz的采样速度,对于20PF的采样电容,等效电阻就是1245K,5K信号内阻,输入2500mV,压降就是10mV。
应该是ADC内核不同,ADC转换完成后,采样电容的电压是否归0,会有不同的效果。
STC8K1K17可能是ADC转换完成后采样电容电压不归0的,你可以这样测试:
5V通过两个电阻10K+10K分压后给ADC左声道,右声道通过1K电阻接地。然后测试左声道输入电压,将会出现10mV左右的纹波。
回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2026-6-3 11:07:43 | 显示全部楼层
我明白了,看说明书好像也没有采样归0的设置,这样的话,除非外加缓冲,也没什么好办法,谢谢梁工!
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-7 13:23 , Processed in 0.066903 second(s), 50 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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