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)是飞利浦公司为数字音频 ...
随机推荐
- Spring cloud微服务安全实战-7-10ELK日志采集架构优化
ELK搭建起来.采集日志,展示.但是这个架构还有一些问题. 可用性的问题,springboot的应用,随着业务的增长会越来越多.logstash压力就会越来越大.大到一定的程度可能就会吧logstas ...
- [LeetCode] 774. Minimize Max Distance to Gas Station 最小化加油站间的最大距离
On a horizontal number line, we have gas stations at positions stations[0], stations[1], ..., statio ...
- mac的brew安装tomcat以及idea设置
Tomcat安装 brew search tomat 有tomcat@7. tomcat@8. tomcat最新版本(即tomcat9)三个版本 brew install tomcat 启动tomca ...
- php_mvc实现步骤三,四
3.match_mvc MVC 以ecshop的前台为例: 功能一: 首页 购物车数据,商品分类数据,其他的首页需要的数据 功能二: 拍卖活动 购物车数据,商品分类数据,拍卖相关数据 功能三: 团购商 ...
- springcloud feign 调用
client端调用feigh, 要在启动类上添加@EnableFeignClients注解,并添加扫描: 不然会调用失败,找不到调用方法
- ReentrantLock 非公平锁不公平在哪
重入锁关键地带: 1:使用unsafe的cas方式对AQS中的state成员变量进行“原子加一”操作. 2:如果当前线程多次lock,相当于对state在原有值基础上继续加一操作:释放锁的条件为“原子 ...
- [IOT] - Raspberry Pi 3B + Windows 10 IOT Core + .Net Core Web 部署
硬件:Raspberry Pi 3B 系统:Windows 10 IOT Core 应用:.Net Core Web 部署流程 1. 系统安装 1.1 下载并安装 Windows 10 IoT Cor ...
- Linux学习-软件包管理安装
rpm RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写 软件包类型 二进制包:已经使用GCC编辑后的 tar源码包:需要编译 rpm包获取方式 1,系统镜像 需 ...
- java笔记4
private关键字 1.是一个权限修饰符. 2.用于修饰成员 3.被私有化的成员只能在本类中有效 常用之一: -将成员变量私有化,对外提供对应的set,get方法对其进行访问 ...
- AX导出excel设置格式
今天在AX2009里面写一个导出EXCEL,没有模版,这是第一次碰到,之后写完之后发现导出的数据格式不对. 到处取经之后得到一下结果: 定义一个 Com range; SysExcelCells ...