蓝牙数据传输技术介绍.ppt_第1页
蓝牙数据传输技术介绍.ppt_第2页
蓝牙数据传输技术介绍.ppt_第3页
蓝牙数据传输技术介绍.ppt_第4页
蓝牙数据传输技术介绍.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章蓝牙数据传输技术 蓝牙数据传输技术 数据传输基本概念 物理链路与逻辑链路 物理链路就是一条无源的点到点的物理线路段 中间没有任何交换节点 逻辑链路是另一个概念 在需要在一条线路上传送数据的时候 除了必需的一条物理链路外 还需要有一些必要的通信规程来控制这些数据的传输 逻辑链路就像一条数字管道 可以在它上面进行数据通信 服务访问点 当采用复用技术时 一条物理链路上可以有多条逻辑链路 数据传输实验的数据链路层通过服务访问点实现了信道的复用 在实际的数据通信中 一个主机中有多个上层应用需要和其它的主机上的应用进行通信 所以 数据链路层需要向上提供多个服务访问点 SAP 以向多个上层应用提供服务 服务访问点 在数据传输时需要两种地址 物理地址 标识主机 和SAP地址 标识服务 物理地址由数据链路层媒体访问控制MAC子层负责传输 SAP地址由数据链路层中的逻辑链路控制LLC子层负责传输 服务访问点 在TCP IP协议栈上 TCP层以上看到的是经映射的物理地址和逻辑地址 分别是IP和端口号 在数据传输实验中 物理地址是不经过转换的 可看成是网卡地址或IP地址 SAP可以看成服务的端口号 注意 一个应用可同时使用多个SAP 一个SAP在一个时间只能为一个应用服务 面向连接与无连接 面向连接服务具有连接建立 数据传输 连接释放三个阶段 在传送数据时是按序传送的 这一点和电路交换相似 因此它在网络层又称为虚电路服务 无连接服务就是数据包服务 无连接服务不需要建立连接 不需要确认 实现简单 因而在局域网中得到广泛应用 面向连接与无连接 面向连接的服务开销较大 特别适合传送很长的数据文件无连接服务优点在于灵活方便 比较迅速 可用于点对点通信 对所有用户发送信息的广播和只向部分用户发送信息的多播 但无连接不能防止报文的丢失 重复和无序 面向连接和面向无连接的服务不是针对某一层协议 而是针对各层网络协议而言的 面向连接与无连接 数据链路层中 无连接服务实现简单 在局域网中得到广泛应用 在表示会话层中 也同样存在面向连接和面向无连接的两种服务 本实验中所使用的会话层协议精简自蓝牙协议中的OBEX OBjectExchange 协议 蓝牙协议栈中的OBEX协议不支持面向无连接的服务 蓝牙数据传输方式 数据传输方式 SCO链路 面向连接的同步传输 SynchronousConnection Oriented SCO 链路属于电路交换的同步传输类型 电路交换是当主设备与从设备间的连接一巳建立后 不管有无数据发送 系统都会预留固定间隔的时限给主设备与从设备 其他从设备就不能利用此连接上的时隙来发送数据 如图所示 SCO链路 SCO链路比较适合语音的传输 每一个SCO链路支持64Kb s的语音通话 一旦SCO链路建立 主设备和从设备可直接发送SCO包 主设备无需事先询问从设备 SCO链路属于点对点的对称连接 即SCO链路建立在一个主设备与从设备间 当SCO链路在传输语音时 由于语音包不适合因干扰而重新发送 保护语音包的方法是采用严格语音编码 即使接收语音一方收到包错误率非常高 解码后的语音品质仍可以接受 SCO包 SCO包不使用CRC校验 并且不需要重发 没有有效载荷头 一般用在传送同步 语音 信号HV1包使用1 3FEC纠错 支持高质量语音HV2包使用2 3FEC纠错 支持中等质量的语音传输HV3包不使用FEC纠错 支持高速语音传输 ACL链路 无连接的异步传输 AsynchronousConnection Less ACL 链路属于包交换的异步传输类型 包交换是将高层的数据切割成一段段的包 当物理通道上的时隙没有任何SCO链路时 ACL链路可占旧任意时隙来信输数据 一旦系统需要传输SCO链路时 ACL链路则自动空出时隙提供SCO链路使用 ACL链路只在SCO链路不使用的时隙上传输 ACL链路 ACL链路 ACL链路这种包交换的估输类型 是在作输数据时才运用时隙 与现在因特网传输数据的方式相同 适合传输突发性的数据信息 主设备可同时与多个从设备建立ACL链路 属于点对多点的非对称连接 主设备负责分配主从网络中的每个从设备到主设备间的传输速率 在主设备送出ACL链路包之前 必须先询问各个从设备 选定某个从设备后才能发送数据信息 ACL链路也支持主设备到所有从设备的广播信息 ACL链路 ACL链路支持对称和非对称两种传输速率在非对称速率时 虽然主从网络的最大带宽为1Mb s 但是包还需要负责发送控制信号 所以ACL链路的数据传输率在非对称连接时 主设备到从设备的传输速率为721Kb s 从设备到主设备的传输速率为57 6Kb s 对称连接时 主设备到从设备间的速率各为432 6Kb s 当ACL链路传输数据信息时 为了保证包的正确性 将每个包都加以保护 若接收一方收到的包差错率非常高时 必须命令发送端将该包更新发送 ACL包 可以传递用户的数据 共定义了七种类型 其中六种有CRC码并可以重传 链路数目 主设备与从设备将物理通道内的时隙进行最充分的利用后 能够同时建立许多ACL链路与SCO链路 主设备与各个从设备间最多只有一条ACL链路 但是可以有多条SCO链路 主设备与从设备间最多可以支持3条SCO链路 或是主设备与3个从设备各建立起一条SCO链路等 在建立或是关闭SCO链路时 依赖于先建立起一条ACL链路来传递控制信号 建立ACL链路比建立SCO链路容易 通常若主设备与从设备无法互相连接时 大部分的情况都是因为无法建立起SCO链路 如何建立连接 主设备与从设备间的时序同步 所有的蓝牙设备都有一个内部系统时序CLXN 用以决定包发送的时间 这个内部时不断地进行计算 不能被关闭或调整 蓝牙设备每次递增的时间 为312 5us 时钟速率为3 2kHz CLKN是一个自由运转的时钟 而目是所有其它时钟特性的参考 在高度活跃状态下 本地时钟用精度为 20ppm晶体振荡器产生 时序同步 不同工作状态的时钟分别有本地时钟 CLKN ClocKNative 预计时钟 CLKE CLocKEstimate 主设备时钟 CLK CLocK 每个从设备在自己的CLKN上加上合适的偏移量来与CLK同步 来确定它们的发送和接收时间 时序同步 CLKE和CLK通过增加一个补偿值取自CLKN基准 CLKE是一个处理接收器的本地时钟估算呼叫单位 即 在呼叫CLKN上加补偿近于接收的CLKN 通过使用接收的CLKN 呼叫加速了链接建立 时序同步 CLK是匹克网主时钟 它用于网中所有定时和时序安排 所有的蓝牙设备都使用CLK来安排它们传输和接收时序 CLK通过在本地时钟CLKN的基础上增加一个补偿值获得 对主单元来说 补偿值是0 而对各个从单元来说 都对自身的CLKN加上一个适当的补偿值 虽然在蓝牙设备所有CLKN都以相同的标称速率运行 但相互之间的漂移引起了CLK的不准确性 因此在从单元的补偿必须定期的修改 以致CLK近似于主单元的CLKN 蓝牙状态分析 2个主要工作状态 守候状态和连接状态7个中间临时状态 寻呼状态 寻呼扫描状态 查询状态 查询扫描状态 主设备状态 从设备响应状态和查询响应状态 蓝牙状态分析 守候状态是蓝牙设备的默认状态 设备处于低功耗状态 它可以每隔1 28s离开守候状态进入寻呼扫描或查询扫描状态 也可以进入寻呼或查询状态如果主设备知道一个设备的地址 就采用寻呼建立连接 如果地址未知 就采用查询建立连接 连接过程 一般而言 主设备与从设备经过中间状态建立连接的过程如下 步骤1 3 主设备进入查询状态 周围的从设备已经将查询扫描状态打开 EnabIe 从设备会随时接收来自主设备发出的查询信号 查询信号是含有查询访问码的ID包 步骤4 5 从设备收到主设备的查询信号后 进入查询回应状态 返回FHS包告知主设备有关自己的BD ADDR地址 内部时序 设各种类 以及多长时间后进入呼叫扫描状态等数据 所以当查询状态结束后 主设备已经得到从设备响应的BD ADDR地址 内部时序以及设备种类 连接过程 一般而言 主设备与从设备经过中间状态建立连接的过程如下 步骤6 7 主设备从FSH包得到从设备的地址等数据后 接着进入呼叫状态与特定的从设备建立连接 但此时从设备的时序仍尚未与主设备时序同步 所以主设备以预计的时序CLXE与含有设备访问码的ID包来与特定的从设备建立连接 设备访问码是主设备以从设备的BD ADDR计算而来 连接过程 一般而言 主设备与从设备经过中间状态建立连接的过程如下 步骤8 10 这时从设备已经处于呼叫扫描状态 不断地在接收信号设备访问码 当从设备收到呼叫信号后进入呼叫回应状态 返回ID包作为响应 步骤11 13 主设备收到此ID的响应后也进入主设备回应状态 再发送给从设备一个FHS包 此时FHS包上的信号有主设备的时序 主设备的BD ADDR地址 连接成员地址等信息 当从设备收到FHS包上的信息 返回一个ID包作为响应 主设备与从设备彼此间的连接就建立 主设备与从设备都进入连接状态 连接过程 当从设备成功接收一个寻呼消息后 它们都进入响应状态来交换建立连接所必须的信息 对于连接 最重要的是两个蓝牙设备使用相同的信道接入码 使用相同的信道跳频序列 时钟是同步的 信道接入码和信道跳频序列都起源于主设备BD ADDR 时钟由主设备时钟决定 寻呼扫描状态及其处理 设备在扫描窗口中监听包含自己的设备接入码的ID包 设备根据自己的寻呼跳频序列来选择扫描频率 这是一个32跳频序列 其中每个跳频频率是唯一的 由设备的地址和本地时钟决定 每1 28s选择一个不同的频率 寻呼工作流程 寻呼状态及其处理 主设备在不同的跳频信道上发送包含从设备接入码的ID包来尝试找到从设备主设备寻呼某个从设备 必然要知道后者的设备地址及对后者的本地时钟进行估计 这两点被用来决定主设备的寻呼跳频序列 数据传输实验中设计的协议层 数据链路层 媒体是长期的 而连接是有生存期的 这种建立起来的数据收发关系就称为数据链路 数据链路层同时负责流量控制和差错控制 流量控制采取ARQ和滑动发送窗口的机制 发送窗口定为4 数据量大的时候 每四个信息帧返回一个响应帧 减小开销 差错控制采用CRC16 数据链路层分成了两个子层 一个是逻辑链路控制LLC 另一个是媒体访问控制MAC 数据链路层 LLC的帧结构 MAC的帧结构 自环与广播 多数数据链路层都支持自环接口 LoopbackInterface 以允许在同一台主机上的两个应用进行通信 在实际的TCP IP协议中 127 0 0 1这个IP地址分配给自环接口 命名为localhost 自环接口的IP数据报不能出现在任何的网络的物理链路之上 自环与广播 在本实验中 对一个物理链路用一个16位的ACL Handle无符号整数句柄进行标识 数据传输实验指定了两个特殊的句柄 Loopback 0 x0000 指向本机的自环链路 目的物理地址为0 x000000000001BroadCast 0 x00FF 广播到网络的每台主机 目的物理地址为0 xFFFFFFFFFFFF 自环与广播 使用这个Loopback的ACL Handle可以和本机的应用建立逻辑连接 获得的LLC Handle不区分本地逻辑连接和远端逻辑连接 是一致的 自环的MAC数据包不会出现在实际的物理链路上 而是直接交给本机数据链路层的接收模块处理广播的MAC数据包给所有的与本机建立物理连接的主机发送一份 同时也向本机发送一份 自环与广播 ARQ中的滑动窗口 没有收到对方的确认信息 发送端不能无限制地发送数据帧 否则重发会增大系统开销 另一方面 对所发送的大量数据帧进行序号的编排 也要占用较多的序号比特数 ARQ中的滑动窗口 表示会话层 对象交换协议OBEX OBjectExchange 是一种紧凑 高效的二进制协议 它使用对象这种思想把各种上层应用所要交换的数据封装成统一的格式 它可以支持同步 文件传输及对象推入等类型的应用 OBEX协议 OBEX协议本身分为两部分 数据对象模型和会话协议 对象模型包括了将要传输的数据对象的各种信息以及数据对象本身 OBEX所指的对象是一个抽象的概念 任何数据都可以称为对象 数据对象由一系列信息头组成 OBEX协议 会话协议规定了设备间的数据传输过程 OBEX使用基于二进制包结构的客户机 服务器模式作为该过程的模型 服务端与客户端表明了建立连接双方的身份 所有的数据请求信息均由客户端完成 服务端仅做出对数据交换请求的同意或否定的响应 OBEX数据传输过程属于半双工操作 它通常由一系列的请求 响应对组成 客户机发出请求 服务器给予响应 OBEX协议 本实验采用的简化OBEX协议 可以描述为这样一个有限状态机 拥有8个状态 15个事件 8个动作 虽然本状态机的状态 事件 动作较多 但是因为基于停止 等待机制 所以状态的转移并不复杂 会话状态 INITIAL 初始化状态 状态机的初始状态 LLC OK 逻辑链路准备就绪状态 表明下层已经做好传输数据的准备 READY 会话层准备就绪状态 表明已经建立会话层连接 可以进行数据的传送或接受 W4RESPONSE CONNECT 客户端发出会话层建链请求后 等待对建链请求响应的状态 会话状态 W4RESPONSE DISCONNECT 客户端发出会话层断链请求后 等待对断链请求响应的状态 W4 PUT 服务端在连续收到Put请求时的等待状态 W4RESPONSE PUT 客户端在连续Put数据时等待对Put响应的状态 一 使用RS232串口1 把开关拨到RS232档2 插上RS232串口九针插头3 插上TTP专用电源4 插上耳机 话筒5 启动程序 二 使用USB接口1 把开关拨到USB档2 插上USB插头3 插上耳机 话筒4 启动程序 注意 1 使用RS232串口时需要接上电源 使用USB接口时不需要电源2 RS232串口与USB接口只能同时接上一个 否则将损坏设备 3 在设备工作时请不要拨动开关 TTP系列硬件操作流程 数据传输实验 数据传输实验软件提供了以下基本操作 物理链路的建立 服务访问点的注册 逻辑链路的建立 面向连接的数据传输操作 面向无连接的数据传输操作 自环的数据传输操作 数据传输实验 数据传输实验 主界面主要分成四部分 1 ACL操作及信息本地设备地址 显示初始化后本地主机的地址 对方设备地址 显示与本地主机建立物理链路 ACL 连接的对方设备的地址 查询到的设备 下拉菜单中显示查询到的周围设备的地址 查询设备 点击此按钮启动蓝牙设备查询周围的设备 建立ACL连接 选择一个设备后点击此按钮建立物理链路 ACL 连接 断开ACL连接 断开已经存在的物理链路 ACL 连接 数据传输实验 主界面主要分成四部分 2 信息窗口ACL信息 显示物理链路 ACL 的状态 初始化 建链 断链信息等 MAC信息 显示数据链路层媒体访问控制子层 MAC 的帧格式 数据传输实验 主界面主要分成四部分 3 应用信息显示活动的文件应用 或聊天应用 数目 并从下拉菜单中选择两种应用的子界面 4 统计信息显示数据传输过程中物理层和数据链路层的统计信息 数据传输实验 数据传输实验 聊天应用子界面主要分成五部分 1 应用层聊天程序输入需要发送的信息 显示收到的信息 2 会话层状态转移图显示数据传输过程中会话层的各种状态 若选择单步执行可观察到每一步上层应用程序的操作引发的OBEX状态的变化 数据传输实验 聊天应用子界面主要分成五部分 3 广播 组播窗口本窗口加入的组 选择该应用窗口加入分组类型 组播或广播的消息 输入传输消息内容 目的主机 消息发送到本地主机或是远端 数据传输实验 聊天应用子界面主要分成五部分 4 应用状态会话层MRU 修改所接收的对方会话层数据包中所封装的上层应用数据包的大小 会话层状态 是否连接 LLCHadle 链路LLC句柄 SSAP 显示源服务访问点 DSAP 显示目的访问点 数据传输实验 聊天应用子界面主要分成五部分 5 协议栈各层次流程会话层流程 对状态转移图的具体解释 单击该表格可以观看会话层具体的帧格式 如下图所示 数据链路层子层LLC状态 显示LLC发出 接受帧的状态 数据传输实验 数据传输实验 数据传输实验 文件应用子界面主要分成四部分 1 应用层文件传输选择传输的文件 显示文件传输状态 2 会话层状态转移图显示数据传输过程中会话层的各种状态 若选择单步执行可观察到每一步上层应用程序的操作引发的OBEX状态的变化 数据传输实验 文件应用子界面主要分成四部分 3 广播 组播窗口及应用状态本窗口加入的组 选择该应用窗口加入分组类型 组播或广播的消息 输入传输消息内容 目的主机 消息发送到本地主机或是远端 数据传输实验 文件应用子界面主要分成四部分 4 应用状态会话层MRU 修改所接收的对方会话层数据包中所封装的上层应用数据包的大小 会话层状态 是否连接 LLCHadle 链路LLC句柄 SSAP 显示源服务访问点 DSAP 显示目的访问点 数据传输实验 文件应用子界面主要分成四部分 5 协议栈各层次流程会话层流程 对状态转移图的具体解释 单击该表格可以观看会话层具体的帧格式 数据链路层子层LLC状态 显示LLC发出 接受帧的状态 数据传输实验 数据传输实验的内容1 面向连接的操作2 面向无连接的操作3 自环 数据传输实验 数据传输实验的内容1 面向连接的操作步骤 建立物理链路 注册服务访问点 注册组播组 建立数据链路层连接 建立表示会话层连接 进行数据传输 聊天 文件传输 断开表示会话层连接 断开数据链路层连接 注销组播组 服务访问点 数据传输实验 数据传输实验的内容2 面向无连接的操作步骤 建立物理链路 注册服务访问点 注册组播组 向本地主机 对方主机或全网络广播 组播数据链路层的帧 如网络信息 在面向连接的操作中 只要注册的服务访问点存在 就可以进行面向无连接的操作 数据传输实验 数据传输实验的内容3 自环的操作步骤与1 面向连接的操作类似 建立物理链路 注册服务访问点 注册组播组 建立数据链路层连接可以在一台机器上两个应用建链 进行数据传输 在自环方式下 可以看到MAC层的帧 但不会有MAC层帧的流量统计 因为数据不真正发到物理信道上 数据传输实验 主界面观察项目1 数据链路层MAC子层帧的结构 2 物理层 LLC子层 MAC子层的数据流量和帧流量 比较流量在自环和非自环时的区别 广播组播等无连接包和面向连接数据包对流量的影响 3 可以在LLC设定中改变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论