用ADAU1860开发板教你做音频开发,有手就行(1)
OP做了很多年的ADAU DSP的开发,像ADI的ADAU1701,1761,1452,1466,1467,1772,1777,1787都做过,有朋友感兴趣,我也可以写一写。
言归正传,回到ADAU1860,ADI最新出的一个音频DSP,做降噪耳机用的,大客户不少,那我也想玩一下。我在使用ADI的SIGMADSP的时候,比如ADAU1777,ADAU1787,ADAU1788等型号,都或多或少有些遗憾,为什么性能绝佳的DSP,只能用Sigmastudio做图形化编程呢?ADI就给了那么点算法模块,天花板就在头顶,但是我明明有更大的能力可以做的更好啊,简直自废武功。很可惜绝大多数用户都无法在这些型号上实现自己编程(除非你是BOSE这种ADI的战略合作伙伴,拥有sigmastudio的后台完全开放接口)。又比如为什么1787和1788要加 Sigmadsp内核呀?ANC又不用它,有点资源浪费,很可惜现实情况就是如此。
于是,ADAU1860这不就来了。详细看了一下资料,挺好!你需要更简洁更快速的内核,那就把 FASTDSP放到1860里,其他的什么sigma内核全砍掉。你需要自己编程,没问题就给你C编程,甚至我还给你图形化+C配合, 图形化可以更快速的验证功能,完全自主的C又可以让你的产品没有上限,你想要蓝牙MCU,我找了一颗HIFI 3Z的蓝牙MCU集成到芯片中!所以少年们,是有趣的,Coding 起来吧!
**使用硬件**
ADAU1860EVB:ADAU1860的开发板
产品链接:https://item.taobao.com/item.htm?id=682037130125&spm=a1z10.5-c.w4002-5192690539.13.76c85c94VsD3wt
LARK-1860:ADAU1860的专用仿真器
产品链接:https://item.taobao.com/item.htm?id=681744137327&spm=a1z10.5-c.w4002-5192690539.11.76c85c94VsD3wt
**硬件链接**
1. LARK-1860仿真器通过JTAG口接上开发板,另一头接电脑上电;
2. 开发板通过USB口供电,5V1A或2A即可;
3. 绿色的输入接口接模拟音源输入,我用的就是手机;
4. 黑色的输出接口接模拟音源输出,我用的是BOSE的耳机;
硬件
一台 64 位的 PC ,一块 ADAU1860EVB 开发板,一个LARK-1860 专用仿真器,音频线若干,mini USB线一根,一个到三个输入音源,可以是 PC 或者手机或者其他模拟音频输入设备, 一个输出音源设备,可以是耳机音箱等。(为啥要 64 位的 PC 呢,是因为 ADI 现在提供的新版本LarkStudio 软件只支持 64 位的 OS 了。输入和输出音源这个我也要简单说一下,因为我的目的是尽快的熟悉开发这个DSP, 所以我用的都是最简单的外设,比如输入音源,我用了手机等作为输入音源,而就耳机作为输出设备)
ADAU1860EVB:ADAU1860的开发板
产品链接:https://item.taobao.com/item.htm?id=682037130125&spm=a1z10.5-c.w4002-5192690539.13.76c85c94VsD3wt
LARK-1860:ADAU1860的专用仿真器
产品链接:
https://item.taobao.com/item.htm?id=681744137327&spm=a1z10.5-c.w4002-5192690539.11.76c85c94VsD3wt
软件
首选需要安装 LarkStudio 软件,这个软件是图形化开发 ADAU1860 的唯一工具,你的所有功能验证都依赖这个软件来实现,所以请随时关注 ADI 官网上的软件更新情况,确保自己安装的是最新的软件,已获得更多更稳定的功能。
软件从哪里找呢?ADI公司的官网,感兴趣的自己去找一下,我就不放链接了,免费的,也不需要注册,直接鼠标点一下就可以下载。软件的安装没什么可说的,全部下一步下一步下一步就好了,而且也不需要注册,装上就直接用。ADI在这一块做的还是相当不错的,认清了自己的身份,你是一个芯片商,不是软件商,别想着卖芯片的同时,还要去赚一份开发软件的钱。
特别注意:这个软件在 WIN10 操作系统下可以直接无障碍使用,但是如果你的操作系 统是 WIN7 (注意,是 WIN7 64 位),想用这个软件又不想重装 WIN10 ,怎么办?可以解决,先装软件,强行安装,装好之后会在桌面有一个 Lark Studio 的快捷方式图标,我们鼠标右键,点快捷方式的属性:
确定后,再打开这个快捷方式,就可以正常打开软件了。(32位的系统就真不行了,必须要64位)
ADAU1860EVB:ADAU1860的开发板
产品链接:https://item.taobao.com/item.htm?id=682037130125&spm=a1z10.5-c.w4002-5192690539.13.76c85c94VsD3wt
LARK-1860:ADAU1860的专用仿真器
产品链接:
https://item.taobao.com/item.htm?id=681744137327&spm=a1z10.5-c.w4002-5192690539.11.76c85c94VsD3wt
这个板子是我做的,我做了 3 路模拟输入, 1 路模拟输出,我做硬件设计从来就是怎么省事怎么来,所以就直接照着ADI给我的参考设计来的,关键电路坚决不创新,抄就完了。来看看接口的布局情况:
三个绿色的接口是输入,黑色的接口是输出,输入接口通过丝印可以看得到, AIN0 、 AIN1 、
AIN2。
硬件平台搭建步骤
先把 LARK 仿真器接入到板子上(这个板子是有防反插的,所以不用担心插反了,我也怕插反了)。 注意不要带电拔插,板子和调试器都断电的情况,插入 JTAG 头,或者拔出 JTAG 头 才是正确的操作,这是ADI的祖传毛病。有朋友可能就要问了,那我非要带电拔插,热拔插行不行?我只能说,你这么干可能100次都没问题,但是你的硬件万一损坏了,那么百分之99是因为热插拔导致的。所以别犟,老老实实的冷拔插就完了。
给板子上电,通过 USB 线或者充电宝或者电池供电都可以,这里我简单的直接用 USB
线供电。 (供电正常时,外部电源指示 LED 灯 D3 (红色)会被点亮。否则说明供电有问
题,那就要检查电源或电路连接了 )
3. DIFF AIN0 接入一路(接的是手机音源输入,注意该模拟输入口对应的音频通道编号,
为什么接这一路,我在后面的会详细的说一说)
4. 输出接入一路(我接的是一个耳机输出)
特别注意:把接口怼到最里面,经常有朋友调音频的板子,没有插到最里头,出现没有声音的现象。 接口有点紧,用力怼到底!硬件就接好啦
这个要重点说一下,如果是以前做过ADAU系列DSP的兄弟们,这次可能要大跌眼镜,就是说我也不明白为什么,ADI前无古人的,在ADAU这个系列的DSP里头,1860会单独弄出一个专有的调试数据传输协议,这就意味着以前ADAU1701,1452,1761这些DSP的通用调试器,USBi,他不能用于1860的调试。
我是在做好了硬件之后,才发现我的usbi调不了,问了一下他们,简直就惊呆了,没办法,用还是得用,那就再做一个1860的专用调试器吧。
插播一句,另一颗新型号,ADAU1850是另外一个传输协议,是的你没看错,USBi不能调1850,1860的调试器不能调1850,1850也需要自己的调试器。
仿真器通过 USB 线插入 PC 后,是需要装驱动的,如果你是 WIN10 ,你就直接系统驱动就好了,设备管理器里会多出这么几个东西。
只要看到有这四个, ABCD ,就说明驱动已经装好了,仿真器被 PC 正常识别。 WIN10 不存在装驱动,只需要安装好 LARK Studio ,插入后设备管理器就有啦。
没装好驱动的情况我目前还没有遇到过,说实话也不知道需要怎么去解决,就我自己用的情况来看,反正就是只要插上,就能出现了这4个,然后就能用了。
————————————————
1. 打开 LARK Studio 软件。
我安装的是 2.4.0 版本。 (特别注意,因为图形化编程的整个过 程都会用到这个软件,所以越是新版本的软件,理论上讲 ADI 优化的越好,解决的 BUG 越多,功能各方面越完善,所以尽量安装最新的软件版本,并随时关注软件更新情况)
2. 首先我们来新建一个工程:
注意,选择 Lark 就是对应的 ADAU1860 , Lark-Lite 对应的是 ADAU1850 ,后面这个 SSM6515
不管他,另一个 IC 。
点 OK 后,下一步选择一个文件夹放工程:
1860 的工程都是 .larkproj 尾缀的。新建完成后,就回到了初始打开软件的页面,你会发现就是你的工程啦。
3. 进行工程配置(很关键)
1 )这一步非常重要,首先我们要把芯片的 Power 打开:
2 ) ADC 设置,注意因为我们输入的都是 LINE IN ,所以我在 ADC_CTRL7 这里,把输入通道全
部都从默认的 DIFF 输入修改成了 SINGLE_INPUT 。
3)DAC 设置
4)Clock 设置
注意,我的板子硬件设计是外部时钟,所以要按 CLK_CTRL1 里来配置。
5)PLL 设置
以上,寄存器就全部配置完成了。如果大家觉得太麻烦,可以直接用我配好的例程。
4. 进行仿真器的链接
1)按下图所示操作
2) 链接成功后显示如下图
5. 下载配置好的程序
下载完之后,如下图:
手机通过 AIN0 端口输入模拟音源,耳机从输出端口听到音乐,完成 AD 到 DA 的直通。
看板子的丝印,我软件里设置的是 DIFF AIN0 输入,那么板子上对应的就是 DIFF AIN0 接口。
特别注意:新手朋友看到寄存器里这么多选项,到底每个是什么意思?在 Lark Studio 里做 的非常好,你只需要把鼠标放到这个模块的字上,就会有对他的简短解释,如下图:
总结一下
以上就是第一个程序的实现全过程啦,全部都是以图说话,操作鼠标点一点,就实现了,不难吧。预告一下,有很多OP的小伙伴希望OP讲一讲A2B,汽车音频总线,这不就巧了么,上个月刚做完一个A2B的项目,画了一堆板子,整了好些个资料,反正被封在家也没事干,等1860的调试记录上传完了,我再来详细的说一说A2B吧。
————————————————