1.设备的状态

设备上电之后,系统会用相应的状态标志来描述设备的状态

  • Limbo:逻辑上关,物理上开,可以理解为手机安装了电池但是没有开机,这个状态下是不能处理任务的,所以上电之后首先要做的就是开机
  • Connectable:可连接状态,能够被其他设备连接,处于page scanning
  • Connectable Discoverable:能够被发现,同时可以连接
  • Connected:已经建立连接

2.一些缩写代表的含义

没有写或者留下占位的都是有待解决的,如果有人了解的话能否告知。

  • SCO:面向同步连接,Hfp的语音走的是SCO
  • ACL:异步无连接链路,在主从设备之间以分组交换方式传输数据,可以支持异步应用也可以支持同步应用。
  • SBC:一种编码格式,SBC一般的音频格式,蓝牙传输在不支持AAC,aptx的时候都用SBC传输,音质一般,现在80%都是这种格式
  • AAC:当蓝牙支持AAC格式的文件,手机也支持AAC传输时,音质比SBC好很多,普通人听的出来这种区别
  • APTX:是蓝牙传输的一种无损格式,由csr推广,在设计初期,要支持APTX,就必须要购买这个软件费用,并且aptx并不是大多数手机都支持,一般支持的手机在背后都有aptx的logo ,所以虽然效果好,但是真正可以支持的设备端其实不多
  • SPP:蓝牙串行端口基于SPP协议(Serial Port Profile),能在蓝牙设备之间创建串口进行数据传输,俗称蓝牙串口
  • RFCOMM:一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆应用)提供了传送能力。RFCOMM是一个简单传输协议,其目的为了解决如何在两个不同设备上的应用程序之间保证一条完整的通信路径,并在它们之间保持一通信段的问题。
  • SDP:服务搜索协议(SDP)提供了应用发现可用服务以及确定可用服务特点的方法
  • L2CAP协议:逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol),是蓝牙系统中的核心协议,负责适配基带中的上层协议。它同链路管理器并行工作,向上层协议提供定向连接的和无连接的数据业务。这个上层具有L2CAP的分割和重组功能,使更高层次的协议和应用能够以64KB的长度发送和接收数据包。它还能够处理协议的多路复用,以提供多种连接和多个连接类型(通过一个空中接口),同时提供服务质量支持和成组通讯。逻辑链路控制和适配协议(L2CAP)是基带的上层协议,可以认为它与LMP并行工作,它们的区别在于当业务数据不经过LMP时,L2CAP为上层提供服务。L2CAP向上层提供面向连接的和无连接的数据服务,它采用了多路技术、分割和重组技术、群提取技术。L2CAP允许高层协议以64K字节收发数据分组。虽然基带协议提供了SCO和ACL两种连接类型,但L2CAP只支持ACL。
  • HCI:主机控制器接口
  • OBEX:
  • SWAT:
  • TDL:
  • TPS:
  • CVC:
    上一张蓝牙协议栈的简图:第一次画的,软件还没破解,画的不好看。

3.CSR的工程文件介绍

3.1 Project 文件

  • xiw:xIDE的工作空间,一个工程有一个对应的工作空间
  • xip:VM 文件,比如我们说的的speaker就是这个指的这个
  • mak:工程的makefile文件,功能举例如下
    • 能够将语音提示文件拷贝到芯片的文件系统中
    • 占位
    • 占位
  • xml:定义了可以被更新的属性的文件

    说明:一个工作空间只能有一个VM文件,但是可以包含多个dsp工程,以满足产品的需求,后面会介绍dsp工程的记录

3.2 配置文件

  • 占位

4.蓝牙的音频源来源以及流向

4.1 数据来源

对于蓝牙来说最重要的应用就是打电话听音乐,那么这些音频来源有哪些呢?

  • 有线音频:PCM Audio , I2S Audio
  • USB 音频:usb作为音乐的输入源
  • FM 接收:使用收音机的功能
  • Bluetooth SCO:
    • SCO and ESCO packet types are supported,参考上面的缩写定义,ESCO是SCO的增强版
  • Buletooth A2DP:这个数据怎样走?
    • SBC:工程自带的编解码方式
    • MP3:需要DSP支持
    • AAC:需要DSP支持
    • aptX:需要DSP支持
    • APT-X Low Latency:低延迟音频编解码器
  • Speech Recognition:语音识别
  • SPDIF Input:

4.2 音频输出

  • 有线音频: PCM,I2S
  • SPDIF:

5. 其他介绍

AG–该设备为音频(特别是手机)的输入/输出网关。
HF–该设备作为音频网关的远程音频输入/输出机制,并可提供若干遥控功能。

  • hfp的介绍:蓝牙免提应用框架(HFP)是基于串口框架(SPP)来定义的,它通过在FRCOMM层传输AT控制指令来实现手机通话的免提功能。HFP中定义了两种设备角色,音频网关(AG)和免提设备(HF)。其中AG是指音频输入输出的网关设备,典型的音频网关主要有蓝牙手机;HF是指可以收发音频并遥控AG的设备,典型的免提设备主要有蓝牙耳机和蓝牙车载免提。具体的免提过程:首先AG和HF要基于ACL链路建立起RFCOMM连接,并通过AT命令完成一些基本的信息交互,例如HF端需要把本地的麦克风和扬声器的增益值通知AG端,而AG端需要把本地所支持的服务通知HF。任务完成后,二者之间相当于建立起一条服务及链路。在服务级链路建立完成之后,一旦AG检测到有与源端用户通话的过程,将主动建立与HF端的SCO语音链路连接。语音链路完成连接后,AG即采用CVSD编码格式将通话进行转移至HF读啊,用户即可通过HF端的扬声器和麦克风与源端用户进行通话。
  • *

