基于Realtek RTL8761AVT + ST STM32F407 开发的智能电吉他音效器的设计方案

一、前言
音乐家在音乐会演奏时通常需要一台能够修改音效配置的设备。 这个工作通常交给专门的“演出管理员”进行调整。现在我们通过建立一款通用放大器电路,旨在能够增加标准吉他音箱的放大功能且允许远程控制放大器的各个方面的声音效果。因此有两个方法。 第一个是采用一个经典的吉他放大器,用户通过连接到仿真电位器旋钮控制模拟效果。第二个是放大器通过MCU来实现各种综合数字音效的效果。 这些音效包括合唱,镶边,移相器,颤音,延迟,混响等各种组合。项目拓展功能是无线部分,我们采用常用的RF标准即蓝牙标准(由IEEE 802.15.1制定,标准设置了MAC地址以及频率受限制的2.4 --2.485 GHz ISM波段可供我们免费使用)。我们的数字电吉他项目系统设计使用ST微控制器(本列采用STM32F407单片机控制),我们建立了一个从智慧手机通过蓝牙的控制与吉他放大器的数字效果功能。该项目特别需要在吉他的信号处理器上产生效果。 音符应由吉他产生,并发送到处理器进行数字化处理以产生各种效果。 处理器应包含许多创建效果的数字滤波器。 这些效果应由用户选择决定,因此可以绕过不想要的效果,并利用所需的效果,然后通过处理器发送信号到吉他放大器和扬声器进行听觉再现,以达到预期的目标。

二、项目设计
该项目的实施分为两个阶段:
第一阶段,硬件设计,包括各子系统功能的调试以及蓝牙无线模块的设计及调试
第二阶段,软件设计,包括为以下项目增加效果:
预先录制的吉他音符,以及包含实时效果的生成
2.1. 目标 该项目具有以下目标:
●滤除单线圈拾音器噪声(约60 Hz)
●噪声滤波器之后的所有效果都是用户定义的,这意味着使用者不需要的效果可绕过
●失真模型,可将信号增强和削波为特定的最大值和最小值
●创建音讯混响仿真
●创建数字延迟和回声
●将信号更改为比播放的高八度
●生成自动音量膨胀,并根据达到最大音量的速度进行修改
●产生合唱效果,使吉他听起来像多把吉他
●使用延迟线(翻边)或移动信号相位(相位器),如果时间允许可以稍后添加其他效果。 未来可能的影响是声学模拟,用于单线圈拾音器的humbucker建模,用于单线圈拾音器的单线圈模型,管状失真和自动哇音。

2.2. 系统功能原理 信号来自吉他,并到达STM32F407ZET6 混合型MCU。首先将其转换为数字信号,然后它通过噪声滤波器。从噪声过滤器转到用户定义的效果过滤器。之后,修改后的信号将转换回模拟信号,并发送到吉他放大器以获取声音。

2.3. 音效验证(吉他说明) 选择两把不同的吉他是用于主要的信号发生器作用。一个是Squier Stratocaster,另一个是Squier Telecaster。 Stratocaster包含三个单线圈拾音器。这些拾音器存在声音清晰细腻,但会产生60 Hz的嗡嗡声,处理器会消除这种嗡嗡声。Telecaster包含两个humbucker拾音器;基本上两个极性相反的单线圈取消嗡嗡声,嗡嗡声会发出更温暖,更广阔的声音。

2.4. STM32F407ZET6 混合型MCU说明 STM32F407ZET6 混合型MCU包含转换器,因此信号可以被数字化以进行效果处理和然后返回仿真形式进行音讯表示(一个A / D转换器和一个D / A转换器:注意为了简化程序的设计,本设计这部分采用的是外接硬件ADC与DAC)。噪声滤波器跟随A / D转换器,消除了单线圈拾音器固有的噪声。效果连接滤镜以允许在选择时使用某些效果,并使用其他效果未选择时绕过。计划的效果数量为八,但时间可能会更多要设计的效果滤镜。效果滤镜通向D / A转换器。

