找回密码
 立即注册
查看: 717|回复: 6

ADC转换音频的问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:302
  • 最近打卡:2025-05-03 13:03:17
已绑定手机

16

主题

304

回帖

1189

积分

金牌会员

积分
1189
发表于 2023-6-21 09:16:03 | 显示全部楼层 |阅读模式
用p1.3口接入音频信号,ADC3通道转换,为什么没ADC好象没转换成功?


void ADC_Config()
{

        P1M1 = 0x08;P1M0 = 0x00;                // P1.3设置为高阻输入模式

        ADCTIM = 0x3F;                                                        // ADC时序设置:通道选择时间:1个时钟,通道保持时间:4个时钟,采样时间:32个时钟
        ADCCFG = 0x2F;                                                        // ADC频率设置:系统时钟/2/16,数据右对齐
        ADC_CONTR = 0xC3;

}


void main()                                                                    
{
       

        ADC_Config();
       
         WS2812_Init();
   int N=64,i;                                                             //变量初始化,64点FFT运算
        float offset;

while(!(ADC_CONTR & 0x20));
        offset=((float)ADC_RES*4+(float)(ADC_RESL%0x04)); //AD结果高8位左移2位,低2位不变,然后相加
       
        while(1)
        {       

                        for(i=0;i<N;i++)                                      //采集音频信号
                          {
                       
                                while(!(ADC_CONTR & 0x20));
                                        ADC_CONTR &= ~0x20;
                                   s[i].real=((float)ADC_RES*4+(float)(ADC_RESL%0x04)-offset)/4;//((((int)ADC_DATA-128)/2))*4;
                                   s[i].imag=0;
                          }  
                          FFT(s,N);                                       //调用FFT函数进行变换
                          showbar();                                                        //显示频谱       
               

        }
}

专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:302
  • 最近打卡:2025-05-03 13:03:17
已绑定手机

16

主题

304

回帖

1189

积分

金牌会员

积分
1189
发表于 2023-6-21 09:24:59 | 显示全部楼层
关闭ADC就显示正常,加入ADC程序就没反映
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:302
  • 最近打卡:2025-05-03 13:03:17
已绑定手机

16

主题

304

回帖

1189

积分

金牌会员

积分
1189
发表于 2023-6-21 09:26:48 | 显示全部楼层
ADC设置应该问题啊,应该是启动转换,但是就是运行不了
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-27 09:42:20

11

主题

157

回帖

1780

积分

版主

积分
1780
发表于 2023-6-30 11:30:48 | 显示全部楼层
楼主用的是什么型号呢,建议使用我们范例程序先测试下

1.png 2.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-7-12 10:41:33 | 显示全部楼层
楼主可以参考下面FFT频谱的程序:
FFT频谱分析-STC32F12K54, USB-CDC虚拟串口送电脑显示
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2808
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-8-7 08:28:00 | 显示全部楼层
梁*** 发表于 2023-7-12 10:41
楼主可以参考下面FFT频谱的程序:
FFT频谱分析-STC32F12K54, USB-CDC虚拟串口送电脑显示
https://www.stcai ...

STC32F12K54 极限浮点乘法每秒可以达到多少?
拟用F12K54 作I2S和模拟采集,重采样和音频处理。然后usb/spi输出
如果浮点乘法够快,我可以把音频编码也放进去。请梁工指点一下?
如果浮点不够快,改定点乘法也有机会但是算法要改,可能对精度也有一点影响。
如果也想知道,定点乘法速度多少?
手册上虽然有指令集的机器周期说明,但是实际的情况作过FFT的你应该是最清楚的。谢谢啦

点评

复利计算来测试乘法速度: for(ex=12.01f,fx=1.01f, i=0; i  详情 回复 发表于 2023-8-7 10:33
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-8-7 10:33:01 | 显示全部楼层
139182*** 发表于 2023-8-7 08:28
STC32F12K54 极限浮点乘法每秒可以达到多少?
拟用F12K54 作I2S和模拟采集,重采样和音频处理。然后usb/s ...

复利计算来测试乘法速度:
for(ex=12.01f,fx=1.01f, i=0; i<1000; i++)        //1000次浮点运算 @60MHz 打开Cache. 加载硬件浮点库: 585us(包括IO驱动指示、循环控制)。
{
      P01 = 1;       //用于示波器看速度
      ex = ex * fx; // STC32F @60MHz 打开Cache,, 加载硬件浮点库: 0.500~0.600us计算一次浮点乘法.
      P01 = 0;
}

FFT计算幅度:
for(i=0; i<LENGTH; i++)
{
      FFT_A = FSqrtRoot((long)FFT_Real*FFT_Real + (long)FFT_Image*FFT_Image);                   //计算模值, STC32F @60MHz 打开Cache, 加载硬件浮点库+整数库: 286us, 2.234us/次.
}


你的音频编码不知道用的什么编码?对于我们的单片机,合适的音频编码有:PCM、DPCM、ADPCM、DM、mu-law、A-law、CVSD,那些压缩大、计算量大的算法(比如MP3),STC32F也支持不了的。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 15:11 , Processed in 0.480478 second(s), 93 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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