This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1101:CC1101:一个发送器和两个接收器

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1101

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/743692/cc1101-cc1101-one-transmitter-and-two-receivers

器件型号:CC1101

您好!

我在 CC1101上遇到问题:

在我的应用中 、如果我有一个发送器和一个接收器、它就可以工作! 如果我有两个接收器、Rx1正常工作、Rx2否、它接收发往接收器1的消息、而不是其消息。

这可能是 RX_FLUSH 的问题? 或者、我阅读这些消息的速度是否缓慢?

   0x06、   //IOCFG2 - GDO2输出引脚配置
   0xAE、   //IOCFG1 - GDO1输出引脚配置
   0x06、   //IOCFG0 - GDO0输出引脚配置
   0x0F、   //FIFOTHR - RXFIFO 和 TXFIFO 阈值。
   0xD3、   //SYNC1 - SYNC1
   0x91、   //SYNC0 - SYNC0
   0x3D、   //PKTLEN -数据包长度。
   0x04、   //PKTCTRL1 -数据包自动化控制。
   0x05、   //PKTCTRL0 -数据包自动化控制。
   0x00、   //ADDR -器件地址。    
   0x00、   //CHANNR -通道编号。
   0x06、   //FSCTRL1 -频率合成器控制。
   0x00、   //FSCTRL0 -频率合成器控制。
   0x20、   //FREQ2 -频率控制字、高字节。
   0x28、   //FREQ1 -频率控制字、中间字节。
   0xC5、   //FREQ0 -频率控制字、低字节。
   0xCA、   //MDMCFG4 -调制解调器配置。
   0x75、   //MDMCFG3 -调制解调器配置。
   0x03、   //MDMCFG2 -调制解调器配置。
   0x42、   //MDMCFG1 -调制解调器配置。
   0xE5、   //MDMCFG0 -调制解调器配置。
   0x34、   //DEVIATN -调制解调器偏差设置(启用 FSK 调制时)
   0x07、   //MCSM2 -主无线电控制状态机配置
   0x20、   //MCSM1 -主无线电控制状态机配置
   0x18、   //MCSM0 -主无线电控制状态机配置
   0x16、   //FOCCFG -频率偏移补偿配置。
   0x6C、   //BSCFG -位同步配置。
   0x43、   //AGCCTRL2 - AGC 控制。
   0x40、   //AGCCTRL1 - AGC 控制。
   0x91、   //AGCCTRL0 - AGC 控制。
   0x87、   //WOREVT1
   0x6B、   //WOREVT0
   0xf8、   //WORCTRL
   0x56、   //FREND1-前端 RX 配置。
   0x10、   //FREND0 -前端 RX 配置。
   0xE9、   //FSCAL3 -频率合成器校准。
   0x2A、   //FSCAL2 -频率合成器校准。
   0x00、   //FSCAL1 -频率合成器校准。
   0x1f、   //FSCAL0 -频率合成器校准。
   0x41、   //RCCTRL1
   0x00、   //RCCTRL0
   0x59、   //FSTEST -频率合成器校准控制
   0x7f、   //ptest
   0x36、   //AGCTEST
   0x88、   //TEST2 -各种测试设置。
   0x31、   //TEST1 -各种测试设置。
   0x0B、   //TEST0 -各种测试设置。
   0x00   //PARTNUM;

有人可以帮帮我吗?

谢谢

伊沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从您发布的设置中、我看不到您已打开地址筛选。 您打算如何实现 RX1和 RX2仅接收寻址到 RX1或 RX2的数据包?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、
    非常感谢您的帮助!!!
    我已经解决了我的问题、现在是西斯干的工作! 问题是 GDO 设置。 当 CC1101处于传输模式时、GDO 电平必须处于上升模式、当它处于接收模式时、GDO 必须处于下降模式、这是否正确?
    我不知道、我在网络示例上发现了这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我还有另一个问题:我的系统具有电池容量、并且功耗必须很低。

    我使用 WOR 模式、工作正常...但正如您注意到的、我不使用地址字节、因为在有效载荷中、我使用4字节来寻址消息、但每次传输都会唤醒所有接收器。 如果我使用地址字节、如何仅在数据包路由到正确的接收器时唤醒接收器?

    在进入 WOR 模式之前、我以这种方式更改该寄存器:

       ///----------------------------------
       CC1101_SpiWriteReg (CC1101_MCSM2、0x10);
      
       CC1101_SpiWriteReg (CC1101_WOREVT1、0x0E);
       CC1101_SpiWriteReg (CC1101_WOREVT0、0x20);

       ///----------------------------------
       CC1101_SpiWriteReg (CC1101_WORCTRL、0x30);
       calib1 = CC1101_SpiReadReg (CC1101_RCCTRL1_STATUS);
       calib0 = CC1101_SpiReadReg (CC1101_RCCTRL0_STATUS);
       CC1101_SpiWriteReg (CC1101_RCCTRL1、calib1);
       CC1101_SpiWriteReg (CC1101_RCCTRL0、calib0);
       CC1101_SpiWriteReg (CC1101_IOCFG0、0x0E);
     
       CC1101_SpiStrobe (CC1101_SWORRST);
       CC1101_SpiStrobe (CC1101_SWOR);

    我已配置 IOCFG0 = 0x0E、因为其他设置(0x0F 或0x06)不会唤醒 CC1101。

    可以帮帮我吗?

    谢谢

    伊沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    WOR 基本上意味着您以给定的间隔唤醒并检查通道上是否有信号。 要查看数据包是否发送到给定节点、节点必须接收数据包、但如果使用地址过滤、CC1101将不会唤醒 MCU、数据包也不会存储在 FIFO 中。 www.ti.com/.../swra126b.pdf 中对此进行了介绍

    "唤醒 CC1101 "是什么意思、因为这些信号是输出? 0x0E 是载波侦听、但当它被置为有效时、您是否收到了数据包?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "由于 这些信号是输出、因此"唤醒 CC1101 "是什么意思?"

    我的 MCU 可管理多种器件(电机、编码器、RS232、按钮...和 CC1101)。 当应用程序停止时、微控制器进入睡眠状态;每个器件 通过中断自主唤醒 MCU。

    当 MCU 处于睡眠状态时、CC1101处于 WOR 模式。 当有混乱的无线电时、GDO 信号唤醒 MCU、CC1101进入接收模式。

    0x0E 是载波侦听、但当它被置为有效时、您是否收到了数据包?

    是的、当此消息被置为有效时、我收到了消息、但将 GDO 信号置于 wor 模式的唯一方法是设置事件0x0E (载波侦听)? 使用此设置时、如果我有多个接收器、所有接收器都将退出睡眠模式、并且运行 mode...can 我仅唤醒正确的接收器(当包裹发送给他时)?

    谢谢

    伊沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能说什么
    -发送前导码的时间
    -数据速率
    -您希望唤醒的频率

    另外、尝试获取 TX 和 RX 端的 PA_EN 和 LNA_EN 信号、以检查 TX 发送数据时您是否实际处于 RX 中。 如果使用0x0E 获得正确的数据包内容、则设置0x06也应将该引脚置为有效。