音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系

原创 2014年02月11日 13:56:51
  • 4951
  • 0
  • 0

刚刚过完春节,受假期综合症影响脑袋有点发木,干什么事反应慢了?最近调试xxxx的TLV320AIC3104发现以前调过的音频采样什么的,都忘记了,说明以前调试的时候很急躁,没有搞明白就翻篇了,今天说什么也得把落下的作业补上。

1、三个时钟一条线

SCLK: 串行时钟SCLK,也叫位时钟(BCLK),对应数字音频的每一位数据,SCLK都有一个脉冲。

SCLK的频率= 2 X 采样频率 X 采样位数。

比如:我司采用的64fs,BCLK = 2  X  fs X  32bit = 64fs。

LRCK:帧时钟,也称WCLK,用于切换左右声道的数据,一个时钟周期代表一个音频采样点数据。LRCK为“1”(或"0")表示正在传输的是右声道的数据,为“0”(或"1")表示传输的是左声道的数据。LRCK的频率等于采样频率。

MCLK:主时钟,也是以上两个时钟的参考时钟,一个系统应该使用同一的MCLK以保证时钟同步要求。常见频率256fs。

SDATA:串行数据,就是用二进制补码表示的音频数据。

2、left-justified(左对齐)模式

参考AIC3104手册中关于左对齐介绍,以64fs,16bit左对齐为例。如图,WCLK一个时钟周期采一个样点,BCLK为64fs,即一时钟周期64位数据。WCLK高电平部分对应的SDIN/SDOUT为左声道数据,采用16bit左对齐格式,即MSB为16bit有效数据,LSB的16bit无效,同理WCLK低电平部分对应SDIN/SDOUT为右声道数据,同样MSB为16bit有效数据,LSB为16bit无效数据。

3、reight -justified(右对齐)模式

与左对齐区别就是有效数据在LSB。

4、I2S 模式

在I2S模式中,有效数据在BCLK的第二个时钟周期开始建立,所以在与FPGA配合时,需提醒FPGA工程师进行移位操作。

5、网上摘抄

声音数字化过程:

模拟信号-->采样-->量化 -->编码 --> 数字信号

即模拟信号通过A/D ADC转换为数字信号;通过D/A DAC转换位模拟信号。

声音数字化要素:

1、采样频率:每秒钟抽取声波幅度样本的次数;采样频率越高,声音质量越好,数据量越大。

2、量化位数:每个采样点用多少个二进制位数表示数据范围;位数越多,音质越好,数据量越大;

3、声道数:使用声音通道的个数:立体声比单声道的表现力丰富,但数据量翻倍。

声音数字化的数据量:

音频数据量 = 采样频率 X 量化位数 X 声道数 /8(字节/秒)

数字音频压缩标准:

音频年压缩方法概述:

输入音频信号--->编码器 -->传输/存储 --> 解码器 -->输出音频信号

压缩编码技术是指用某种方法使数字化信息的编码率降低的技术;

判断音频信号是否能压缩依据:

1、声音信号中存在大量冗余;

2、人的听觉具有强音能抑制同时存在的弱音的现象;

音频信号压缩编码的分类:

1、无损压缩(熵编码?):霍夫曼编码、算术编码、行程编码;

2、有损压缩:

波形编码---PCM、DPCM、ADPCM、子带编码、矢量量化;

参数编码:LPC

混合编码:MPLPC、CELP

音频压缩技术:

1、G711、G721、G723、G728:电话语音质量;

2、G722:调幅广播质量;

3、MPEG:高保真立体声;

声卡:负责录音、播音和声音合成的一种多媒体版卡:

1、录制、编辑和回放数字音频文件;

2、控制和混合名声源的音量;

3、记录和回放时进行压缩和解压缩;

4、语音合成技术;

5、具有MIDI接口(乐器数字接口)

芯片类型:

1、CODEC芯片(依赖CPU,价格便宜)

2、数字信号处理器DSP(不依赖CPU);

转载自:http://blog.csdn.net/mantis_1984/article/details/19075319

