CC1101之PATABLE的意义以及使用说明
来源:互联网 发布:腾讯游戏数据分析岗位 编辑:程序博客网 时间:2024/05/20 08:21
PATABLE是CC1101芯片内的一组8个字节的寄存器,它们共用一个地址:0x3E,可以通过SPI接口对该寄存器进行读写操作。在其内部有一个用于指向PATABLE的指针,当读写时会自动+1,达到8的时候,将会翻转回0。并且当CC1101的CSN管脚置为高电平时,也会使该指针返回0,这即是说每次重新开始设置PATABLE寄存器组,其寄存器指针都是从0开始逐个字节递加的。
该8个寄存器中的数值可用于设置CC1101处于不同的发射增益。当使用ASK调制信号发射时,还有一个Ramp-Up、Ramp-Down模式,用于连续变化发射增益。其余的调制模式,需要发射之前设置好发射增益。
PATABLE寄存器组可以在CC1101初始化的时候就全部写好数值,在后面的数据发射时,只需要设置FREND0.PA_POWER<2:0>的数值,即可指向要使用的PATABLE发射增益设置了。
PATABLE的设置方法:
1、 通过SPI读写0x3E这个地址。
2、 该组寄存器既可以一个字节一个字节地读写,也可以一次性地读取多个。由CC1101的SPI通讯格式中的Burst位(第6位)决定,Burst=1,连续性读写,Burst=0,单词读写。
3、 该组寄存器是可读可写的,由R/W位(最高位)决定,R/W=1,为读,R/W=0,为写。
4、 不论是单次操作还是Burst方式操作,要操作PATABLE寄存器都应该首先发送PATABLE寄存器组的地址:0x3E+读写标志位+Burst方式位,然后再紧接着是读写数据。也就是所谓的Header byte+data Byte模式,如下图所示:
具体的该寄存器组读写方式可参考一下两本TI官方手册:
1、 CC1101 User Guider P33
2、 DN501 PATABLE ACCESS
作用:用于设置CC1101的射频发射增益参数。
寄存器数值设置方法:确定该组寄存器参数,一般有两种方法:
1、 使用TI的射频开发软件:SmartRFStudio来配置射频通信的各项寄存器参数,最后再在软件界面的“TX Power”栏选择要使用的发射增益,然后可以直接记下或通过软件导出该份寄存器设置。
2、 参考TI的设计笔记:DN013:ProgrammingOutput Power on CC1101,在该份手册中,主要就CC1101在一定温度和供电条件下的PA TABLE的数值和发射增益、消耗电流之间的关系提供了多张表格,也可从该手册的表格上选择适当的增益数值对应的寄存器数值。
这两种方式设置出的PATABLE在同样的射频增益条件下也是不同的,实际测试的效果也有一定的差别,一般来说,参考TI的设计笔记进行的寄存器配置而实际测试的效果是要稍好一些的。
注意:
1、 设置不同的发射增益会有不同的电流消耗。
2、 当CC1101进入SLEEP状态时,其PATABLE寄存器的数值,除了最低一个字节的数据之外,其余的7个字节的PATABLE设置值都将丢失,这即是说,控制CC1101从SLEEP模式返回之后,需要再次重新设置PATABLE的数值。
总结:CC1101的硬件设计电路很重要,从芯片功耗和数据传输的正确率角度出发,较高灵敏度和高度阻抗匹配的CC1101射频电路是比较好的。高灵敏度意味着可以接收较低发射增益的信号,高度阻抗匹配的射频电路意味着可以用较小的增益实现同样甚至更好的射频发射效果。
- CC1101之PATABLE的意义以及使用说明
- CC1101的调试
- CC1101
- CC1101
- CC1101
- CC110L 与CC1101的区别
- 我的CC1101笔记2
- cc1101的GDO0和GDO2
- 一个cc1101功耗的问题
- layout_weight的作用以及意义
- 数据类型以及printf的使用说明
- MongoDB的安装以及使用说明
- 基于 MSP430 CC1101的WOR的测试
- 一种简陋的CC1100/CC1101主从通信协议
- Junit使用说明之二---Junit3.x的测试环境初始化以及收尾工作
- fork,vfork以及exec的意义
- 图像熵的意义以及计算
- 图像熵的意义以及计算
- 选择PostgreSQL的五个理由
- 大数据日知录:架构与算法 笔记
- Json学习一
- Unity xcross-compile failed
- js实现ArrayList功能
- CC1101之PATABLE的意义以及使用说明
- HTML5基础小结(二)——标签小例
- Android 实现自定义多级树控件和全选与反选的效果
- 排序算法之二----冒泡排序
- NSSplitView 左右滑动时,两边的Control同时改变大小
- 编程求一元二次方程
- dx StringId StringData的生成
- NYOJ-123士兵杀敌(四)【线段树】
- easyui datagrid中插入一行数据注意一点