CC1100无线模块使用说明_第1页
CC1100无线模块使用说明_第2页
CC1100无线模块使用说明_第3页
CC1100无线模块使用说明_第4页
CC1100无线模块使用说明_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CC1101无线模块使用说明书目录1.功能介绍22.引脚说明33.通信协议44.指令集54.1.芯片状态字节54.2配置寄存器55.操作函数75.1操作步骤85.2.函数81)读写一个字节82)写命令84)读取配置95)写入一串数据96)读取一串数据97)发送一组数据108)接收一组数据109)初始化配置1110)设置接收模式1211)设置发送模式121. 功能介绍1.1. 射频 (RF) 性能:1)采用 TI 最新的 CC110L 无线射频芯片,软件完全兼容 CC1100,CC1101,相比于前两者,CC110L 芯片更专注核心部分,因此更稳定2)接收灵敏度低至 116 dBm(在 1 kb

2、ps 数据速率下,典型状态下-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)最大发射功率:+10d

3、Bm,最大发射电流 30mA,持续接收电流约 16mA3)快速启动时间:240 uS(从睡眠模式到接收 RX 模式或发送TX模式)4)快速切换:模块在接收 RX和发射TX模式切换时间 < 1ms1.4. 接口及传输特性:1)采用标准 2.54mm 间距双排针接口方式。可以和我公司出品的 CC1100 系列微功率模块、USB 接口/串口模块、RFC-1100H 大功率模块等互相通信、组网工作2)配置标配 5CM 胶棒天线,直线可视通讯距离可达 250-300 米;配置弹簧天线,直线可视通信距离 200 米(距离与测试环境、放置高度、波特率设置甚至天气等都息息相关)采用高增益天线,可以使通信

