作者的话
做了一块不需要Master配置的A2B Slave板,接上车机的A2B接口后,就能解析获得TDM数据,并用板上的DA输出。
硬件准备
Master板:https://item.taobao.com/item.htm?id=696901499299&spm=a1z10.5-c.w4002-5192690539.11.2c6524cbyBpiwD
Slave板:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.19.7eb126982TxFys&id=811967886964
ADAU1701EVB-A2B开发板,是我们新做的,能够独立供电的一块Slave板,他可以当做DSP的开发板来用,也可以当做A2B系统里的自供电、自配置、自启动的Slave板来用。本文将专门讲解他如何来当A2B系统里的Slave板来使用。
这块开发板,我们统一称之为E板。
A2B开发的前置条件
我们在前面的A2B开发系统里可以了解到,D板的初始状态,是D+B,D输入模拟音频,经过D板的AD后,TDM数据通过A2B送给B板,B板DA输出;这是D板子通过EEPROM自启动的程序,在这里,D板是已经打通了A2B上下行的,也就是说我们D板不管接不接B,他上电启动后,音频数据都是一直从A2B往下行发的,如下图:
D板处于这种状态下,我们再去做E板的配置开发,让E来适配D,当D的Slave。
注意,有兄弟说我把D板的EEPROM重新烧写过,没有这种程序了怎么办?那你就回过头去看文档“AD2428WD-EVB开发板使用说明文档(三)A2B-系统的Flash Program详解.pdf”,把A2B的初始程序再烧写回来!
我们下面讲的E板配置,都是默认D处于初始状态。
E板的开关跳线(初始)
要让E板做Slve,我们首先需要对E板进行A2B的slave配置,开关跳线的初始状态如下:
注意红框里的跳线和开关,这个是咱们配置E板的时候需要调成这样,等到接D板的时候是要变化的,其他的几个跳线不管他。
注意MCU开关要拨到IIC:
硬件链接
我们需要用USBi去给E板直接烧配置程序,不需要D板给我们做IIC配置。
USBi接E板,E板通过5V2A上电,很简单就把硬件链路接好了。
软件程序
我们用到的初始配置程序,是我自己做的,程序名adi_a2b_slave_ADAU1701EVB.dspproj,如下图:
输入的6/7就是A2B过来的数据,我们把这个程序烧写到板子里。
- 下载程序
点击下载。
- 下载状态确认
1)下载之后,我们按下按键KEY1,LED1(绿灯亮),这就表示程序中的IO控制起作用了。
2)下载之后,我们给板子绿色输入接口输入模拟音频:
2个黑色的输出接口分别接2个耳机,或者音箱等输出设备:
绿色模拟接口输入从电脑声卡过来的模拟音频,经过ADAU1701的内部AD后,变成数字音频,经过一个调音量的算法,和1个5段的EQ后,分频给2个黑色的输出接口输出,我们从2个耳机里同步听到音乐。
3)转动电位器,耳机里听到的音乐的音量大小随之被调节。
以上,证明我们E板的工作正常,下一步就要把这个解析程序烧写到E板的EEPROM里。
EEPROM烧写
烧写的前提是,一定要先用USBi在线下载程序,然后如上文所写的,把你的程序全部都验证完没问题了,我们就进入烧写环节:
回到上图的页面后,鼠标右键点ADAU1701
特别注意,是选ADUA1701,不是选EEPROM,有兄弟说你不是要烧写eeprom么?为什么反而是去选1701,这玩意我也解释不了,ADI就这么设计的,你就得按我说的去做。
按照我这个配置,然后点OK,就开始烧写了。
读条完之后就烧完了。
验证烧写自启动
把开发板的自启动开关拨到ON,然后按下复位。
1)按键控制LED灯
2)模拟输入,2个模拟输入同步听到音乐
3)电位器控制音量调节
3个条件达成,我们的E板解析程序就自启动了。
有兄弟会问,这个就是DSP的程序,跟A2B解析程序有啥关系呢?关键就在这里:
我们就是要通过他来接收D板的TDM数据。
A2B开发
E板的开关设置
A2B系统接线
1)注意先给E板上电,再给D板上电;
2)D板上电后,点亮E板的A2B子卡;
3)E板按键控制LED灯;
4)D板模拟输入音源,经过D板的AD后,TDM通过A2B接口送到E板的A2B子卡处;
5)E板收到TDM后,经过板载的解析程序进行一系列处理,再DA同步送给2个模拟输出,听到来自D的音源,完整整个设计;
6)E板的电位器控制音量。
后记
我在E板的解析程序中,并不是只做直通,我做了5段EQ,实际上我们可以做更多的算法加到解析程序中,比如高中低音分频?延时?相位?反馈?静音?各种骚操作都可以在这块E板上实现。
兄弟们如果对音效处理感兴趣,就去看我对这块E板写的音效处理算法和文章,再用到这里来,让你的Slave板不仅仅只是发个声,推个功放喇叭,你其实还能让他31段EQ,把声音变得更高级!!!