欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    低功耗蓝牙开发权威指南678章缩减版.docx

    • 资源ID:9817005       资源大小:2.23MB        全文页数:36页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    低功耗蓝牙开发权威指南678章缩减版.docx

    1、低功耗蓝牙开发权威指南678章缩减版第6章 直接测试模式6.1 背景直接测试模式通过定义标准测试流程和硬件接口实现校准,认证以及进行生产线上的性能测试。需要3个设备,待测设备(DUT),上位测试设备(UT),下位测试设备(LT)。如图6-1所示。待测设备由上位测试设备告知做什么,并执行报文发,收。上位测试设备通知下位测试设备做相反操作,即报文收发。测试结束,上位测试设备通过待测设备和下位测试设备的有效信息,如待测设备的报文计数器以及下位设备更丰富的信息来判断测试是否通过。6.2 收发机测试为了测试收发机,控制器被要求发送或接收报文。测试者决定什么时候发送报文,然后下位测试设备接收报文,测试者分

    2、析报文。测试者发送一定数量的报文,待测设备对正确接收的报文计数,这一技术信息报给上位机,测试者可以知道接收机在给定发送报文数量条件下的接收性能。6.2.1 测试报文格式类似于7.3节的广播报文。区别在于测试报文的接入地址是广播报文的接入地址的按位逆序。所有测试报文不进行白化处理。6.2.2 发射机测试发射机测试为了获知待测设备发射机性能。这一测试得到频偏,频率漂移,以及其他规定的射频参数。上位测试设备发送命令使待测设备进入发射机测试模式。该命令包括三个参数:第一个参数决定发送的中心频率,第二个参数决定报文净荷,第三个参数决定发送的报文数据类型。可发送的测试报文分三种:用于发射功率测试报文,用于

    3、频偏测试报文,用于载波频率和初始频率测试报文。6.2.3 接收机测试接收机测试用于确定不同发射功率条件下接收机的误比特率。主设备发送带有一个参数即接收的中心频率命令让待测设备进入接收机测试模式,待测设备将报文计数器清零,接收到一个有效报文后,报文计数器加1,直到上位机命令其停止。接到停止命令后,待测设备立即停止接收,返回一个事件确认不接收同时包含接收的有效报文数量信息。上位机基于发射,接收的报文数量,计算接收机的性能。6.3 硬件接口低功耗蓝牙规定了待测设备与上位测试设备之间的硬件接口是双线串口,一根线从待测设备向上位测试设备传输信号,另一根线相反。6.3.1 串口 直接测试模式仅允许修改串口

    4、的一个参数:波特率常用的波特率是38400,这是在命令,事件的传输效率和实现成本之间的合理折中结果。6.3.2 命令与事件上位测试设备可以向待测设备发送4种命令:复位,发射机测试,接收机测试,测试结束待测设备可以向上位测试设备上报两种事件:测试状态,报文报告。如图6-2所示,直接测试模式命令的比特结构。其中发射机测试命令包括三个参数:频率,长度和报文类型;接收机测试命令只包含一个参数:频率,其他位会被忽略。对于接收机测试,测试结束后,待测设备返回报文报告事件,报文包含成功接收的报文数量如图6-3所示。对于发射机,相应的域值为0.测试状态只有一比特,为0,是测试命令执行成功,为1,则测试命令失败

    5、。6.4 使用HCI的直接测试模式直接测试模式可以直接复用HCI传输层(8.2节)和逻辑接口访问控制器。测试流程与之前描述相同,区别在于完整的HCI命令和事件代替之前用的2字节命令和事件。如表6-1所示。对于单独测试控制器(而不是控制器已经被集成在高度优化的模块或最终产品的情况),非常有效。第7章 链路层链路层定义了两个设备如何利用无线电传输信息。包含了报文,广播,数据信道的详细定义,也规定了发现其他设备的流程,广播数据,连接建立,连接的管理以及连接中的数据传输。7.1 链路层状态机如图7-1,定义了5种状态,其中扫描态的子状态有主动扫描和被动扫描,连接态子状态有主,从。广播信道有3条,在保证

    6、鲁棒性同时降低功耗。链路层状态机的3个状态使用广播报文,而只有1个状态使用数据报文。7.1.1 就绪态上电后,链路层进入并保持就绪态,直到接到主机的命令。就绪态是链路层状态机的中心态,尽管非活动态,但是最为重要。7.1.2 广播态可被发现或者可被连接的设备需要处于广播态,此时可以发送广播报文,也可以发送扫描响应来回应主动扫描的设备。要支持广播态的设备,必须有发射机。7.1.3 扫描态处于扫描态的设备可以接收广播信道的报文。被动扫描仅接受广播报文,不发送任何报文。主动扫描则发送扫描请求给广播态设备,并获取附加的扫描响应数据。扫描态设备只能进入就绪态,转换条件是停止扫描。 7.1.4 发起态处于发

    7、起态的发起者,其接收机用于侦听自己试图连接的设备。如果收到来自该设备的广播报文,链路层会向其发送连接请求并进入连接态,并假设广播者也进入连接态,如果发起者不再试图发起连接也可以进入就绪态。7.1.5 连接态 连接态中,两个设备相互传送数据信道报文。连接态的设备只能通过断开连接转换为就绪态,而不能进入其他状态。主连接态:只能从发起态进入,为了成为主设备,必须向对端设备发起连接,主设备必须定期向从设备发送报文。从设备只有通过回复这些报文才能发送自己的数据。从连接态:只能从广播态进入,为了成为从设备,必须向对端设备进行广播,从设备只有在正确接收主设备的报文之后才能发送。从设备也可以随时忽略主设备以达

    8、到节能的目的。7.1.6 多状态机一个链路层的具体实现可以拥有多个独立的状态机。通过配置,一个设备可以同时作为从设备,广播者,和主动扫描者。或者同时作为主设备,广播者,被动扫描者或者发起者。一个设备也可以同时作为多个主设备连接多个从设备。不能同时成为主从设备。7.2 报文 报文是带有标签的数据,由一个设备发送,一个或多个设备接收。如图7-8所示。前导:8bit训练序列。接入地址:32bit接收机用它来将报文和背景噪声区分开来。报头,长度,净荷,循环冗余校验用于确保净荷正确性。7.2.1 广播与数据报文低功耗蓝牙规定了3个广播信道和37个数据信道,在广播信道传输的是广播报文,反之为数据报文。广播

    9、报文用于发现,连接其他设备,可以广播给多个侦听设备或只发送给某个特定设备。数据报文只能被连接中的两个设备(主从设备)所理解。7.2.2 白化频移键控接收连续相同比特的能力很差,当发送一串“000000000”的比特序列,接收机会认为发射机的中心频率向左移动,导致频率失锁。为了避免这个,低功耗蓝牙使用“白化器”来随机化发送的数据。白化器是一个很短的输出“0”“1”序列的随机数发生器。给定的报文,“0”“1”序列是确定的,接收机可以使用相同的白化器来恢复原始比特。白化随机序列是通过线性反馈移位寄存器生成的,类似于计算CRC。原始数据和白化序列进行异或得到输出序列。7.3 报文结构7.3.1 比特序

    10、与字节报文一比特一比特传输,当数据的各个字节传输时,总是从最低位开始。0x80按照0000001发送,0x010203按照11000000010000001000000.7.3.2 前导 01010101或者101010101,简单的交替序列。接收机用来配置自动增益控制,以及确定“0”“1”比特所使用的频率。接收机需要应付-10dBm-90dBm的信号强度,即1pW-0.1mW的能量,自动增益的配置很重要,使信号刚好处于接收机能轻松工作的范围中。7.3.3 接入地址接入地址的第一个比特为“0”,前导是01010101;接入地址的第一个比特为“1”,前导是10101010,保证了报文的前9个比特

    11、是交替的。32比特接入地址,分为广播接入地址和数据接入地址。对于广播信道,接入地址固定是0x8e89bed6,所以广播报文前导是01010101。对于数据信道,接入地址是一个随机值,但是要有足够好的白化特性。符合规则的接入地址大概有231个,即20亿个低功耗蓝牙可以互相可通信的范围内同时工作。攻击者无法根据接入地址来确定某个连接中是哪两个设备。7.3.4 报头报头的内容决定该报文是广播报文还是数据报文。广播报文报头包含了广播报文的类型(7种)以及一些标记位,图7-10。数据报文的报头包含标记位:报文可靠传输使能,低功耗管理,净荷路由,图7-11。7.3.5 长度长度是指净荷的字节数。对于广播报

    12、文,长度域为6比特,有效值范围6-37。数据报文长度域5比特,有效值范围0-31.7.3.6 净荷可以是关于设备的广播数据,或者发给一定区域内所有设备的服务数据,可以是主动扫描响应的附加数据,如设备名称,实现服务;可以是建立或保持连接所需要的信息,可以是从一个设备到另一个设备的应用层数据。7.3.7 循环冗余校验CRC对报头长度净荷域进行计算。低功耗蓝牙的24位CRC可以检测到所有的1比特,2比特,3比特,4比特,5比特,7比特,9比特等错误。7.4 信道低功耗蓝牙使用40个信道(3个广播信道,37个数据信道)。信道宽度2MHz。广播信道位于2402MHz,2426MHz,2480Mhz,远离

    13、了WiFi接入点的严重干扰,编号为37-39,如图7-13。数据信道编号为0-36。7.4.1 跳频跳频算法用于数据连接中。7.4.2 自适应跳频自适应跳频能将一个已知的坏信道映射到一个已知的好信道,从而减少对其他设备对数据报文传送的干扰。例如,图7-15,一个低功耗蓝牙设备处于使用WiFi 1信道连续通信的WiFi接入点和设备的干扰范围内,低功耗蓝牙会把0-8的链路层数据信道标记为坏信道。通信时,会循环切换这些坏信道,映射到好信道上如表7-16。7.5 设备发现低功耗蓝牙通过广播信道发现其他设备,如图7-17。4种不同类型的广播:通用的,定向的,不可连接的以及可发现的。设备每次广播会在3个广

    14、播信道上发送相同的报文。这些报文称为广播事件。广播事件之间的时间称为广播间隔。主机可以控制该间隔,除定向报文外,其他广播间隔可以是20ms-10.28s。扫描用于接收广播事件。扫描时间取决于有多少时间用于扫描以及需要多快发现其他设备。例如,用户点击屏幕搜索设备,扫描可以持续几秒钟,就可以将一定区域内正在广播的设备一网打尽,但是如果用户走来走去,扫描设备也许只能每秒钟扫描几个毫秒。7.5.1 通用广播用途最广的广播。进行通用广播的设备能被扫描设备扫描到,或者在接收到连接请求时作为从设备进入连接。7.5.2 定向广播定向广播事件是为了尽可能快的建立连接。这种报文净荷只含有两个地址:广播者地址,发起

    15、者地址,别无其他。发起设备收到发给自己的定向广播报文后,可以立即发送连接请求作为回应。定向广播有特殊时序要求,必须每3.75ms重复一次。定向广播不可以持续1.28s以上,因为如此快的发送会让报文充斥着广播信道进而导致其他设备无法进行广播。一旦到了1.28s,连接没有建立,控制器会自动停止广播,主机只能使用通用广播。使用定向广播时,设备不能被主动扫描。7.5.3 不可连接广播设备只想广播数据而不想被扫描或者连接。唯一可用于只有发射机而没有接收机设备的广播类型。不可连接设备根据主机的要求在广播态和就绪态之间切换。7.5.4 可发现广播这种广播不能用于发起连接,但允许其他设备扫描该广播设备。 适用

    16、于广播数据的广播形式,动态数据可以包含在广播数据中,静态数据可以包含在扫描响应中。可发现广播不会进入连接态,只能在停止后回到就绪态。7.6 广播广播数据能够被附近的任何被动或主动扫描设备接收到。广播数据五大被确认。广播设备无法知道是否有设备接收到它的数据或者是否有设备侦听它的数据,广播是一种不可靠操作。7.7 建立连接连接使用数据信道在两个设备之间可靠的发送消息。采用自适应跳频增强鲁棒性,同时使用了非常低的占空比,尽可能的降低功率消耗。设备创建连接的过程如图7-18,设备先广播可连接广播事件,其他设备收到之后即可发起连接。7.7.1 接入地址 连接使用的接入地址由主设备提供,地址通过随机生成,

    17、详见7.3.3节。如果主设备有多个从设备,它会为每个从设备选择不同的随机接入地址。7.7.2 CRC初始化CRC初始值是另一个由主设备提供的随机数。主从设备既有相同的接入地址又有相同的CRC初始值的概率变得微乎其微。7.7.3 发送窗口从设备可以自行决定广播时间,因为她们是最需要保存电量的设备,如果主设备在做其他事,它必须要让低功耗蓝牙错开当前活动。在建立连接初期,有两个参数传递上述信息:窗口大小和窗口间隔。当连接请求数据包发送完,存在一个1.25ms的强制时延,紧接着是窗口偏移和发送窗口。发射窗口偏移可以是0到连线间隔之间的任意值,但是必须是1.25ms的整数倍。从发送窗口开始,从设备打开其

    18、接收器,并等待来自主设备的数据包。如果发送窗口结束了都还没收到数据包,从设备停止侦听,并会在一个连接间隔后再次尝试。一旦发送连接请求后,从设备收到连接请求,主设备,从设备都认为自己的连接已经创建,但是不能证明完全确立。连接一经创建,主机就收到通知,它开始将数据发送给控制器为首个无线数据包做好准备。第一个数据包的发送至少是1.25ms之后,电池在繁重的广播规程和连接正式确定之间得到恢复。只有收到数据包确认,连接才正式确立。确立不改变连接的工作方式,改变链路监控超时的时间,从之前的6个连接间隔变成在连接请求中设定的值。7.7.4 连接事件一个连接事件指主设备和从设备之间互相发送数据包的过程。连接事

    19、件的进行始终位于一个频率,每个数据包会在上个数据包发完之后等待150us再发送。连接间隔决定主设备与从设备的交互间隔,可以是7.5ms-4s内的任意值,但必须是1.25ms的整数倍。要确定从设备与设备的实际间隔需要用到从设备延迟这一参数,它实际上是一个连接间隔的倍数,代表从设备在必须侦听之前可以忽略多少个连接事件。从设备延迟必须短于监控超时时间。例如,连接间隔100ms,从设备延迟9,那么从设备可以忽略9个连接事件,但不得不侦听第10个连接事件。换而言之,从设备必须每秒侦听一次,此时监控超时最小值应为1010ms.7.7.5 信道图自适应跳频信道图是数据信道的位掩码,用来标记信道好坏。信道图某

    20、一位设置为1,表明信道良好,可用于数据通信;为0,则信道很糟。7.7.6 睡眠时钟精度定义了时钟能保证的精度范围。时钟精度可以帮助从设备消除连接事件的不确定性,降低功耗。7.8 发送数据 数据报文的净荷为0-31字节不等,净荷最大长度(31字节)小于广播报文最大长度。通常只有加密报文才会用到。无论链路层加密与否,传给控制器的未加密数据包最多只能携带27个字节数据。7.8.1 数据报头7.8.2 逻辑链路标识符(LLID)用于判断数据报文类型:11:链路层控制报文,被直接交给链路层控制实体,由链路层控制实体判断数据包内数据的含义,如7.10节。10:高层报文开始,01:高层报文延续。如图7-21

    21、.7.8.3 序列号(SN)为了使数据传输变得可靠,所有数据包均带有序列号。如果序列号相同,则为重传报文。用1个比特表示序列号,在0和1之间交替。7.8.4 确认 下一个预期序列号(NESN),用一比特表示,发送方用来通知对方自己期望接收的数据包的序列号。如果设备成功接收序列号为0的报文,在其确认报文中,下一个预期序列号设为1,否则序列号为0的数据包将被重传。因此,NESN作为一个标志来判读数据包被正确接收还是需要重传。如图7-22.7.8.5 更多数据用来通知对端设备自己还有其他的数据准备发送。如果收到设置了更多数据位的数据包,应当在当前连接事件中继续与对端设备通信,这样,只要还有数据要发送

    22、,连接事件会自动扩展。一旦不再有数据发送,或者更多数据为0,连接事件迅速关闭。7.9 加密7.9.1 AESAES可以有多种形式,取决于在给定的时间内能够处理的数据块及密钥的大小,低功耗蓝牙使用128位的密钥和128位数据块。在低功耗蓝牙里,AES加密引擎被用于四个基本功能:加密净荷数据计算消息完整性校验值,数据签名,生成私有地址。数据签名在安全管理器中定义,生成私有地址在通用访问规范中定义。7.9.2 加密净荷数据首先应将净荷分割成16字节的块,对每个块生成一个密文比特流,再与纯文本执行异或运算。加密的净荷接下来被发往对端设备。当发送加密净荷时,将针对密文净荷而非明文净荷计算CRC。7.9.

    23、3 消息完整性校验消息完整性校验(MIC)用于验证数据包的发送者。如图7-23所示。接收到加密数据包时,在接收设备上执行相同的MIC计算过程,检查计算值是否与报文所携带的MIC值相同。如果二者不符,接收设备将立即断开连接,停止进一步通信,而对端设备最终会自动进入监控超时。7.10 管理连接7.10.1 连接参数更新连接建立时,主设备通过连接请求数据包发送连接参数,当连接活跃了一段时间,连接参数也许不适用于当前服务,需要更新。主设备向从设备发送连接更新请求,中间携带了新的参数:瞬时。瞬时参数决定了连接更新的开始时刻。发送消息时,主设备为连接更新选定一个未来时间点,并且放在消息中。接到消息后,从设

    24、备记住这个时间点,到点就切换到新的连接参数,由于低功耗蓝牙没有时钟,通过计算连接事件个数来决定瞬时时刻。如图7-24所示。7.10.2 自适应跳频任何时刻,好的坏的信道都在不断变化,设备必须通过信令更改当前的信道图,相关规程如图7-25所示。主设备通过信道图请求报文向从设备发送自适应跳频更新信息,包含新的信道图,瞬时。要重发信道更新请求,必须等待瞬时经过以后,这限制了信道图的更新频率。链路层控制规程不允许从设备改变信道图,甚至不允许向主设备告知自身信道条件。7.10.3 启动加密如图7-26所示。主设备发送包含自己的4字节初始化向量(IV)和8字节会话密钥分散器(SKD)和首次配对从设备提供的

    25、信息的加密请求报文,从设备返回含有自己的4字节初始化向量和8字节会话密钥分散器的加密响应报文。从设备从主机获取长期密钥(LTK),启动三次握手进行加密。加密开始时,使用一个会话密钥(SK)来进行链路加密。会话密钥由LTK和来自两个设备的会话密钥分散器决定。在加密启动时,所有的数据传输都暂停。从设备一旦算的SK和IV,将以未加密方式发送加密请求,同时准备用SK和IV接收加密数据包。从设备之后只能接收空数据包或加密数据包。主设备收到从设备请求,用计算得到相同的SV和IV值加密数据包发送给从设备,随后把自己设置为接受加密数据包。从设备接收到密文后,启动自身的加密传输。从设备发送加密响应数据包,主设备

    26、接收后,打开应用程序数据流,让所有数据都执行加密。7.10.4 重启加密有助于刷新会话密钥,比较少见。分两步:主设备必须先暂停加密,然后利用启动加密的规程重新启用。如图7-27所示。7.10.5 版本交换版本信息包括版本号,公司标识符,子版本号,用于调试目的,不能用于改变设备行为,因而没必要每次建立连接时交换它们。设备的链路层可以自动获取,也可以通过主机获取,如图7-28。7.10.6 功能交换功能信息公开了设备支持的一些可选功能,对端设备利用功能信息来判断本端设备到底能做些什么。如图7-29所示。主设备通过功能请求报文询问从设备,这种操作在每个连接里最多只能执行一次。要使用可选的功能,不必进

    27、一步交换信息,因为报文里所有的功能必须是支持的,对于不支持的可选功能,从设备可以返回拒绝指示报文。7.10.7 终止连接指断开链路并把主从设备从连接态转为就绪态。任何一方可以基于任何原因在任何时间终止链路。如图7-30所示。设备首先发送一个终止指示报文,等待链路层对该报文进行确认然后断开连接。或者没有收到任何确认,发送设备将视为规程超时,继续断开连接。当监控超时和MIC失效时,链路自动断开,但是不会发送终止指示报文。 第8章 主机/控制器接口主机/控制器接口(HCI)主要完成两个任务:发送命令给控制器和接收来自控制器的事件,发送和接收来自对端设备的数据。既是物理接口也是逻辑接口。8.2 物理接

    28、口在蓝牙规范中定义了4种物理接口,分别是uart,3线uart,usb,SDIO8.3逻辑接口关于逻辑接口需要理解三个概念:信道,数据包格式,流控8.3.1 HCI信道一旦控制器与其他设备建立了连接,控制器的底层HCI接口就创建一个HCI信道,为主机提供一个连接句柄,用来标识主机交给控制器并准备发往对端的数据,用来标识控制器从对端收到准备交给主机的数据。直到结束连接句柄才失效。8.3.2 命令数据包主机通过向控制器发送命令数据包来执行命令。这些命令用于配置控制器状态或请求控制器完成操作。如图8-1.命令包数据包括:用来确认发送命令的操作码,参数的长度字段命令参数。不同命令不同的参数。3种基本命

    29、令类型:1. 配置控制器状态;2. 请求执行指定动作;3. 管理连接。8.3.3 事件数据包数据包指主机和控制器之间传输的应用数据。控制器接收来自主机的数据包,将其传给对端设备。对端设备接收到数据后,将其从控制器传给主机。如图8-3所示。HCI数据包有两种标识:数据包边界标识和广播标识。数据包边界标识用来确认上层协议的信息是开始包还是延续包,有点类似数据信道PDU中的LLID位(7.8.2节)8.3.5 命令流控控制器使用命令流控同时处理多个HCI命令。控制器内部有足够的缓存,能存储一定数量的命令;主机通过控制器获知缓存长度,从而可以知道同时发送命令的最大数量。8.3.6 数据流控有两种数据流

    30、,但是主机到控制器的数据流控是必须的,控制器到主机的流控可以忽略。因为大部分主机都能处理控制器发来的大量数据。对于主机到控制器的数据流控,控制器有一定数量缓存区,每个放一个数据包,发送给对端设备,发送成功则释放缓存区来填新的主机发送的数据包。8.4 控制器的配置8.4.1 重置控制器的已知状态如图8-4所示。主机通过Reset命令重置控制器,控制器一旦重置,就向主机返回重置完成事件。这里需要注意:1.重置命令不会重置物理链路。2.控制器正在执行重置,不会接收其他任何命令。3.控制器正在执行某条命令,收到重置命令,会停止执行当前命令去执行重置。8.4.2 读取设备地址如图8-5.主机通过向控制器

    31、发送Read BD_ADDR命令读取设备地址,后者返回一个含有固定设备地址的Command Complete事件。如果没有固定地址,则返回全零地址,主机为控制器随机生成随机地址。8.4.3 设置事件掩码设置事件掩码可以告知控制器,哪些事件可以接收,哪些不能接收。如图8-6所示。8.4.4 读取缓冲区大小数据流控说到控制器有两种类型缓冲区来满足数据传输。如图8-7所示。主机知道可用缓冲区空间就可确定还能向对端设备发送多少个数据包。8.4.5 读取控制器支持功能主机向控制器发送命令之前先确认控制器支持的功能能确保主机和控制器兼容。如图8-8所示。8.4.6 读取控制器支持状态控制器可以支持的状态包括:不可连接广播,可扫描广播,可连接广播,定向广播,主动扫描,被动扫描,发起连接成主设备,连接成从设备等。利用这些状态支持信息,主机可知控制器是否能成功执行广播扫描发起连接等命令。如图8-9所示。 8.4.7随机数主机使用控制器生成的随机数作为种子,用于传统的伪随机数生成器,如图8-10所示。8.4.8 加密数据主机发送需要加密的数据和加密密钥给控制器并命令控制器使用AES-128加密引擎来加密数据,控制器给主机返回已加密数据。低功耗蓝牙没有解密命令,主机只能检查相同的明文变成密文后是否一致,而不能使用密钥将密文恢复为


    注意事项

    本文(低功耗蓝牙开发权威指南678章缩减版.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开