关于I2S中的几个时钟关系

1、SCLK/BCLK:串行时钟,也称作位时钟,对应于数字音频的每一位数据

f(SCLK) = 2 * 采样频率 * 采样位数

2、LRCK:帧时钟,用于切换左右声道的数据,LRCK为1时表示左声道数据,0表示右声道数据

 f(LRCK) = 采样频率

3、MCLK:主时钟,即系统时钟

f(MCLK) =  256 * 采样频率

ADAU1452可支持的最大时钟频率:294.912MHZ

ADAU1452/1451/1450的输入种类:

1、Serial input port —— 对应SigmaStudio中IO的sdata,共有48个通道,4个模块

2、SPDIF —— 索尼/飞利浦标准接口输入,对应SigmaStudio的DigMic模块

3、MIC INPUT —— 数字麦克风输入

4、ASRC —— 采样率转换器,可输入也可输出,输入信号源,输出到DSP core中

Serial input

ADAU1452/1451/1450有4组串行输入口,SDATA0和SDATA1每组有16个通道,SDATA2和SDATA3每组有8个通道;每组输入口的前两个通道为模拟输入,其余可具体用于TDM4、TDM8和TDM16音频输入,通过SERIAL_BYTE_X寄存器配置通道数目。

每个串行输入端口的字长有四种选择:24、16、32位以及灵活的TDM

24位(1.23格式)输入时,在底部LSB填充8个0,使其成为1.31格式,然后对音频数据进行移位,使其顶部有7个0,最底部有1个0,中间有24位数据(8.24格式)。

16位输入,则在底部填充16个0,移位后顶部仍有7个0,而底部有9个0(8.24格式)。

SPDIF

DigMic有两组输入,每组输入分左右通道。而SPDIF接收器不能在DSP 内核中直接访问,必须通过ASRC转换器。

SPDIF输出信号来源可以是DSP 内核或者S/PDIF接收器,配置源可以通过寄存器SPDIFTX_INPUT寄存器配置。

SPDIF接收器上接收到的数据可以转换为TDM8流,绕过SigmaDSP内核直接在串行数据输出引脚上输出,该操作模式成为辅助输出模式。

Serial output

48个串行输出通道在SigmaStudio中独立开,但映射到硬件中同样是4组输出,即16、16和8、8,通过SOUT_SOURCE寄存器配置通道数目

ASRC

任何异步输入都可以输入到ASRC以获取和DSP 内核相同的采样率,从而提供给DSP内核处理。

一共有16个ASRC输入通道,分为8组立体声输入,每组两个通道。

MIC Input

最多可以连接4个PDM麦克风,两个麦克风共享一条数据线,PDM麦克风通常需要1Mhz~3.3Mhz的位时钟频率,对应的采样率为15.625kHZ~51.5625kHZ,位时钟频率 = 采样频率 * 2 * 采样位数

ADAU1452/1451/1450DSP Core

一个采样周期内最多可执行的指令数 = 时钟频率/采样频率

DSP内核由4个乘法器和两个累加器组成

关于Safeload机制

默认的软件Safeload存储地址有7个,其中0x6000 – 0x6004五个为数据插槽

address_SafeLoad 参数是在参数RAM中的目标地址,指定了要写入安全负载传输中的第一个地址

num_safeload指定要写入的参数个数

每次安全负载写入之间需要大于采样周期(采样频率的倒数)的延迟。

SafeLoad书写步骤:

1、从data_SafeLoad位0开始,将所需数据写入data_SafeLoad,最多五个参数

2、将所需的起始目标地址写入address_SafeLoad参数

3、将需要传输的字数写入num_SafeLoad参数,最小写入长度为1个字,最大写入长度为5个字

4、等待一个音频帧的时间(做适当的延时)以完成安全加载操作

关于RAM大小

ADAU1452含有40K Word大小的数据RAM控件,8K Word大小的程序存储器

20K DM0、20K DM1以及8K Program memory

在SigmaStudio中编译DSP工程,可以看到编译过程,即是启动顺序,其中工程中的配置等通过 Program DATA、DM0 DATA和DM1 DATA写入