音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系的更多相关文章

  1. 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数

    题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 2 4 9 12 4 7 10 13 6 8 11 ...

  2. Python3基础 str ljust-rjust-center 左、右对齐 居中

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  3. (转)思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用问题:左乘/右乘,行优先/列优先,...

    转自:http://www.cnblogs.com/soroman/archive/2008/03/21/1115571.html 思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用1. ...

  4. react——Table组件列中靠左 靠右对齐解决方案

    最近项目中遇到一个需求调整:table中的文字过长居左排列,数字居右排列 然后看了一下官方文档: 先上图展示一下 左边是需要的效果: className: 'column-left', { title ...

  5. table 中实现 控制 指定列的 左对齐 右对齐方式

    .listTable{ border-collapse:collapse; border-top:1px solid #8c9594; border-right:1px solid #8c9594; ...

  6. 浅析内存对齐与ANSI C中struct型数据的内存布局-内存对齐规则

    这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密. 首先,至少有一点可以肯定,那就是ANSI C保证结构体中各字段在内存中出现的位置是随它们的声明顺序依次递增的,并且第一个字段的 ...

  7. markdown居中对齐,左对齐,右对齐

    Markdown语法本身没有居中,但Markdown中支持基本的HTMl语法,可以使用HTML语法. 居中: <center>居中</center> 左对齐: <p al ...

  8. 视音频数据处理入门:PCM音频采样数据处理

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  9. WebRTC 音频采样算法 附完整C++示例代码

    之前有大概介绍了音频采样相关的思路,详情见<简洁明了的插值音频重采样算法例子 (附完整C代码)>. 音频方面的开源项目很多很多. 最知名的莫过于谷歌开源的WebRTC, 其中的音频模块就包 ...

随机推荐

  1. Tikhonov regularization和岭回归

    就实现过程来讲,两者是一样的,都是最小二乘法的改进,对于病态矩阵的正则化,只不过分析的角度不一样,前者是解决机器学习中过拟合问题,机器学习一般是监督学习,是从学习角度来说的,后者是数学家搞的,是为了解 ...

  2. wireshark常用错误提示分析-转

    1.[Packet size limited during capture] 当你看到这个提示,说明被标记的那个包没有抓全.以图1的4号包为例,它全长有171字节,但只有前96个字节被抓到了,因此Wi ...

  3. 【好】strong-password-checker,我自己做出来的:)

    我自己做出来的,分了几种情况来考虑.(再后面有加了注释的版本) https://leetcode.com/problems/strong-password-checker/ // 加油! public ...

  4. thinkphp5.0 中使用第三方无命名空间的类库

    ThinkPHP5建议所有的扩展类库都使用命名空间定义,如果你的类库没有使用命名空间,则不支持自动加载,必须使用Loader::import方法先导入文件后才能使用. 首先要在文件头部使用loader ...

  5. Android 常见内存泄漏的解决方式

    在Android程序开发中.当一个对象已经不须要再使用了,本该被回收时.而另外一个正在使用的对象持有它的引用从而导致它不能被回收.这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了. ...

  6. 求x>0时,y=x^3-6x^2+15的极值

    解: 当x→∞时,y也→∞,所以y没有最大值. y=x3-6x2+15=-4*(x/2)*(x/2)*(6-x)+15 而根据几何平均数小于等于算术平均数的定理,(x/2)*(x/2)*(6-x)在x ...

  7. java检索文件时加入线程

    package xianChengSaomiao; import java.io.File; import java.util.ArrayList; import java.util.List; pu ...

  8. maven 编译指定模块

    编译构建指定的模块 mvn clean install -pl   model1,model2 -am -Dmaven.test.skip=true

  9. JavaScript 数组去重并统计重复元素出现的次数

    1.方法一 var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; for(var i = 0; i < ...

  10. Twelves Monkeys (multiset解法 141 - ZOJ Monthly, July 2015 - H)

    Twelves Monkeys Time Limit: 5 Seconds      Memory Limit: 32768 KB James Cole is a convicted criminal ...