作者的话
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条
- 耳机或音响等模拟音源播放设备一个
- 手机或电脑等模拟音源输入设备一个
作者的话
本章中,我做了一个主,两个从,这就是所谓的2个节点,D板做主,C板做从,B板做从,我们来配置一下,看看是怎么实现的。
硬件链接
-
D板的SELFBOOT拨到OFF,非常重要,不让D板自启动,否则实测中调试会出错,千万注意,只要你想用USBI进行实时调试,就务必一定必须把这个D板上的自启动开关拨到OFF。
-
D板和C板通过2米的双绞线链接,D板接A2B的SLAVE接口,C板接Master接口。
-
C板的Slave接口,通过双绞线接B板的Master接口。
-
USBi插到D板上的JTAG接口,另一头通过USB线接PC。
-
D和B板都不要接耳机输出或者音源输入,让D板和B板的接口先空置。
-
5V2A给D板上电,注意12345全部做完了,再做6,给系统供电。
SigmaStudio 工程
这个DEMO用到了3个SigmaStudio工程,D板上的ADAU1452 Master,D板上的ADAU1761 Master,B板上的ADAU1761 Slave,如下图。
A2B主程序
实现D和C板和B板的A2B功能,我们使用了上图的这个D&C&B的程序。
A2B主程序的配置详解
- 打开“adi_a2b_3Node_D&C&B.dspproj”工程;
2. 配置B-ADAU1761(具体怎么配置我就不写了,跟之前文档里的配置操作是一模一样的)
3. 配置D-ADAU1452
4. 配置D-ADAU1761
5. 配置C-DMIC
6. 上面就把所有的配置都完成了,然后在SigmaStudio界面下,在线下载程序:
- 点完下载后,C板和B板就会同时被D板给供电,其中C板子上亮起1红1绿2个灯,B板上亮起1红1绿1蓝三个灯;
这个时候我们把耳机插到B板的黑色输出接口,用手触摸或敲击C板的M1、M2、M3、M4,4个麦克风,会在耳机中明显听到来自麦克风传过来的声音,完成C到B的系统传输。
而我们把电脑的模拟音源通过B板的绿色输入接口,输入模拟音源,D板的黑色输出接口接耳机,就能听到音乐从B板进,经过A2B后,D板输出到耳机,完成B到D的系统传输。
总结
在A2B的主和从配置工程里,我通过对D板上的2个DSP,C板上的4个DMIC,以及B板的1个DSP进行配置,实现了A2B的功能。
功能1:D板通过A2B接口,2米的双绞线,给C板和B板供电;
功能2:C板把DMIC信号,通过A2B接口,双绞线,传输到B板,实现音频信号传输功能;
功能3:B板把来自电脑声卡的模拟音源,通过ADAU1761 AD后的数字音频,通过A2B接口,传输给D板,由D板的ADAU1452送到ADAU1761做DA后,推送到耳机上听音乐,实现音频信号传输功能;
功能4:D板把I2C配置通过A2B接口,双绞线,传输到C板和B板,配置它们上面的器件,实现C板的DMIC拾音的功能,以及B板的音频传输功能。
实现步骤总结:
1.链接硬件;
2.打开A2B工程;
3.配置D板上的ADAU1452,ADAU1761,C板上的DMIC,B板上的ADAU1761;
4.下载工程实时调试,实现A2B的1234项功能。