ADAU1452的开发教程10:逻辑算法模块

作者的话

查看以前写的文章,竟然漏了ADAU1452的教程,这个系列补上。

硬件准备

ADAU1452EVB开发板 一块

产品链接:https://item.taobao.com/item.htm?id=39289236798\&mi_id=0000wqoRr6-98ywbCw8ZTr0mE6q1cknIFCl463Z2sUYdsks\&spm=a21xtw.29178619.0.0

USBi仿真器 一个

产品链接:https://item.taobao.com/item.htm?id=38242936768\&ltk2=17537807781694bl3w9jzvg4i3etpojyy4\&spm=a21xtw.29178619.0.0

5V2A电源适配器一个

3.5mm音频线两条

MINI USB线一根

模拟音频输入音源:手机

模拟音频输出设备:耳机

软件准备

首选需要安装 SigmaStudio 软件,这个软件是开发 ADAU1452 的唯一工具,你的所有功能都依赖这个软件来实现,所以请随时关注 ADI 官网上的软件更新情况,确保自己安装的是最新的 SigmaStudio 软件,已获得更多更稳定的功能。

目前最新的SigmaStudio软件版本是4.7,而且应该不会再有更新了,所以我们如果用SigmaStudio,就固定在4.7版。

这个软件是完全免费的,直接下载安装即可。

特别注意,安装 SigmaStudio 时,有可能需要你安装 Microsoft.NET Framework Ver4.0,如果你的机器之前没有安装过此类软件包。 最新版本的.net Framework 可到网站下载。

软件都装好了,就可以正式开启我们的 ADAU1452 的开发之旅了!

开发平台搭建示意图

ADAU1452 的进阶例程 1:USBi 仿真器自检程序

大家在使用 USBi 调试 SigmaDSP 的时候,通常是下载程序后,看程序是否能正常出声,来判断 usbi 和板子是否工作正常。不过这里我们提供一个简单的小程序,也能来测试一下。

这是可以当作一个 USBi 通讯测试程序,当 USBi 和 PC 以及 SigmaStudio 通讯正常的时候,SS 下载程序,打开 1XRTA1 的开关,鼠标调节 Single1,则 1XRTA1 的电平随之变化。

可将此程序置入原理图设计中,随时可验证 USBi 是否工作正常。 如:

ADAU1452 的进阶例程 2:BasicDSP- DC Input、Adder 和 AB in/Out Condition 的组合使用

SigmaStudio 软件里有一个 BasicDSP 的类,所有的 SigmaDSP 都有可能会用到,下面做几个例程来简单说一说。

例程采用 "直流输入"(DC Input)模块、"加法器"(Adder)和一个 " AB 输入/输出条件"(AB in/Out Condition)模块,用于比较两个输入 VCO 源的电平,其中,这两个源均加上了一个直流值。"条件"模块的输出通过一个" T 形连接" T Connection)分路并传送至"输出"(Output)端。

在当前配置中,条件为假,信号 B 将传送至输出模块。如果单击" AB 输入/输出条件"模块中的"条件" (Condition)图标,使其显示大于符号(>),然后重新编译,则条件为真,结果输出信号 A。

ADAU1452 的进阶例程 3:Delay 延迟和Feedback 反馈的组合使用

这个例程中,来自"延迟" (Delay)模块的输出在一个" T 形连接"处分路,然后传送至"输出"端,同时馈入"反馈" (Feedback)模块,然后传回"多控制混频器" (Multiple Control Mixer)的第二输入端。

ADAU1452 的进阶例程 4:Linear Gain 线性增益和 Divide 除法和 DSP Readback 模块的组合使用

该例程显示的是如何通过"线性增益"(Linear Gain)模块来实现纯增强,如何通过"除法" (Divide)模块来用一个值除以另一个值,以及" DSP 回读" (DSP Readback)模块是如何从 DSP 中读回值的。

ADAU1452 的进阶例程 5:DC Input 和 Tone (lookup/sine)和 Voltage-Controlled Delay 模块的组合使用

该原理图采用"直流输入" (DC Input)模块、"信号音(查找/正弦)" (Tone (lookup/sine))模块、 " T 形连接" (T Connection)、"电压控制延迟" (Voltage-Controlled Delay)模块和"输出" (Output)模块,展示了电压控制延迟算法在其中的工作方式。当延迟处于最大允许范围之内时,直流输入将延迟采样发送至输入信号;如果超过最大允许值或设为 0,则输出未定义。其中,电压控制延迟的最大延迟设为 2001 个采样。直流输入的最大值设为 3013。

ADAU1452 的进阶例程 6:限幅器 (Limiter)的用法

该设计采用 "信号音 (查找/正弦)"(Tone (lookup/sine))模块、"单音量 (共享)"(Single Vol (shared))模块、"限幅器" (Limiter)、" DSP 回读" (DSP Readback)模块、"端子" (Terminal)和输出模块。其中,输入信号的阈值点设为-24 dB,当输入的均方根值超过该值时,则依据"限幅器"帮助页面上给出的比例降低增益。

相关推荐
203号居民33 分钟前
LeetCode hot 100 — 141. 环形链表2
算法·leetcode·链表
玖玥拾1 小时前
LeetCode 202 快乐数
算法·leetcode
LuminousCPP1 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
ZhouDevin2 小时前
算法论文/数据集3——CLD(TMLR2025)压缩训练集,仅保留对验证集有益的样本
人工智能·深度学习·算法·计算机视觉
Tim_102 小时前
【LeetCode】29、两数相除
算法·leetcode·职场和发展
船厂电气自动化ai大模型3 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法
余额瞒着我当琳3 小时前
算法修炼 chapter 2 双指针进阶、盛最多水的容器、有效三角形的个数、两数之和、三数之和、四数之和
算法
你压到我腿毛了6663 小时前
C语言冒泡算法(Bubble sort)
c语言·数据结构·算法
靠沿4 小时前
贪心算法专题(三)
算法·贪心算法
super大力张4 小时前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?
数据库·算法·cadd·moe·svl·基于结构的药物设计