CC1101 射频的UHF收发器解析

合集下载

CC1101低功耗双向收发无线模块

CC1101低功耗双向收发无线模块

RT-001-CC11011.简介RT-001-CC1101是集FSK/ASK/OOK/MSK调制方式于一体的高功率、性能收发模块。

它提供扩展硬件支持实现信息包处理、数据缓冲、群发射、空闲信道评估、链接质量指示和无线唤醒,可以采用曼彻斯特编码进行调制解调它的数据流。

性能优越并且易于应用到你的产品设计中,它可以应用在 RT-001-CC1101315/433/868/915MHz ISM/SRD频段的系统中,它可以应用在比如消费类电子产品、自动抄表系统、双向防盗器等等。

该型号最大的有点在于模块内部采用大功率PA及LNA架构,且采用电子开关及控制线路根据客户的需求达到远距离传输数据。

发射功率可通过外部电源来设置,最大发射功率可以达到1W。

超远距离方案应用的最佳选择。

1.1 基本特性●省电模式下,低电流损耗●方便投入应用●高效的串行编程接口●工作温度范围:﹣40℃~+85℃●工作电压:1.8~ 3.6 Volts.●有效频率:300-348Mhz, 400-464Mhz,800-928Mhz●灵敏度高、输出功率高且可编程产品数据手册.1.RT-001-CC1101 1.2 模块方框图图1.1 模块方框图1.3 评估套件本公司针对RT-1G0-PS------模块开发的多功能开发套件,体积小,功能完善,能够完成RT-1G0-PS性能评估及协议学习,缩短产品开发时间,是研发的极佳选择。

图1.2 开发套件总览1.4 主要功能介绍■ 配合测试仪器(高频信号源、频谱仪器)等,测试主要性能参数;■ 配合模块,室外测试,模拟空旷地,停车场,建筑群,等环境下进行距离测试;■ 通过读取RF Module和MCU之间的通讯数据。

了解数据传输的协议;产品数据手册RT-001-CC11011.5 基本配置■ JY-A1G-DK测试架(2个);■ 标准SMA-315MHz、433MHz天线(任一频率1对);■ 标准AA电池(4个);■ 客户待评估模块(TX、RX各1个);■ SMA双头高频线1根;2.系统级功能2.1 收发器ICCC1100是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。

基于CC1101的无线收发系统设计

基于CC1101的无线收发系统设计

基于CC1101的无线收发系统设计刘雪亭【摘要】无线射频收发系统是近年来通信领域中发展最快、应用最广的模块电路。

该系统由发射模块和接收模块组成,以单片机C8051F310作为控制核心部件,基于无线收发芯片CC1101构成的通信传输模块系统,实现信息的无线收发。

本文对其工作原理和工作方式进行了分析,给出了其软硬件设计过程。

%Wireless RF transceiver system is the fastest and most widely used in the communication field in recent years. The system is composed of a transmitting module and a receiving module. The system is composed of a single chip microcomputer C8051F310 as the core component, and a communication transmission module system based on the wireless transceiver CC1101 is realized. In this paper, the working principle and working mode are analyzed, and the software and hardware design process is given.【期刊名称】《电子设计工程》【年(卷),期】2016(024)018【总页数】4页(P123-125,128)【关键词】CC1101;C8051F310;发射模块;接收模块【作者】刘雪亭【作者单位】四川信息职业技术学院四川广元 628040【正文语种】中文【中图分类】TN929-5无线射频收发系统是近年来通信领域中发展最快、应用最广的技术。

基于cc1101无线模块的无线传感网络的设计

基于cc1101无线模块的无线传感网络的设计

基于cc1101无线模块的无线传感网络的设计摘要无线传感网络是一种由许多节点组成的自组织网络,它可以实现远程数据采集和监测。

本论文主要介绍了基于cc1101无线模块的无线传感网络的设计。

首先,介绍了cc1101无线模块的特点以及在无线传感网络中的应用。

然后,详细介绍了无线传感节点的硬件设计和软件设计。

最后,对整个系统进行了测试和验证,并总结了实验结果。

关键词:无线传感网络;cc1101无线模块;无线传感节点;硬件设计;软件设计;测试和验证。

