蓝牙角色切换(Bluetooth Role Switch)

4.4.1 Slot Offset

利用LMP_slot_offset,发送关于不同微微网中的时隙边界之间的差异的信息。 可以在基带寻呼过程完成之后的任何时间发送LMP_slot_offset PDU。 该PDU携带参数时隙偏移(Slot Offset)和BD_ADDR。 时隙偏移应该是从当前微微网中的主设备传输开始到下一个微微网中主设备传输开始的微秒时间,其中BD_ADDR设备(通常是从设备)在请求由BD_ADDR设备解释时是主设备。

有关在角色切换的上下文中使用LMP_slot_offset的信息,请参见第4.4节。
在角色切换的情况下,BD_ADDR是从设备的BD_ADDR。

4.4.2 Role Switch

由于寻呼设备总是成为微微网的主设备,有时需要切换主从角色,参见[Vol 2] B部分,第8.6.5节。可以 在基带寻呼过程完成之后的任何 时间执行角色切换 。

如果支持LMP_switch_req,则必须支持LMP_slot_offset 。仅当ACL逻辑传输处于活动模式时 , 才 应发送 LMP_slot_offset 。所述 LMP_switch_req 应仅在ACL逻辑传输处于活动模式中,当加密被禁止或暂停,并且在同一物理链路上的所有同步逻辑传输被禁止时发送。此外, 在LM协商同步逻辑传输时,不应启动或接受LMP_slot_offset或LMP_switch_req。

发起LM应在ACL-U逻辑链路上暂停通信(参见[Vol 2] B部分,第5.3.1节)。如果加密模式设置期间为“加密”且两个设备都支持暂停加密,则启动设备应启动暂停加密序列(参见第4.2.5.5节)。然后, 它将立即 发送 LMP_slot_offset PDU ,然后发送 LMP_switch_req PDU。如果主设备接受角色切换并且加密尚未暂停,则它应暂停ACL-U逻辑链路上的通信(参见[Vol 2] B部分,第5.3.1节)并使用LMP_accepted PDU进行 响应 。如果在基带级别(成功与否)完成角色切换,如果加密暂停,则暂停加密的设备应启动恢复加密序列(参见第4.2.5.6节)。如果未暂停加密,则两个设备都应重新启用ACL-U逻辑链路上的传输。如果主设备拒绝角色切换,则它以 LMP_not_accepted PDU 响应, 并且从设备重新启用 ACL-U逻辑链路上的传输。序列中角色切换PDU的事务ID( LMP_slot_offset和LMP_switch_req以及关联的LMP_accepted或LMP_not_accepted)应设置期间为1。

如果主设备启动角色切换,并且加密模式设置期间为“加密”且两个设备都支持暂停加密,则主设备应启动暂停加密序列(参见第4.2.5.5节),否则它将暂停ACL上的通信-U逻辑链路(参见[Vol 2] B部分,第5.3.1节)并发送LMP_switch_req PDU。如果从设备设备接受角色切换并且加密尚未暂停,则它应暂停ACL-U逻辑链路上的通信(参见[Vol 2] B部分,第5.3.1节)并使用LMP_slot_offset PDU立即响应,然后接收LMP_accepted PDU。如果在基带完成角色切换(成功与否),如果加密暂停,则暂停加密的设备应启动恢复加密序列(参见第4.2.5.6节)。当使用AES-CCM加密时,LM应在恢复加密之前使用新的主设备和从设备的BD_ADDR使用h3算法(参见[Vol 2] H部分,第7.7.6节)计算新的加密密钥。如果未暂停加密,则两个设备都会在ACL-U逻辑链路上重新启用传输。如果从设备拒绝角色切换,则它以 LMP_not_accepted PDU 响应, 并且主设备重新启用ACL-U逻辑链路上的传输。序列中角色切换PDU的事务ID( LMP_slot_offset和LMP_switch_req以及关联的LMP_accepted或LMP_not_accepted)应设置期间为0。

LMP_switch_req PDU包含一个参数,即切换Instant,它指定执行TDD切换的时刻。这被指定为主设备的时钟的蓝牙时钟值,可供两个设备使用。此Instant由消息的发送者选择,并且至少应为将来2 * Tpoll 或32(以较大者为准)的时隙。切换Instant应在当前时钟值的12小时内,以避免时钟翻转。LMP_switch_req PDU 的发送方 选择切换Instant,并将LMP_switch_req PDU 排队 到LC进行传输,并启动在切换Instant到期的定时器。当定时器到期时,它启动模式切换。在主设备发起切换的情况下,如果 切换Instant到时还没有接收到 LMP_slot_offset PDU,则执行角色切换而不估计从机的时隙偏移。如果 在定时器到期之前接收到LMP_not_accepted PDU,则停止定时器并且不应启动角色切换。

