ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:97.31KB ,
资源ID:17350428      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17350428.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BT40公式计算Word下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

BT40公式计算Word下载.docx

1、最后把蓝牙通讯过程理解,将有助于开发。12.OSAL是一个操作系统吗?OSAL(Operating System Abstraction Layer)操作系统抽象层,它不是一个真正的操作系统(它没有Context Switch上下文切换功能),但它巧妙地组织各任务,支持任务优先级,任务之间可以通过事件和消息来通信,为任务提供软定时器和动态内存分配。要避免的陷阱是,应用任务的单个函数运行时间不能太长(如操作大批量数据的Flash写),否则它无法及时调度高优先级的LL(Link Layer)任务而导致蓝牙通信中断。13.蓝牙节点是如何组成微微网的呢?蓝牙节点组网中,只能存在一个主节点(Centra

2、l)和多个从节点(Peripheral),从节点是发出信号者,主节点是扫描且发起连接者。14.主节点和从节点通信的过程是怎样的呢?当从节点发出广告信号(包括设备地址和设备名称之类的附加信息);主节点收到此广告信号后,向从节点发出扫描请求;当从节点回应扫描时,就完成了设备发现过程。接着主节点向从节点发出连接请求(包括连接时隙、从节点待机次数、连接超时值),从节点回应连接,就完成了建立连接。为了安全起见,一些数据的访问需要认证,它的完成是这样的:一方(可以是主节点,也可以是从节点)向另一方索要6位数字的密码,之后,两个节点彼此交换安全密钥用于加密和认证,此过程称为配对。认证的过程比较繁琐,BLE协

3、议支持两节点保存认证的安全密钥(一般是非易失性存储器中),以便于两节点下次连接后快速认证,这就是绑定技术。15.蓝牙通信中两个节点如何交换数据?这是蓝牙通信中最让初学者迷惑的地方。大部分通信,尤其是TCP/IP,交换数据的婚介是数据包,但蓝牙通信中,工程师找不到数据包访问方式,于是就产生疑问。其实蓝牙最底层也是基于无线数据包交换,只是通过层层封装,交付给工程师的API接口就变成了Client访问Server的方式。16.Client和Server节点是如何定义呢?通俗地说吧,Server(服务器)就是数据中心,Client(客户端)就是访问数据者。特别说明,它与主/从设备是独立的概念:一个主设

4、备既可以充当Server,又可以充当Client;从设备亦然。17.Server是如何提供数据呢?Server首先将一个服务按“属性/句柄/数值/描述”这种格式予以组织,然后调用API函数GATTServApp_RegisterService将服务数据进行注册。举个实例吧,设提供一个电池电量服务字节,它允许Client读取,数据为一个8比特无符号数(0100%),它的组织如下:02 25 00 19 2A, 这5个数据(小端格式)分别是:0x02=只读属性,0x0025=句柄;0x2A19=服务UUID。18.不明白Server提供服务中的UUID?UUID(Universal Unique

5、Identifier)全球惟一标识符,本来是SIC组织分配给特定蓝牙服务的标识,如分配0x2A25为设备序列号的UUID,这样任意蓝牙设备都可以通过它得到另一个设备的序列号。打个类比,它就像书名,如现代操作系统,所有人一看就知道它是计算机大师Andrew S. Tanenbaum写的书。19.什么是Server提供服务中的句柄呢?句柄(Handle)就是服务数据在数据中心的地址,当所有的服务数据组织起来后,它总得有个先后顺序,某个服务的位置就是它的句柄。还是上面的类比,如果想去图书馆借阅现代操作系统,需要查明该书在哪一层楼,哪个房间,这就是该书的Hanle。20.为什么Server提供的服务中

6、有描述?有些服务是有描述(Descriptor)的,它是用于Client配置该服务的功能(通知或者显示)。像某人没有借到现代操作系统该书(可能是被别人借光了),他(她)可以打个电话给图书馆工作人员,请求一旦该书可以借阅了给他一个通知,这个过程相当于配置该书的Descriptor。21.服务的属性与描述有区别吗?有区别,服务的属性是Server设置访问权限。就像图书馆的工作人员可以设置现代操作系统仅能在阅览室看不能外借(只读),或者即可以看也可以外借(读/写)。22.Client如何访问Server的服务呢?大致分三类:读取服务的值,需要知道服务的UUID或者Handle;写服务的值,需要知道服