2.5. 吉他放大器说明 我们使用Fender Frontman 15R吉他放大器输出音讯。它有一个混响电位器,但是将其设置为0,以便可以设计混响效果被测试。它也有一个失真通道,但是在测试设计的滤波器时将忽略它。 2.6. 在下面中,讨论了所提出系统中的一些数字音效效果。 数字音效

1)合唱效果:音乐用语。两组以上的歌唱者,各按本组所担任的声部演唱同一乐曲。分同声混声两种:同声的由男声或女声单独组成;混声的由男声和女声混合组成。按声部的多少,可分二部合唱、三部合唱、四部合唱等。
2)法兰效果:法兰效果就像合唱一样,区别在于法兰的延迟约为0–35 ms,合唱的延迟约为35–50 ms。
3)混响效果:声波在室内传播时,要被墙壁、天花板、地板等障碍物反射,每反射一次都要被障碍物吸收一些。这样,当声源停止发声后,声波在室内要经过多次反射和吸收,最后才消失,我们就感觉到声源停止发声后声音还继续一段时间。这种现象叫做混响,这段时间叫做混响时间。制作混响效果的原理,一共有四部曲,分别是:(1)降噪;(2)插件使用;(3)压限;(4)混响。
4)失真效果:当将正弦信号用作削波电路的输入时,将严重失真发生,结果输出就像方波。为了获得听觉效果,它使原始的柔和声音变得不礼貌。这种声音效果可以认为是最对于某些电吉他演奏者来说很重要。

目前市面上也有专门的数字音效芯片,其价格比较昂贵,其出现的目的是能够打出16个不同的效果。  通过选择数字0到15之间,用户在扬声器里可以听到各种音效效果。 为了测试这个芯片,我们测试了各种变化的影响,在示波器里可观察效果。 下图是一个纯正弦信号在数字音效里的效果。 其他分别显示效果3和12。 看到这些波形证实芯片的工作。 此外,使用尤克里里琴作为输入,我们能够听到各种影响扬声器输出的效果。


sin
图1: 550 Hz正弦信号输入DSP芯片
sin3


图2: 输出的数字效果3
sin12

图3: 输出的数字效果12 A、蓝牙模块设计部分 我们采用了基于RTL8761ATV芯片定制的蓝牙模块(例如:FSC-BT826)是用于建立与其他蓝牙设备连接的相关处理。FSC-BT826 / UART通信可用于图片传送和接收数据。 该模块通过发布一个蓝牙服务,允许其他的客户机-智慧手机进行配对。 通过使用智能手机上的蓝牙终端(如: blu-term)可以发送数据和测试uart连接的图片。

BT

蓝牙部分采用模块设计,主芯片RTL8761ATV,它是Realtek 2.4 GHz的无线SoC。 RTL8761ATV的更多详细信息可以在下面看到。 
BT1

我们使用基于RTL8761ATV芯片定制的蓝牙模块FSC-BT826,蓝牙用于控制为该项目构建的其他应用的各个方面。 使用UART接口,蓝牙在控制放大器方面非常有效。 它是使用protothreads DMA UART库实现的。 为了节省时间,我们没有开发蓝牙的前端,而是在Android设备上使用了蓝牙终端。 未来的工作将涉及为该音效放大器构建功能全面的前端。 B、STM32F407处理器设计部分 STM32F407处理器是一个32位微控制器。 这是作为吉他音效放大器的主要控制中心及数字音效处理。 使用UART连接蓝牙模块,它能够与智能手机的蓝牙通信。 然后,使用各种数字信号处理作为数字输出,它可以进行精细合成各种必要的数字信号,以及正确的输出到扬声器。 此外,利用SPI,微控制器用来控制各种数字电位计或者模拟电位器(100 k)。 因此也是我们采用STM32F407做音效处理的考虑,主要基于其强大的CPU 运算能力,CPU时钟速度可达168 MHz(STM32F407),开发者可以先使用STM32F407 Discovery板结合Audio Weaver工具来进行数字音效设计的验证工作。 因此我们可申请ST提供的STM32F4系列Cortex-M4处理器的低成本评估板进行项目评估,然后再设计自己的开发系统进一步完善其功能。