当 接收 到LMP_switch_req时, 将切换Instant与当前主时钟值进行比较。如果它已经过去,那么该Instant已经过时,并且将 返回 具有错误代码Instant Passed(0x28) 的 LMP_not_accepted PDU。如果是将来,则 应该返回 LMP_accepted PDU,假设允许角色切换并且启动在切换Instant到期的定时器。当此定时器到期时,应启动角色切换。

成功切换角色后,监督超时和轮询间隔(Tpoll )应设置期间为其默认值。认证状态和ACO应保持不变。自适应跳频应遵循[Vol 2] B部分第8.6.5节中描述的过程。应使用max_slots 的默认值 。

4.7.1主从角色切换 - 从设备

测试组目标:

验证设备是否可以请求主从切换。IUT是从设备。

4.7.1.1 LMP/LIH/BV-01-C [启动角色切换]

验证IUT是否可以请求成为主设备并执行所有必要的消息。IUT是slave并启动服务。下测试员是主设备。

  • 参考

[1] 4.4.2

  • 初始条件

请参阅默认设置期间。

  • 测试过程
  • 测试条件

必须可以控制IUT以启动主从切换。

  • 预期结果

通过判决

IUT发送PDU LMP_switch_req并接受PDU LMP_accepted的接收 。IUT必须是 微微网 的主控 。

4.7.1.2 LMP/LIH/BV-79-C [设置期间角色切换,从设备]

验证IUT是否可以在连接设置期间期间正确请求角色切换。Lower Tester启动连接建立并寻呼IUT。 IUT请求主/从切换。除非角色在连接设置期间切换,否则IUT将成为从设备。

  • 参考

[1] 4.1.1

  • 初始条件

请参阅默认设置期间。

  • 测试过程
  • 预期结果

通过判决

在接收到PDU LMP_host_connection_req时,IUT发送PDU LMP_slot_offset,然后发送LMP_switch_req 。测试仪 在接收到PDU LMP_clkoffset_req时发送PDU LMP_clkoffset_res。

4.7.2主从角色的切换 - 主设备

测试组目标:

验证设备是否可以请求主从切换。IUT是主设备。

4.7.2.1 LMP/LIH/BV-02-C [接受角色切换]

验证IUT是否接受Lower Tester请求将角色从slave切换到master和master切换到slave。IUT是主设备。Lower Tester是slave并启动服务。

  • 参考

[1] 4.4.2

  • 初始条件

请参阅默认设置期间。

IUT必须寻呼Lower Tester才能成为Piconet的主设备。

  • 测试过程
  • 预期结果

通过判决

IUT在接收到PDU LMP_switch_req时发送PDU LMP_accepted。

IUT必须成为从设备。

IUT必须在接收到时发送LMP_slot_offset和LMP_accepted

LMP_switch_req。

IUT必须成为主设备。

7.7.2.1 LMP/LIH/BV-78 -C [设置期间角色切换,主设备]

在连接设置期间期间验证IUT是否正确处理角色切换请求。IUT启动连接建立并寻呼Lower Tester。Lower Tester请求主/从切换。除非角色在连接设置期间期间切换,否则 IUT将成为 微微网 的主 设备。

  • 参考

[1] 4.1.1

  • 初始条件

请参阅默认设置期间。

  • 测试过程
  • 预期结果

通过判决

IUT在接收到PDU LMP_switch_req时发送PDU LMP_accepted,并在接收到PDU LMP_clkoffset_req时发送PDU LMP_clkoffset_res。

4.7.3主从角色的切换 - 主设备和从设备

测试组目标:

验证IUT是否以正确的方式拒绝主从切换。IUT的角色 没有重要意义。

4.7.3.1 LMP/LIH/BV-03-C [不支持的角色切换]

根据请求,验证IUT在接收到来自Lower Tester的请求时,是否响应它不支持主从切换。

  • 参考

[1] 4.4.2

  • 初始条件

请参阅默认设置期间。

  • 测试过程
  • 预期结果

通过判决

IUT在接收到PDU LMP_switch_req时发送包含“Reason = 0x1A”的PDU LMP_not_accepted。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 简爱(2) 简爱(3) 简爱(4) 简爱(5) 文/苏惊禅 风,微冷。 夜,如凉水。 凌晨就像一只高贵的精灵,带着...
    苏惊禅阅读 573评论 0 2
  • 今天是我的生日,本命年的生日。首先祝自己生日快乐,希望自己后续的人生是快乐而轻松的。 今天早上4点多照常起...
    蓝心百合阅读 794评论 2 4
  • 001 不再年轻后,大部分人选择去结婚生子,各自成家。人们都会在自己和别人的祝福中寻找最适合自己的那个他,挽手行走...
    黄值子阅读 489评论 5 12
  • 大年初一早上8:34,我躺在床上,扫党聪的二维码,终于加入了007,支出269. 半年前,刚链接超体和混沌的同学,...
    四川邻水阅读 178评论 1 1