4、距离更远2. 引脚说明(1) VCC脚接电压范围为 1.9V-3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V左右。(2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。(3) 硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了。(4) 9脚,10脚为接地脚,需要和母板的逻辑地连接起来(5) 排针间距为100mil/2.54mm,标准DIP插针,此外我们还有2.0mm单排针和贴片焊接方式的版本

5、。(6) 与51系列单片机P0口连接,需要加10K的上拉电阻,与其余口连接不需要。(7) 其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V的,可以直接和RF1100SE模块的IO口线连接。引脚编号引脚名引脚类型描述1,2VCC电源输入1.9V-3.6V之间3SI数据输入连续配置接口(SPI接口),数据输入4SCLK时钟输入连续配置接口(SPI接口),时钟输入5SO(GD01)数据输出连续配置接口(SPI接口),数据输出当CSn为高时为可选的一般输出脚6GDO2数字输出一般用途的数字输出脚: 测试信号FI

6、FO状态信号时钟输出,从XOSC向下分割连续输入TX数据7CSn数字输入连续配置接口(SPI接口),芯片选择8GDO0数字输出一般用途的数字输出脚:测试信号FIFO状态信号时钟输出,从XOSC向下分割连续输入TX数据,也用作产品测试的模拟测试I/O9,10GND地(模拟)模拟接地3. 通信协议所有配置字都是通过SPI接口送给CC110L。SIP接口的工作方式可通过SPI指令进行设置。SPI 读/写操作参数 描述 最小值 最大值 单位FSCLK SCLK频率 0 10 MHztsp,pd CSn低到SCLK的正边缘,功率降低模式下 150- ustsp CSn低到SCLK的正边缘,活动模式下 2

7、0 - nstch 时钟高 50 - nstcl 时钟低 50 - nstrise 时钟上升时间 - 5nstfall 时钟上升时间 - 5 nstsd 向SCLK的正边缘建立数据 76- nsthd 在SCLK的正边缘之后保持数据 20- nstns SCLK到CSn高时的负边缘 20- ns4. 指令集4.1. 芯片状态字节比特名称描述7CHIP_RDYn保持高,直到功率和晶体已稳定。当使用SPI接口时应始终为低。6:4STATE2:0表明当前主状态模式值状态描述000空闲空闲状态001RX接收模式010TX发送模式011FSTXON快速TX准备100校准频率合成器校准正运行101迁移PL

8、L正迁移110RXFIFO_OVERFLOWRX FIFO已经溢出,读出任何有用数据,然后用SFRX冲洗FIFO111TXFIFO_OVERFLOWTX FIFO已经下溢,同SFTX应答3:0FIFO_BYTES_AVAILABLE3:0TX FIFO中的自由比特数。若FIFO_BYTES_AVAILABLE=15,它表明有15或更多个比特是可用/自由的。4.2配置寄存器地址 寄存器 描述 保存在休眠状态中 0x00 IOCFG2 GDO2输出脚配置 Yes 0x01 IOCFG1 GDO1输出脚配置 Yes 0x02 IOCFG0 GDO0输出脚配置 Yes 0x03 FIFOTHR RX

9、FIFO和TX FIFO门限 Yes 0x04 SYNC1 同步词汇,高字节 Yes 0x05 SYNC0 同步词汇,低字节 Yes 0x06 PKTLEN 数据包长度 Yes 0x07 PKTCTRL1 数据包自动控制 Yes 0x08 PKTCTRL0 数据包自动控制 Yes 0x09 ADDR 设备地址 Yes 0x0A CHANNR 信道数 Yes 0x0B FSCTRL1 频率合成器控制 Yes 0x0C FSCTRL0 频率控制词汇,高字节 Yes 0x0D FREQ2 频率控制词汇,中间字节 Yes 0x0E FREQ1 频率控制词汇,低字节 Yes 0x0F FREQ0 调制器

10、配置 Yes 0x10 MDMCFG4 调制器配置 Yes 0x11 MDMCFG3 调制器配置 Yes 0x12 MDMCFG2 调制器配置 Yes 0x13 MDMCFG1 调制器配置 Yes 0x14 MDMCFG0 调制器背离设置 Yes 0x15 DEVIATN 主通信控制状态机配置 Yes 0x16 MCSM2 主通信控制状态机配置 Yes 0x17 MCSM1 主通信控制状态机配置 Yes 0x18 MCSM0 频率偏移补偿配置 Yes 0x19 FOCCFG 位同步配置 Yes 0x1A BSCFG AGC控制 Yes 0x1B AGCTRL2 AGC控制 Yes 0x1C A

11、GCTRL1 AGC控制 Yes 0x1D AGCTRL0 高字节时间0暂停 Yes 0x1E WOREVT1 低字节时间0暂停 Yes 0x1F WOREVT0 电磁波激活控制 Yes 0x20 WORCTRL 前末端RX配置 Yes 0x21 FREND1 前末端TX配置 Yes 0x22 FREND0 频率合成器校准 Yes 0x23 FSCAL3 频率合成器校准 Yes 0x24 FSCAL2 频率合成器校准 Yes 0x25 FSCAL1 频率合成器校准 Yes 0x26 FSCAL0 RC振荡器配置 Yes 0x27 RCCTRL1 RC振荡器配置 Yes 0x28 RCCTRL0

12、 频率合成器校准控制 Yes 0x29 FSTEST 产品测试 No 0x2A PTEST AGC测试 No 0x2B AGCTEST 不同的测试设置 No 0x2C TEST2 不同的测试设置 No 0x2D TEST1 不同的测试设置 No 0x2E TEST0 No 5. 操作函数5.1操作步骤5.1.1.发射模式1)芯片初始化2)设置为发射模式3)发送数据4)检测是否发送成功5.1.2.接收模式1)芯片初始化2)设置为接收模式3)检测到接收信号4)读取数据寄存器5.2.函数1)读写一个字节INT8U SpiTxRxByte(INT8U dat)INT8U i,temp;temp = 0

13、;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;2)写命令void halSpiStrobe(INT8U strobe) CSN = 0; while (MISO); SpiTxRxByte(strobe);/写入命令 CSN = 1;3)写入配置void halSpiWriteReg(I

14、NT8U addr, INT8U value) CSN = 0; while (MISO); SpiTxRxByte(addr);/写地址 SpiTxRxByte(value);/写入配置 CSN = 1;4)读取配置INT8U halSpiReadReg(INT8U addr) INT8U temp, value; temp = addr|READ_SINGLE;/读寄存器命令CSN = 0;while (MISO);SpiTxRxByte(temp);value = SpiTxRxByte(0);CSN = 1;return value;5)写入一串数据void halSpiWriteBu

