无线通信模块说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线通信模块说明
一、433MHz无线通讯模块简介
1.产品简介:
433MHz无线通讯模块,采用Chipcon公司的高性能CC1101无线通信芯片,最大传输数率达500kbps,并可软件修改波特率,开阔地传输距离达到300米,具有无线唤醒等功能,灵敏度达到-110dBm,可靠性高,可广泛应用于各种场合的短距离无线通信领域。
2. 性能特点:
(1) 433MHz免费ISM频段免许可证使用;
(2) 最高工作速率500kbps,支持2-FSK、GFSK和MSK调制方式;
(3) 可软件修改波特率参数:
高波特率:更快的数据传输速率,
低波特率:更强的抗干扰性和穿透能力,
更好地满足客户在不同条件下的使用要求;
(4) 高灵敏度(1.2kbps下-110dBm,1%数据包误码率);
(5) 内置硬件CRC 检错和点对多点通信地址控制;
(6) 较低的电流消耗(RX中,15.6mA,2.4kbps,433MHz);
(7) 可编程控制的输出功率,对所有的支持频率可达+10dBm;
(8) 支持低功率电磁波激活功能;
(9) 支持传输前自动清理信道访问(CCA),即载波侦听系统;
(10) 快速频率变动合成器带来的合适的频率跳跃系统;
(11) 模块可软件设地址,软件编程非常方便;
(12) 标准DIP间距接口,便于嵌入式应用;
(13) 单独的64字节RX和TX数据FIFO。
3. 主要应用领域:
极低功率UHF无线收发器,315/433/868/915MHz ISM/SRD波段系统,AMR-自动仪表读数,电子消费产品,远程遥控控制,低功率遥感勘测,住宅和建筑自动控制,无线警报和安全系统,工业监测和控制,无线传感器网络,无线唤醒功能,低功耗手持终端产品等。
二、硬件设计
1.模块接口说明
CC1101与STM32引脚连接表如表1所示。
表1 CC1101与STM32引脚连接表
图1 CC1101 的外引脚图(俯视)
三、软件设计
1. SPI读写操作
u8 SPI_FLASH_SendByte(u8 byte)
{
/* Loop while DR register in not emplty */
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);
/* Send byte through the SPI2 peripheral */
SPI_I2S_SendData(SPI2, byte);
/* Wait to receive a byte */
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
/* Return the byte read from the SPI bus */
return SPI_I2S_ReceiveData(SPI2);
}
2.SPI写寄存器操作
void halSpiWriteReg(INT8U addr, INT8U value)
{
SPI_FLASH_CS_LOW();
while (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_SO) );
SPI_FLASH_SendByte(addr); //写地址
SPI_FLASH_SendByte(value); //写入配置
SPI_FLASH_CS_HIGH();
}
3. SPI读寄存器操作
INT8U halSpiReadReg(INT8U addr)
{
INT8U temp, value;
temp = addr|READ_SINGLE;//读寄存器命令
SPI_FLASH_CS_LOW();
while (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_SO) );//MISO SPI_FLASH_SendByte(temp);
value = SPI_FLASH_SendByte(0);
SPI_FLASH_CS_HIGH();
return value;
}
4. 模块初始化设置
const RF_SETTINGS rfSettings
= {
0x06, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.
0x10, // FREQ2 Frequency control word, high byte.
0xA7, // FREQ1 Frequency control word, middle byte.
0x62, // FREQ0 Frequency control word, low byte.
0xf6, // MDMCFG4 Modem configuration.
0x83, // MDMCFG3 Modem configuration.
0x13, // MDMCFG2 Modem configuration.
0x22, // MDMCFG1 Modem configuration.
0xF8, // MDMCFG0 Modem configuration.