csr8670--不能不知道的基本知识,长期记录相关推荐

  1. C语言你不得不知道的小知识

    C语言你不得不知道的小知识: 1: 常见的变量修饰关键字:static.const.extern.volatile.register static:(该变量保存在全局静态区)  a.修饰局部变量--& ...

  2. 一些你我所不知道的小知识

    一.老师没教的事 a.人类全身上下,最强韧有力的肌肉,竟是舌头. b.张开眼睛打喷嚏是不可能的. c.憋气自杀也是不可能成功的. d.每一次你舔一张邮票的背胶,你就吸收了十分之一卡路里. e.右撇子平 ...

  3. mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货

    点击上方"蓝字"关注我们 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.查询.更新.删除等操作. 所谓"数据库"是 ...

  4. Spring Boot 你所不知道的超级知识学习路线清单

    因而 Spring Boot 应用本质上就是一个基于 Spring 框架的应用,它是 Spring 对"约定优先于配置"理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于 S ...

  5. 12. 面试官不问, 你也不得不知道的锁知识!

    前言 hello, 大家好, 我是咸鱼君, 擅长各种Java摸鱼姿势. 恰逢2020年"金九"月, 今天, 我们就来说一说面试中出现频率极高的锁知识! ps:说不定可以帮到部分有& ...

  6. 5不触发系统键盘_关于光轴,你所不知道的冷知识

    LK光轴,可以说是双飞燕的名片之一.时至今日,光轴已经从一开始的被观望.被怀疑到了被认可,甚至有仿光轴的产品的出现.那么,关于光轴的有趣冷知识,你知道吗? 1. 光轴是不是机械键盘? 不少人觉得,机械 ...

  7. 程序员常用编程工具: VS Code,那些你不得不知道的小知识!

    工欲善其事,必先利其器.这句话真好,一句话可以写两篇文章.上一篇我们介绍了键盘,对于程序员来说,光有键盘可不行,你还需要一个趁手的编程工具.就像很多工程师对 HHKB 键盘情有独钟一样,好的编程工具可 ...

  8. android动画能超过父容器吗,Android中你不得不知道的动画知识 (一)

    动画基础 在日常开发中,我们往往不是仅仅局限于实现产品相应的功能就可以了,为了达到更好的用户体验我们还会加入一些比较好看的动画效果.今天我就来总结一下动画相关的一些知识. Android系统提供了很多 ...

  9. 如何减小电压跟随器输出电阻_补课贴 | 关于运算放大器和比较器的异同,那些你不得不知道的小知识!...

    在直入正题讲解运算放大器的异同之前,小A先来帮助大家简单回顾一下运算放大器和比较器的基础知识: 比较器是一种带有反相和同相两个输入端以及一个输出端的器件,该输出端的输出电压范围一般在供电的轨到轨之间. ...

最新文章

  1. Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优
  2. 京东主图怎么保存原图_京东自营怎么做?详解京东平台操作方法
  3. linux环境中,查询网卡的速度(带宽)
  4. Redis源代码分析-内存数据结构intset
  5. k5b型计算机联锁知识,DS6-K5B计算机联锁系统日常维护注意事项
  6. 数据库主从不同步_数据从不说什么
  7. POJ 1276 Cash Machine
  8. C++ —— C++程序编译的四个过程
  9. Flowable 数据库表结构 ACT_HI_IDENTITYLINK
  10. 装载鸿蒙系统,华为3-4月份将正式推送鸿蒙系统 第三方装载量也将达到一个亿...
  11. 20200527每日一句
  12. 《初级会计电算化实用教程(金蝶KIS专业版)》一1.4 会计核算软件
  13. ORA-01045 :user 用户名 lacks create session privilege; logon denied
  14. Linux网络设备驱动程序设计----刘文涛
  15. 时间观——《天行九歌》第51集《一叶知秋》台词与典故
  16. 浮动广告代码在网页两侧
  17. 解决qt5在windows系统下中文乱码的问题的简单方法
  18. css 汉堡菜单_使用CSS构建变形汉堡包菜单
  19. # 代码约架?Vue.js和Binding.scala两大框架作者的PK
  20. Blender设置相机围绕物体旋转

热门文章

  1. 郭天祥51单片机教程--- IIC总线
  2. PCB上邮票孔的添加方式,你真的做对了吗……
  3. 强到离谱!阿里P8前端面试全套笔记,即将删除~
  4. 我能贡献什么-《卓有成效的管理者》第3章
  5. 黑马—private关键字-封装
  6. 用Python演奏《太阳照常升起》
  7. python删除文件部分内容_使用Python删除文本文件中的部分内容
  8. RK3188/RK3288学习记录!
  9. 4个流程图画图网站推荐
  10. 操作系统和进程的介绍