DSP学习一:ADAU1452与Sigma Studio相关推荐

  1. DSP学习(5)—— Timer的使用

    DSP学习(5)-- Timer的使用 文章目录 DSP学习(5)-- Timer的使用 前言 一.创建Timer 1. 法一:图形界面创建 2. 法二:代码方式创建 二.相关问题 前言 本文记录学习 ...

  2. DSP学习笔记之系统时钟、定时器、GPIO篇

    \qquad写在前面,不管是C51.MSP430.32也好,DSP也好,总要有一个掌握的比较熟练,不能每次都复制粘贴别人的代码然后修修补补吧.不要再做Ctrl +C.Ctrl+V工程师.主要参考来自于 ...

  3. DSP学习(8)—— linker.cmd文件解析

    DSP学习(8)-- linker.cmd文件解析 文章目录 DSP学习(8)-- linker.cmd文件解析 前言 前言 写工程的时候遇到报内存不够的错误,出现在linker.cmd的内存分配se ...

  4. DSP学习(4)—— 看代码记录

    DSP学习(4)-- 看代码记录 文章目录 DSP学习(4)-- 看代码记录 前言 一.一些缩写 二.C语言忘记的知识 条件编译中使用的预编译指令 前言 本文用于记录看代码中间遇到的不认识的东西. 一 ...

  5. DSP学习笔记之EPWM

    DSP学习笔记之EWPM学习 \qquad 学习PWM模块的知识,最少需要掌握频率可调.占空比可调.互补死区可调.多个PWM相位差可调等.内容较多,主要是参照英文手册中几个模块的介绍,内容很多,最基本 ...

  6. DL之IDE:深度学习环境安装之Visual Studio 2015版本+CUDA8.0+Cudnn8.0+OpenCV 3.1.0版本完美搭配安装图文教程之详细攻略

    DL之IDE:深度学习环境安装之Visual Studio 2015版本+CUDA8.0+Cudnn8.0+OpenCV 3.1.0版本完美搭配安装图文教程之详细攻略 导读:网上教程一大把,瞎指挥的不 ...

  7. DSP学习 -- Visual Studio 操作

    如需转载请注明出处 https://juyou.blog.csdn.net/article/details/107862686 最近一直使用Visual Studio写代码了,其中用到一些东西感觉有必 ...

  8. 【DSP】【第一篇】开始DSP学习

    2022年6月14日 1. 部署开发环境 略.工作需要,TMS320C6678. 从今天开始学习DSP的知识. 后面会补充如何安装部署环境. 1.1 组件 1.1.1 SDK MCSDK(CCSv5, ...

  9. DSP学习初阶的一些笔记

    这些内容都是一些基础的.概述性的知识,是本人在学习.使用DSP开始阶段的一些总结,对于DSP内部结构:各个寄存器的配置使用.各种外设的详细配置.中断处理机制.内存管理以及各种编程.调试的经验,以后有空 ...

最新文章

  1. Go语言defer详解
  2. 在maven项目中打开jsp_零基础在intellij中打开一个项目复制粘贴内容即可运行的java拼图...
  3. 精选| 2021年5月R新包推荐(第54期)
  4. [HNOI2008 Tree]
  5. js iframe 出现跨越问题
  6. oracle——监听(二、sqlplus连接数据库)
  7. 用VC++封装自己的DLL动态链接库
  8. 【译】Simple MySQL ORM for C
  9. Hibernate(1)
  10. java 导出EXcel数据
  11. 5G+4G聚合路由器
  12. 关于matlab的图像显示方法
  13. 计算机硬盘大小一般都是整数,完美主义 最精确的硬盘整数分区法
  14. 预留128k文件空间c语言,【求助】请教ATMEGA128高64k空间如何正确读取使用
  15. 伺服电控领域的产业情况与各主流制造商简介
  16. 【汽车总线技术】CAN FD与CAN网络共存的解决方案
  17. js 让鼠标右下角有一排小字_JS实现跟随鼠标的链接文字提示框效果
  18. 宣传片后期制作的要点介绍
  19. 乡村少年宫计算机教师简介,乡村少年宫教师感言
  20. 明源售楼系统技术解析 销售控制(三)

热门文章

  1. C语言中定义整数的一个小疑问
  2. lxml.html方法,用lxml编辑html代码
  3. 网络安全实训记录(2020.7.15-2020.7.19)
  4. 《cmos大规模集成电路设计(英文影印版)(第3版)》图书详细资料信息 / china...
  5. GNU Radio中的消息传递机制(Message Passing)
  6. 极地土活性层和永久冻土的比较宏基因组学
  7. HTML5新标签有哪些呢?
  8. Oracle课堂笔记之事务集合查询与PL/SQL匿名块(3)(实验习题)
  9. 怎么关DELL笔记本触摸板
  10. 单片机音乐门铃实验报告 C语言,基于单片机的音乐门铃