|
【TI 无线主题征集】+CC1100无线开发平台
[复制链接]
本帖最后由 mikeliujia 于 2014-12-7 23:31 编辑
用过TI的CC1100和CC2430,这里分享下ATmega16L+CC1100的无线开发平台,其实这个平台不仅仅可以使用CC1100进行无线开发,还能使用CC2500,nRF2401,nRF24L01进行无线开发,下面是开发平台实物图和电路原理图。
首先介绍下CC1100,CC1100是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348 MHz、400-464 MHz和800-928 MHz的其他频率。其RF收发器集成了一个高度可配置的调制解调器。这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。CC1100的主要操作参数和64位传输/接收FIFO(先进先出堆栈)可通过SPI接口控制。在一个典型系统里,CC1100和一个微控制器及若干被动元件一起使用。在这个无线开发平台上主要将CC1100和ATmega16及若干温度、光敏、红外传感器等配合起来使用。 下面介绍CC1100寄存器的配置,及CC100无线模块的电路原理图和PCB图 - //****************************************************************************
- //ILLUMINATE: 配置CC1100寄存器
- //****************************************************************************
- void WRITERFSETTINGS(void)
- {
- SPIWRITEREG(TI_CC1100_IOCFG2,0x2E); //( 0x2E)高阻抗,3状态
- SPIWRITEREG(TI_CC1100_IOCFG1,0x2E); //( 0x2E)高阻抗,3状态
- SPIWRITEREG(TI_CC1100_IOCFG0,0x06); //( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet
- SPIWRITEREG(TI_CC1100_FIFOTHR,0x07); //设置接收、发送缓冲区门限:发送缓冲区为33;接收缓冲区为32
- SPIWRITEREG(TI_CC1100_SYNC1,0xD3); //设置同步字高字节为0xD3
- SPIWRITEREG(TI_CC1100_SYNC0,0x91); //设置同步字低字节为0x91
- SPIWRITEREG(TI_CC1100_PKTLEN,0x3D); //设置通讯包最大长度为61个字节
- SPIWRITEREG(TI_CC1100_PKTCTRL1,0x04); //设置数据包后面包含两个状态字节,无地址检测
- SPIWRITEREG(TI_CC1100_PKTCTRL0,0x45); //设置数据白化开启;正常模式,通过FIFOS发送接收;CRC检测有效;设置为可变数据包长度
- SPIWRITEREG(TI_CC1100_ADDR,0x00); //设置模块地址为0X00
- SPIWRITEREG(TI_CC1100_CHANNR,0x00); //设置CHANNEL NUMBER为0X01
- SPIWRITEREG(TI_CC1100_FSCTRL1,0x06); //设置频率合成器控制寄存器,STUDIO软件自动生成
- SPIWRITEREG(TI_CC1100_FSCTRL0,0x00); //设置频率合成器控制寄存器
- SPIWRITEREG(TI_CC1100_FREQ2,0x10); //RF频率为433MHZ
- SPIWRITEREG(TI_CC1100_FREQ1,0xA7); //RF频率为433MHZ
- SPIWRITEREG(TI_CC1100_FREQ0,0x62); //RF频率为433MHZ
- SPIWRITEREG(TI_CC1100_MDMCFG4,0xC9); //配置RF滤波带宽为100KHZ,波特率19200
- SPIWRITEREG(TI_CC1100_MDMCFG3,0x83); //配置通讯波特率为9.6kps
- SPIWRITEREG(TI_CC1100_MDMCFG2,0x0B); //设置调制模式为FSK,使能人工调制,同步字设置16位检测模式
- SPIWRITEREG(TI_CC1100_MDMCFG1,0x22); //设置前向纠错检测FEC无效,设置前导字节数为2,
- SPIWRITEREG(TI_CC1100_MDMCFG0,0xF8); //设置信道空间为199.951kHZ
- SPIWRITEREG(TI_CC1100_DEVIATN,0x34); //配置频率偏移为19KHZ
- SPIWRITEREG(TI_CC1100_MCSM2,0x03); //Trxtimeout=14ms
- SPIWRITEREG(TI_CC1100_MCSM1,0x30); //主通讯控制状态机配置,Return to IDLE state upon leaving either TX or RX
- SPIWRITEREG(TI_CC1100_MCSM0,0x18); //主通讯控制状态机配置,每4次IDLE到RX状态切换自动校准一次
- SPIWRITEREG(TI_CC1100_FOCCFG,0x16); //频率偏移补偿配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_BSCFG,0x6C); //位同步配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_AGCCTRL2,0x43); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_AGCCTRL1,0x40); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_AGCCTRL0,0x91); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_WOREVT1,0x19); //高字节事件0 工作暂停,设置Tevent0=6秒钟 0D AN
- SPIWRITEREG(TI_CC1100_WOREVT0,0x64); //高字节事件0 工作暂停,设置Tevent0=6秒钟 80 AN
- SPIWRITEREG(TI_CC1100_WORCTRL,0xF9); //WOR控制设置,使能RC校准,WOR_RES = 1
- SPIWRITEREG(TI_CC1100_FREND1,0x56); //前端RX配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FREND0,0x10); //前端TX配置,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FSCAL3,0xA9); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FSCAL2,0x2A); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FSCAL1,0x00); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FSCAL0,0x11); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_FSTEST,0x59); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_PTEST,0x7F); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_AGCTEST,0x3F); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_TEST2,0x81); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_TEST1,0x35); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(TI_CC1100_TEST0,0x0B); //频率合成器校准,值由SmartRF Studio软件给出
- SPIWRITEREG(0x2f,0x00); //FSCAL0 寄存器地址通过W寄存器放到SPIADDR
- }
复制代码
下面介绍一个通过ATmega16L+CC1100+光敏电阻+蜂鸣器实现的远程无线光强采集报警系统,此处通过ATmega16L的AD采集光敏电阻的电压值,通过按键实现光强的上下限设定,按键具体操作: 就是按一下KEY1,上限就加一,按住不放,就一直加 就是按一下KEY2,上限就减一,按住不放,就一直减 KEY3,KEY4用来设定下限,加减原理同上。 Nokia 5110 LCD可以显示这些数据,同时用一根串口线,接到电脑上通过串口调试工具可以直接看到发送的数据。 程序编译环境: AVR Studio 4.13 SP2& 4.15 + WINAVR 2.0.7.667
|
赞赏
-
1
查看全部赞赏
-
|