关键词:蓝牙硬件接口 UART  PCM  blueZ
版本号:基于android4.2之前版本号 bluez
内核:linux/linux3.08
系统:android/android4.1.3.4
作者:xubin341719(欢迎转载,请注明作者。请尊重版权谢谢)
欢迎指正错误。共同学习、共同进步。!

Android bluetooth介绍(一):基本概念及硬件接口
Android bluetooth介绍(二): android 蓝牙代码架构及其uart 到rfcomm流程
Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
Android bluetooth介绍(四): a2dp connect流程分析

一、基本概念补充

1、AP:ApplicationProcessor应用处理器

採用ARM架构的CPU,通常负责执行OS和一些特定设置和加载开机预设。

比方一个没有电话功能的平板电脑。仅仅跑android或者win8的系统。仅仅要AP就能够。

如国外性能比較好的AP:三星exynos系列芯片、高通骁龙系列、NVIDIA等;国内近几年芯片做的也不错,如:全志、炬力、瑞芯微、晶晨……只是稳定性、性能都还要提高;支持国产,要不然钱都给老外赚取。

2、BP:BasebandProcessor 基带处理器
架构相对于AP简单,处理电话、信息之类的功能。

基带芯片相对来说,高通一家独大了。然后就是台湾的MTK、大陆的展讯市场占有率逐步上升。
3、CP:coprocessor  Processor 协处理器
基带芯片加协处理器(CP。通常是多媒体加速器)。这类产品以MTK方案为典型代表,展讯的市场占有份额也逐年上升。推相似的产品, 用来通过处理主cpu的一些工作负荷来使操作提速的辅助处理器。

4、RF:Radio Frequency射频部分
         无线信号的发射部分。如电话、蓝牙、WIFI信号发射、接收;
5、展讯Tshark芯片的集成框图:

我们看到有一个AP,和三个CP:CP0、CP1、CP2。

AP为四核:4个A7。3个CP分别为三个ARM9架构的处理器。
这里所说的CP和一般的意义上的理解不同,理论上的CP不包含BP的,展讯的CP0、CP1事实上是两个基带处理芯片,算是公司内部的一种说法。

2G支持的制式都一样,3G的一个支持TS-SCDMA、一个支持WCDMA。
 事实上我们重点说的是CP2。四合一部分的。重点是蓝牙。

二、常见组合(简单框图)

如上图所看到的。一个AP芯片+外设+android软件,就构成一个简单的平板电脑。

2、以三星、高通等AP设计的手机  AP芯片+BP芯片+RF芯片
 假设用单AP芯片,要加基带、射频芯片构成手机硬件架构,例如以下图所看到的:

3、以MTK、展讯方案设计的手机(AP+BP+CP)芯片+RF芯片
以下是展讯Tshark芯片的手机简单架构,和传统手机相比。硬件上更集成化。这样有利于厂商的生产、节省成本……MTK现阶段做的比較成熟,由低端向中高端进阶。展讯还在艰苦奋战,希望能再接再厉,成为一流芯片公司。填补大陆在芯片技术上的空白。

BT、WIFI、GPS、FM四合一的集成
前面我们了解BP、CP集成。了解手机总体架构,事实上我重点解说四合一芯片。主要说明四合一芯片独立芯片。和AP集成到同一芯片中两种架构。

类型与BP,独立芯片、集成芯片。
(1)、独立芯片:
通过串口接出,如上图的troutII.其它芯片。如BCM、RDA、CSR、Retelk等……如上图troutII 也是独立芯片。
(2)、集成芯片:(WIFI \BT\FM\GPS的集成到主控芯片内,直接输出模拟信号量。通过RF放大后发射出去)
         模拟芯片输出、出入到SR2351芯片。展讯比較多的芯片集成四合一(BT/WIFI/GPS/FM),节省客户成本,只是芯片性能跟BCM比还是有点距离,各位同仁继续加油。
三、蓝牙硬件接口概述(以UART接口接出的芯片为例)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
蓝牙与主控部分硬件接口比較简单,分三部分。如上图框图所看到的:

