摘要: BLE设备在过蓝牙BQB,FCC,ETSI等各种认证时实验室一般都需要做RF各项指标的测试。Nordic公司的SDK包中提供了两种RF测试程序,一种是DTM, 另一种是Radio test。这两种都可以做RF指标测试但各自又有区别。DTM是按照蓝牙规范中Direct test mode所要求数据格式 阅读全文
posted @ 2019-07-04 14:39 SZ_LM 阅读(9400) 评论(0) 推荐(0) 编辑
摘要: 弄清楚这个问题之前我们需要先了解一下蓝牙地址的类型,在蓝牙规格书上对于地址类型有较详细的说明(参看:Core v5.0-> Vol 6-> Part B ->1.3) 简单归类如下: 手机App 用nRF Connect 显示的地址是static Device Address 类型,如下图所示地址最 阅读全文
posted @ 2020-03-16 10:42 SZ_LM 阅读(944) 评论(0) 推荐(0) 编辑
摘要: 在以前的文章中,我们讨论了Passkey Entry和Numeric Comparison等主题,这是两种类型的配对方法。今天,我将介绍另一种方法OOB。 out of band (OOB)配对模式适用于使用out of band机制来发现设备以及交换或传输在配对过程中使用的密码信息的场景。Out 阅读全文
posted @ 2019-07-12 13:44 SZ_LM 阅读(3552) 评论(0) 推荐(0) 编辑
摘要: 除了前面文章Part 3介绍的LE Legacy pairing,LE Secure Connections是配对的另一种方式。 LE Secure Connections是蓝牙v4.2中引入的一个增强的安全特性。它使用Federal Information Processing Standards 阅读全文
posted @ 2019-07-11 14:27 SZ_LM 阅读(3446) 评论(0) 推荐(0) 编辑
摘要: 在前一篇文章深入理解低功耗蓝牙的配对过程- Part 2 Key Generation Methods中,讨论了密钥生成方法,如果配对发起设备和响应设备满足一些IO功能的条件,它们将选择LE legacy Bluetooth配对Passkey Entry方法。 在此文中,我将研究legacy pai 阅读全文
posted @ 2019-07-11 11:53 SZ_LM 阅读(3102) 评论(0) 推荐(1) 编辑
摘要: 在第1部分我们讨论了低功耗蓝牙中的配对特征交换。配对特性交换用于使配对的发起者和响应者这两种设备能相互理解对方所支持的配对特性。 可以被使用的配对特性包含以下: OOB Data Flag bit MITM—Man-In-The-Middle bit SC—LE secure connection 阅读全文
posted @ 2019-07-11 10:50 SZ_LM 阅读(2023) 评论(0) 推荐(0) 编辑
摘要: 在蓝牙核心规范中,有三个主要的架构层:Controller、Host和Application。在Host层,有一个名为Security Manager (SM)的模块(如下图以Nordic协议架构所示红色标注的位置),它定义了配对和密钥分发的方法和协议、相应的安全toolbox,以及定义了配对命令帧 阅读全文
posted @ 2019-07-09 16:16 SZ_LM 阅读(4163) 评论(0) 推荐(0) 编辑
摘要: ANCS:苹果通知中心(Apple Notification Center Service)是苹果公司制定的profile提供给蓝牙外设一种简单方便的获取IOS 设备通知信息的方式。它是GATT 的一个子集,任何一个实现了GATT client 的设备可以从IOS 设备获取通知信息。比如获取来电,短 阅读全文
posted @ 2019-07-05 10:57 SZ_LM 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 通常NRF52系列芯片的UICR寄存器可以保存一些重要的用户数据,而写到此寄存器的数据掉电后是不会丢失的, 读写此寄存器的方法如下: 写入方法1: MDK开发环境直接按以下方式编写。 const uint32_t UICR_ADDR_0x80 __attribute__((at(0x10001080 阅读全文
posted @ 2019-07-04 20:59 SZ_LM 阅读(3620) 评论(1) 推荐(0) 编辑
摘要: nRF52系列芯片内部有3个RTC,其中RTC0是给协议栈softdevice用,RTC1分配给 App timer用,剩下的RTC2可以用来实现万年历功能。 代码基于SDK15.0,在BLE_APP_UART例程上进行添加和修改: 1) 在工程Application目录添加ble_calendar 阅读全文
posted @ 2019-07-04 20:42 SZ_LM 阅读(1644) 评论(0) 推荐(0) 编辑
摘要: #include<nrf.h> int main(void) { volatile int16_t result = 0; volatile float precise_result = 0; // Start HFCLK from crystal oscillator, this will giv 阅读全文
posted @ 2019-07-04 16:20 SZ_LM 阅读(804) 评论(0) 推荐(0) 编辑