AbstractWireless sensor network is a self-organized network composed of many nodes, which can realize remote data collection and monitoring. This paper mainly introduces the design of wireless sensor network based on cc1101 wireless module. Firstly, the characteristics of cc1101 wireless module and its application in wireless sensor network are introduced. Then, the hardware design and software design of wireless sensor nodes are described in detail. Finally, the whole system is tested and verified, and the experimental results are summarized.Keywords: wireless sensor network; cc1101 wireless module; wireless sensor node; hardware design; software design; test and verification.引言随着无线通信技术的不断发展,无线传感网络在环境监测、智能控制、安防系统等领域得到了广泛应用。

CC1101射频的UHF收发器解析

CC1101射频的UHF收发器解析

CC1101射频的UHF收发器解析CC1101在CC1100主要改善部分改善杂散响应;更紧密的相位噪声更好的改善邻道功率(ACP )的性能;饱和电平输入更高;更高效能的功率输出连续频率波段的扩展,CC1100: 400-464 MHz 和800-928 MHzCC1101: 387-464 MHz 和779-928 MHz产品简介CC1100/CC1101是Chipcon(已被TI收购)推出的一款低成本单片射频的UHF收发器。

该芯片电路主要设定为在315、433、868和915MHz 的ISM(工业,科学和医学),集成了一个软件可编程的调制解调器。

该调制解调器支持2-FSK、GFSK和MSK调制格式,数据传输率最高可达500kbps。

通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。

CC1100/CC1101硬件支持数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发MCU可以通过SPI 接口与CC1100进行命令和数据交换。

CC1100/CC1101主要应用于低功耗无线应用设计。

CC1101在CC1100基础上主要进行以下改进改善杂散响应,饱和电平输入更高;连续频率波段的扩展:CC1100: 400-464 MHz和800-928 MHz;CC1101: 387-464 MHz和779-928 MHz;CC1101和CC1100二者在软件编程上完全兼容;更高效能的功率输出,能量越集中,信号传输就越远;更紧密的相位噪声更好的改善邻道功率(ACP)的性能,改善了近距离信号堵塞现象。

虽然CC1100芯片还存在,但鉴于CC1101的改进特性,我公司研制的模块已经从09年开始全部采用CC1101芯片。

为便于用户开发,我们提供配套评估套件,为产品开发保驾护航,使无线应用开发大大加速,并避免不必要的误区。