15、rstReg(INT8U addr, INT8U *buffer, INT8U count) INT8U i, temp;temp = addr | WRITE_BURST; CSN = 0; while (MISO); SpiTxRxByte(temp); for (i = 0; i < count; i+) SpiTxRxByte(bufferi); CSN = 1;6)读取一串数据void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count) INT8U i,temp;temp = addr | READ_BURST;

16、/写入要读的配置寄存器地址和读命令 CSN = 0; while (MISO);SpiTxRxByte(temp); for (i = 0; i < count; i+) bufferi = SpiTxRxByte(0); CSN = 1;7)发送一组数据void halRfSendPacket(INT8U *txBuffer, INT8U size) halSpiWriteReg(CCxxx0_TXFIFO, size); halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);/写入要发送的数据 halSpiStrobe(CCxxx0_S

17、TX);/进入发送模式发送数据 / Wait for GDO0 to be set -> sync transmitted while (!GDO0); / Wait for GDO0 to be cleared -> end of packet while (GDO0);halSpiStrobe(CCxxx0_SFTX);8)接收一组数据INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length) INT8U status2; INT8U packetLength;INT8U i=(*length)*4; / 具体多少要根据da

18、tarate和length来决定 halSpiStrobe(CCxxx0_SRX);/进入接收状态/delay(5); /while (!GDO1); /while (GDO1);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 <

19、;= *length) /如果所要的有效数据长度小于等于接收到的数据包的长度 halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength); /读出所有接收到的数据 *length = packetLength;/把接收数据长度的修改为当前数据的长度 / Read the 2 appended status bytes (status0 = RSSI, status1 = LQI) halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2); /读出CRC校验位halSpiStrobe(CCxxx0_SFRX)

20、;/清洗接收缓冲区 return (status1 & CRC_OK);/如果校验成功返回接收成功 else *length = packetLength; halSpiStrobe(CCxxx0_SFRX);/清洗接收缓冲区 return 0; else return 0;9)初始化配置void halRfWriteRfSettings(void) halSpiWriteReg(CCxxx0_FSCTRL0, rfSettings.FSCTRL2);/ Write register settings halSpiWriteReg(CCxxx0_FSCTRL1, rfSettings.

21、FSCTRL1); halSpiWriteReg(CCxxx0_FSCTRL0, rfSettings.FSCTRL0); halSpiWriteReg(CCxxx0_FREQ2, rfSettings.FREQ2); halSpiWriteReg(CCxxx0_FREQ1, rfSettings.FREQ1); halSpiWriteReg(CCxxx0_FREQ0, rfSettings.FREQ0); halSpiWriteReg(CCxxx0_MDMCFG4, rfSettings.MDMCFG4); halSpiWriteReg(CCxxx0_MDMCFG3, rfSettings.

22、MDMCFG3); halSpiWriteReg(CCxxx0_MDMCFG2, rfSettings.MDMCFG2); halSpiWriteReg(CCxxx0_MDMCFG1, rfSettings.MDMCFG1); halSpiWriteReg(CCxxx0_MDMCFG0, rfSettings.MDMCFG0); halSpiWriteReg(CCxxx0_CHANNR, rfSettings.CHANNR); halSpiWriteReg(CCxxx0_DEVIATN, rfSettings.DEVIATN); halSpiWriteReg(CCxxx0_FREND1, rf

23、Settings.FREND1); halSpiWriteReg(CCxxx0_FREND0, rfSettings.FREND0); halSpiWriteReg(CCxxx0_MCSM0 , rfSettings.MCSM0 ); halSpiWriteReg(CCxxx0_FOCCFG, rfSettings.FOCCFG); halSpiWriteReg(CCxxx0_BSCFG, rfSettings.BSCFG); halSpiWriteReg(CCxxx0_AGCCTRL2, rfSettings.AGCCTRL2);halSpiWriteReg(CCxxx0_AGCCTRL1, rfSettings.AGCCTRL1); halSpiWriteReg(CCxxx0_AGCCTRL0, rfSettings.AGCCTRL0); halSpiWriteReg(CCxxx0_FSCAL3, rfSettings

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论