极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21716|回复: 2

【Ameba Arduino】实战:Ameba+SGTL5000简易音频播放器

[复制链接]
发表于 2016-10-17 11:03:17 | 显示全部楼层 |阅读模式
本帖最后由 Ameba_Arduino 于 2016-10-18 11:51 编辑

Ameba + SGTL5000 简易音频播放器

Realtek Aemba系列IoT WiFi Soc集成多路I2S通讯总线,结合完善的SDK,让你在10分钟内打造属于自己的音频播放器。

I2S Audio demo

此demo使用Ameba作为I2S master,音频编解码芯片SGTL5000作为I2S slave。Ameba通过I2S将数据音频数据传送到SGTL5000,SGTL5000通过耳机输出音频信号,并设置一个音量调节旋钮,用于调节耳机音量(可选)。
此demo有两种获取数字音频数据的方式,第一种是通过数组的方式,存放在Ameba的RAM中。第二种是将音频文件存放在SD卡中,结合Ameba的文件系统和SD卡驱动,从SD卡中播放音频文件。
Demo所用音频数据都是CD品质(16bits,44.1KHz)。


材料准备
◾Ameba x 1 (RTL8195AM/RTL8711AM)
◾SGTL5000 codec扩展板x1 (Teensy Audio Adapter)
◾SD/MMC Card Connector (optional)
◾可调电位器 (optional)
◾杜邦线若干 (optional)

Demo平台搭建

Teensy音频扩展板,使用飞思卡尔SGTL5000 codec,支持立体声耳机输出与线路输出,同时也支持立体声线路输入以及单通道麦克风输入。



Teensy音频扩展板官网资料:https://www.pjrc.com/store/teensy3_audio.html

1. Ameba连接SGTL5000

SGTL5000扩展板通过7根信号线与Ameba相连。I2C(SDA和SCL)用来控制和调整SGTL参数。I2S用于传输音频数据,TX,RX,LRCLK(44.1KHz),BCLK(1.41MHz)和MCLK(11.29MHz), 三个时钟信号均由Ameba产生。


2. Ameba扩展SD卡槽 (optional)
参照下图连接SD/MMC卡槽到Ameba,可实现Ameba播放存储在SD卡上的音频文件(wav格式)。


3. Ameba接音量旋钮 (optional)
可选用一个线性电位计调节耳机输出音量大小,连接电位计的1端和3端(视电位计本身而定)分别至V3.3和GND,连接2端到Ameba开发板A2。Ameba通过ADC采集A2端口的电压信号,转换为音量信号,以调节codec的耳机输出音量。


开启Audio Example

如果使用SDK 3.4b,需要先加入patch:3.4b_patch_i2s_audio_demo(v01)
如果需要开启SD卡功能(仅限RTL8195AM),还需要加入patch:3.4b_patch_sd_storage_(v04)
在platform_opts.h中将Audio Example的宏设置成1,开启Audio example。

在example_audio.c中使用一下两个宏配置是否从SD中读取音频数据,以及是否开启音量调节功能,默认都是关闭,即音频数据存放在RAM中,关闭音量调节功能。

#define CONFIG_PLAY_SD_WAV                0        // 1: play wav audio file store on SD card
                                                // 0: play audio file store on memory
#define CONFIG_TUNE_VOLUME                0        // tune volume by trimmer resistor and ADC


重新build SDK,下载ram_all.bin到Ameba,插入耳机即可以听到相应的音频。
如果从RAM中获取音频数据,默认的音频文件为‘鸟叫声’,所以可以听到循环的鸟叫声。
如果选择从SD卡中播放音频文件(wav格式),需要先将wav格式的音频文件存放在SD卡中,并更名为AudioSDTest.wav。
如果已开启音量调节功能,可以左右调节电位器,可以感觉到耳机有明显的音量变化。


Realtek官方网站教程:http://www.amebaiot.com.cn/standard-sdk-i2s-audio-demo/

关于更多介绍请访问Realtek  Ameba官方主页:http://www.amebaiot.com/cn
官方QQ交流群:Ameba Arduino技术交流群(184666894
论坛干货:
【新品推荐】Ameba Arduino全功能IoT解决方案
【Ameba Arduino】入手教程之一:开发环境搭建
【Ameba Arduino】入门教程之二:5分钟玩转小车无线控制
【AmebaArduino】入门教程之三: Wi-Fi之初体验
【Ameba Arduino】入门教程之四:Ameba WebServerLED 控制
Ameba Arduino】入门教程之五:给无线小车添加“眼睛”
Ameba Arduino】入门教程之六:无线小车进阶控制---六轴姿态控制
Ameba Arduino】实战:用Ameba打造Wi-Fi控制的MP3播放器
Ameba Arduino】实战:用Ameba读写SD卡
Ameba Arduino】实战:Airkiss配置Ameba连接Wi-Fi
【AmebaArduino】实战:QQ物联--手机QQ和Ameba通讯

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-10-18 11:17:59 | 显示全部楼层
本论坛禁止无内容外链,您如果无法补齐内容,您的所有帖子都将被删除,敬请悉知
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-18 11:41:27 | 显示全部楼层
迷你强 发表于 2016-10-18 11:17
本论坛禁止无内容外链,您如果无法补齐内容,您的所有帖子都将被删除,敬请悉知

群主,谢谢提醒。
我马上补全此帖。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 17:20 , Processed in 0.048852 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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