为什么CPU到蓝牙的音频传输都是用的PCM接口呢
谁能介绍下I2S和PCM接口分别专用于哪些方面?
怎么没有回答的 我也等着看答案呢
纠正个说法,一般手机cpu到蓝牙的通话实时音频传输才都使用pcm,MP3之类的音频走的是urat/usb之类的其他接口。
真正原因我也不能确定,不过有几个情况可能是原因之一。
1,pcm和iis的区别在于,pcm一般是固定8k的采样率的单声道音频,最早似乎和固定电话的编码有直接关系,之后所有的话音编码几乎都是在pcm编码基础上再次编码得到的。而iis则多了一个专门的信号线,采样率也可以配置到较高的频率,如44k。
1,手机通话时候的编码一般都会被解码成8k采样率的pcm码,高了也没有用。因为本来手机通话的话音频段就是300~3400Hz而已,编码也是按8k采样的。某些手机平台并没有iis接口,相对来说基本上都会有pcm接口。
3,从蓝牙角度讲,蓝牙在制定协议的时候就特意为通话需求制定了一个协议层,专门定义了一种包结构(sco)用于通话,有很好的实时性。而通过uart传输的包一般为alc,用分组传输的方式。两种包的编解使用的软硬件都有些区别。sco包支持的基础码率也是8k的pcm.所以一般蓝牙芯片都会有一个pcm接口。
4,还一个原因就是,开始大家这么做了,后来就都这么做了,哈哈。
不断学习
继续请教:
PCM有很多采样率,对于语音编码,只需8k的pcm。而mp3也是在PCM的基础上压缩编码而成的,那cpu到蓝牙mp3之类的音频应该是已经经过mp3解码过的,也就是pcm吗?
3楼,现在CPU到蓝牙,语音和MP3都走PCM
Uart用来传输数据,因为Uart只能传输立体声的音源
A2DP应该还是走的UART,8k的采样率。, 而且很多蓝牙芯片都内置mp3 codec,走ACL的UART更合适
我不是做软件的,也没有详细去了解蓝牙的各个profile。所以有些事情可能是不是特别清楚。从硬件角度讲,如7楼说的那样,目前很多蓝牙,芯片内置了mp3解码器,所以mp3格式的音频并不需要bb这边做解码,从我自己经验看,记得只有最开始的时候做蓝牙有考虑这方面问题,后来的蓝牙项目基本上只有话音走pcm,其他的走UART。
硬件上有另外一个问题,就是有的蓝牙的pcm接口其桢信号的频率是 固定8k的,虽然它的bit率是可变。csr的芯片就是这样。那就是说它的采样率只有8k。除非你有用软件做特殊处理。8k采样率的信号只适合话音传输,mp3恐怕不行。呵呵~ 不过我不清楚软件,不知道软件协议上有没有相关的方式,让mp3可以在这个桢率上面传输。
关于蓝牙我也借这个帖子请教大家一个问题。
就是大家是如何确定蓝牙的无线 性能的?之前我尝试着想一些比较客观的无线测试,但是都不实用,最后还是使用主观评测的方式来做。这个测试指的是一般研发公司的内部产品测试。
是不是BlueTooth Module内部带有mp3格式音频编码、解码?
基于MTK6225+6205的双卡双待方案, 请教双蓝牙语音是如何设计呢?
回复1楼的,现在我们公司平台就是用I2S与蓝牙的PCM相连,很简单,由于平台没有PCM接口,然后节省成本不用CODEC,我搞的是硬件,从硬件上讲是完全可以的,不过软件上肯定要做处理的
多谢楼上的信息,我想应该也是可行的,I2S本来就是走的PCM的信号