关于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/1450的DSP 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,转载请注明来源!