完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ESP32-PICO D4 芯片
ESP-IDF 4.3 - RC 我们在一款ESP32硬件产品中用到了 ES8156, 由于ESP32 端 GPIO 紧张,所以希望 MCLK 不占用 ESP32 的 GPIO 。 顺芯FAE建议将 MCLK 和 BCLK 短接,由 BCLK 倍频得到 MCLK,并且提供了相应的寄存器配置。 在这种方式下, BCLK / LRCLK 不能小于 64 ,也就是每个 sample 最小 32bit 。 但是在播放 16 bit 双通道音频的时候,BCLK / LRCLK 只有 32 ,每个 sample 是 16 。 我用 I2S_BITS_PER_SAMPLE_32BIT 来播放 16bit 音频,是可以满足 ES8156 的要求的, 并且可以听到音乐,但是播放速度快了1倍 : i2s_config_t i2s_config = { .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_RX), .sample_rate = 8000, .bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, .communication_format = I2S_COMM_FORMAT_STAND_I2S, .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2 | ESP_INTR_FLAG_IRAM, .dma_buf_count = 2, .dma_buf_len = 1024, .use_apll = true, .tx_desc_auto_clear = true, .fixed_mclk = 0 }; 顺芯FAE表示 标准I2S协议 可以用两个空字节填充,像这样 : 那么: 1. 是否可以通过配置,让 ESP32 播放 16bit 音频时,用2个空字节将每个 simple 由 16 bit 填充到 32bit 2. 如果不能配置,我能否在 i2s_write() 前,给数据事先插入隔空的2个字节 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
542浏览 6评论
454浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
434浏览 5评论
436浏览 4评论
409浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 14:31 , Processed in 0.570969 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号