四极管:蓝牙PSKEY的调整

转载 2012年03月26日 16:51:24

http://www.eefocus.com/majianhui/blog/09-12/182368_ccebd.html


Bluecore内部有些配置寄存器,称为PSKEY,这些寄存器不可随意更改,因其事关重大,稍有不慎改动便会造成运行的不稳定或无法工作,Bluecore的初始化便是从读取这些寄存器配置器件开始的,比如UART的使用方式就有RAW,BCSP,H4,H5几种协议方式,只有RAW这种方式才是可以当正常串口使用的,其他的都有自己特定的传输协议,比如HOST Interface可以选择为USB、UART、NONE等,一旦设置为USB,那么程序中对UART的所有操作都是无效的。

这些都是比较简单的PSKEY,稍微有些头脑的人都是可以很容易理解的,但还有一些PSKEY是决定蓝牙传输特性的,就不是那么容易理解的了,除非对蓝牙机制了解得比较透彻,比如ACL链路数据缓冲区的大小设置,这个设置大了容易造成运行时内存不够而死机,小了对传输时间有影响,再比如是否支持AFH,支持则建立连接后采用AFH机制,在有干扰的情况下通信特性会好些,再比如是否可以测量RSSI,这是判断好信道坏信道的一种方式,测量周期是多少,这个周期一到,接收端便会停止正常接收而专对各个信道进行测量评估,限制值是多少,可以判断这个信道是好的还是坏的,等等这些都是事关重大而且不好调整的,所以一般采用CSR已经调好的默认值,最好不要修改或者修改前考虑下后果再或者在CSR的建议下修改,否则无异于自杀式行为。

在这里强调一下,不要以自己的逻辑来改这些PSKEY,蓝牙特性首先遵从于协议机制,然后才会遵从你的逻辑,如果对蓝牙的各种协议不是很了解,不要认为逻辑上这么改是没问题的,因为你的逻辑说不定就违反了哪个协议。所以不要说什么逻辑上应该可以这些话,一定要有这样的观点:你的逻辑相比于蓝牙协议是不堪一击的。

由于这些PSKEY事关重大,所以对于Bluecore来说是不可访问的,对应用程序来说是即不能读也不能写,比如Bluecore无法知道自己设备的蓝牙地址是多少。那么怎么调整它们呢?因为有的是必须调整的,比如必须禁止低功耗模式否则会对UART通信有影响,方式只有一个:HOST+相应协议。

这些对Bluecore本身不可见的PSKEY是要通过HOST以特定的传输方式及协议(如BCSP、USB、SPI)来读写的,即对外部主机是可见的,这样便可以在调试或生产过程中通过主机端进行设置,而且生产完后对这些PSKEY值的访问接口就不存在了,改不了了,从而保证了产品运行期间的安全可靠性。


相关文章推荐

蓝牙PSKEY的调整

BlueCore CMOS单芯片方案  在2002年,英国的Cambridge Silicon Radio公司(简称CSR)推出了名为BlueCore(蓝牙核心)的真正的CMOS单芯片方案(高频组件...

四极管:蓝牙HCI驱动学习笔记

数据结构 1、HCI_EVENT 表示蓝牙控制器硬件的状态。 enum HCI_EVENT {   DEVICE_UP,           设备开启   DEVICE_DOWN,     ...

四极管:串口驱动的具体开发(一)

来源于《Windows CE 工程实践与完全解析》 由于WinCE的串口驱动程序的MDD层是由微软提供的。MDD层与PDD层之间的PDD COMMON层也是通用型设计,尽管必要时我们可以对他做修...

四极管:在menuconfig中选择m和 y的区别

在menuconfig中选择m和 y的区别:    y: 模块驱动编译到内核中,启动时自动加载    m:模块会被编译,但是不会被编译到内核中,只是生成.o文件,我们可以收集这些.o文件做到lin...

四极管:转wince上ov3640摄像头的一些问题

本文来自http://blog.csdn.net/renpine/article/details/5294704 在OMAP上增加320W的ov3640摄像头,之前没弄过心里没底,乘着硬件板子还...

四极管:2410启动代码分析之 vector.s详解一

根据各方面资料,整理了一下··未完待续 ;下面是对ARM处理器模式寄存器对应值的常数定义,ARM处理器中有一个CPSR程序状态寄存器,它的后;;五位决定目前的处理模式 USERMODE  EQU ...

四极管:AD/DA AVR 之 549和5615

549: 四极管:AD549(TLC_549.C) #ifndef TLC549_C #define TLC549_C /*******************************...

四极管 EBOOT调试(下载功能OEM函数)

四极管 EBOOT调试(下载功能OEM函数) OEMReadData--------------------该函数负责从下载端口读取操作系统镜像数据 OEMMapMemAddr----------...

四极管:container_of 理解

来源于泡泡的博客。。。 问题:如何通过结构中的某个变量获取结构本身的指针??? 关于container_of见kernel.h中: /** * container_of - cast a ...

四极管:JNI学习(一:书写步骤及简单在eclipse下实现JNI)

JNI学习(一:书写步骤及简单在eclipse下实现JNI) 2011-03-14 16:12 好吧。。吐槽下,话说最近鸭梨好大。。莫非是事情越来越多。。。望天。。。 1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:四极管:蓝牙PSKEY的调整
举报原因:
原因补充:

(最多只允许输入30个字)