STM32F407处理器特点
音讯I / O:2-in USB. mono-Mic. 2 out 经DAC. @ 48 kHz 调试界面:SWD两线界面 Flash文件系统支持:是 从闪存启动:是 基本块大小:32个样本 本机数据类型:浮点数

在本项目开发前,首先下载适当目标的ST板支持程序包(BSP)。这些BSP在DSP Concepts网站上提供:https://www.dspconcepts.com。
运行安装程序并接受许可协议后,BSP将安装到C:\ DSP Concepts中的目录中。在计算机上安装BSP软件后,将ST Discovery板连接到计算机。
该评估板具有两个USB连接:
●Mini-USB –用于电源和程序设计
●Micro-USB –用于音讯和控制

注意:只能充电的USB电缆不起作用。如果您在闪烁或连接到主板时遇到问题,请确保您的USB电缆支持数据传输。电缆损坏的常见症状是尝试连接时出现错误消息,内容为“无法创建USB埠-该端口是否正在被其他程序使用?请将两个USB连接都连接到PC。这将为开发板上电,并且几个LED将点亮。 注意:USB集线器会导致不可预测的通信错误,因此我们建议直接连接到PC。如果PC上只有一个USB埠,请使用外部电源为开发板供电(ST-LINK Micro USB连接器),并使用PC的USB埠进行USB-HS连接。

ST-AudioWea【音讯设计的福音】
它是ST与DSP Concepts合作推出超级强劲的傻瓜式音频软件ST-AudioWea,在这里有必要详细的
说明一下:
1. DSP Concepts是一家比较厉害的嵌入式音讯DSP解决方案开发商,如果不了解的话,这里只说一点,大家就了解了。ARM官方中的DSP库就是找他们开发的,一直是他们在升级维护。
2. 操作这个软件,不需要用户具有DSP技能,傻瓜式的,自动生成代码。
3. 软件下载地址:https://dspconcepts.com/st 一共有三个版本,初级版本是免费的,大家可以随意下载,至少有8项功能可以免费使用,已经很给力了,对于一般的用户来说,初级版本足够用了。它超过200+的音频处理模型,用只需拖动拖动控件就可以使用了。如果初级版不能满足您的需求,还有将近200个高级版函数供用户使用的高阶版本,ST的官方地址:http://www.st.com/content/st_com ... st-audioweaver.html

下面我们详细介绍ST-AudioWeaver,它是一种先进的工具,以方便和优化音讯开发和调优STM32微控制器。它基于PC工具,使用一个图形化接口,支持创建和优化先进的音讯处理链通过简单的拖放160 +模块。不需要DSP程序设计技能。 当使用运行时核心库,输出优化嵌入代码,准备生产,大大降低开发时间和成本。ST提供了这个特殊的STM32的礼物,让客户免费并添加一些ST音讯的支持虚拟化和低音增强等模块。高端升级的ST-AudioWeaver额外或自定义音频模块和MATLAB®API支持,使用DSP是可能的。欲想了解更多合作伙伴产品/服务相关的更多信息,请访问:www.dspconcepts.com。 接下来,在其官网上(www.st.com)安装由STMicroelectronics提供的STM32 ST-LINK Utility(STSW-LINK004)程序设计实用程序。http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link004.html,然后将Audio Weaver连接到目标板,启动Audio Weaver Designer应用程序。然后从“服务器”窗口(而非“设计器”窗口)中选择菜单项“目标”→“更改连接”在下拉列表中,选择“ USB”并根据需要更改PID和VID设置。 对于STM32F407板,点击“更改”按钮。该窗口将关闭,“服务器”窗口将更新以反映与发现板的连接。现在应在AWE_Server中可显示一些信息。(具体可参考DSP Concepts STM32F4xx发现板用户指南),此时,Audio Weaver Server能够与主板通信。为了确保Audio Weaver Designer也会看到此更改,请单击“重新连接到服务器”按钮,Audio Weaver Designer中绘制的默认系统如下所示:
BSP