基本特点工作电压:1.8-3.6V工作频率:(模块:387-464MHZ)瞬间最大工作电流: <30mA;最大发射功率: 10mW (+10dBm);315/433/868/915MHZ的ISM频段;支持2-FSK、GFSK和MSK调制方式;接收灵敏度在1200波特率下-110dBm;最低工作速率1.2kbps,最高500kbps;单独的64字节RX和TX数据FIFO缓冲区;内置硬件CRC 检错可确保数据可靠传输;支持RSSI强弱信号检测和载波侦听功能;功耗低(RX中,15.6mA,2.4kbps,433MHz;快速频率变动合成器带来的合适的频率跳跃系统;通信地址(256个)工作频率都可以通过SPI编程设置;可编程控制的输出功率,对所有的支持频率可达+10dBm;WOR功能可设置待机、接收状态定时切换时间比例以降低功耗;典型主要应用车辆监控、遥控、遥测、水文气象监控无线标签、身份识别、非接触RF智能卡小型无线网络、无线抄表、门禁系统、小区传呼工业数据采集系统、无线232数据通信、无线485/422数据通信无线数据终端、安全防火系统、无线遥控系统、生参考例程更多功率参数设置可详细参考DATACC1101英文文档中第48-49页的参数表//INT8U PaTabel[8] ={0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04}; //-30dBm 功率最小//INT8U PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};//0dBmINT8U PaTabel[8] ={0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0}; //10dBm 功率最大SPI读写操作INT8U SpiTxRxByte(INT8U dat){INT8U i,temp;temp = 0;SCK = 0;for(i=0; i<8; i++){if(dat & 0x80){MOSI = 1;}else MOSI = 0;dat <<= 1;SCK = 1;_nop_();_nop_();temp <<= 1;if(MISO)temp++;SCK = 0;_nop_();_nop_();}return temp;}SPI写寄存器操作void halSpiWriteReg(INT8U addr, INT8U value) { CSN = 0;while (MISO);SpiTxRxByte(addr); //写地址SpiTxRxByte(value); //写入配置CSN = 1;}SPI读寄存器操作INT8U halSpiReadReg(INT8U addr){INT8U temp, value;temp = addr|READ_SINGLE;//读寄存器命令CSN = 0;while (MISO);SpiTxRxByte(temp);value = SpiTxRxByte(0);CSN = 1;return value;}CC1101初始化设置RF_SETTINGS rfSettings ={0x00,0x08, // 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.0x5B, // MDMCFG4 Modem configuration.0xF8, // MDMCFG3 Modem configuration.0x03, // MDMCFG2 Modem configuration.0x22, // MDMCFG1 Modem configuration.0xF8, // MDMCFG0 Modem configuration.0x00, // CHANNR Channel number.0x47, // DEVIATN Modem deviation setting0xB6, // FREND1 Front end RX configuration.0x10, // FREND0 Front end RX configuration.0x18, // MCSM0 Main Radio Control State Machine configuration.0x1D, // FOCCFG Frequency Offset Compensation Configuration.0x1C, // BSCFG Bit synchronization Configuration.0xC7, // AGCCTRL2 AGC control.0x00, // AGCCTRL1 AGC control.0xB2, // AGCCTRL0 AGC control.0xEA, // FSCAL3 Frequency synthesizer calibration.0x2A, // FSCAL2 Frequency synthesizer calibration.0x00, // FSCAL1 Frequency synthesizer calibration.0x11, // FSCAL0 Frequency synthesizer calibration.0x59, // FSTEST Frequency synthesizer calibration.0x81, // TEST2 Various test settings.0x35, // TEST1 Various test settings.0x09, // TEST0 Various test settings.0x0B, // IOCFG2 GDO2 output pin configuration.0x06, // IOCFG0D GDO0 output pin configuration.0x04, // PKTCTRL1 Packet automation control.0x05, // PKTCTRL0 Packet automation control.0x00, // ADDR Device address.0x0c // PKTLEN Packet length.};数据接收流程操作INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length) {INT8U status[2];INT8U packetLength;INT8U i=(*length)*4; //具体多少要根据datarate和length来决定halSpiStrobe(CCxxx0_SRX); //进入接收状态delay(2);while (GDO0){delay(2);--i;if(i<1)return 0;}if ((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //如果接的字节数不为0{packetLength = halSpiReadReg(CCxxx0_RXFIFO);//读出第一个字节,此字节为该帧数据长度if (packetLength <= *length)//如果所要的有效数据长度小于等于接收到的数据包的长度{halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength);//读出所有接收到的数据*length =packetLength;//把接收数据长度的修改为当前数据的长度// Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI)halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2);//读出CRC校验位halSpiStrobe(CCxxx0_SFRX); //清洗接收缓冲区return (status[1] & CRC_OK); //如果校验成功返回接收成功}else{*length = packetLength;halSpiStrobe(CCxxx0_SFRX); //清洗接收缓冲区return 0;}}elsereturn 0;}数据发送流程操作void halRfSendPacket(INT8U *txBuffer, INT8U size){halSpiWriteReg(CCxxx0_TXFIFO, size);halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);//写入要发送的数据halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据// Wait for GDO0 to be set -> sync transmittedwhile (!GDO0);// Wait for GDO0 to be cleared -> end of packetwhile (GDO0);halSpiStrobe(CCxxx0_SFTX);}无线应用注意事项(1)无线模块的VCC电压范围为1.8V-3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。

cc1101 收发函数

cc1101 收发函数

cc1101 收发函数
CC1101是一款低成本、低功耗、高性能的单芯片无线收发器,
常用于无线通信应用中。

它能够在多个频段(300-348 MHz、387-
464 MHz和779-928 MHz)进行操作,支持多种调制方式和数据速率。

CC1101的收发函数主要包括以下几个方面:
1. 初始化,在使用CC1101进行通信之前,需要对其进行初始
化设置,包括设置工作频率、数据速率、调制方式、发射功率等参数。

这些参数的设置会影响CC1101的收发性能和通信距离。

2. 发送数据,通过配置CC1101的发送寄存器和发送缓冲区,
可以将待发送的数据加载到发送缓冲区中,并启动发送操作。

CC1101会根据之前设置的参数进行调制和发射,将数据发送出去。

3. 接收数据,CC1101在接收模式下,会不断监听无线信道,
当检测到符合预设条件的信号时,会将接收到的数据存储到接收缓
冲区中,并触发接收完成中断。

应用程序可以通过读取接收缓冲区
中的数据来获取接收到的信息。

4. 中断处理,CC1101支持多种中断类型,包括发送完成中断、
接收完成中断、接收超时中断等。

应用程序需要编写相应的中断处理函数,对中断进行处理,以确保数据的及时发送和接收。

总的来说,CC1101的收发函数涉及到对寄存器的配置、数据的加载和处理、中断的处理等多个方面,需要根据具体的应用场景和通信需求进行合理的设置和调用。

同时,还需要考虑到无线信道的特性、通信协议的要求等因素,以确保通信的稳定和可靠。

CC1101学习笔记

CC1101学习笔记

CC1101学习笔记2010年10月一、CC1100主要特性与优势:* 该款低功耗射频收发器全面支持介于470-510MHz之间的中国频带。

* 可为测量应用的所有引脚提供高度可靠的2kV ESD保护。

* 其引脚、寄存器和代码均与CC1100及CC1101兼容,升级简便易行。

* 低功耗:RX电流为16mA,休眠状态下电流为0.3uA。

* 自动分组引擎可实现丰富的数字特性:可使用支持SPI/UART的小型MCU。

CC1101对于CC1100的改进:1:High sensitivity .CC1101:–111 dBm at 1.2 kBaud,868 MHz, 1% packet error rate,CC1100是-110dBm. 2:Low current consumption .CC1101:14.7 mA in RX,1.2 kBaud, 868 1100是15.4mA.3:Programmable Preamble Quality Indicator (PQI) for improved protection against false sync word detection in random 1101 可编程的前导质量指示和改良的在任意噪音环境下,同步字节的纠错侦测。

4:CC1101:Frequency bands: 300-348 MHz, 387-464 MHz and 779-928 MHz。

CC1100:Frequency bands: 300-348 MHz, 400-464 MHz and 800-928 MHz。

即CC1101频率范围比CC1100宽。

5:Fast startup time: 240us from sleep to RX or TX mode (measured on EM reference design [5] and [6]).快速的启动时间,从睡眠到RX或TX只要240US。

868MHz无线模块CC1101芯片E07-868MS10技术文档解析

868MHz无线模块CC1101芯片E07-868MS10技术文档解析
接收灵敏度
-112dBm@0.6kbps
详见芯片手册
因为专业,所以选择!无线透传、WiFi、蓝牙、Zigbee、PKE、数传电台等无线应用专家
引脚定义
E07-868MS10
*我司提供Altium designer封装库请前往下载或联系support@索取引脚序号
因为专业,所以选择!无线透传、WiFi、蓝牙、Zigbee、PKE、数传电台等无线应用专家
因为专业,所以选择!无线透传、WiFi、蓝牙、Zigbee、PKE、数传电台等无线应用专家
常见问题
E07-868MS10
★通信距离很近,完全没有达到理想距离1
障碍物当存在直线通信障碍时,通信距离会相应的衰减。
2干扰源温度、湿度,同频干扰,会导致通信丢包率提高。(海水吸收电波,故海边测试效果差3金属物天线附近有金属物体,或放置于金属壳内,信号衰减会非常严重。4参数值功率寄存器设置错误、空中速率设置过高(空中速率越高,距离越近。5低电压电源低压低于3.3V ,电压越低发功率越小。
VCC指模块供电电压
9实测距离1000m晴朗空旷,最大功率, 5dBi天线,高度2m , 1.2k空中速率10发射功率最大10dBm约10mW
11空中速率0.6k ~ 500kbps
建议尽可能使用低速
12关断电流0.6uA 13发射电流38mA@10dBm
建议供电能力大于100mA 14接收电流20mA 3.3V
序号模块与单片机简要连接说明(上图以STM8L单片机为例
1 GDO0是一般通用I/O口,相见CC1101手册。
2 GDO2一般配置为类IRQ功能,也可不接,可采用SPI查询方式来获取中断状态。但是推荐连接使用单片机外部中断。
3注意接地良好,有大面积的铺地,电源纹波小,应增加滤波电容并尽量靠近模块VCC与GND引脚。软件编程E07-868MS10序号编程注意事项

CC1100无线模块使用说明

CC1100无线模块使用说明

CC1101无线模块使用说明书目录1.功能介绍 (2)2.引脚说明 (3)3.通信协议 (4)4.指令集 (5)4.1.芯片状态字节 (5)4.2配置寄存器 (6)5.操作函数 (8)5.1. 操作步骤 (8)5.2.函数 (9)1)读写一个字节 (9)2)写命令 (9)4)读取配置 (10)5)写入一串数据 (10)6)读取一串数据 (10)7)发送一组数据 (11)8)接收一组数据 (11)9)初始化配置 (12)10)设置接收模式 (13)11)设置发送模式 (13)1.功能介绍1.1.射.(RF.性能:1)采用 TI 最新的 CC110L 无线射频芯片, 软件完全兼容 CC1100, CC1101, 相比于前两者, CC110L 芯片更专注核心部分, 因此更稳定2)接收灵敏度低至−116 dBm(在 1 kbps 数据速率下,典型状态下-110dBm)3)可编程数据速率: 范围 0.6 至 600 kbps(推荐 2.4kbps--500kbps)4)工作于 433 MHz 免费 ISM 频段(387-464MHz, 推荐中心频点 430-436MHz)5)调制方式: 支持 2-FSK、4-FSK、GFSK 和 OOK(不支持 MSK 调制方式)1.2.数字特性:1)64 字节接收 (RX) 和发送 (TX) FIFO2)模块可软件设地址, 只有收到本机地址时才会输出数据(提供中断指示), 可直接接各种单片机使用, 软件编程非常方便1.3.低功耗特性:1)睡眠模式电流消耗约 2uA2)最大发射功率: +10dBm, 最大发射电流 30mA, 持续接收电流约 16mA3)快速启动时间: 240 uS(从睡眠模式到接收 [RX] 模式或发送[TX]模式)4)快速切换: 模块在接收 [RX]和发射[TX]模式切换时间 < 1ms1.4.接口及传输特性:1)采用标准 2.54mm 间距双排针接口方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CC1101在CC1100主要改善部分改善杂散响应;更紧密的相位噪声更好的改善邻道功率(ACP )的性能;饱和电平输入更高;更高效能的功率输出连续频率波段的扩展,CC1100: 400-464 MHz 和800-928 MHzCC1101: 387-464 MHz 和779-928 MHz产品简介CC1100/CC1101是Chipcon(已被TI收购)推出的一款低成本单片射频的UHF收发器。

