本文主要是关于cc1101的相关介绍,并着重对cc1101低功耗以及驱动收发程序进行了详尽的阐述。 cc1101
CC1101是一款低于1GHz设计旨在用于极低功耗RF应用。其主要针对工业、科研和医疗(ISM)以及短距离无线通信设备(SRD)。CC1101可提供对数据包处理、数据缓冲、突发传输、接收信号强度指示(RSSI)、空闲信道评估(CCA)、链路质量指示以及无线唤醒(WOR)的广泛硬件支持。CC1101在代码、封装和外引脚方面均与CC1100兼容,可用于全球最为常用的开放式低于1GHz频率的RF设计。
● 超低功耗无线收发器
● 家庭和楼宇自动化
● 高级抄表架构(AMI)
● 无线报警安全系统
◆ 387.0MHz~464.0MHz工作频段。
(433MHz,0.6kbps,1%误码率时为-116dBm)。
(接收模式,433MHz,1.2kbps时仅16.0mA)。
◆ 最高可设置为+10dBm的发射功率。
◆ 支持0.6kbps~500kbps的数据传输速率。
◆ 支持多种调制模式(OOK、ASK、GFSK、2-FSK、4-FSK和MSK)。
◆ 提供对同步字检测、地址校验、灵活的数据包长度以及自动CRC处理的支持。
◆ 支持RSSI(接收信号强度指示)和LQI(链路质量指示)。
◆ 通过4线SPI接口与MCU连接,同时提供2个可设定功能的通用数字输出引脚。
◆ 独立的64字节RXFIFO和TX FIFO。
◆ 工作电压范围:1.9V~3.6V,待机模式下电流仅为200nA。
◆ 工作温度范围:-40℃~+85℃ cc1101低功耗设计方案电路设计上,只用到了一个LED、串口1、一个模拟SPI、一个中断线、一个读卡芯片RESET线,硬件上就只剩下这么点东西了,这个时候我采用的是待机模式,使用的是读卡芯片的中断接PA0唤醒STM32,在此之前要先使得读卡芯片进入低功耗、然后STM32进入低功耗,这一步完成了,貌似没什么问题,功耗确实从几十mA骤降到3mA左右,开始还挺满意的,但是测试厂商提供的样板,功耗却只有几十uA,有点郁闷了。为什么会这样?反复查看硬件、程序,都找不出原因,而且这个时候的工作效果很烂,根本就不能唤醒,所以我就怀疑是读卡芯片一端低功耗有问题,因为我将PA0脚直接短接VCC,这样就可以产生一个边沿触发STM32唤醒了,但是用读卡芯片无法唤醒,所以我怀疑是读卡芯片的RESET脚电平不对,经检查,确实是因为RESET脚加了上拉电阻,读卡芯片是高电平复位,在STM32进入待机后,管脚全都浮空了,导致RESET被拉高,一直在复位;我去掉上拉电阻,觉得很有希望解决问题了,但是测试结果是:有时候能唤醒,有时候不能,我仔细一想难道是因为STM32待机后管脚电平不确定,导致读卡芯片RESET脚电平不定,而工作不正常,看样子只有换用其他方案了。后面确实验证了我的想法,使用STOP模式后,唤醒问题引刃而解。 (责任编辑:admin) |