作者的话
A2B作为ADI的汽车音频总线,正在被用户广泛使用,而绝大多数用户都是自己去摸索,非常浪费时间。OP做过几个A2B的项目,想说这么一个比较简单的东西,竟然没有一个人来好好讲解一下,实在是不应该,于是我就弄了一整套的A2B开发套件,我希望用这个A2B的套件搭一个完整的DEMO系统,能够让0基础的用户能够迅速上手此类应用开发。
关于A2B理论上的东西不会出现在此文档中,我只写应用,第一步做什么,第二步做什么,怎么操作,怎么配置,来实现A2B的功能,用最简单最直观的方式,让兄弟们点点鼠标就能开发。
视频教程
数字音频总线A2B开发详解一(A2B开发套件的初始状态说明)
硬件说明
想要搭一个最基本的A2B DEMO,我们需要下面的几个硬件:
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.15.386c1970L8BukJ&id=695380156392
- AD2428WD-EVB开发板 1块
- AD2428WB-EVB开发板 1块
- AD2428WC-EVB开发板 1块
- A2B-STM32核心板 1块
- USBI仿真器 1个
- STLINK下载器 1个
- 5V2A的电源 1个
- A2B双绞线(2米)2条
- 3.5mm音频线1到2条
- Mini USB线1到2条
- 耳机或音响等模拟音源播放设备一个
- 手机或电脑等模拟音源输入设备一个
作者的话
我们都知道A2B可以有很多个从设备,后面的章节我会多接几个从设备,更真实的展现完整的应用场景。
硬件使用列表
AD2428WD-EVB开发板 一块
AD2428WB-EVB开发板 两块
USBi仿真器 一个
A2B 2米双绞线 两根
5V1A或2A的电源 一个
D板输入模拟音源的PC 一台
B板播放模拟音源的耳机 两个
硬件链接
-
SELFBOOT开关OFF,我们进入调试模式(非常重要,开关不打到OFF,调试会出错,调试的时候一定务必必须把这里OFF)。
-
物理链接的话,USBi调试器一头通过USB线接PC,一头通过JTAG头接D板;
-
D和B1通过A2B的双绞线链接,D板的Slave出,B1板的Master进;
-
B1和B2通过A2B的双绞线链接,B1板的Slave出,B2板的Master进;
-
D板的绿色模拟输入接口输入模拟音源,我是直接接在我的电脑的声卡3.5出口;
-
B1板和B2板的黑色模拟输出接口输出模拟音源,我是直接接我的两个3.5耳机;
-
5V2A电源给D板供电。
SigmaStudio工程
跟之前做的程序一样,SigmaStudio工程我们用到了3个:
master_ADAU1452.dspproj
master_ADAU1761.dspproj
slave_ADAU1761.dspproj
A2B工程
这里用到了我做好的D&B1&B2主工程;
配置A2B工程
这里我就不再一一截图了,跟之前文档中写到的每个DSP配置是一样的,我只写步骤:
- 配置B1板上的ADAU1761;
- 配置B2板上的ADAU1761;
- 配置D板上的ADAU1452;
- 配置D板上的ADAU1761;
- 下载工程;
运行结果
- 下载程序后,D板开始给B1和B2供电,B1和B2板分别亮起3个灯,红绿蓝全部点亮;
- 将D板子绿色输入接口输入模拟音源,我用的是电脑声卡3.5接口输入;
- B1板黑色输出接口接耳机1,听到音乐,音频通过A2B传输到B1;
- B2板黑色输出接口接耳机2,同步听到音乐,音频通过A2B传输到B2;
- 实现这些功能,D板同时需要通过A2B,把I2C配置写到B1和B2板,当这两块板都能听到音乐,就说明I2C也写入成功了,B板上的ADAU1761正常工作;
- 供电、音频传输、I2C配置写入均通过A2B完成。