该芯片电路主要设定为在315、433、868和915MHz 的ISM(工业,科学和医学),集成了一个软件可编程的调制解调器。

该调制解调器支持2-FSK、GFSK和MSK调制格式,数据传输率最高可达500kbps。

通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。

CC1100/CC1101硬件支持数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发MCU可以通过SPI 接口与CC1100进行命令和数据交换。

CC1100/CC1101主要应用于低功耗无线应用设计。

CC1101在CC1100基础上主要进行以下改进改善杂散响应,饱和电平输入更高;连续频率波段的扩展:CC1100: 400-464 MHz和800-928 MHz;CC1101: 387-464 MHz和779-928 MHz;CC1101和CC1100二者在软件编程上完全兼容;更高效能的功率输出,能量越集中,信号传输就越远;更紧密的相位噪声更好的改善邻道功率(ACP)的性能,改善了近距离信号堵塞现象。

虽然CC1100芯片还存在,但鉴于CC1101的改进特性,我公司研制的模块已经从09年开始全部采用CC1101芯片。

为便于用户开发,我们提供配套评估套件,为产品开发保驾护航,使无线应用开发大大加速,并避免不必要的误区。

基本特点工作电压:1.8-3.6V工作频率:(模块:387-464MHZ)瞬间最大工作电流: <30mA;最大发射功率: 10mW (+10dBm);315/433/868/915MHZ的ISM频段;支持2-FSK、GFSK和MSK调制方式;接收灵敏度在1200波特率下-110dBm;最低工作速率1.2kbps,最高500kbps;单独的64字节RX和TX数据FIFO缓冲区;内置硬件CRC 检错可确保数据可靠传输;支持RSSI强弱信号检测和载波侦听功能;功耗低(RX中,15.6mA,2.4kbps,433MHz;快速频率变动合成器带来的合适的频率跳跃系统;通信地址(256个)工作频率都可以通过SPI编程设置;可编程控制的输出功率,对所有的支持频率可达+10dBm;WOR功能可设置待机、接收状态定时切换时间比例以降低功耗;典型主要应用车辆监控、遥控、遥测、水文气象监控无线标签、身份识别、非接触RF智能卡小型无线网络、无线抄表、门禁系统、小区传呼工业数据采集系统、无线232数据通信、无线485/422数据通信无线数据终端、安全防火系统、无线遥控系统、生参考例程更多功率参数设置可详细参考DATACC1101英文文档中第48-49页的参数表//INT8U PaTabel[8] ={0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04}; //-30dBm 功率最小//INT8U PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};//0dBmINT8U PaTabel[8] ={0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0}; //10dBm 功率最大SPI读写操作INT8U SpiTxRxByte(INT8U dat){INT8U i,temp;temp = 0;SCK = 0;for(i=0; i<8; i++){if(dat & 0x80){MOSI = 1;}else MOSI = 0;dat <<= 1;SCK = 1;_nop_();_nop_();temp <<= 1;if(MISO)temp++;SCK = 0;_nop_();_nop_();}return temp;}SPI写寄存器操作void halSpiWriteReg(INT8U addr, INT8U value) {CSN = 0;while (MISO);SpiTxRxByte(addr); //写地址SpiTxRxByte(value); //写入配置CSN = 1;}SPI读寄存器操作INT8U halSpiReadReg(INT8U addr){INT8U temp, value;temp = addr|READ_SINGLE;//读寄存器命令CSN = 0;while (MISO);SpiTxRxByte(temp);value = SpiTxRxByte(0);CSN = 1;return value;}CC1101初始化设置RF_SETTINGS rfSettings ={0x00,0x08, // 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.0x5B, // MDMCFG4 Modem configuration.0xF8, // MDMCFG3 Modem configuration.0x03, // MDMCFG2 Modem configuration.0x22, // MDMCFG1 Modem configuration.0xF8, // MDMCFG0 Modem configuration.0x00, // CHANNR Channel number.0x47, // DEVIATN Modem deviation setting0xB6, // FREND1 Front end RX configuration.0x10, // FREND0 Front end RX configuration.0x18, // MCSM0 Main Radio Control State Machine configuration.0x1D, // FOCCFG Frequency Offset Compensation Configuration.0x1C, // BSCFG Bit synchronization Configuration.0xC7, // AGCCTRL2 AGC control.0x00, // AGCCTRL1 AGC control.0xB2, // AGCCTRL0 AGC control.0xEA, // FSCAL3 Frequency synthesizer calibration.0x2A, // FSCAL2 Frequency synthesizer calibration.0x00, // FSCAL1 Frequency synthesizer calibration.0x11, // FSCAL0 Frequency synthesizer calibration.0x59, // FSTEST Frequency synthesizer calibration.0x81, // TEST2 Various test settings.0x35, // TEST1 Various test settings.0x09, // TEST0 Various test settings.0x0B, // IOCFG2 GDO2 output pin configuration.0x06, // IOCFG0D GDO0 output pin configuration.0x04, // PKTCTRL1 Packet automation control.0x05, // PKTCTRL0 Packet automation control.0x00, // ADDR Device address.0x0c // PKTLEN Packet length.};数据接收流程操作INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length){INT8U status[2];INT8U packetLength;INT8U i=(*length)*4; //具体多少要根据datarate和length来决定halSpiStrobe(CCxxx0_SRX); //进入接收状态delay(2);while (GDO0){delay(2);--i;if(i<1)return 0;}if ((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO))//如果接的字节数不为0{packetLength = halSpiReadReg(CCxxx0_RXFIFO);//读出第一个字节,此字节为该帧数据长度if (packetLength <= *length)//如果所要的有效数据长度小于等于接收到的数据包的长度{halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength);//读出所有接收到的数据*length =packetLength;//把接收数据长度的修改为当前数据的长度// Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI)halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2);//读出CRC校验位halSpiStrobe(CCxxx0_SFRX); //清洗接收缓冲区return (status[1] & CRC_OK); //如果校验成功返回接收成功}else{*length = packetLength;halSpiStrobe(CCxxx0_SFRX); //清洗接收缓冲区return 0;}}elsereturn 0;}数据发送流程操作void halRfSendPacket(INT8U *txBuffer, INT8U size){halSpiWriteReg(CCxxx0_TXFIFO, size);halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);//写入要发送的数据halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据// Wait for GDO0 to be set -> sync transmittedwhile (!GDO0);// Wait for GDO0 to be cleared -> end of packetwhile (GDO0);halSpiStrobe(CCxxx0_SFTX);}无线应用注意事项(1)无线模块的VCC电压范围为1.8V-3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。

相关文档
最新文档