CC2500 使用总结

概述

  • 最高传输速率:500kbps
  • RX 功耗:15.6ma
  • 单独的64 字节RX 和 TX 数据 FIFO

通信接口

cc2500 提供了spi 接口与外部的mcu通信。cc2500 作为spi slave
接口连线如下:
在这里插入图片描述

主控mcu 的spi 配置:

spi 模式spi 配置备注
SPI_MODESPI_MODE_Master主控
SPI_DATASIZESPI_DataSize_8b8bit
SPI_CPOLSPI_CPOL_Highsck 空闲为低
SPI_CPHASPI_CPHA_2Edgesck 第一沿取样
SPI_FirstBitMSB高位在前

常规用途/测试输出控制引脚(GDO0,GDO1,GDO2)

分别用IOCFG2,IOCFG1,IOCFG0 三个寄存器配置这三个引脚的功能。这三个寄存器分别可配置的参数范围是0-0x3F,每个参数对应的含义,参考cc2500 datasheet。
我使用的配置方案。

IOCFG2IOCFG1IOCFG0
0x290x2E0x06
  • GDO0
    • 上电后,初始化cc2500 前,GDO0 以135khz的频率输出方波。初始化完IOCFG0 寄存器后,保持为低电平。

    • 发射模式下。平常为低电平。当mcu 对cc2500 下达STX(发射)命令后,GDO0 会从低变成高,表示CC2500 正在发射资料。等到GDO0由低高变低时,表示CC2500 发射完成。
      在这里插入图片描述

    • 接收模式下。平常GDO0 为低电平,当MCU 对CC2500 下达SRX(接收)指令后,当接到封包且preamble 和 syncword 正确时,GDO0 会从低变高,表示正在接收资料,等到GDO0 由高变低时,表示接收完成。编程时,可以设置为下降沿中断接收数据包。

  • GDO1 和在spi 接口上的SO 脚是同一脚,因此这个脚上控制的输出在CS 高时才有用。GDO1 默认是3态
  • GDO2 没使用。

寄存器

寄存器概述

寄存器类型地址范围说明
配置寄存器0-> 0x2F配置CC2500。可读写,长度为一个字节
选通命令0x30->0x3F当执行写寄存器操作时 表示 mcu 下达的切换命令,只需要写寄存器地址;当执行读寄存器操作时,CC2500 会返回RF 的相关参数
发射功率寄存器0x3E决定发射功率,最多可设置8组,共8种功率
TX/RX FIFO0x3F写入时,写入TX FIFO;读取时,读取RX FIFO。长度各为64 bytes

头字节

每次MCU 发起通信,写入的第一个字节成为头字节。头字节有固定的格式。第一个bit 表示读写位,第二个bit表示single or burst 访问,后面6bits 表示地址。
在这里插入图片描述

状态字

每次MCU 发起通信,写入头字节到CC2500 ,CC2500 返回一个状态字。状态字的定义如下

bits名称描述
7CHIP_RDYn当功率和晶体已经稳定,该位保持为低
6:4STATE[2:0]表示CC2500当前主状态机状态
3:0FIFO_BYTES_AVAILABLE[3:0]TX FIFO 中的自由比特数

寄存器的访问

mcu 访问CC2500 寄存器时,第一个字节写入头字节(参考前面说明)。如果是写寄存器,第二个字节是要写入的参数;如果是读寄存器,第二个字节可以是0xFF。

writeread
Single byte: + 0x00Single byte: + 0x80
Burst: + 0x40Burst: + 0xC0

突发访问

对于连续地址访问,如果每次都要写入一次地址,将会很浪费时间资源。CC2500 提供了突发访问的机制,访问第一个地址时,设置突然访问位,后续的访问,将不需要再写入地址。scs 拉高结束突发访问。典型的应用场景是FIFO 的访问。

调试

  • 可以通过查看CC2500 返回的状态字,查看当前处于的状态。
  • 比较一下写入和读出寄存器内容是否一致,判断spi 读写是否正常。
  • 可以利用频谱仪捕抓发送频率信息,验证自己配置的频点参数是否符合预期。

遇到的坑

  • 焊接了几块CC2500 ,其中一款spi读写寄存器正常,就是收不到数据。其他几块正常,还没找到原因。
  • cc2500 周边电路元器件虚焊,导致cc2500 gdo0 输入的电平有异常。我平常习惯于用逻辑分析仪分析数据,一开始没怀疑GDO0 的电压问题,一直在纠结为什么GDO0 没提示收到数据包。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gdut_llkkyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值