蓝牙核心系统包括一个主机,一个主要控制器和零到多个次要控制器。

2.1.1 蓝牙BR/EDR最小系统

蓝牙BR/EDR最小核心系统包括:

  • 控制器中四个最底层,BR/EDR射频物理层(PHY),链路控制层(LC),基带资源管理器(RM),链路管理器(LM)
  • HCI接口
  • L2CAP(逻辑链路控制和适配层)
  • SDP profile
  • GAP profile

如果蓝牙BR/EDR最小核心系统带有AMP控制器,还会包括:

  • AMP射频物理层(AMP PHY)
  • AMP媒体访问控制层(AMP MAC)
  • AMP适配层(AMP PAL)
  • AMP管理器(AMP Resource Manager)

2.1.2 蓝牙LE最小系统

蓝牙LE最小核心系统包括:

  • 控制器中四个最底层,BR/EDR射频物理层(PHY),链路控制层(LC),基带资源管理器(RM),链路管理器(LM)
  • HCI接口
  • L2CAP(逻辑链路控制和适配层)
  • Security Manager(SM)
  • Attribute Protocol(ATT)
  • Generic Attribute Profile(GATT)
  • Generic Access Profile(GAP)

2.1.3 蓝牙BR/EDR/LE最小系统

如果蓝牙系统包括BR/EDR和LE技术,那么最小核心系统就是上面两个最小核心系统的叠加。完整的蓝牙应用需要更多附加的服务和上层协议。蓝牙的应用场景非常多,所以如果包含所有的协议,系统会非常庞大。目前蓝牙芯片或设备只是针对不同的场景,集成不同的上层服务和协议,不会集成所有的蓝牙协议。在本章中,只讨论蓝牙最小系统中包括的层次和协议。

以下是蓝牙核心规范给出的,捆绑BR/EDR/LE技术的蓝牙最小核心系统图:

2.1.4 蓝牙核心规范描述内容

图中显示了蓝牙最小核心系统的功能模块、控制流和数据流。图中的功能模块只是参考,一般情况下蓝牙规范不会定义实现细节。但是蓝牙规范会定义模块之间的交互。因此图中显示的功能模块是为了帮助描述系统行为。实现方式各个厂商自己定,可能与上图有些差别。

蓝牙规范为所有设备间操作定义标准交互,蓝牙设备根据蓝牙规范交换协议信令。蓝牙核心系统协议包括:

  • Radio (PHY) protocol
  • Link Control (LC)
  • Link Manager (LM) protocol
  • Link Layer (LL) protocol
  • AMP PAL
  • Logical Link Control and Adaptation protocol (L2CAP)
  • AMP Manager Protocol

以上协议都会在蓝牙核心规范中定义

以下协议会被一些蓝牙应用使用,属于服务层协议。因为使用比较广泛,所以也会在蓝牙核心协议中描述:

  • Service Discovery Protocol (SDP)
  • Attribute Protocol (ATT)

2.1.5 蓝牙核心系统中的服务

图中椭圆的图形表示蓝牙核心系统提供的服务的访问点。这些访问点提供基本原语去控制蓝牙核心系统(原语:可以理解为系统调用)。蓝牙核心系统提供三种服务:

  1. 设备控制服务:控制蓝牙设备的行为和模式
  2. 通信控制服务:创建、修改、释放连接和通道
  3. 数据服务:在通道中传输数据

前两项服务属于控制面(C-plane),后两项服务属于用户面(U-plane)

在图中,蓝牙控制器的服务接口被定义,使得控制器是一种标准的组件加入到蓝牙系统中。在这种组织方式中,蓝牙控制器管理最低四个层次,蓝牙主机管理L2CAP及以上层次。蓝牙控制器和蓝牙主机之间的标准接口叫做主机控制器接口(Host Controller Interface,HCI)。(但HCI接口是可选的。意思是假如蓝牙系统的用另外一种方式组织,蓝牙主机和蓝牙控制器运行在同一个芯片或硬件上,他们之间就不需要HCI接口)

