查看: 1553|回复: 0

[分享] 基于i.MXRT1010 的音乐播放器方案

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3301

    主题

    6548

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32040
    最后登录
    2024-4-28
    发表于 2021-3-19 12:37:30 | 显示全部楼层 |阅读模式
    基于i.MXRT1010 的音乐播放器方案


    众所周知,音乐丰富了人们的日常生活,一个好的音乐播放器有利于提高我们的生活品质。下面就给大家介绍下 i.MXRT1010 的音乐播放器方案,该方案最大的亮点是就是使用了 NXP i.MX RT1010 高性能低功耗跨界 MCU 作为主控,采用 Cortex-M7 内核,以不到一个美金的价格,频率高达 500 MHz,可以用来音频的编解码、预处理及后处理等。NXP i.MXRT1010最大的特点就是“小身材,大能量”。“小身材”是指该器件采用 LQFP80 封装,特别有利于 PCB 的布线,对整个方案进行优化。“大能量”是说 i.MX RT1010 内置 500MHz 的  CPU内核和较为丰富的外设资源,可以为开发者提供更大的发挥空间。RT1010 的框图如下:

             RT1010 有两路 I2S/SAI 接口,SAI模块提供同步音频接口(synchronous audio interface),支持I2S、AC97、TDM、codec/DSP等全双工串行接口,支持帧同步。
    21.png
           其中,SAI-1 用于多声道音频接口,支持 384 kHz/32 位的 2 声道音频输入或 2 声道音频输出。 SAI-3 可用于立体声音频输入和输出,最高可达 384 kHz/32 位。此外, SAI-3 能够直接驱动 MQS 作为低成本音频输出。
    22.png
           RT1010 芯片中具体的 SAI 功能主要有以下 10 点:


    支持带有帧同步的全双工串行接口,如 I2S、 AC97 和 TDM 接口。
    发送器带有独立的位时钟和帧同步,支持 4 条数据线。
    接收器带有独立的位时钟和帧同步,支持 4 条数据线。
    同步模式,用于在发送器和接收器之间共享位时钟和帧同步线。
    每个数据行可以支持 1 到 32 字的最大帧大小。
    字大小可从 8 位到 32 位 进行编程。
    每个发送和接收数据线为 异步 32 × 32 位 FIFO。
    支持 FIFO 错误后自动重启,无需软件干预。
    支持将 8 位和 16 位数据打包成每个 32 位 FIFO 字(FIFO 打包模式)。
    支持将多个数据线 FIFOs 组合成单个数据线 FIFO(FIFO 组合模式)。

          其他有关音频接口以及 SAI 通道的更多知识可以参考 大大通“小肥雪 PLUS”的博文,链接如下:


          i.MX RT 的多通道 SAI 介绍:


    https://www.wpgdadatong.com/cn/blog/detail?BID=B1696


         数字音频基础及 i.MX RT 的音频子系统介绍:


    https://www.wpgdadatong.com/cn/blog/detail?BID=B1165

    硬件设计说明:


           大联大世平集团推出基于 NXP i.MXRT1010 的 MCU 评估板,该评估板主要由板载的烧录 MCU LPC11U35、SPI Flash、USB 接口、Arduino 接口、SWD 接口、耳机插孔、音频编解码芯片、晶振、LED 灯以、用户按键等部分组成,评估板功能框图如下:
    23.png
    原理图如下所示:


          ① 总体电源图:
    24.png
          ② LPC11U35 板载调试电路:
    25.png
          ③ 电源电路图:
    26.png
          ④ IO 口配置图:
    27.png
          ⑤ 其他模块图:
    28.png
          ⑥ 音频模块图:
    29.png
          ⑦ Arduino接口图:
    30.png
    PCB Layout:
           ① Top 层:
    31.png
           ② Bottom 层:
    32.png
    软件设计说明:


    开发环境安装


          我们使用的是 Keil uVision5(也可使用 NXP 提供的 MCU 开发环境 MCUXpresso),MCUXpresso 下载地址:https://www.nxp.com/design/softw ... -ide:MCUXpresso-IDE


    软件 SDK :


         SDK 包下载链接:https://mcuxpresso.nxp.com/en/builde

          ① 大联大世平集团可以提供客制化的 API 可以快速上手 ADC、I2C、 SPI、UART、SAI等功能调试。现在用 RT1010 SDK 的 SAI 来进行演示,实现音乐播放,例程的路径如下图所示:
    33.png
          ② 程序如下图所示:
    34.png
          ③ 引脚配置及初始化:
    35.png
          ④ 将音频文件转化成 16 进制后存入 music[g_index] 中:
    36.png
           37.png
          ⑤ 判断传输是否完成:
    38.png
          当传输完成后,音频数据将存入 Flash 中,再经过 I2S 将音频数据传输给 Codec解码并转换成模拟信号,此时可通过耳机插孔外接一个喇叭播放存入的音乐。

          ⑥ 外接喇叭播放音乐效果演示:
    39.png
    场景应用图
              喇叭   
             40.png
              MP3
       41.png
    展示板照片
    42.png
    技术文档
              ① 原理图
              ② 数据手册
              ③ BOM 表
              ④ 用户手册
    ► 场景应用图
    43.png
    ► 展示版照片
    44.png
    ► 方案方块图
    45.png
    ► 核心技术优势
               ① Cortex-M7 内核的低成本高处理能力的微控制
              ② 128kB 的紧密耦合 SRAM 存储器实现了仅 20ns 的低延迟响应时
              ③ 支持 2 组 SPI 、2 组 I2C 和 2 组 I2S
              ④ 支持设定多种波特率的音频文件
              ⑤ 免费提供硬件参考设计、软件 SDK、API 以及软硬件技术支持
    ► 方案规格
              ① 两层 Layout 板,尺寸:92 × 123 mm
              ② 供电范围:7V~3.6V
              ③ 工作温度: 0 ℃ ~ 95 ℃
              ④ 支持 SWD 接口
              ⑤ EMI:FCC 15B 3M Radiation


    文章出处:大联大

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-29 02:49 , Processed in 0.125902 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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