UART部分:串口,主要负责传输数据;有其它USB、SDIO、PC card等通信。
PCM部分:语言接口。用于通话时语音传输数据。
Power部分:也就是BT模块的电源控制部分。VDD2.8V、PDN、RST。

1、UART:通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter)
硬件接口比較简单,仅仅有RX、DX。

UART0用于trout芯片的debug:

是传输数据的接口。能够传输音频数据文件数据
1)、当通过蓝牙和别人互传文件时。就用UART传输。传输数据例如以下所看到的:AP通过uart把数据发送到bt芯片中。通过无线发射出去。对方接收到后传给AP側处理。

2)、当用蓝牙耳机听音乐时。音频信号也由UART传输。
 音乐数据通过uart 传送出去,对方耳机接收到后解码播放。假设是录音数据。则相同传回手机端存储。

2、PCM/IIS
(1)、PCM:脉冲编码调制
(pulse codemodulation)
是传输语音信号所使用的调制方式。

用途:传输通话时的语音信号。

硬件接口:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

(2)、PCM基本工作原理:
脉冲调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输.脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。
一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。PCM话音信号先经防混叠低通滤波器,进行脉冲抽样,变成8KHz反复频率的抽样信号(即离散的脉冲调幅PAM信号),然后将幅度连续的PAM信号用"四舍五入"办法量化为有限个幅度取值的信号,再经编码后转换成二进制码.对于电话,CCITT规定抽样率为8KHz,每抽样值编8位码,即共同拥有28=256个量化值,因而每话路PCM编码后的标准数码率是64kb/s。
例如以下图PCM时序:

(3)、IIS(Inter-IC Sound bus)即集成音频接口
IIS仅仅能传输单声道或双声道立体声的数字音频,数据格式为PCM格式。该接口又派生出三类:左对齐格式、右对齐格式、I2S格式。

I2S时差性能要优于SPDIF。适合短距离通讯。
IIS总线一般具有4根信号线。如图1所看到的,包含串行数据输入(IISDI)、串行数据输出(IISD0)、左/右声道选择(IISLRCK)和串行数据时钟(IISCLK);产生IISLRCK和IISCLK的是主设备。
例如以下图IIS时序:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

语音通话时数据流:语音数据有3G网络接入,通过PCM传递到蓝牙芯片,蓝牙芯片通过2.4G发射出去,到蓝牙耳机接收,相同mic传回的语言数据做相应处理。