此时看到目标的基本块大小为32个样本,并以48 kHz的固定采样率运行。左输入引脚“ SYS_in”表示3个输入通道。前两个信道是立体声USB音频,这是从PC数据流的音讯。最后一个信道是单声道麦克风。右侧的输出引脚“ SYS_out”也是立体声,这是音讯输出到DAC。实时处理将仅在Audio Weaver模型运行时发生。完成上述的工作后,我们可在Audio Weaver中创建并运行一个简单的模型,并将扬声器插入STM32 Discovery板的3.5毫米音讯输出插孔。现在您应该可以听到STM32 Discovery板正在渲染的音讯!注意:stm32f407是一个单独的BSP, stm32f407的BSP,请下载“AWE_BSP_stm32f407_v1.2_Installer。 进入下载页面:https://dspconcepts.com/downloads。可以找到以下檔包: AWE_BSP_stm32f407_s1.4_Installer.exe(22.7 MB),包括了BSP参考源代码,预先构建的引导映像的程序,ST AWE核心库,构建项目Keil ,IAR, GCC (OpenSTM32)工具链,对ST特定模块的支持。


我们也可以使用默认的例子创建我们的第一个应用程序:
第一步,单击STMicro 8.C.1.1图标,打开AWE Server及程序接口。
AWE1


第二步:打开程序接口后,然后找到合适的参考例子,进行编辑修改成自己项目合适的。

AWE2
第三步:也可以在原有的程序里修改参数及流程控件,其控件都是拖曳式的,非常的方便,我们打开左手边的Misc,可以看到有大量的控件,可以拖曳到工作区进行编辑。
AWE4


第四步:编译运行程序
AWE3


第五步:使用STM32F407 Discovery板设置GPIO输入和输出 STM32F407 Discovery板具有各种LED,I / O引脚和蓝色的用户按钮。 Audio Weaver具有一个GPIO模块,该模块允许输出到GPIO引脚或led或从GPIO引脚或蓝色用户按钮输入。 但是,必须将模块设置为访问所需的引脚。 板上的每个引脚和引脚都有标签。 GPIO模块编号从引脚1开始的引脚,这些引脚需要映像到板上的实际引脚。 STM32F407VG-发现板可用的GPIO引脚图

11 答疑QA:

1,我在哪里可以找到这个难以捉摸的档——神话中的“stm32f407vc.bin”?
2,我想使用STM32F407vg.bin但我找不到, 谁能告诉我在哪里可以下载?
3,我安装两个版本(7. a.0.7和8. b.1.3),但没有所需的本档?
4,安装了AWECore CortexM4 s8.B.3.1-2019.09.18后却没有发现STM32F407_Discovery的固件? 
5,下载一个新版本2.16总阶段的USB驱动程序(2.10版本不兼容Windows 10)但窗台上没有运行?
6,当我试着连接敬畏服务器通过USB视频:1155 PID: 407,下面的信息是显示:无法创建USB埠,该埠正在使用另一个程序呢?
7,有人知道如何AWE BSP 在W10正常工作吗? 上面出现的一些问题,大家可以查看这篇文章也有其他一些建议,另外解决USB埠的问题:https://dspconcepts.com/forums/audio-weaver-general/440-stm32f7-discovery-audio-input-and-output

