CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348 MHz、400-464 MHz和800-928 MHz的其他频率。

CCCC1101的主要操作参数和64位传输/接收FIFO(先进先出堆栈)可通过SPI接口控制。

CC1101的主要特征:

(1)、真正的单片UHF RF收发器;

(2)、频率波段:300-348 MHz、400-464 MHz和800-928 MHz;

(3)、可编程控制的数据传输率,可达500kbps;

(4)、较低的电流消耗(RX中15.6mA,2.4kbps,433MHz);

(5)、2-FSK,GFSK和MSK支持;

等等。

1、CC1101引脚结构

图1 引脚顶视图

2、CC1101配置软件

CC1101可通过SmartRF Studio软件配置,从http://www.chipcon.com.上可下载到。

3、4线串行配置和数据接口

CC1101通过4线SPI兼容接口(SI,SO,SCLK和CSn)配置。这个接口同时用作写和读缓存数据。SPI接口上所有的地址和数据转换被最先在重要的位上处理。

SPI接口上所有的处理都同一个包含一个读/写位,一个突发访问位和一个6位地址的头字节一起作用。在地址和数据转换期间,CSn脚(芯片选择,低电平有效)必须保持为低电平。如果在过程中CSn变为高电平,则转换取消。比如向CC1101写命令程序:

void CC1101_Write_Cmd( uint8_t Command )
{CC1101_SET_CSN_LOW( );                 //SPI片选,本工程中该函数都是用作SPI片选   置低片选选中drv_spi_read_write_byte( Command );     //写命令CC1101_SET_CSN_HIGH( );                    //SPI取消片选,本工程中该函数都是用作取消SPI片选         置高取消片选
}

当CSn变低,在开始转换头字节之前,MCU必须等待,直到SO脚变低。这表明电压调制器已经稳定,晶体正在运作中。除非芯片处在SLEEP或XOFF状态,SO脚在CSn变低之后总会立即变低。

while( RESET == SPI_I2S_GetFlagStatus( SPI_PORT, SPI_I2S_FLAG_TXE ) )      //等待发送缓冲区为空{if( SPI_WAIT_TIMEOUT == ++l_WaitTime ){break;           //如果等待超时则退出}}l_WaitTime = SPI_WAIT_TIMEOUT / 2;        //重新设置接收等待时间(因为SPI的速度很快,正常情况下在发送完成之后会立即收到数据,等待时间不需要过长)SPI_PORT->DR = TxByte;  //发送数据 ,数据发送到SPI的数据寄存器中然后发出

4、命令滤波

命令滤波可被视为CC1101的单字节指令。通过命令滤波寄存器的选址,内部序列被启动。这些命令用来关闭晶体振荡器,开启传输模式和电磁波激活等。命令滤波寄存器的访问和一个寄存器的写操作一样,但没有数据被传输。就是说,只有R/W位(置为0),突发访问(置为0)和六个地址位(0x30和0x3D之间)被写。一个命令滤波可能在任何其他SPI访问之后,而不需要将CSn拉至高电平。命令滤波立即被执行,当CSn高时SPWD和SXOFF滤波是例外。

5、FIFO访问

64字节TX FIFO和64字节RX FIFO通过0x3F被访问。当读/写位为0时,TX FIFO被访问,当读/写位为1时,RX FIFO被访问。TX FIFO是只写的,而RX FIFO是只读的。

0x3F :单字节访问TX FIFO
0x7F :突发访问TX FIFO(连续写)
0xBF :单字节访问RX FIFO
0XFF :突发访问RX FIFO(连续读)

传输FIFO可能会通过发布一个SFTX(刷新TX FIFO)命令滤波而被淹没。相似地,一个SFRX(刷新RX FIFO)命令滤波会淹没接收FIFO。当进入休眠状态时,两个FIFO都被清空。

6、PATABLE访问

0x3E地址用来访问PATABLE。PATABLE用来选择PA能量控制设置。对PATABLE的访问是单字节或者突发访问,由突发位决定。当使用突发访问时,索引计数器的值增加;达到7时重新从0开始。读/写位控制访问是写访问(R/W=0)或者读访问(R/W=1)。

7、微控制器接口和引脚结构(STM32)

在一个典型系统里,CC1100的接口显示为一个微控制器。这个微控制器必须能:
控制CC1100的不同模式;
写入缓冲数据;
通过4线SPI总线配置接口(SI,SO,SCLK和CSn)读回状态信息。

