目录
1、CC1120 无线射频收发器简介
CC1120 无线射频收发器是 TI Chipcon 推出的 ISM 频段无线收发芯片之一, 主要设定为 170 / 433 / 868 / 915 / 950MHz 频段,最大输出功率可达 +15dBm,最高传输速率达 200Kbps。模块集成了所有射 频相关功能,用户不需要对射频电路设计深入了解,就可以使用本模块轻易地开发出性能稳定、可靠性高的无线产品。
1.1 基本特点
- 433MHz 无线收发器,可定制 170M / 868M / 915M / 950M 等其它载频
- 支持 2-FSK, 2-GFSK, 4-FSK, 4-GFSK, MSK, OOK/ASK 调制
- -11 ~ 15 dBm 功率输出可配制
- 在 1.2kbps 速率时接收灵敏度可达 -123dBm
- 可编程配置传输数率 1.2~ 200 kbps
- 低功耗 2.0~3.6V 供电
- 点对点,点对多点,灵活通信方式
- RSSI 输出和载波侦听指示
- 独立 128 字节 RX 和 TX FIFO
- 高稳定性,可靠性达到工业级别
1.2 应用范围
- 工业仪器仪表无线数据采集和控制
- 无线计量和无线智能电网
- 物流跟踪、仓库巡检、电子标签等
- 工业仪器仪表无线数据采集和控制
- 住宅与建筑物(智能家居)控制
- 电子消费类产品无线遥控
- 无线报警与安全系统
- 无线传感器网络
1.3 技术参数
测试条件:Ta=25°C,Vcc=3.3V
技术指标 | 参数 | 备注 |
---|---|---|
频率范围 | 410 ~ 480MHz (默认初始化为:434 MHz) | 可编程配置 |
调制方式 | 2-FSK / 4-FSK / 2-GFSK / 4- GFSK / MSK / OOK | 可编程配置 |
传输速率 | 0~200 kbps | 可编程配置 |
发射功率 | -11~15 dBm | 可编程配置 |
数据速率 | 0~200 kbps | |
休眠电流 | ≤ 1 uA | |
发射电流 | ≤ 50 mA | |
接收电流 | ≤ 22 mA | |
频率误差 | +/-10 ppm | |
接收灵敏度 | -118 dBm (1.2 kbps) | 与速率有关 |
天线阻抗 | 50 ohm | |
供电电压 | 2.0~3.6 V | |
工作温度 | -20°C~75°C | |
存储温度 | -40°C~125°C |
备注:
1. 模块的通信速率会影响通信距离和接收灵敏度,速率越高,通信距离越近。
2. 模块的供电电压会影响发射功率,在工作电压范围内,电压越低,发射功率越小。
3. 模块的工作温度变化时,中心频率会改变,只要不超出工作温度范围,不影响应用。
4. 天线对通信距离有很大的影响,请选用匹配的天线并正确安装。
5. 模块的安装方式会影响通信距离。
2、CC1120 硬件相关设计
2.1 CC1120 硬件接口电路 (引脚定义)
通信接口:采用 4 线 SPI 串行接口。用于配置数据和缓冲区的存取。
引脚 | 类型 | 描述 |
---|---|---|
VCC | 工作电源 | 直流2.0-3.6V输入 |
GND | 地 | |
CS_N | 数字输入 | 模块选择(SPI)低电平有效 |
SCLK | 数字输入 | 时钟输入(SPI) |
SI | 数字输入 | 数据输入(SPI) |
SO/GPIO1 | 数字输入/输出 | 数据输出(SPI)或通用数字输入/输出接口 |
GDIO0 | 数字输入/输出 | 数据输出,由寄存器配置 |
GDIO2 | 数字输入/输出 | 数据输入/输出,由寄存器配置 |
GDIO3 | 数字输入/输出 | 数据输入/输出,由寄存器配置 |
RESET_N | 数字输入 | 复位低电平有效 |
ANT | 天线端口 | 阻抗50ohm |
注意:
GDIO3、GDIO2、GDIO0,这三个引脚,要接到 MCU 的“具有中断功能的中断 IO 引脚”(因为 GDIOx 引脚可作为指示接收或发送完成的中断引脚,向控制器 MCU 提供一个下降沿)
2.2 CC1120 常用外置天线
3、CC1120 软件相关设计
3.1 CC1120 初始化默认参数配置(常用)
CC1120 寄存器配置值可用 SmartRF Studio 工具产生,各寄存器的意义请参阅 CC1120 芯片规格书。
驱动功能与 TI 的 SmartRF Studio 7 套件的功能相同,可直接连接 SmartRF Studio 以控制 CC1120,也可以用提供例程演示 CC1120 模块的通信效果。
参数 | 功能描述 | 备注 | |
---|---|---|---|
1 | 频段选择 | 410.0 - 480.0 MHz频段 | 可编程配置 |
2 | 载波频率 | 434.000000 MHz | 可编程配置 |
3 | 数据速率 | 1.2 kbps | 可编程配置 |
4 | 发射功率 | 15 dBm | 可编程配置 |
5 | 调制格式 | 2-FSK | 可编程配置 |
6 | 频率偏差 | 3.997803 KHz | |
7 | 接收滤波器带宽 | 25.00 KHz | |
8 | 数据包长度模式 | 可变数据包长度模式 | |
9 | 数据包长度 | 255 个字节 | |
10 | 地址检查使能 | 禁用 | |
11 | 设备地址 | 默认为0(8位) | |
12 | GPIO3 引脚 | 配置为数据包发送/接收成功的指示引脚 |
3.2 CC1120 驱动程序 API 说明
API 名称 | 功能描述 | 备注 |
---|---|---|
void Initial_CC112x(void) | 初始化设置: "CC112x 无线射频收发器" | |
void Osccon_Initial(void) | 晶振初始化函数: 配置相关晶振参数 | |
void Timer2_Initial(void) | 定时器 A2 初始化设置,用于系统每 1 ms 自动中断一次。 | |
static void Initial_SPI_CC112x(void) | 初始化: SPI 串行接口 ( CC112x ) | |
Static void Initial_GPIO_Int_CC112x(void) | 初始化: GPIO 电平中断 | |
static void registerConfig(void) | 初始化 CC112x 的配置寄存器 | |
static void manualCalibration(void) | 根据勘误表校准 CC112x | |
trxSpiCmdStrobe(CC112X_SRX) | 初始配置 CC112x 处于接收状态 | |
void Deal_RX_CC112x(void) | 处理接收部分 "CC112x无线射频收发器" | |
void TX_String_CC112x (unsigned char *pData, unsigned char len) | CC112x 发送数据 | 注意:len <= 128 |
#define CC112X_820_band (1) | // 820.0 - 960.0 MHz band | |
#define CC112X_410_band (2) | // 410.0 - 480.0 MHz band | |
#define CC112X_273_3_band (3) | // 273.3 - 320.0 MHz band | |
#define CC112X_205_band (4) | // 205.0 - 240.0 MHz band | |
#define CC112X_164_band (5) | // 164.0 - 192.0 MHz band | |
#define CC112X_136_7_band (6) | // 136.7 - 160.0 MHz band | |
void Config_FrequencyBand (unsigned char bandKind) | 设置芯片工作频率: 步骤01:选择—“频段” 步骤02:配置—“具体工作频率” 此 API 为 “步骤01” :配置:频段--"CC112x 无线射频收发器" | 注意:1<= bandKind <=6 默认配置为 410.0 ~ 480.0 MHz 频段 |
void Config_CarrierFrequency (unsigned char frenquency_2, unsigned char frenquency_1, unsigned char frenquency_0) | 此 API 为“步骤02” 配置—“具体工作频率” 配置:载波频率 "CC112x 无线射频收发器 | 载波频率的计算公式,请参阅 CC112x User's Guide |
void Config_RxFilterBW (unsigned char rxFilterBW) | 配置:接收滤波器带宽 "CC112x 低功耗无线射频收发器 对于 CC1120,接收滤波器带宽25kbps 对应的寄存器值 CC112X_CHAN_BW=0x08 | 接收滤波器带宽的计算公式,请参阅 CC112x User's Guide 注意:Bite rate(DataRate) < RX filter BW /2 |
void Config_DataRate (unsigned char dataRate_2,unsigned char dataRate_1,unsigned char dataRate_0) | 配置:数据速率 "CC112x 低功耗无线射频收发器" | 数据速率的计算公式,请参阅CC112x User's Guide 注意:Bite rate(DataRate) < RX filter BW /2 |
void Config_ModulationFormat_Deviation (unsigned char modulation, unsigned char deviation) | 配置:调制格式和频率偏差 "CC112x 无线射频收发器" 默认MOD_FORMAT 调制格式=000= "2-FSK", 频率偏差= 3.99780 kHz | 频率偏差的计算公式,请参阅 CC112x User's Guide |