2.1.6 蓝牙核心系统的一些假定

因为蓝牙主机和控制器很可能会分开,主机和控制器之间使用HCI接口进行通信。蓝牙主机和控制器之间都需要buffer存储HCI的命令和数据,而且buffer是有限的。

基于这种假定,在L2CAP层上需要负担一些资源管理的责任。当L2CAP的PDU提交给蓝牙控制器发送到对方设备时,L2CAP需要把PDU分段,转变成更多粒度更小、适合存放在控制器buffer的数据包。并且根据通道的质量情况(因为通道可能会被干扰),控制buffer的流量。(因为通道被干扰的时候可能需要重发,这时候数据流变慢,如果主机一直塞数据给控制器,会出现buffer溢出。L2CAP需要根据实际情况,控制数据包提交速度)

蓝牙BR/EDR基带,LE的连接层,以及AMP的MAC层支持基础的应答/重发请求(ARQ)机制。L2CAP层可以支持一种错误检测和重传的机制(这个机制是可选的,意思是厂商可能提供也肯能不提供)。这个功能对于纠正一些低概率和不能检测的数据错误非常有用(因为底层的误码大多数是1位,1位误码能被底层传输纠正。2位或多位的错误底层可能检测不出来,即使检测出来也不能纠正。但多位错误概率比较低)。另外一个L2CAP可选的功能是基于窗口流控,这个功能可以管理接收buffer的申请。以上两种功能在特定场景下的服务通信质量(QoS)进行讨论。并非所有的L2CAP功能在LE系统中都可用。

尽管各个厂家生产的蓝牙嵌入系统不会把所有功能层次都整合进去,因此有些假设并不需要。然而蓝牙总体架构和QoS模型在定义的时候会把这些假设考虑进去。

2.1.7 一致性测试

自动化一致性测试是蓝牙系统中必备的功能。允许测试器通过控制PHY接口去实现。测试的接口包括:

  • Direct Test Mode (DTM)
  • Generic Test Methodology (GTM)
  • Test Control Interface (TCI)
  • HCI测试命令和HCI测试事件

测试器使用执行测试单元(IUT),通过PHY接口确保从远端设备获得正确的请求应答。测试器通过HCI、DTM、GTM或者TCI接口控制IUT,使得IUT通过PHY接口与远端产生交互。通过这种方法验证一致性。(蓝牙核心规范理解起来有点困难,原理其实比较简单,就是本地设备和远端设备都是由IUT控制,两端的信息IUT都能收集到。IUT枚举各种测试用例,从而观察设备的运行是否正常。)

TCI使用不同的命令集去测试架构中不同的层次和协议。HCI指令集中的子集用作BR/EDR控制器系统中各层次协议的TCI服务接口。一个独立的服务接口用来测试L2CAP层和协议。它没有在《蓝牙核心规范》中描述,在另一个叫《测试控制接口规范》中描述。L2CAP测试接口仅仅用作一致性测试。

二 蓝牙系统架构 - 2.1 核心系统架构相关推荐

  1. 架构师必须清楚的支付系统--核算对账核心系统详解

    在支付系统中,资金对账在对账中心进行,将系统保存的账务流水与银行返回的清算流水和清算文件进行对账,核对系统账务数据与银行清算数据的一致性,保证支付机构各备付金银行账户每日的预计发生额与实际发生额一致. ...

  2. 蓝牙架构(4)—— 2 蓝牙系统架构 (2.0 核心系统架构)

    Vol 1架构和术语概述 Part A 2 蓝牙系统架构 Agenda: 2.0 核心系统架构. 2.0.1 蓝牙BR/EDR最小系统. 2.0.3 蓝牙BR/EDR/LE最小系统. 2.0.4 蓝牙 ...

  3. 银行核心系统服务器,银行核心系统之技术架构(一).pdf

    银行核心系统之技术架构 目录 前言 3 1.此文适合人群: 3 2.此文解决问题: 3 3.此文分为三部分: 3 1.主机时代 3 (1)单体架构4 (2)操作系统(z/OS) 4 (3)命令输入处理 ...

  4. gdi win7奔溃_Win7系统细致核心图形架构的操作方法

    电脑系统细致核心图形架构的问题每个人都有不同的操作门路,小编在大量的搜集细致核心图形架构的解法之后,总结出来一套比较简单的细致核心图形架构的处理措施,就是按照图形界面一直是Windows系统的核心,而 ...

  5. 广发证券基于分布式架构的新一代估值系统实践

    文 / 广发证券信息技术部 来源 / 金融电子化 随着信息技术应用创新试点范围不断扩大,能否胜任更多业务场景,是各行各业当前阶段选型数据库的关键.早在 2019 年,广发证券即开启对分布式架构的数据库 ...

  6. 【观察】揭秘:中信银行信用卡新核心系统自研之路

    申耀的科技观察 读懂科技,赢取未来! 中国银行业的数字化转型,正处于关键的历史节点上,特别是随着银行业数字化转型的加速,今天无论是底层基础架构,乃至应用和商业模式的创新上,都让整个银行业面临着全新的挑 ...

  7. 【观察】解读StarCard新核心系统:全新跨越,生态赋能

    申耀的科技观察 读懂科技,赢取未来! <Bank 4.0>一书在2019年席卷全球,此书的副标题是"金融服务无处不在,就是不在银行网点",看似大胆的预测却在今年成为了现 ...

  8. 关于核心系统日终扎帐控制外围系统当天未处理的业务

    关于核心系统日终扎帐控制外围系统当天未处理的业务7 d, ^& S- q0 N4 t% [( ~% f 7 ~, s- s& /3 W6 r一.核心系统的日终扎帐 * W" ...

  9. 国外核心系统率先抢滩中国中小银行

    有关全面引进国外银行核心系统的做法,目前在整个银行业颇富争议.易观国际认为,自从2003年国内银行大型软件领域结束了没有"洋" 品牌的历史,中国银行业才真正触发参与国际竞争的短兵相 ...

最新文章

  1. python数据结构与算法:双向链表
  2. 收藏 | 一文打尽AI、机器学习网络资源!
  3. 鸡年除夕全天微信红包收发量达142亿个增长75.7%
  4. Laravel框架学习 -- php artisan down/up
  5. Hadoop 02_初学必知
  6. 解决win2003安装exchangeServer后关机慢的方法
  7. 深入mysql语言_MySQL对数据操作的一些深入语法
  8. Linux内核驱动如何编写?我们先从字符驱动入门开始
  9. ansj 自定义 停用词_构造自定义停用词列表的快速提示
  10. n3k配置vpc是否还需要配置hsrp_VPC配置案例
  11. python中全部注释_python中的所有对象(学习注释1),Python,一切,皆,笔记
  12. 以下创建了几个对象_面试题系列第2篇:new String()创建几个对象?
  13. 安装libvirt管理套件(C/S架构模式,用户管理kvm虚拟机)
  14. 声卡loopback有什么用_sam机架宿主软件无法获取声卡ASIO问题解析
  15. [猎豹网校]数据结构与算法_Java语言
  16. 译码器(24译码器,38译码器)笔记
  17. Mac MF打印机驱动程序安装(亲测MacOS11.6和Mac12.4都可以)
  18. 创建maven项目时添加自定义property属性
  19. S2. 口腔CT工作原理-数据采集
  20. 计算机键盘和指法练习实验报告模板,实验报告总结怎么写

热门文章

  1. 2013华为工作之电信客服上线
  2. 在嵌入式linux上玩OpenGL
  3. 九连环解法java版
  4. BUUCTF misc 九连环
  5. ISO SAE 21434-2021 要求、建议、允许(RQ、RC、PM)整理
  6. 宝可梦 图片识别python_初探利用Python进行图文识别(OCR)
  7. SpringBoot 接口数据加解密实战!
  8. 小游戏开发怎么选游戏引擎
  9. 分段三次埃尔米特插值
  10. 手游直播到底难在哪里?