CC1100有二个专用的配置引脚和一个共享引脚,能输出对控制软件有用的内部状态信息。这些引脚能用来对MCU产生中断。可编程控制的信号详情在37页35节。专用引脚名为GDO0和GDO1。共享引脚为SPI接口上的SO脚。GDO1/SO的默认设置为3状态输出。通过选择任意其他的控制选项,GDO1/SO脚将成为一般引脚。当CSn为低时,此引脚的功能如一般SO脚。在同步和异步连续模式下,处于传输模式时GDO0脚被用作连续TX数据输入脚。

CC1101学习(一)相关推荐

  1. TI CC1101学习笔记(四)

    相关功能及原理部分已经在TI CC1101学习笔记(一)~(三)中简要概述了,本节将继续学习TI CC1101的寄存器配置及相关功能. 3 个数字输出引脚 GDO0 和 GDO1 和 GDO2为常规控 ...

  2. TI CC1101学习笔记:工作原理简单入门

    众所周知,在IOT的市场应用中,从通信协议细分的话,有SUB-1G,2.4G,3G, 4G,以及最新推出的5G,虽然5G通信协议已经在崭露头角,但是不同的通信协议在不同的应用领域之中还是占据着一定的重 ...

  3. TI CC1101学习笔记(五)

    因本人项目原因,故系统学习了TI CC1101这款芯片的运行机制和开发流程.但因项目的工程性.繁琐性与部分内容的保密性,所以,若有相和我交流CC1101的小伙伴,欢迎私聊我知乎 .在此,本人提供一些个 ...

  4. cc1101 学习1

    先说说GDO0和GDO2,这两个东西是搞CC1101很重要的两个东西,它连着你的单片机的IO口.因此你完全可以利用中断来判断当前的模块处于一种什么样的情况,当然这个还跟你怎么去设置IFGDO0和IFG ...

  5. TI CC1101学习笔记(一)

    TI CC1101是一款低于1GHz高性能射频收发器,设计旨在用于低功耗RF应用.其主要针对于工业,科研和医疗(ISM)以及短距离无线通信设备(SRD).CC1101可提供对数据包处理.数据缓冲,突发 ...

  6. TI CC1101学习笔记(三)

    2.10 数据包长度 CC1101 支持恒定长度数据包协议和可变长度协议. 可变或固定数据包长度模式能支持的长度可达 255 字节. 大于255个字节的数据包,必须使用无限数据包长度模式: 使用不同长 ...

  7. 如何使用jQuery创建表格Zebra Stripes效果

    这是一个简单的示例,展示了如何使用jQuery创建表格Zebra Stripes效果. <html> <head> <title>jQuery Zebra Stri ...

  8. 一种简陋的CC1100/CC1101主从通信协议

    /* forsakening @hdu  2013/6/18 */ /* 版权所有~~^ _ ^  */ ----------------------------------------------- ...

  9. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

最新文章

  1. 知道为啥失败么?87%的机器学习项目都是这么栽了的……
  2. php查询mysql并缓存到redis
  3. python详细下载安装教程-Pycharm及python安装详细教程
  4. .NET Core 3.0 webapi集成Swagger 5.0
  5. JeeCG - <t:choose/> 标签用法 输入框控件 查询输入
  6. java日志文件log4j.properties配置详解
  7. 西瓜书+实战+吴恩达机器学习(八)监督学习之朴素贝叶斯 Naive Bayes
  8. SQL FILESTREAM数据库中的事务日志备份
  9. 递归实现排列型枚举(搜索)
  10. 93、App Links (应用程序链接)实例
  11. 2015 多校联赛 ——HDU5302(矩阵快速幂)
  12. Sql server添加示例数据库Northwind
  13. MTK Pump Express 快速充电原理分析
  14. 无线路由器网络安全设置的九种方法
  15. 安卓APP的字体大小设置不受系统字体大小的影响
  16. 常用商务英语词汇集锦(转载)
  17. 第十三届蓝桥杯大赛JavaB个人赛题题解
  18. mysql修改字段设置_在mysql中,如何改变列声明.
  19. 【编码】数据库编码报错
  20. Lesson 20 Pioneer pilots 内容鉴赏

热门文章

  1. 类与对象:求长方体的体积C++
  2. cad转换刻绘图 文泰去除节点方法 cad变成圆滑文泰刻绘图 cad转换为刻绘图 无锯齿转换cad至刻绘图
  3. 应该先开通邮箱系统搬家还是先做MX解析?
  4. 杭州市城市大脑发育年龄已达15.9岁
  5. 像360悬浮窗那样,用WindowManager做一个炫酷的悬浮迷你音乐盒(下)
  6. TypeError:__init__() missing 1 required positional argument :‘problem‘
  7. BW项目随手记:CO_PA数据源的使用
  8. 点云深度学习系列博客(四): PointNet代码精讲
  9. 二维图形学的变换-平移、旋转、缩放 OpenGL
  10. ubuntu连接不上网络问题解决