Platform:TI IC:cc2540 Environment:windows 7 tools:IAR 8.20.2
demo Code:BLE_CC254x_1.4.0 from TI
物理层:是1Mbps自适应跳频GFSK射频,工作于免许可证的2.4GHz ISM(工业、科学与医疗)频段。
链路层:用于控制设备的辐射状态,设备将处于五种状态之一:等待、广告、扫描、初始化、连接。广播设备不需要建立连接就可以发送数据,扫描设备接收广播设备发送的数据;发起连接的设备通过发送连接请求来回应广播设备,如果广播 设备接受连接请求,那么广播设备与发起连接的设备将会进入连接状态。发起练级的的设备称为主机,接受连接请求 的设备称为从机。
主机控制层:为主机和控制器之间提供标准通信接口,这一层,可以是软件或者硬件接口,如UART、SPI、USB等
逻辑链路控制及自适应协议层:为上层提供数据封装服务,允许逻辑上的点对点数据通信。
安全管理层:定义了配对和秘钥分配方式,并为协议栈其他层与另一个设备之间的安全连接和数据交换提供服务
属性协议层:允许设备向另外一个设备展示一块特定的数据,称之为“属性”,在ATT环境中,展示“属性”的设备称为服务器
与之配对的设备称为客户端,链路层状态(主机和从机)与设备的ATT角色是相互独立的。
例如:主机设备既可以是ATT服务器,也可以是ATT客户端;从机设备既可以是ATT服务器,也可以是ATT客户端。
个人理解:(主机和从机定义谁练接谁,服务器和客户端定义于谁给谁共享数据)!!!
如:手机A的蓝牙请求手机B的蓝牙连接,那么对于链路层来说:A是从机,B是主机,连接好以后,A在蓝牙上共享,一块特定数据(比如某个文件)给B,那么A就是ATT的服务器,B就是客户端。
通用属性配置层:定义了使用ATT的服务框架。GATT规定配置文件profile的结构,在BLE中,所有被profile或者服务用到的数据 块称为“特性”,两个建立连接的设备之间的所有数据通信都是通过GATT子程序处理。应用程序和profile直 接使用GATT层。