与昨天相比,越来越多的东西正在走向数字化!如果 FM 调谐器能够提供 100% 纯数字音乐,那么为什么我们需要限制自己仍在模拟中收听?让我们开始数字化吧!
在本项目中,我们将学习如何使用 ESP-01通过无线电数据系统 (RDS)实现红外遥控I2S(IC 间声音总线)输出 FM 调谐器。
RRD-102 V.2 模块和连接我们都很熟悉。我们还熟悉许多可用于控制 RRD-102 V.2 模块的 Arduino 库。大多数 Arduino 库都带有使用 LCD 或 OLED 的 RDS 信息显示。有许多红外遥控库可用。有许多 OLED 和 LCD 库可用于图形和文本显示。
我不打算在这里详细讨论上述任何内容。
Silabs、Quintic、RDA Microelectronics 等提供许多具有 I2S 数字输出的 FM 调谐器系列 IC,
对于 DIY enthu,决定因素是不同的。简单的占地面积,使用面包板轻松快速地制作原型,容易获得,BOM 成本和电路复杂性(很少的外部元件)
锐迪科微电子 FM 调谐器主要提供 MSOP10、SOIC8、SOP16 和 QFN 封装。大多数 SOP16 和 QFN 都带有 I2S 数字输出支持。
由于内部 I2C 总线地址和寄存器组织保持不变,我们可以使用任何 RDA FM 调谐器 Arduino 库,并且跨系列兼容,包括 5802、5820 系列。
所有 SOP16 和 QFN 封装 IC 都带有 3 个 GPIO 引脚。这些 GPIO 可以设置为高电平、低电平或用于中断生成。请参阅数据表了解更多详情。
基本连接和软件与传统接线完全相同,只有很少的细微变化。
在这个项目中,我们将使用 ESP-01 控制 I2C 总线。
ESP-01管脚图
可选的 EEPROM 可以添加到相同的 I2C 总线,可用于存储通道频率的先前状态和任何其他用户首选数据或设置,以便在下次开机时 ESP-01 将从 EEPROM 加载设置。我们可以使用 ESP-01 使用的 FLASH MEMORY 来模拟和实现 EEPROM。只需添加外部 EEPROM,我们就可以通过避免不必要的 FLASH 频繁读/写周期来提高 FLASH MEMORY 的可靠性。
I2S总线有三个信号:
如果我们启用 RDA FM 调谐器的 I2S 输出,则以下 GPIO 引脚将分配给 I2S 信号
即使我们启用 I2S,LOUT 和 ROUT 引脚上的模拟输出仍然可以同时使用!
要启用 I2S 输出,我们只需将 3 位设置为“1”。
默认音频采样率为8ksps 。用户应选择寄存器 0x06H 位来选择更高的采样率。寄存器 0x04H 和寄存器 0x06H 的详细信息请参考代码部分。
启用以上 3 位后,GPIO 将输出 I2S 信号。我们可以将这三个引脚直接连接到任何合适的 I2S 音频 DAC。
您可以参考任何 SOP16 或 QFN 封装的 RDA FM 调谐器数据表,了解更多寄存器和编程选项。
我们可以将 I2S 信号连接到 A2DP 蓝牙 Tx 模块或 ESP32 以进行进一步的音频处理或流式传输。
为了获得最佳音频体验,我们需要将 I2S DAC 音频输出连接到外部自供电扬声器。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !