蓝牙物理链路类型:SCO和ACL链路与A2DP

2023-05-16

转载于https://blog.csdn.net/wenzongliang/article/details/84689377

蓝牙链路分两种同步链路(SCO)和异步链路(ACL)。A2DP(Advanced Audio Distribution Profile 高级音频传输模型)是跑在ACL链路上去高品质音频协议。A2DP定义了ACL(Asynchronous Connectionless 异步无连接)信道上传送单声道或立体声等高质量音A2DP 功能频信息的协议和过程
 
 
蓝牙物理链路SCO(Synchronous Connection Oriented)主要用来传输对时间要求很高的数据通信, 另外的一种链路是ACL(Asynchronous Connectionless)。
       蓝牙基带技术支持两种连接类型:同步定向连接(SCO)类型和异步无连接(ACL)类型。前者主要用于同步话音传送,后者主要用于分组数据传送。
       SCO连接为对称连接,利用保留时隙传送数据包。连接建立后,主设备和从设备可以不被选中就发送SCO数据包。SCO数据包既可以传送话音,也可以传送数据,但在传送数据时,只用于重发被损坏的那部分的数据。
       ACL链路就是定向发送数据包,它既支持对称连接,也支持不对称连接(既可以一对一,也可以一对多)。主设备负责控制链路带宽,并决定微微网中的每个从设备可以占用多少带宽和连接的对称性。从设备只有被选中时才能传送数据。ACL链路也支持接收主设备发给微微网中所有从设备的广播消息。
 
    在主单元和从单元之间,可以确定不同的类型链接关系。如下定义了两种链接类:
● 同步定向链接(SCO,Synchronous Connection Oritened)
● 异步无链接(ACL,Asynchronous Connection Less)
    (可以参照TCP/IP协议的 TCP 连接和UDP 连接,当然TCP/IP的连接方式不止这两种,还有SCTP;蓝牙协议的理解还是要参照TCP/IP协议进行的)
 
    同步定向链接(SCO)是在匹克网中主单元和从单元之间实现点到点链接。
    主单元通过有规律的使用保留时隙来维持SCO 链接。
    而ACL 链接是主单元与共存于匹克网中的所有从单元之间实现一点多址的连接方式。在这种连接方式中,主单元并不以时隙来保留SCO 链接,主单元在每个时隙基上建立对任何其它从单元的ACL链接。其中包括已预定用SCO链接方式中的从单元。
 
    a) SCO 链接
    SCO 链接是在主单元与指定的从单元之间实现点到点的同步连接。SCO 链接方式采用保留时隙来传输分组,因此该方式可看作是在主单元和从单元之间实现电路交换连接。
    SCO 链接主要用于支持类似于象话音这类时限信息。从主单元方面看,它可以支持多达3路的相同从单元或不同从单元的SCO 链接。
    而从从单元方面看,针对同一主单元它可以支持多达3路的SCO 链接。
    若链接来源于不同主单元,此时从单元只能支持2 路SCO链接,在此种情况下决不能再传输SCO分组(SCO分组,ACL分组的区别)。主单元以有规律的时间间隔来发送分组,所以在保留的主―从时隙里,称到从单元的SCO 间隔为Tsco(记数时隙)。
    在主―从时隙里SCO从单元总是允许响应SCO分组传输。但若先前的主―从时隙是使用不同的编址,此时这种传输是不能使用。如果在分组头里,SCO从单元对从单元的编址码有解码错,在保留的SCO 时隙里它仍允许返回一个SCO分组。
    SCO 链接由主单元发送SCO 建立消息,经链接管理(LM)协议来确立。该消息分组含定时参数(如SCO 间隔Tsco 和规定保留时隙补偿Dsco)等。
    为防止时钟隐藏问题,在LMP中设置信息的初始化标志应指出是初始化方式1 或是初始化方式2 被采用,从单元将通过初始化标志指示采用的初始化模式。若当前主时钟(CLK27)的MSB是0 时,主单元使用初始化模式1。当前主时钟(CLK27)的MSB是1 时,主单元使用初始化模式2。由主从保留的主―从SCO时隙取决于满足下述等式的时隙上被初始化。
 
CLK27―1 mod Tsco = Dsco。 初始化方式1
(CLK27―1 ,CLK26―1 )mod Tsco = Dsco。 初始化方式2
 
主―从SCO 时隙直接跟随保留主―从SCO 时隙。在初始化后,作为下一个主―从SCO 时隙的时钟值CLK(K+1),是通过加固定间隔Tsco到当前主―从SCO 时隙的时钟值来建立。
CLK(K+1)=CLK(K)+ Tsco。
 
    b)ACL 链接
 
    在 SCO 链接不保留的时隙里,主单元可以与任何属于每个时隙基里的从单元进行分组交换。ACL 链接提供在主单元与所有在匹克网中活动从单元的分组交换链接,异步和等时两种服务方式均可采用。在主―从之间,若仅是单个ACL 链接存在时,对大多数ACL 分组来说,分组重传是为确保数据的完整性而设立。
    在从―主时隙里,当且仅当先前的主―从时隙已被编址,则从单元允许返回一个ACL 分组。如果在分组头的从单元地址解码失败,它就不允许传输。
 
    ACL 分组未编址作为广播分组的指定从单元且各从单元可读分组。如果在ACL 链接上没有传输数据及没有轮询申请,那么在ACL 链接上就不存在发生传输过程。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙物理链路类型:SCO和ACL链路与A2DP 的相关文章

  • SONiC+P4实践——P4Runtime下发ACL表项

    转载请表明出处 注 xff1a SONiC系统为vs版本 Part1 xff1a 实现外部宿主机与SONiC的网络连通 步骤 1 xff1a 打开一个ubuntu系统安装kvm及其依赖 xff08 1 xff09 查看CPU是否支持虚拟化
  • 蓝牙SCO与ACL链路

    在主单元和从单元之间 xff0c 可以确定不同的类型的蓝牙物理链路 xff1a ACL AsynchronousConnectionless 和另一种链路是SCO Synchronous Connection Oriented SCO主要用
  • 访问控制ACL

    ACL访问控制列表可以对具体的用户或组设置权限 root 64 localhost useradd tony tom root 64 localhost passwd tony root 64 localhost passwd tom ro
  • DbAcl::check() - 权限检查中 ARO/ACO 节点查找失败。

    我正在使用 cakephp 并使用 acl 但我面临这个错误 DbAcl check Failed ARO ACO node lookup in permissions check 感谢帮助 您可能已向控制器添加了操作 但未更新aco桌子
  • 应用程序引擎上的云存储和安全下载策略。 GCS acl 或 blobstore

    我的应用程序引擎应用程序创建云存储文件 这些文件将由第三方下载 这些文件包含个人医疗信息 首选下载方式是什么 使用带有用户 READER acl 的直接 GCS 下载链接 或者在应用程序引擎应用程序中使用 blob 存储下载处理程序 两种解
  • 微服务中的授权 - 如何使用 ACL 实现域对象或实体级访问控制?

    我目前正在 java Spring Cloud 上构建基于微服务的系统 一些微服务使用 PostgreSQL 一些微服务使用 MongoDB REST和JMS用于通信 计划使用 SSO 和 OAuth2 进行身份验证 我面临的挑战是授权必须
  • 使用 NSIS 安装程序向注册表项授予权限的有效方法是什么?

    我正在尝试使用访问控制插件 http nsis sourceforge net AccessControl plug in在 NSIS 中设置注册表项的权限 它不起作用 安装程序运行后 所有用户组没有完全控制权 我在下面创建了一个示例 这里
  • 如何连接蓝牙 a2dp 设备?

    我正在尝试将运行 android 4 1 的 Android 设备与支持 a2dp 的音频接收器配对 我可以在蓝牙设置屏幕上毫无问题地做到这一点 但我很难在代码中做到这一点 基本上我能够发现该设备 但无法通过套接字连接到它 也许我使用了错误
  • ACL 2024投递指南

    诸神缄默不语 个人CSDN博文目录 显然写这篇博客是因为我要投ACL了 TL DR ACL 2024是ARR提交制 workshop归workshop 最晚提交时间是2024年2月15号 在此之前可以随时撤回 4月15号出结果 4月20号确
  • 在 inno-setup 中作为安装后运行 netsh.exe

    在以下脚本中 我运行 netsh exe 以在 TCP 端口上启用 http GET 请求 但即使安装日志显示退出代码为 0 并且参数也是正确的 我没有看到端口已启用 有任何想法吗 Script generated by the Inno
  • 无法删除目录 ACE

    我正在使用 C 和 NET 4 编写一个类库 它通过网络与共享服务器上的文件系统进行交互 我正在尝试调整文件夹的某些权限 并且我完全有能力添加 ACE 但我很难删除它们 这是我到目前为止的代码 get ACEs for the workin
  • Zend_Acl,角色和权限存储在数据库中

    我想为我的应用程序构建一个具有以下要求的 ACL 系统 用户将被分配单个或多个角色 行政人员 工作人员 等 角色将具有权限 Send Invoices Send mail Delete Invoices Send Estimate 等 除了
  • 在haproxy中使用环境变量

    希望有人能指出我正确的方向 我正在尝试将 HAProxy 配置为使用环境变量 来自操作系统 作为 acl 语句的一部分 因此 如果在启动或重新加载 HAProxy 时将环境变量设置为 true 则将授予访问权限 如果环境变量设置为 fals
  • 授予读取 Amazon S3 存储桶内子目录的权限

    我以前从未使用过 AWS S3 我们用它来自动备份客户的通话录音 我们的一位客户出于审计目的需要访问他们的录音 我使用客户端 Cyber Duck 作为访问文件的方式 我只想让他们访问他们的文件 我们的文件结构如下 recordings 1
  • 如何使用powershell设置文件夹权限

    我正在尝试编写一个脚本 为所有文件服务器上的 profile 文件夹添加 CreatorOwner 权限 即 将 Creator Owner 权限添加到 File Server Profile 谁能告诉我它的命令和语法是什么 如有任何问题请
  • 多数据库应用程序的访问控制

    我有一个 mainDB nsf 其中包含所有 XPage 设计 代理 脚本库等 用户从该数据库中选择一个应用程序 可能存在一个或多个应用数据库 每个应用程序数据库都包含应用程序的实际数据 以及在 mainDB 中的自定义控件中访问的数据的视
  • 使用 ACL 的 Redis Docker 镜像

    我正在尝试测试新的 Redis 6 ACL 配置 我想使用尽可能简单的配置来运行测试以熟悉配置 我的 Redis 将作为 Docker 容器运行 请考虑一下我是一个 Redis 新手 My Dockerfile FROM redis 6 2
  • Symfony2 跨多个应用程序共享用户

    我有多个 symfony2 应用程序 它们共享公共实体 但使用不同的数据库设置 每个数据库都有表user user role and role 问题是 我希望该用户能够登录app1通过访问www myproject com app1 log
  • 如何使用 CodeIgniter ACL 库?

    如何实现 ACL 库 对用户角色使用 ACL 的最佳方法是什么 在标准 PHP 中 我会编写如下代码 if userTypeId Admin hello Admin else if userTypeId Member hello membe
  • 管理角色并向角色分配权限 - Symfony

    我正在 Symfony 3 中基于角色和权限构建一个管理面板 每个管理员将被分配一个角色 或多个角色 然后他将能够根据分配给该角色的权限执行操作 为了给您一个想法 这里有一个例子 管理面板具有添加用户 编辑用户和删除用户的功能 我创建了一个

随机推荐

  • Python如何在函数内部使用全局变量

    使用方法 Python在函数内部使用全局变量的一种常用方法如下 xff1a 即首先需在函数外部给一个变量赋初值 xff0c 然后在函数内部用关键字 global 将此变量声明为全局变量 而且 xff0c 不能有形如 global a 61
  • 树莓派3B SWAP空间不足

    在对树莓派3B进行ROS indigo安装时 xff0c 到编译ROS程序这一步时 xff0c 总是失败 xff0c 查看了原因发现 xff0c 在为树莓派安装系统时swap空间没有设置 不过为时未晚 xff0c 现在也可以对swap空间进
  • TX2核心板安装OpenCV3.2(在cuda9.0的环境下)

    今天新到的TX2 xff0c 还有点烫手 xff0c 买来要用在无人机上做视觉的目标识别 xff0c 所以自然要装上OpenCV喽 xff01 TX2核心板买来就自带了cuda9 0 xff0c 据说这个和opencv3不太搭 xff0c
  • c语言面试题 指针30个常错题型

    1 char const p char const p const char p 上述三个有什么区别 xff1f char const p 常量指针 xff0c p的值不可以修改 char const p xff1b 指向常量的指针 xff
  • c++ 笔试面试题 难题精选 持续更新

    第一题 问下面的输出结果是 什么 xff1f include lt stdio h gt include lt iostream gt using namespace std class A protected int m data pub
  • VS2010 添加OnInitDialog的方法

    OnInitDialog 在vs2010中实现为虚函数 所以在 项目 gt 类向导 gt 虚函数 gt 选中要添加的类 xff0c 找到对应虚函数添加即可 就这么简单
  • HBITMAP与BITMAP 的区别 BMP图像的格式

    HBITMAP 是句柄 xff1b BITMAP 是实例 xff1a typedef struct tagBITMAP bm int bmType 必须是BM int bmWidth 指定位图的宽度 xff08 以象素为单位 xff09 i
  • fatal error LNK1281: 无法生成 SAFESEH 映像。

    解决方法 xff1a 1 打开该项目的 属性页 对话框 2 单击 链接器 文件夹 3 单击 命令行 属性页 4 将 SAFESEH NO 键入 附加选项 框中 xff0c 然后点击应用
  • 如何实现科技论文里面的算法

    这是一篇关于如何实现科研论文中算法的简要指南 作者曾实现过很多书本上和科研论文中的复杂算法 xff0c 在这篇文章中作者总结他在研究 xff0c 阅读 xff0c 编码和调试时积累的大量经验 很显然 xff0c 这篇文章主要集中在和计算机科
  • 程序员专用经典语录—看完笑一阵可以,千万不要死循环哦!

    IT人表示屁股上还得纹一个 lt body gt 要不中间来个hello world 真正的程序员喜欢兼卖爆米花 xff0c 他们利用CPU散发出的热量做爆米花 xff0c 可以根据米花 爆裂的速度听出正在运行什么程序 十年生死两茫茫 xf
  • android 自学中的散乱笔记

    1 查看程序运行记录 要在LogCat中查看 其内可选择查看的信息级别 xff0c 比如info xff0c error xff0c debug等等 xff0c 信息可筛选显示 2 xff1a 安装好手机驱动 xff0c 将手机接入usb即
  • java lambda表达式 闭包学习笔记

    我们把这些只拥有一个方法的接口称为函数式接口 声明一个接口是函数式接口 xff1a 编译器会根据接口的结构自行判断 xff08 判断过程并非简单的对接口方法计数 xff1a 一个接口可能冗余的定义了一个Object已经提供的方法 xff0c
  • C++ STL set和multiset的使用 hunst_xiehonghao 总结

    C 43 43 STL set和multiset的使用 std set lt int gt s 那个s这个对象里面存贮的元素是从小到大 排序的 xff0c 因为用std less作为比较工具 1 xff0c set的含义是集合 xff0c
  • 数据结构之车厢调度 思路很重要

    问题描述 假设停在铁路调度站入口处的车厢序列的编号依次为1 xff0c 2 xff0c 3 N 设计一个程序 xff0c 求出所有由此输出的长度为N的车厢序列 要求3节车厢调度的方法 xff0c 1代表进栈 xff0c 0代表出栈 有几点要
  • 判断N 数码是否有解 牛人总结 归并排序

    作者 力的博客 先介绍八数码问题 xff1a 我们首先从经典的八数码问题入手 xff0c 即对于八数码问题的任意一个排列是否有解 xff1f 有解的条件是什么 xff1f 我在网上搜了半天 xff0c 找到一个十分简洁的结论 八数码问题原始
  • 爬虫技术概览

    爬虫介绍 简介 自动化 半自动化从互联网上采集数据的程序 爬虫框架 一个简单的爬虫框架 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img 7ifdLU0V 1625273924704 http m qpic cn
  • 怎样在github上发布pre-release和release?

    请参考 xff1a https jingyan baidu com album ad310e80e0c1d11848f49e7f html picindex 61 2 以上是通过网页进行操作的 xff1b 能通过GUI进行操作吗 xff1f
  • git fatal: unrecognized input ^[

    原因是安装了一个vim的插件NREDTREE xff0c 另外需要退出当前用户然后重新登录
  • keil main之前执行过程

    硬件复位后 第一步是执行复位处理程序 这个程序的入口在启动代码里 默认 摘录一段cortex m3的复位处理入口代码 Reset Handler PROC PROC等同于FUNCTION 表示一个函数的开始 与ENDP相对 EXPORT R
  • 蓝牙物理链路类型:SCO和ACL链路与A2DP

    转载于https blog csdn net wenzongliang article details 84689377 蓝牙链路分两种同步链路 SCO 和异步链路 xff08 ACL xff09 A2DP xff08 Advanced A