7、务的Hanle;写服务描述符,需要知道该Descriptor的Hanle。23.如何知道一个服务的Handle?根据服务的UUID调用API函数GATT_ReadUsingCharUUID协议栈会返回该服务的Handle。特别注意的是,一个服务的Descriptor的Handle总是该服务的Handle+1,如电池电量服务的Handle是0x0025,那么它的Descriptor的Handle是0x0026。24.Server可以访问Client吗?蓝牙通信中,Server不能直接访问(读/写)Client,但是可以通知(Notification)Client,通知的前提是Client通过写D

8、escriptor使能通知功能。例如,某Server发现电池电量已经低于安全阀值,它可以调用GATT_Notification通知所有已连接的Client,但是Client接收后如果处理是它自己的事情。25.如果得知电池容量?任何使用电池供电的设备都必须精确监控电池容量,否则设备可以突然断电而停止工作,它的基本原理是通过ADC(模数转换器)计算电池电压。以CC2540芯片用一钮扣电池为例,电池电压从2.0v3.0v,即电量的0%100%;CC2540有一10比特的ADC,量程范围为0511,参考电压为1.25v,最大测量电压为3.75v,以上信息可以得知:(v/3)/ 1.25 * 511 =

9、 adc,则2.0v=273adc,3.0v=409adc,根据下图可以很容易得知ADC转换为电压的公式:Percentage / (X 273) = 100 / 136 = 25 / 34,变换后为:Percentage = (X - 273) * 25 / 34,为四舍五入提高计算精度则有:Percentage = (X - 273) * 25 + 33 / 34。26.蓝牙发射信号功率调整会影响通信距离吗?会,以TI公司的CC2540为例,它支持4种发射功率选择:4dBm、0dBm、-6dBm和-23dBm,按无线电功率定义:LdBm=10lg(Pwr/1mW),以上4种分贝值换算成瓦特

10、为:2.51mW、1mW、0.251mW和0.005mW,有效通信距离分别为:30米、10米、7米和3米。27.如何知道两个蓝牙通信节点之间的距离?要知道蓝牙通信节点(如手机和蓝牙设备)之间的距离,最容易实现的方法是通过读取接收RSSI(Received Signal Strength Indication)值来计算。无线通讯中功率与距离的关系如下:其中A可以看作是信号传输1米远时接收信号的功率,n是传播因子(它受障碍,温度和湿度等影响),r是节点之间的距离。当确定了常数A与n的值后,距离r就可以根据PR(dBm)计算出来。28.如何获取蓝牙节点的接收RSSI值?具体的设备接收RSSI值的方法

11、不一样,以iPhone手机为例,iOS提供API函数获取RSSI值;TI公司的CC2540芯片的BLE协议栈中,首先将读取RSSI值回调函数挂载到gapRolesRssiRead_t类型的指针下,建立连接后,主设备调用GAPCentralRole_StartRssi(),从设备调用GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE, )。这样就可以定时读取接收的RSSI值了。29.如何开展读取RSSI值的实验?读取RSSI值的实验可以这样搭建,主设备固定位置,向从设备发送信号,从设备LED光和Buzzer报警为通信成功,逐次移动从设备,而获取RSSI值随物理

12、距离之间的关系。下图是笔者做实验的数据:Distance(m)12345678910RSSI(dBm)-47-59-73-80-79-85-88-86-87Loss(p)112750322249实验器材为2块CC2540芯片,主芯片发射功率为4dBm(2.51mW),Loss是通信节点中失败次数。30.如何将接收RSSI实验数据得到距离计算公式呢?最好的工具是EXCEL软件,以上表中的实验数据和EXCEL 2007为例。首先选中Distance和RSSI两行,点击“插入-散列图”,软件会自动生成如下图:选取其中任意点,点右键,“添加趋势线-对数”,将会出现下图:可见RSSI与距离的关系是比较符合指数函数,再点击“显示公式”此时得到指数函数公式为:y = -49.53 17.7 ln (x),再把自然对数换成10常用对数,则有:y = -49.53 40.71 lg (x)。通过以上几步就轻松得到RSSI与距离之间的计算公式

copyright@ 2008-2022 冰豆网网站版权所有

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