CC1101无线芯片的使用

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引脚结构

   

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数据输入脚。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值