PCM时序
PCM(Pulse Code Modulation),脉冲编码调制,PCM总线用于传输数字语音信号,包括4根信号线:FSYNC(同步)/PCLK(时钟)/DTX(发送)/DRX(接收)
PCM分为Master和Slave. Master提供PCLK及FSYNC。
PCM CLK是时钟信号,由master端提供,速率一般为512KHz到8.192MHz。每一个PCLK对应一位DTX/DRX的数据
PCM FSYNC为帧同步信号,其频率为PCM采样频率,一般为8KHz。一个帧同步信号的上升沿代表一帧(frame)数据的开始,一帧数据中分为若干个时隙(time slot),时隙对应channel。
DRX/DTX为数据收发,PCM数据格式有A-law/mu-law/linear三种,其中A-law/mu-law每个采样用8bit编码,即每个同步信号中需要传输8bit的数据,速率为8KHz*8bit=64kbit/s。而linear每个采样16bit编码,每个同步信号中传输16bit数据,速率为8KHz*16bit=128kbit/s
例如,PCLK为512KHz,FSYNC为8KHz,那么每个FSYNC能传输512/8=64位数据,假如使用16位线性PCM编码,那么一个同步信号能传输64/16=4个timeslot的数据,即4个channel。
线性PCM编码一个采样传输16bit数据,每个采样占0.125ms,20ms为一帧语音数据,包括160个采样,即160*16bit=320Byte数据
宽带线性PCM编码(FSYNC为8k)一个采样传输32bit数据,每20ms传输640Byte数据
I2S时序与PCM时序区别
I2S是SCK下降沿发送数据,上升沿接收数据(TRANS_NEGATIVE_POSITIVE),即SDI/SDO在下降沿时变化,对齐下降沿。
PCM是SCK上升沿发送数据,下降沿接收数据(TRANS _POSITIVE_NEGATIVE),即SDI/SDO在上升沿时变化,对齐上升沿。
---------------------
作者:zhanghuan_xa
来源:CSDN
原文:https://blog.csdn.net/zhanghuan_xa/article/details/53464792
版权声明:本文为博主原创文章,转载请附上博文链接!
PCM时序的更多相关文章
- Android bluetooth介绍(一):基本概念及硬件接口
关键词:蓝牙硬件接口 UART PCM blueZ 版本号:基于android4.2之前版本号 bluez内核:linux/linux3.08系统:android/android4.1.3.4作者 ...
- 痞子衡嵌入式:PCM编码与Waveform音频文件(.wav)格式详解
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PCM编码及Waveform音频文件格式. 嵌入式里有时候也会和音频打交道,比如最近特别火的智能音箱产品,离不开前端的音频信号采集.降噪 ...
- I2S与pcm的区别
I2S仅仅是PCM的一个分支,接口定义都是一样的, I2S的采样频率一般为44.1KHZ和48KHZ做,PCM采样频率一般为8K,16K.有四组信号: 位时钟信号,同步信号,数据输入,数据输出. I2 ...
- linux下mono播放PCM音频
测试环境: Ubuntu 14 MonoDevelop CodeBlocks 1.建立一个共享库(shared library) 这里用到了linux下的音频播放库,alsa-lib. al ...
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- PCM数据格式,多少字节算一帧
转自:http://blog.chinaunix.net/uid-9185047-id-3327302.html Somehow i remember that normally 2048 sampl ...
- ffplay代码播放pcm数据
摘抄雷兄 http://blog.csdn.net/leixiaohua1020/article/details/46890259 /** * 最简单的SDL2播放音频的例子(SDL2播放PCM) * ...
- 使用Astah制作UML时序图
Astah制作UML图--详解 时序图的制作 开篇语: 本文为光荣之路原创文章,欢迎转载,但请注明出处. 做测试的难免看到开发画出各种设计图,都很羡慕,比如: 帅么,漂亮么,其实我们测试人员也可以轻松 ...
- I2S/PCM/IOM-2、I2C/SPI/UART/GPIO/slimbus
概述 I2S,PCM,IOM-2都是数字音频接口,传数据的. I2C,SPI,UART,GPIO是控制接口,传控制信令的. I2S I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频 ...
随机推荐
- js中 这些值是false
- [LeetCode] 67. Add Binary 二进制数相加
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- 通过ip远程控制电脑
现在,很多人都用了不止一台电脑,而同时操作两台电脑是一件比较麻烦的事情,所以,如果能够使用一台电脑的鼠标键盘显示器,去远程控制另一台电脑,那就方便多了. 远程计算机设置 1.先确保本地计算机和远程计算 ...
- Java内存分析工具
内存分析工具 IDEA插件(VisualVM Launcher) 执行main函数的时候,同时启动jvisualvm,实时查看资源消耗情况.如图效果: Eclipse Memory Analyzer ...
- 解决Python查询Mysql数据库信息乱码问题
今天尝试着用 Python 写了个脚本试着连接 mysql 数据库,并查询里边的数据,不过最终查询结果中文字符变成了ascii格式. 代码如下: #!/usr/bin/python #encoding ...
- 史上最详细bitbucket入门手册,手把手操作指南
老大要我去调研一下有什么好用的免费软件版本管理工具,有利于小团队开发的.我第一个想到的就是git,经常在git下东西,听说它的代码仓库好用,于是就注册了一个github的账号,创建仓库的时候才发现只能 ...
- day27——面向对象的总结、异常处理
day27 面向对象的总结 异常处理 错误的分类 语法错误 if if 2>1 print(222) dic = {"name"; "alex"} 逻辑错 ...
- 百度云服务接口错误:Parameter invalid, the key input with filter parameter is not searchfilter column key
百度LBS云服务接口: 地址:http://lbsyun.baidu.com/index.php?title=lbscloud/api/geosearch 访问接口:http://api.map.ba ...
- Linux 用户管理命令笔记
1.新增用户 useradd user1 用户创建流程 1.系统先将用户信息记录在/etc/passwd中,一般会在/etc/passwd和/etc/shadow末尾,同时分配该用户UID. 2.创建 ...
- 【开发笔记】- MD5加密
主要用于对用户密码的加密,保护用户账户安全: /** * @author shenruihai * */ import java.security.MessageDigest; import org. ...