(4)、为什么蓝牙用PCM通道(网络參考
纠正个说法。一般手机cpu到蓝牙的通话实时音频传输才都使用pcm,MP3之类的音频走的是urat/usb之类的其它接口。
真正原因我也不能确定。只是有几个情况可能是原因之中的一个。
(1)、PCM和IIS的差别在于,PCM通常是固定8k的採样率的单声道音频,最早似乎和固定电话的编码有直接关系,之后全部的话音编码差点儿都是在PCM编码基础上再次编码得到的。而IIS则多了一个专门的信号线,採样率也能够配置到较高的频率,如44k;
(2)、手机通话时候的编码一般都会被解码成8k採样率的PCM码,高了也没实用。由于本来手机通话的话音频段就是300~3400Hz而已,编码也是按8k採样的。某些手机平台并没有IIS接口。相对来说基本上都会有PCM接口。
(3)、从蓝牙角度讲,蓝牙在制定协议的时候就特意为通话需求制定了一个协议层。专门定义了一种包结构(SCO)用于通话,有非常好的实时性。

而通过UART传输的包一般为ALC,用分组传输的方式。两种包的编解使用的软硬件都有些差别。sco包支持的基础码率也是8k的pcm.所以一般蓝牙芯片都会有一个PCM接口。
(4)、还一个原因就是,開始大家这么做了,后来就都这么做了,形成行业规范。
3、POWER 控制部分
程序相应引脚按power on /off 时序来完毕on/off操作。同其它硬件一样,通过时序控制。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

Android bluetooth介绍(一):基本概念及硬件接口的更多相关文章

  1. 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析

    原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ  A2DP.SINK.sink_connect.s ...

  2. Android bluetooth介绍(四): a2dp connect流程分析

    关键词:蓝牙blueZ  A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...

  3. Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析

    关键词:蓝牙blueZ  A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...

  4. Android bluetooth介绍

    Android bluetooth介绍(一):基本概念及硬件接口Android bluetooth介绍(二): android 蓝牙代码架构及其uart 到rfcomm流程Android blueto ...

  5. Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程

    关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP RFCOMM  版本号:基于android4.2先前版本 bluez内核:linux/linux3.08系统:an ...

  6. 【转】Android bluetooth介绍(二): android blueZ蓝牙代码架构及其uart 到rfcomm流程

    原文网址:http://blog.sina.com.cn/s/blog_602c72c50102uzoj.html 关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP ...

  7. android bluetooth

    Android bluetooth介绍(一):基本概念及硬件接口 BlueZ为调试和与蓝牙子系统通信提供很多设置命令行工具,包含下面这些: hciconfig hcitool hcidump sdpt ...

  8. Android Bluetooth开发

    原文地址:http://developer.android.com/guide/topics/wireless/bluetooth.html 翻译:jykenan 更新:2012.06.19 Andr ...

  9. Android Bluetooth模块学习笔记

    一.蓝牙基础知识 1.蓝牙( Bluetooth )是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换.蓝牙基于设备低成本的收发器芯片,传输距离近.低功耗. 2.微波频段: ...

随机推荐

  1. echarts 设置x轴的和y轴的属性

    axisLabel:{ interval:0,//横轴信息全部显示 rotate:-30,//-30度角倾斜显示 } splitNumber:10

  2. iOS KVC(Key-Value Coding)

    常见用法: 获取值 valueForKey: 依据属性名取值 valueForKeyPath: 依据路径取值(如:[person valueForKeyPath:@"car.price&qu ...

  3. 扩展MARA 加入Z字段BAPI_TE_MARA

    1. 在MARA中APPEND新的结构 2.在BAPI_TE_MARA中APPEND新的结构 (可是这里不能有QUAN,CURR,DEC等数据类型) 3.在BAPI_TE_MARAX中APPEND新的 ...

  4. UVa 12716 GCD XOR (简单证明)

    题意: 问 gcd(i,j) = i ^ j  的对数(j <=i <= N ) N的范围为30000000,有10000组例子 思路:GCD(a,b) = a^b = c GCD(a/c ...

  5. bzoj1202: [HNOI2005]狡猾的商人(差分约束)

    1202: [HNOI2005]狡猾的商人 题目:传送门 题解: 据说是带权并查集!蒟蒻不会啊!!! 可是听说lxj大佬用差分约束A了,于是开始一通乱搞. 设s[i]为前i个月的总收益,那么很容易就可 ...

  6. [jzoj NOIP2018模拟11.02]

    嗯T1忘记取模了,100到20 嗯T2忘记了那啥定理,暴力也写炸了,这题我认 嗯T3线段树合并分裂没有写炸,考场上就知道妥妥的70分.但是,分数出的时候听到有人说暴力也是70分,我???脸黑,枉我敲了 ...

  7. JavaScript实现双向链表

    title: JavaScript实现双向链表 toc: false date: 2018-10-07 10:11:36 append(element): 添加元素到链表尾部 insert(posit ...

  8. (转载)android 一些工具类汇总

    android 一些工具类汇总 作者:曾田生z 字体:[增加 减小] 类型:转载 时间:2016-08-14我要评论 本文给大家汇总介绍了一些常用的Android工具类,非常的简单实用,有需要的小伙伴 ...

  9. javaEE的开发模式

    1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jsp+javaBean model1的弊端:随着业务复杂性 ...

  10. jQuery学习(四)——使用JQ完成表格隔行换色

    1.步骤分析: 第一步:引入jquery的类库 第二步:直接写页面加载函数 第三步:直接使用jquery的选择器(组合选择)拿到需要操作的元素(奇数行和偶数行) 第四步:分别使用CSS的方法(css( ...