三、结论
本项目旨在帮助用户更快简单的实现了一种具有数字集成功能的无线电吉他效应用。首先,无线音频模块用于传输电吉他音乐。其次,介绍了数字集成的效应器,使电子吉他手不需要面对凌乱的电线和许多不同种类的效果器,例如失真,镶边和混响。 STM32F407板是用作核心处理器。

最后,让电吉他手可以更轻松,更快捷的方式获得所需的音频效果带键盘的键盘安装在电吉他的边缘。根据原型系统,具有更多实用效果器的集成数字效果器在后续可更进一步的升级中。 四、其他建议 系统里可能会存在或多或少的小问题或者其他超过需求而添加的功能,这些所有功能的主要目标是最终实现该项目。后续会有一些关键的改进,我们的目标取代现有的产品,精简印刷电路板连接电吉他整合为一体。 标准 我们的设计符合所有相关IEEE标准。 这是这种情况下,因为大多数复杂的信号处理是由行业标准和外部集成电路芯片。 例如,FSC-BT826模块符合所有标准的IEEE蓝牙特别兴趣小组(团体)。 STM32F407ZEV6核心板是一个包含许多数字吉他放大器的核心音效算法并符合IEEE的标准。 知识产权方面的考虑 对于知识产权方面的考虑,所有的源代码是由我们提供并授权使用许可。 同样所有模拟电路设计和外部模块(数字声音效应,蓝牙芯片)改编自开源,公开的图纸,因此不需要由原来的作者出具法律协议。 因此,我们的设计没有知识产权专利的冲突。 因此开源我们的设计,并容许在任何杂志或期刊上发表。

 法律方面的考虑 我们的项目包括一个蓝牙模块,外置的插座电源(AC220-DC12V)、因此交直流电压和几个监管机构都受到FCC标准限制:蓝牙模块使用蓝牙规范v2.0 + EDR协议,2.4 ghz频率操作ISM波段,< = -84 dbm的发射功率。 同样包括身份验证和加密数据传输协议。在本方案包含在一个交流电源适配器,将一个12 v交流电源插座输出转换为直流电流与电压。 此外,一些电压调节器是用于我们的项目的各种组件。 因为几个组件需要3.3 v, 5 v, 9-12V电压,我们使用线性稳压器输出。 这些组件和各自的规范都遵守FCC标准限制,因此我们的设计能够在美国合法经营。

►场景应用图

►产品实体图

►展示板照片

►方案方块图

►核心技术优势

1,先进的蓝牙远程控制,可达百米超远距离,尽在自由掌控 2,先进的各种核心数字算法,轻松实现各种高难度音效效果 3,强大的ARM Cortex-M4处理器, CPU时钟速度可达168 MHz 4,嵌入式核心模块设计,可轻松嵌入到其他设备中,并拥有完美的加密功能 5,超低功耗及超小尺寸的设计

►方案规格

蓝牙数字音效器规格参数 ● 插口类型:输入、输出耳机插孔 ● 供电方式:普通DC JACK插座口 ● 外壳常规颜色:白色 ● 材质工艺:ABS 环保材料 ● PCB尺寸:7.5×7.5×1.6CM ● 产品尺寸:8.5×8.5×2CM ● 产品净重:整机 35g ● 蓝牙版本:5.0 ● 播放格式:A2DP/AVRCP/HFP/HSP ● 失真率:THD<1% ● 蓝牙距离:有效传输距离12-15M ● 频率响应:20HZ-20KHz ● 音效增强 16种音效 自适应音效控制 动态低音增强 低音反射系统 2. 技术规格 主要器件: a. 主控:STM32F407+RTL8761ATV。 b. 其他IC:POWER IC & OPA。 主要组件: a. 按键:5按键(up、down、reset、)、自定义(key1、key2); b. 指示:5路ADC调节状态显示的LED。 电气规格: a. 工作电压:12V b. 工作电流: <300mA c. 功率:<5W 2 外观图(设计中)

技术文档

类型标题档案
硬件PCB
硬件Schematics
硬件Layout