带定位引擎的射频芯片CC2431
定为40。定位引擎期望参数A为30.0~50.0,精度为0.5。参数A用无符号定点数值给出,最低位为小数位,而其余各位为整数位,一个典型值为40.0。 射频参数n被定义为路径损失指数,它指出了信号能量随着到收发器距离的增加而衰减的速率。衰减与d-n成比例,这里,d是发射器和接收器之间的距离。实际写入定位引擎的参数n是一个可通过查表得到的整数索引值,如表1所列。 例如,通过测量得到n=2.98,查表得到最接近的有效值为3.000,相应的索引值是13。因此,整数13作为参数n写入到定位引擎中。参数 n以[0,31]之间的整数索引写入定位引擎,索引用整数表示。如n=7,即写入000000111。n的典型值是13。RSSI值是相应于一组参考坐标的RSSI测量值。 RSSI值为[-40 dBm,-95 dBm],精度为0.5 dBm,写入值中应去掉负号。如RSSI的值为-50.35 dB,则写入到定位引擎中为50.5。注意,未用的参考坐标必须用0.0作为RSSI值写入。如果仅有部分参数写入,则定位引擎不能正确工作。 所有的测量参数应写入RF寄存器MEASPARM中,在写入MEASPARM之前寄存器LOCENG的第2位LOCENG.PARLD必须写入 1,表示一组测量参数将被写入。一旦参数写入开始(LOCENG.PARLD=1),所有10个参数必须一次性全部写入。测量参数必须按[A,n, rssi0,rssi1,…,rssi7]顺序写入MEASPARM寄存器,任何未使用的位必须写0。10个参数全部写完之后,LOCENG.PARLD 必须写入0。 2.3 定位估计 参数坐标和测量参数写入之后,通过将寄存器LOCENG第0位LOCENG.RUN写入1,启动定位估计计算。通常,LOCENG.RUN被置 1后的1 200个系统周期之后,LOCENG的第3位LOCENG.DONE被置1。此时,估计坐标可从LOCX和LOCY寄存器读出。定位引擎不产生任何中断请求。在新的结果被计算出来或下一次重新启动之前,估计坐标值在LOCX和LOCY中保持有效。CC2431定位引擎操作流程如图1所示。 图1 定位引擎操作流程 2.4 软件编程 下面介绍定位引擎操作的源代码。 void CalcultePostition(LOC_REF_NODE refNodes[LOC_ENGINE_NODE_CAPA],uint a_val,uint n_index,uint *locX,uint *locY) { 结语 本文主要介绍了带定位引擎的射频芯片CC2431,重点介绍了其定位引擎的使用方法。CC2431是一款真正的片上系统(SoC)解决方案,它针对无线传感器网络ZigBee/IEEE 802.15.4,具有定位检测引擎,可以实现3 m左右或更高的定位精度,有效降低了ZigBee节点成本;并且结合了市场领先的ZStack ZigBee协议软件,提供了市场上最具竞争力的ZigBee解决方案。在未来几年内,其应用必将扩展到更多领域。
uint i;
//启动定位引擎
LOC_DISABLE();
LOC_ENABLE();
//使能LOC_REFERENCE_LOAD,准备写入参考坐标
LOC_REFERENCE_LOAD(TRUE);
//写入参考坐标
for(i=0;iLOC_ENGINE_NODE_CAPACITY;i++) {
REFCOORD=refNodes[i].x;
RERCOORD=refNodes[i].y;
}
//参考坐标写入完成
LOC_REFERENCE_LOAD(FALSE);//使能LOC_PARAMETER_LOAD,准备写入测量参数
LOC_PARAMETER_LOAD(TRUE);
MEASPARM=a_val;
MEASPARM=n_index;
for(i=0;iLOC_ENGINE_NODE_CAPACITY;i++) {
MEASPARM=refNodes[i].rssi;
}
//测量参数写入完成
LOC_PARAMETER_LOAD(FALSE);
//启动定位估计计算
LOC_RUN();
//等待完成后读出坐标值
while(!LOC_DONE());
*locX=LOCX;
*locY=LOCY;
//关闭定位引擎
LOC_DISABLE();
}
CC2431 芯片 射频 引擎 定位 定位引擎 ZigBee 相关文章:
- 基于ZigBee的公共交通信息平台系统设计(10-24)
- 基于CC2431的室内定位系统(04-24)
- 基于ZigBee技术的室内定位系统的设计(03-25)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 基于微处理器和射频收发芯片的近程无线数传系统设计[图](12-15)
- iPhone代替信用卡Visa推出配件In2Pay(05-19)