作者的话
我在前面已经写了5篇,补充一篇更新:Fireworks源码
关于A2B,我写过非常多的文章,都是基于ADI公司的A2B开发板参考设计来写的,在真实世界里,主机厂们用到了ADSP-21565、ADSP-21569,甚至ADSP-21593来做座舱的音响设计,整车的NVH,这些应用全部都涉及到了A2B,也就是所谓的汽车音频总线。
那么这些DSP是怎么做A2B的开发呢?ADI有一整套完整的逻辑,通过下面的系列文章,我就写一个保姆级的教程,从ADSP-21569开始,希望能让感兴趣的兄弟们一看就会。
硬件准备
ADSP-21569开发板:Master板
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.19.5f0d60feR9vWyu&id=721683997705
这块板是我设计的,但也不全是,因为他基本上完全照着ADI的参考设计来的。有兄弟就会有疑问,ADI哪有带A2B的21569参考设计?我怎么从来没找到过。那是因为可能兄弟们开始关注这个21569的A2B的时候,ADI的那块带A2B的21569开发板就已经停产了,我们来看看参考的是哪块板子。
就是这块ADSP-21569-EZKIT,已经停产了,但,他有完整的AD2428,A2B硬件设计。
OP就本着,能用原厂参考设计,一律用原厂,能不自己费脑筋画原理图,就一定不动手的大原则,原版照抄,设计了ADSP-21569EVB开发板。这样A2B的硬件就有啦。
AD2428WB-EVB开发板:Slave1
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.13.7d94710cIHOPJ9&id=696415089875
有Master,就一定要有Slave,才能组合出一整个A2B,我用的是ADI原厂设计,1比1复制的Slave,这样兼容性会更强一些,这个设计来自于下图:
AD2428WC-EVB开发板:Slave2
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.13.57ca3bf0084QYW&id=696662866949
同样是另一个Slave板,我用的是1比1复制的下面这快数字麦克风板。
有兄弟曾经问过OP,说你怎么硬件设计都是原版照抄,恨不得一个电阻电容都一模一样?我正义言辞的说,这样才能保持硬件的一致性和绝对的正确性,给软件开发的兄弟更多的安全感。内心的台词是:有抄就抄,我才懒得自己做硬件设计,即正确,又省事的参考设计,简直太香了,谁用谁知道,一抄一个不支声!!!
USBi调试器:用来调试A2B系统
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.13.37c52dbdSLv6TI&id=38242936768
ADI JTAG仿真器:用来调试ADSP-21569和A2B系统
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.27.ff9949011hncv6&id=753233120844
我用的是ICE-2000,有兄弟说OP怎么我们都用ICE-1000,你跑去用ICE-2000,是不是有点太奢侈了,我只想说,我一个卖仿真器的,手里大把的ICE-2000,我用一个贵点的,性能也只是ICE-1000的9倍的仿真器肿么了,很轻松的好吧,嘿嘿,就是这么豪横,原厂卖1万多呢这个东西。
软件准备
CCES2.11.1
SigmaStudio+2.1
ADI_A2B-SSPlus_Software-Rel1.3.0
全部是官网下载的,没什么可说的。
硬件链接示意图
进入正题
在文章二里,我讲到说ADI没有提供Fireworks的源码,只有一个DXE。但是最近OP找来找去,终于让我找到这个Fireworks的源码了!
大家去装一个SigmaStudioPlus 2.2.0,然后看下面这个目录:
然后在运行Fireworks的时候,不用在运行DXE,而是直接RUN这个工程就好了。
源码在这里:
这个Fireworks是配置了数字的输入输出,但是没有加ADC和DAC的配置,用户可基于这个来修改,匹配自己的硬件设计。
我偷了个懒,没有配ADC和DAC,直接在flash里固化了一个4进12出的直通程序,配合这个Fireworks就可以直接用了。