编者的话
ADAU1850 实现脱机运行,是开发这个 DSP 的最后一步。这颗芯片必须外挂 MCU,通过 MCU 来启动 DSP,于是我们就做了一块 STM32 的 MCU子卡,通过对这个 MCU 的操作,来实现控制、开发和启动 DSP 的功能。
STM32 大家都非常熟,我们希望用户能在 STM32 的这个例程源码上,理解如何用 MCU 来搞 1850,当然并不是一定要用 STM32,用户可以以此为基础,随意用自己喜欢的 MCU。
开发前的准备工作
- 硬件准备 一块 ADAU1850 的开发板(含 MCU 子卡),一个 ADAU1850 专用仿真器,音频线两根, 音源一个,耳机一个,STLINK 烧写器一个。
ADAU1850EVB:ADAU1850开发板
LARK-1850:1850的专用仿真器
STLINK:MCU烧写器
如上图所示,绿色的未接入系统的这个小仿真器,就是我做的 STLINK。 特别注意:做这个文档里所有的工作,都不能插 MCU 子卡,因为会影响仿真器对 DSP 的调试,有冲突。
- 软件准备 安装 LARK Studio(这个我在ADAU1860的开发文章中有详细说过,就不重复了);安装单片机开发软件,安装单片机烧写器软件(这两个软件均提供了安装包,安装全部是下一步,任何电脑跳出来提 示是否强制安装的,一律选择强行安装)
Lark Studio 下要做的工作
- 首先使用 ADAU1850 专用仿真器(后面会简称仿真器)来调试 DSP,做好 DSP 的工程。我 随便做了一个程序,就让这个程序实现脱机吧。
程序用的是我文件夹里的这个,打开看一下:
0,1,2 三个通道同时输入,经过混音后,再过一个音量调节模块,以及一个静音模块,最后 输出到耳机。
程序很简单,我就不多说了。 通过仿真器在线下载,输入音源,输出耳机播放没问题,下一步就需要把这个程序让单片 机启动。
特别注意,一定要先用仿真器下载程序,验证程序的正确性,再才可以进行脱机的操作。 下载完程序后,耳机听到声音,调一下音量和静音,都没问题,实现我想要的功能。
- 导出这个 LARK STUDIO 里的工程,见下图:
将导出的文件指定到单片机工程的 MCU 文件夹内。(注意,导出文件名不用改,我在 MCU 工程里都设置好了一一对应的)
下图是我的单片机工程中,MCU 文件夹的位置(我单独拷贝出来,放到 D 盘,不含中文路 径):
导出后会覆盖原有文件,覆盖完之后,可看到文件的最新更新时间,就是你现在正在操作的 当下时间。
问你是否替换,选择是!
我是 2022 年 9 月 7 日做的这个程序,所以这个覆盖后的文件就显示的是我当下时间,说明 导出文件成功。 导出之后,DSP 部分的工作就全部做完了。
MCU 烧写
-
打开安装好的单片机开发软件,第一次打开,设置一个 workspace,基于 Eclipes 的开发环境 都是这样,没什么好说的:
-
进入之后,选择第三个,来 import 你的工程。
-
指定文件夹到你的工程文件
- 010 进行编译。
显示编译完成,获得 BIN 文件。BIN 文件在你的工程里:
- 使用单片机烧写工具来烧写 bin。
注意,要烧写 MCU,就必须先把板子断电,把 MCU 子卡插上,然后拔掉 DSP 仿真器,再 接上 STLINK。 STLINK 插入 PC 后,设备管理器里出现了它:
打开烧写软件:
点击下图中 connect to target 按钮,紧接着按一下 MCU 板子上的 RESET 键(注意:不按复位键会连接不 上的)
链接成功后如图:
擦除单片机 flash
擦除完成
加载 bin 文件(通过 STM32 软件编译而成)
加载完成:
烧写文件
选择默认的就可以了。
烧写完成:
断开板子电源,拔掉 STLINK,并将输入音源、输出耳机接好,板子重新上电,实现音频输 入后,耳机听到音乐,并且通过 MCU 卡上的按键可以控制音量大小和静音,完成脱机。