问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - 音频
  • GD32H757XXX 的USB Audio通过I2S传输音频问题 sos

    当选择的是"I2S1"后播放音频,对应管脚示波器测量波形正常,但配置为其他几个I2S(I2S0, I2S2, I2S5) 后每个管脚的波形都出不来, 时钟和对应的管脚选择上都核对没问题, 找不到什么原因。 void codec_audio_interface_init(uint32_t audio_freq){ i2s_audiofreq = audio_freq; /* enable the AD_I2S peripheral clock */ rcu_periph_clock_enable(AD_I2S_CLK); rcu_spi_clock_config(IDX_SPI1, RCU_SPISRC_PLL0Q); /* AD_I2S peripheral configuration */ spi_i2s_deinit(AD_I2S); /* initialize the I2S peripheral with the structure above */ i2s_psc_config(AD_I2S, audio_freq, I2S_FRAMEFORMAT_DT16B_CH16B, #ifdef IIS_MCLK_ENABLED I2S_MCKOUT_ENABLE #elif defined(IIS_MCLK_DISABLED) I2S_MCKOUT_DISABLE #endif /* IIS_MCLK_ENABLED */ ); i2s_init(AD_I2S, I2S_MODE_MASTERTX, I2S_STD_MSB, I2S_CKPL_HIGH); /* enable the I2S DMA TX request */ spi_dma_enable(AD_I2S, SPI_DMA_TRANSMIT); } void codec_gpio_init(void) { /* enable GPIO clock */ rcu_periph_clock_enable(AD_I2S_WS_CLK); rcu_periph_clock_enable(AD_I2S_SCK_CLK); rcu_periph_clock_enable(AD_I2S_SD_CLK); rcu_periph_clock_enable(RCU_SYSCFG); /* AD_I2S pins configuration: WS, SCK and SD pins */ gpio_mode_set(AD_I2S_WS_GPIO, GPIO_MODE_AF, GPIO_PUPD_NONE, AD_I2S_WS_PIN); gpio_output_options_set(AD_I2S_WS_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_85MHZ, AD_I2S_WS_PIN); gpio_af_set(AD_I2S_WS_GPIO, GPIO_AF_5, AD_I2S_WS_PIN); gpio_mode_set(AD_I2S_SCK_GPIO, GPIO_MODE_AF, GPIO_PUPD_NONE, AD_I2S_SCK_PIN); gpio_output_options_set(AD_I2S_SCK_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_85MHZ, AD_I2S_SCK_PIN); gpio_af_set(AD_I2S_SCK_GPIO, GPIO_AF_5, AD_I2S_SCK_PIN); gpio_mode_set(AD_I2S_SD_GPIO, GPIO_MODE_AF, GPIO_PUPD_NONE, AD_I2S_SD_PIN); gpio_output_options_set(AD_I2S_SD_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_85MHZ, AD_I2S_SD_PIN); gpio_af_set(AD_I2S_SD_GPIO, GPIO_AF_5, AD_I2S_SD_PIN); #ifdef IIS_MCLK_ENABLED /* enable GPIO clock */ rcu_periph_clock_enable(AD_I2S_MCK_CLK); /* codec_i2s pins configuration: MCK pin */ gpio_mode_set(AD_I2S_MCK_GPIO, GPIO_MODE_AF, GPIO_PUPD_NONE, AD_I2S_MCK_PIN); gpio_output_options_set(AD_I2S_MCK_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_85MHZ, AD_I2S_MCK_PIN); gpio_af_set(AD_I2S_MCK_GPIO, GPIO_AF_5, AD_I2S_MCK_PIN); #endif /* IIS_MCLK_ENABLED */ } void codec_dma_init(void) { /* enable the DMA clock */ rcu_periph_clock_enable(AD_DMA_CLOCK); rcu_periph_clock_enable(RCU_DMAMUX); /* configure the DMA Stream */ dma_channel_enable(AD_DMA, AD_DMA_CHANNEL); dma_deinit(AD_DMA, AD_DMA_CHANNEL); dma_single_data_para_struct_init(&dma_initstructure); /* set the parameters to be configured */ dma_initstructure.request = DMA_REQUEST_SPI1_TX; dma_initstructure.periph_addr = AD_I2S_ADDRESS; dma_initstructure.memory0_addr = (uint32_t)0; /* this field will be configured in play function */ dma_initstructure.direction = DMA_MEMORY_TO_PERIPH; dma_initstructure.number = (uint32_t)0xFFFE; /* this field will be configured in play function */ dma_initstructure.periph_inc = DMA_PERIPH_INCREASE_DISABLE; dma_initstructure.memory_inc = DMA_MEMORY_INCREASE_ENABLE; dma_initstructure.periph_memory_width = AD_DMA_PERIPH_DATA_SIZE; dma_initstructure.circular_mode = DMA_CIRCULAR_MODE_DISABLE; dma_initstructure.priority = DMA_PRIORITY_ULTRA_HIGH; dma_single_data_mode_init(AD_DMA, AD_DMA_CHANNEL, &dma_initstructure); /* clear the DMA flags */ dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_FEE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_SDE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_TAE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_HTF); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_FTF); /* enable the selected DMA interrupts */ dma_interrupt_enable(AD_DMA, AD_DMA_CHANNEL, DMA_CHXCTL_FTFIE); /* enable the I2S DMA request */ spi_dma_enable(AD_I2S, SPI_DMA_TRANSMIT); /* I2S DMA IRQ channel configuration */ nvic_irq_enable(AD_DMA_IRQ, AD_IRQ_PREPRIO, AD_IRQ_SUBRIO); } void audio_play(uint32_t addr, uint32_t size) { /* disable the I2S DMA Stream*/ dma_channel_disable(AD_DMA, AD_DMA_CHANNEL); /* clear the DMA flags */ dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_FEE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_SDE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_TAE); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_HTF); dma_flag_clear(AD_DMA, AD_DMA_CHANNEL, DMA_FLAG_FTF); /* configure the buffer address and size */ dma_initstructure.memory0_addr = (uint32_t)addr; dma_initstructure.number = (uint32_t)(size); /* configure the DMA Stream with the new parameters */ dma_single_data_mode_init(AD_DMA, AD_DMA_CHANNEL, &dma_initstructure); /* enable the I2S DMA Stream*/ dma_channel_enable(AD_DMA, AD_DMA_CHANNEL); /* if the i2s peripheral is still not enabled, enable it */ if(0U == (SPI_I2SCTL(AD_I2S) & I2S_ENABLE_MASK)) { i2s_enable(AD_I2S); } /* SPI master start transfer */ spi_master_transfer_start(AD_I2S, SPI_TRANS_START); }

    GD32 单片机 USB Audio xx I2S 音频

    772浏览量 0回复量 关注量
  • 请问哪里可以找到N32WB03x输出音频的电路设计和软件例程?

    如题。这MCU看起来支持音频输出。哪里可以找到示例学习一下。谢谢!

    MCU N32WB03X 输出 音频 软件 电路设计

    1634浏览量 1回复量 关注量
  • 用HC32F460的I2S连接WM8978音频IC

    I2S为主模式,MCK允许,EXCK禁止,配置了I2S,允许TXEN,配置DMA,触发为TX输出中断,中断配置了回调函数,当允许DMA通道后,没有进入发送中断。不知错在那,搜索 [align=left]复制[/align] 另外问一上,I2S在不接外部的WM8978模块时,是不是也有数据输出。

    hc32f460 I2S WM8978 音频

    1915浏览量 1回复量 关注量
  • GD有音频播放器的解决方案吗?

    带网络的音频播放器

    音频 音频播放器 音频播放 网络

    1864浏览量 2回复量 关注量
  • 请教 关于运放

    请教用运放来放大音频信号,总感觉放大倍数不够,是电路哪里用得不对,请赐教 [attach]1593394[/attach]

    运放 AC 信号 电路 音频

    3333浏览量 23回复量 关注量
  • 如何能一眼看出运放电路的具体工作原理

    模电难在运放 为此有人将其称为魔电 面对种类繁多的运放电路 如何能在第一时间看出其作用 还望各位坛友能分享一下绝招 例如 在输入为音频信号时 下面的电路是何工作原理

    运放电路 信号 模电 音频 音频信号

    2631浏览量 9回复量 关注量
  • 音频变压器损耗太大原因?

    各位大佬,如附件所示:变压器匝数比2:1,原边励磁感量600mH 原边输入电话芯片产生的音频信号 副边接1-100部电话分机,电话分机由变压器加载的直流24V供电,变压器起交流耦合作用 问题如下: 1、当带载较轻(接3部分机,其中一部通话,另外2部待机,待机时耗电),变压器原边输入2V(A点),副边输出1V(B点)音频信号无损耗。 2、当带载重(接80部电话分机,其中一部通话,另外69部待机,待机时耗电),变压器输入2V(A点),副边输出200mV(B点)左右,信号损耗很大。 为什么重载时,变压器有这么大的损耗?按说重载时,所接分机耗电应该也来自直流24V啊, 是变压器电感量太大所以感抗比较大,导致分机设备多的时候,阻抗变小,分压变小了?

    变压器 音频 信号 音频信号 直流

    3134浏览量 18回复量 关注量
  • 既然DAC可以输出音频,是否单片机DAC输出视频信号?

    既然DAC可以输出音频,是否单片机DAC输出视频信号? 目前音频可以通过单片机的DAC输出,也就是用单片机可以合成音频信号。好比音乐信号。 那么 这个同理。 单片机(H7等之类)的DAC是否也可以合成视频信号。模拟视频CVBS/ PAL-D/NTSC等各式的视频信号。 好比放给图,某些图片转模拟视频等。 这个有参考吗? 有没有DIY一下?

    DAC 单片机 视频信号 音频 模拟

    1939浏览量 5回复量 关注量
  • 2020新唐音频电子选型手册哪里下载?

    2020新唐音频电子选型手册哪里下载?

    新唐 电子 选型 音频

    1141浏览量 5回复量 关注量