作者的话
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,实现文档一里的数字音频传输,以及I2C数据传输的功能。本系统是一个主一个从,后面还会写其他的主从,以及主从从的三板搭配,这些就不出现在本文档中了。
硬件使用列表
AD2428WD-EVB开发板 一块
AD2428WB-EVB开发板 一块
USBi仿真器 一个
A2B 2米双绞线 一根
5V1A或2A的电源 一个
D板输入模拟音源的PC 一台
B板播放模拟音源的耳机 一个
硬件链接
-
SELFBOOT开关OFF,我们进入调试模式(非常重要,开关不打到OFF,调试会出错,调试的时候一定务必必须把这里OFF)。
-
物理链接的话,USBi调试器一头通过USB线接PC,一头通过JTAG头接D板;
-
D和C通过A2B的双绞线链接,D板的Slave出,B板的Master进;
-
D板的绿色模拟输入接口输入模拟音源,我是直接接在我的电脑的声卡3.5出口;
-
B板的黑色模拟输出接口输出模拟音源,我是直接接我的3.5耳机;
-
5V2A电源给D板供电。
SigmaStudio工程
A2B和ADAU DSP的配置不一样,我做起来就觉得有点繁琐,新手更是不太好下手,那么就用我们的D板和B板组成的A2B系统里,来教大家怎么一步一步操作,实现功能。SigmaStudio下有三个要用到的工程,在下面的文件夹里。
我们的D和B组成的A2B系统,会用到下面三个:
master_ADAU1452.dspproj
master_ADAU1761.dspproj
slave_ADAU1761.dspproj
1. ADAU1452 Master工程
首先D板上有一颗ADAU1452,这个DSP作为主控芯片,我们需要对他进行链路的配置,配置工程名称为:“adi_a2b_master_ADAU1452.dspproj”,这个工程是ADI提供的。
SigmaStudio里ADAU1452的工程,其实没什么可多说的,我有专门的ADAU1452开发板把每一个步骤都详细讲过,这里就不重复了,我们就直接看。
首先Hardware,USBi把ADAU1452和EEPROM连起来,注意I2C的地址不要改他,这个是根据硬件设计来的。
Schematic,功能实现的原理图界面:
2. ADAU1761 Master工程
D板上有一个ADAU1761,是作为ADDA来用的,同样有专属的配置工程,就是:“adi_a2b_master_ADAU1761.dspproj”
3. ADAU1761 Slave工程
B板上有一个ADAU1761,是作为B板上的DSP使用,他作为Slave板,专属的配置工程是:
“adi_a2b_slave_ADAU1761.dspproj”
A2B主程序
我们现在要做的是D板和B板的配置,所以我提供了一个专门的A2B配置程序,请看:
“adi_a2b_2Node_D&B.dspproj”
这里有很多程序,后面的文档会一一用到,而这个文档,我们只用D&B。
打开这个D&B程序,我们看一下具体的配置:
下面就是配置每一个DSP芯片,我们先来配置B板上的ADAU1761(注意要上电之后,首先配置它):
配置 B 板的 ADAU1761:
鼠标左键选中这个 B 板上的 ADAU1761,鼠标右键,点第一项:
生成 xml 后,会自动填到第一栏,选中方框,然后 Program:
下载完成后,打印一串的 SUCCESS! B 板的 1761 配置完后,我们来配 D 板的 ADAU1452。
配置 D 板的 ADAU1452:
鼠标左键选中这个模块,然后点右键,出现可选菜单,我们选第一个,进入芯片配置页面:
选中 Program 的框,然后点烧写:
配置 D 板上的 ADAU1761,同样的步骤,再来一遍。 配置 D 板上的
ADAU1761:
生成了 XML 之后,他会自动填上去,我们只需要点好框框,然后 Program:
这样 3 个 DSP 芯片就全部配置好了。
点 Sigmastudio 的下载程序,把我们配置好的工程下载到 DSP 的 SRAM 上,实时的运行(注 意这个是在线调试,下载到 DSP 的 SRAM 上,断电程序就没了):
下载完后(几秒钟),我们从 D 板的绿色输入接口输入音源,通过 B 板的黑色接口接耳机, 可以听到音乐。同样,我们从 B 板的绿色输入接口输入音源,通过 D 板的黑色接口接耳机, 可以听到音乐。
总结
在 A2B 的主和从配置工程里,我通过对 D 板上的 2 个 DSP,以及 B 板上的 1 个 DSP 进行配 置,实现了 A2B 的功能。 功能 1:D 板通过 A2B 接口,2 米的双绞线,给 B 板供电 功能 2:D 板把数字音频通过 A2B 接口,双绞线,传输到 B 板,实现音频信号传输功能。 功能 3:D 板把 I2C 配置程序通过 A2B 接口,双绞线,传输到 B 板的 ADAU1761,配置 B 板 子上的 ADAU1761,实现 1761 的 ADDA功能。