matlotlib process rss vue响应式布局 npm安装vue 河南网络推广 jq绑定click事件 查看mysql是否启动 nfc卡片 matlab输入参数太多 完美解决cpu利用率低 重置hosts python迭代器 python解析json数据 python变量类型 python怎么使用 python教程推荐 java入门新手教程 配置java开发环境 java遍历集合 java将数据写入文件 java中random java字符串相等 linux云服务器 相机权限 丁丁下载 kms神龙 如何给黑白照片上色 数独软件 win10wifi c语言从入门到精通 淘宝抽奖活动 nastran jdk9 mysql游标 ae添加关键帧 pip安装教程 hdcp功能 c语言小程序 武林外传天师加点
当前位置: 首页 > 学习教程  > 

I2S和PCM

2020/10/16 17:47:48 文章标签: pcm接口

I2S和PCM接口都是数字音频接口,而我所见的蓝牙到cpu以及codec的音频接口都是用PCM接口,是不是两个接口有各自不同的应用呢?先来看下概念。 PCM(PCM-clock、PCM-sync、PCM-in、PCM-out)脉冲编码调制,模拟语音…

 

 

I2S和PCM接口都是数字音频接口,而我所见的蓝牙到cpu以及codec的音频接口都是用PCM接口,是不是两个接口有各自不同的应用呢?先来看下概念。
      PCM(PCM-clock、PCM-sync、PCM-in、PCM-out)脉冲编码调制,模拟语音信号经过采样量化以及一定数据排列就是PCM了。理论上可以传输单声道,双声道立体声和多声道。是数字音频的raw data。
      I2S是音频数字化后数据排列的一种格式,说传输的就是PCM,支持单声道和立体声。
      以我理解PCM是一个通称、混称,I2S是对原始PCM进行数据排序处理,本质就是PCM,可以说I2S是PCM的子集。所以我想蓝牙芯片上的PCM接口同样可以用I2S来传输。CPU和codec上的PCM和I2S接口也是为支持更多硬件提供的资源。
        从系统上讲,cpu的dsp出来的都是pcm信号,我称PCM_father,送到DAC可从speaker等放出,至PCM接口出来PCM_son1,至I2S接口出来PCM_son2,然后送至外部codec或其他外设,通话DAC I2S DAC分别对应。以前一直我有个误解,其实手机里常用的codec也就是对PCM和模拟声音信号的转换,不能解码mp3等压缩编码,这个还是要专用dsp或者软件解码来做的。
      一点新知,理解上肯定还是有错误,以后慢慢积累,温故知新。
 
新的理解:
一般手机cpu到蓝牙的通话实时音频和mp3之类的音频都使用pcm,有的蓝牙芯片内置MP3codec,mp3走uart/usb更合适。

从蓝牙角度讲,蓝牙在制定协议的时候就特意为通话需求制定了一个协议层,专门定义了一种包结构(sco)用于通话,有很好的实时性。而通过uart传输的包一般为alc,用分组传输的方式。两种包的编解使用的软硬件都有些区别。sco包支持的基础码率也是8k的pcm.所以一般蓝牙芯片都会有一个pcm接口
 
 

从时序图可以看出,I2S左右声道分别为高低电平,PCM只有一个起始信号,左声道数据紧跟右声道

I2S和PCM - Smalming - SmalmingS Blog

PCM时序图

I2S和PCM - Smalming - SmalmingS Blog

I2S时序图




本文链接: http://www.dtmao.cc/news_show_300136.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?