找回密码
 立即注册
查看: 233|回复: 3

ADC噪声

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-11-21 16:34:28

3

主题

1

回帖

35

积分

新手上路

积分
35
发表于 2025-11-21 16:41:16 | 显示全部楼层 |阅读模式
ADC 有0.3伏左右的电压引起噪声,
void ADC_init()
{
         ADC_CONTR=0x00;
         ADCCFG    =  0x2f;   
         ADCTIM    =  0x2a;               
         //ADC_EPWMT =  1;      
         ADC_POWER =  1;        
         delayms(2);        
}

void adc_1()
{
         ADC_CONTR |= 0x06;     //启动P1.6 ADC  
        ADC_START=1;           
        _nop_();               
        _nop_();
        while(!ADC_FLAG);  
         ADC_FLAG=0;        
         u=(u16)(ADC_RES<<8)|ADC_RESL;  
}

void PWM_init()
{。。。。。。。。。。}

void main(void)
{
    CKCON = 0x00;   
     WTST  = 0x00;
     P1M0 = 0x11; P1M1 = 0x40;
     adc_1();                  
     WritePWMA((char)&PWMA_CCR1H, u >> 8);
     WritePWMA((char)&PWMA_CCR1L, u );
    WritePWMA((char)&PWMA_ARRH, 4096 >>8);
     WritePWMA((char)&PWMA_ARRL, 4096);                                
  }
前置放大器输出的音频信号用电容隔离后给ADC由PWM输出至滤波器到功放,听感正常,但静态有较大噪声,  
P1.6端口加上了103,104电容对地都没用,对地并上10K电阻噪声降低,但音频失真。
AVref电压是从VCC串接一只0402  10-120K(都试过了)再加10UF电容滤波。示波器用20MV  2.5 K档测量没有波纹。
关掉PWM所有功能,ADC仍然存在电压。
由此我猜测是因为ADC有这个0.25-0.45V的电压引起的噪声,
在淘宝上买了两家的12K128和去年买的存货,这三个批次两种形状换上去的的结果是一样的,回想起曾经有一款64D4的单片机ADC只有几毫伏。所以困惑,STC32G12K128  ADC端口有电压是应该存在的还是其他原因产生的。
截图202511211606332619.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2026-03-20 21:53:40

844

主题

1万

回帖

2万

积分

管理员

积分
22719
发表于 2025-11-21 20:07:24 | 显示全部楼层

https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf



贴出你 原理图 的 PDF, 大家才好帮你分析



截图202511212005028679.jpg


为优先保证ADC的精度及其它模拟电路,
就希望 GND 不要流过大的电流,建议:
如果要 I/O 驱动大电流,如 LED灯:
用 强推挽的 高 输出电流,这个只影响VCC;
不要用 I/O 置低,如置低流入电流导通,
MCU-GND 会被流入的大电流抬高 ,
会造成测量误差,建议 ADC转换时,
I/O 不驱动大电流。

经过I/O口流进和流出的电流不要超过60mA。
如果要用I/O口直接点亮发光二极管,
请将I/O口工作在强推挽模式,高点亮。
P3.0/P3.1不要接其它电路,防干扰下载。
P3.2建议做按键使用,或输出到高阻输入的电路使用,
USB型MCU, P3.2会参与下载判断,
P3.2不要上电时被固定拉低/否则会等待0.5S判断USB下载。







回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:670
  • 最近打卡:2026-03-21 10:38:33

9

主题

614

回帖

4288

积分

论坛元老

积分
4288
发表于 2025-11-21 21:01:54 | 显示全部楼层
ADC管脚是高阻输入,用电容隔离实际上是直流悬空状态,输入脚直流电位很容易受到噪声并积累,形成不确定的直流或低频漂移,
实际电路中尽量避免这种情况.
可以在隔直电容后使用两个电阻分压偏置到1/2Vcc,确保零输入是直流偏置稳定
也可以改用运放输出直连ADC脚,注意运放的动态范围和静态直流应调整到1/2Vcc.
如果运放供电电压高于单片机的Vcc电压,应加入过压钳位保护电路,防止异常时高压窜入单片机.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:307
  • 最近打卡:2026-03-19 10:21:34

84

主题

7299

回帖

1万

积分

超级版主

积分
15676
发表于 2025-11-24 11:06:57 | 显示全部楼层
ADC采样交流信号,要给一个中点电压偏置,当没有信号时,ADC输入电压为AVREF/2。STC的所有12位ADC的噪声都很低的。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-22 06:34 , Processed in 0.106489 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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