CC1101 射频的UHF收发器解析
- 格式:doc
- 大小:54.00 KB
- 文档页数:8
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的无线收发系统设计刘雪亭【摘要】无线射频收发系统是近年来通信领域中发展最快、应用最广的模块电路。
该系统由发射模块和接收模块组成,以单片机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无线模块;无线传感节点;硬件设计;软件设计;测试和验证。
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在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是一款低成本、低功耗、高性能的单芯片无线收发器,
常用于无线通信应用中。
它能够在多个频段(300-348 MHz、387-
464 MHz和779-928 MHz)进行操作,支持多种调制方式和数据速率。
CC1101的收发函数主要包括以下几个方面:
1. 初始化,在使用CC1101进行通信之前,需要对其进行初始
化设置,包括设置工作频率、数据速率、调制方式、发射功率等参数。
这些参数的设置会影响CC1101的收发性能和通信距离。
2. 发送数据,通过配置CC1101的发送寄存器和发送缓冲区,
可以将待发送的数据加载到发送缓冲区中,并启动发送操作。
CC1101会根据之前设置的参数进行调制和发射,将数据发送出去。
3. 接收数据,CC1101在接收模式下,会不断监听无线信道,
当检测到符合预设条件的信号时,会将接收到的数据存储到接收缓
冲区中,并触发接收完成中断。
应用程序可以通过读取接收缓冲区
中的数据来获取接收到的信息。
4. 中断处理,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。
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 间距双排针接口方式。
低成本、低功耗1GHz以下无线收发器(增强型CC1100)应用l基于315/433/868/915 MHz ISM/SRD的极低功耗的无线应用。
l无线报警和安全系统l工业监视和控制产品描述CC1101是低成本的1GHz以下的无线收发器,为极低功耗的无线应用而设计。
电路主要设计为ISM(工业、科学和医疗)和SRD(短距离设备),频段在315、433、868和915,但是可以很容易的编程,使之工作在其他频率,在300-348MHz,387-464 MHz 和779-928 MHz 频段。
CC1101是CC1100 RF收发器改良以及代码一致的版本。
CC1101的主要改进如下:l改良的伪应答l更好的关闭相位噪声,因而改善相邻信道功耗(ACP)的性能l更高的输入饱和级别l改善输出功率斜面l扩大工作频段:CC1100: 400-464 MHz and 800-928MHzCC1101: 387-464 MHz and 779-928MHz10 4线串口配置和数据接口CC1101通过4线SPI兼容接口(SI,SO,SCLK和CSn)进行配置,CC1101作为从设备。
这个接口同事用作读写缓冲器数据。
SPI接口上所有的数据传送都是先传送MSB。
SPI接口上的所有传送都是以一个头字节(header byte)开始,包含一个读写位(R/W),一个突发(burst access)访问位(B)和6位地址位(A5~A0)。
在SPI总线上传输数据时,CSn脚必须保持低电平。
如果在发送头字节或者读写寄存器时CSn拉高,传送将被取消。
SPI接口上地址和数据的发送时序图见图12,并参考表19。
当CSn被拉低,MCU在发送头字节之前,必须等到CC1101的SO脚变为低电平。
这说明晶振开始工作。
除非芯片在SLEEP或者XOFF状态,SO脚在CSn引脚被拉低后马上变为低电平。
图12:配置寄存器读写操作表19:SPI接口时序要求10.1 芯片状态字节当在SPI接口上发送头字节,数据字节或者命令选通(command strobe)时,CC1101在SO引脚上发送芯片状态字节。
cc1101低功耗设计方案CC1101收发驱动程序
本文主要是关于cc1101的相关介绍,并着重对cc1101低功耗以及驱动收发程序进行了详尽的阐述。
cc1101CC1101是一款低于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做为无线收发电路的主控芯片设计了一款可以多次修改密码具有密码报警功能和无线开锁功能的无线遥控密码锁,本系统主要包括:矩阵键盘电路、液晶显示电路、报警模块、继电器驱动电路、单片机最小系统、无线收发模块。
所采用的编程语言是C语言。
设计将无线电遥控技术与密码技术相结合,在原有密码锁系统性能的基础上设计无线遥控密码锁系统,使用户在一定范围内的任何位置都能对保险箱进行开启,不仅可以提高密码的安全性,还克服了固定键盘式密码锁的不足。
关键词:无线遥控,密码锁,CC1101AbstractWith the intelligence and the development of miniaturized people's living standards improve safety awareness and enhance electronic products, all kinds of locks broad access to people's life and work. How to achieve security issue becomes particularly important, traditional mechanical lock because of its simple structure, low safety performance, unable to meet people's needs, a variety of wireless locks came into being.The system uses CC1101 wireless transceiver circuit as a master chip designed a number of modifications may be wrong password with the password lock function alarm function and a wireless radio remote control locks, the system includes: a keyboard matrix circuit, liquid crystal display circuit, alarm module, relay driver circuit used programming language is C language. The radio-controlled technology and design technology combined with a password, wireless remote password lock system design based on the original lock on system performance, allowing users anywhere within a certain range of safes can be opened, not only can improve the security of the password , but also to overcome the lack of a fixed keyboard password lock.Keywords: wireless remote control, lock, CC1101目录第1章绪论 (1)1.1 选题的背景与意义 (1)1.2 国内外现状 (2)1.3 主要设计内容和设计目标 (3)第2章无线收发电路的设计 (5)2.1 系统的总体设计 (5)2.2.1系统需求分析 (5)2.2.2总体方案设计 (5)2.2 CC1101的工作原理 (6)2.2.1 CC1101芯片介绍 (6)2.2.2 CC1101芯片数据包收发流程 (8)2.3无线收发电路的设计 (9)2.3.1 天线选择 (10)2.3.2 BALUN与阻抗匹配 (11)2.3.3 单端滤波器的设计 (16)2.3.4 无线收发电路设计 (18)第3章控制部分电路的设计 (20)3.1 单片机最小系统 (20)3.2 矩阵键盘电路 (21)3.3 液晶显示电路 (22)3.4 声光报警电路 (23)3.5 继电器驱动电路 (24)第4章系统的软件设计 (26)4.1 遥控发射器软件设计 (26)4.2 密码接收器软件设计 (31)第5章焊接与调试 (48)5.1 焊接 (48)5.2 软硬件调试 (48)5.2.1 单片机最小系统的调试 (49)5.2.2 液晶显示电路的调试 (49)5.2.3 矩阵键盘电路的调试 (49)5.2.4 报警模块调试 (50)5.2.5 无线收发电路调试 (50)结论 (52)参考文献 (53)致谢 (55)附录1 电路原理图 (56)第1章绪论1.1 选题的背景与意义随着科技的发展以及人们生活水平的大幅度提高,特别是近几年国内经济的发展以及科学技术的不断发展,人们对防盗的要求也是越来越高,同时对使用的便捷性也有了更高的需求,传统的锁防盗效果已经满足不了现代社会的防盗需求,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,已远远不能满足人们的需要,各种系列的密码锁广泛进入人们的生活和工作,因而密码锁系统的安全性就变得至关重要。
JTT-CC1101使用手册(V1.0)模块介绍JTT-CC1101是一款工作在300- 348 MHz、387-464 MHz 和779-928 MHz的通用ISM频段的单芯片微功率无线收发模块;是我公司采用高性能的无线射频芯片CC1101以及高精度外围元件开发的一款无线通信模块。
模块采用进口的高精度外围地元件,具有频偏小、抗干扰能力强、灵敏度高、体积小、功耗低、传输距离远的特点,可应用于非常广泛的领域。
应用:车辆监控、遥控、遥测、小型无线网络、无线抄表、楼宇自动化、物流及资产管理、电力安全、智能家居、工业数据采集系统、安全防火系统、无线遥感遥测试系统、机器人控制、无线232\485\422数据通信等。
特点:●体积小巧15mm X 26.5mm●采用高Q值0402封装的进口电感和电容,● 10ppm的高精度贴片晶振●传输距离远,开阔地无干扰视距400米,(具体距离视环境而定)●支持 2-FSK、4-FSK、GFSK、MSK 以及 OOK,灵活的 ASK 波形整形●工作频段:300~348 MHz、387~464 MHz 和 779~928 MHz●高灵敏度(1.2 kBaud、433 MHz、1% 误包率条件下为–112 dBm)●低电流消耗(1.2 kBaud、433 MHz 下 RX 中为 15 mA)●所有支持频率下高达 +12dBm 的可编程输出功率●0.6~500kBaud 的可编程数据速率●高效的 SPI 接口;利用一次“突发”数据传输便可对所有寄存器进行编程● 64 字节发送/接收FIFO●快速的锁定频率合成器以及 90 μs 的建立时间使其适合于许多跳频系统●提供对数据包导向系统的灵活支持;同步字检测、地址校验、灵活的数据包长度以及自动 CRC 处理的片上支持●地址及CRC 检验功能及点对多点通信地址控制●数字 RSSI 输出●可编程信道滤波器带宽●可编程载波监听 (CS) 指示器●可编程前导质量指示器 (PQI),用于随机噪声伪同步字检测增强保护●支持发送前自动空闲信道评估 (CCA)(用于载波监听系统)●支持每个数据包的链路质量指示 (LQI)●可选数据自动白化和去白 (de-whitening)●标准2.54 DIP 间距接口,便于嵌入式应用● 125 个可选工作频道,满足多点通信和跳频通信需要● 1.8V~3.6V的宽工作电压JTT-CC1101模块工作条件符号参数(条件)Min Typ. Max 单位1 Vdd 模块供电电压(直流)1.8 3.3 3.6 V2 所有引脚的电压-0.3 3.3 VDD+ 0.3V3 RF输入电平+10 dBm4 TEMP 工作温度-20 +75℃JTT-CC1101模块电气规范(Vdd = +3V,Vss = 0V,TA =25°C,RF =433M)序号符号参数(条件)Min Typ. Max 单位备注Idle Modes1 数字部件稳压器关闭,保留寄存器值(SLEEP 状态)。
《装备制造技术》2020年第6期0引言城市路网建设日新月异,路灯系统对远程监控的要求日趋提高,采用的通信方式是解决路灯远程监控的关键问题[1]。
近三十年来,我国的路灯监控系统共经历了以下几个阶段:上世纪八十年代的220V 强电有线控制方式;九十年代中期的电话线载波方式;九十年代末期的无线数据传输方式;如今的GPRS/CDMA 等无线传输控制方式[2]。
路灯控制器节点作为具有无线收发功能的终端,是一个多跳自治系统。
它作为监控系统的基本单元,不仅需要作为主机,终端运行各种用户应用程序,还需要作为路由器,运行相应的路由协议[3]。
故路灯控制节点的无线收发装置至关重要,本文中采用的是具有低成本低功耗的无线收发芯片CC1101。
下面详细介绍路灯终端节点的设计,包含节点硬件设计和节点软件设计。
1路灯终端节点硬件设计路灯终端节点的硬件体系结构如图1所示,主要包括MCU 控制模块、CC1101无线收发射频模块、电压电流测量模块、存储模块、电源模块。
其中控制模块是由ARM 结构的LPC2132作为数据采集终端MCU ,支持实时仿真和嵌入式跟踪,带有64KB 的高速Flash 存储器,能够使代码在最大时钟速率下运行。
1.1无线射频模块CC1101设计路灯节点的无线收发模块是基于CC1101无线收发芯片而设计的。
CC1101芯片是一种传输可靠,成本低廉,功耗小的可编程UHF 芯片。
其工作频段可以设置在315MHz 、868MHz 兆赫兹等的ISM 和SRD 频段,比较灵活。
并且,该芯片可以提供数据缓冲、数据包处理,数据传输速率可达到500KBaud ,具有无线唤醒功能,传输最远距离为300~500m ,灵敏度好,可靠性高,可在短距离无线通信领域得到广泛应用[4]。
另外,CC1101芯片具有以下主要性能特点:一是为方便客户不同的要求,可软件修改波特率,具有更强的抗干扰性,更快的数据传输率,更远的传输距离;二是灵敏度高,电流消耗较低,无线唤醒功能;三是具有载波侦听系统,频率跳跃系统,标准间距接口,传输距离可达300~500m [5]。
对于嵌入式系统设计人员来说,在项目启动前对硬件IC评估或者软件开发流程等能有初步仿真测试的话这将大大增加后期系统设计的稳定性、缩短开发周期、预算开发成本等。
本文将介绍如何使用德州仪器(TI)射频评估工具SmartRF Studio实现对CC1101的快速评估与开发。
一、CC1101简介1、概要CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。
电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348MHz、400-464MHz和800-928MHz的其他频率。
RF收发器集成了一个高度可配置的调制解调器。
这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。
通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。
CC1101为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。
CC1100的主要操作参数和64位传输/接收FIFO(先进先出堆栈)可通过SPI接口控制。
在一个典型系统里,CC1101和一个微控制器及若干被动元件一起使用。
CC1101基于0.18微米CMOS晶体的Chipcon的SmartRF04技术。
2、主要特性优秀的接收器选择性和模块化性能极少的外部元件:芯片内频率合成器,不需要外部滤波器或RF转换可编程控制的基带调制解调器理想的多路操作特性可控的数据包处理硬件快速频率变动合成器带来的合适的频率跳跃系统可选的带交错的前向误差校正单独的64字节RX和TX数据FIFO高效的SPI接口:所有的寄存器能用一个“突发”转换器控制OOK和灵活的ASK整型支持2-FSK,GFSK和MSK支持自动频率补偿可用来调整频率合成器到接收中间频率对数据的可选自动白化处理对现存通信协议的向后兼容的异步透明接收/传输模式的支持可编程的载波感应指示器可编程前导质量指示器及在随机噪声下改进的针对同步词汇侦测的保护支持传输前自动清理信道访问(CCA),即载波侦听系统支持每个数据包连接质量指示二、SmartRF Studio简介Smart RF Studio是一个Windows应用程序,用于评估和配置德州仪器(TI)的低功耗射频集成电路。
cc1101 收发函数CC1101是一种常用的低功耗无线收发器芯片,广泛应用于物联网、智能家居等领域。
它具有灵敏度高、功耗低、数据传输速度快等优点,因此备受青睐。
为了充分发挥CC1101的功能,我们需要编写相应的收发函数来实现与其通信。
下面我们来详细介绍一下CC1101的收发函数。
首先,我们需要了解CC1101的寄存器及其作用。
CC1101内部包含多个寄存器,用于设置通信频率、增益、数据格式等参数。
通过读写这些寄存器,我们可以配置CC1101的工作模式,从而实现数据的收发。
在编写收发函数时,需要先初始化CC1101芯片,设置好各个寄存器的初值。
其次,我们需要编写发送数据的函数。
发送数据的过程主要包括将待发送数据写入发送缓冲区、设置发送模式、发送数据等步骤。
在发送数据之前,我们需要根据通信协议规定的格式对数据进行处理,确保发送的数据符合要求。
发送函数的设计要考虑到数据的完整性和可靠性,可以加入校验码、重发机制等措施,以应对可能出现的通信错误。
接着,我们需要编写接收数据的函数。
接收数据的过程主要包括设置接收模式、接收数据、解析数据等步骤。
在接收数据时,需要考虑数据包的格式,确保接收到的数据完整且正确。
接收函数的设计要充分考虑数据处理的效率和准确性,可以根据通信需求对接收数据进行分析和处理。
最后,我们需要编写处理中断的函数。
CC1101芯片支持中断机制,当接收到数据或发送完成时会触发相应的中断。
我们可以编写中断服务函数来处理这些中断事件,例如读取接收缓冲区的数据、发送下一帧数据等。
合理设计中断处理函数可以提高系统的响应速度和效率,确保数据的及时处理和传输。
综上所述,编写CC1101的收发函数是一项复杂而重要的工作。
通过合理设计收发函数,我们可以充分发挥CC1101的通信功能,实现数据的可靠传输和处理。
在实际应用中,需要根据具体的通信需求来设计相应的收发函数,确保系统的稳定性和性能优良。
希望以上介绍能对大家理解和应用CC1101的收发函数有所帮助。
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将会烧毁模块。