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多机通信,地址如何识别,如何防干扰?

Other Parts Discussed in Thread: CC1101, SIMPLICITI, CC2500, CC1100, CC1310

大家好!

      小弟最近在学习cc1101点对多点通信,遇到了以下几个问题搞了好久还不知如何解决,请各位大牛们给些指点吧,万分感谢!!!

基本结构:三台cc1101收发设备(3台上位机),每台收发设备各自又独立对接10个cc1101收发设备(10个下位机)。为节省功耗,平时下位机处于“mcu休眠cc1101模块醒着”的状态以侦听上位机下发的信号,如果某个下位机收到对应的上位机在呼叫它,cc1101模块就会中断唤醒mcu,从而建立上下位机的通信。

采用CC1101的GDO0或GDO1中断唤醒MCU

问题:

1、怎样配置GDO0或GDO1产生中断呢?有人说可以配置为0x06,通过侦测到同步字唤醒,这样的话又该如何配置同步字呢,是不是每台设备需配置不同的同步字,如此才能实现对应的两台设备独立通信而不干扰其它设备。

2、如何屏蔽其它设备的干扰?当一台上位机向与之对接的10个下位机中的一个发送唤醒指令时,是不是会同时唤醒其它9个下位机甚至会唤醒与之距离不远的其它下位机?

3、cc1101的地址滤波功能的实现与MCU有关吗?在MCU休眠的时候通过cc1101的地址滤波功能是否可以实现单对单通信,比如我的1号上位机要与与之对接的2号下位机通信,在向2号下位机下发唤醒指令时,在mcu休眠的时候可以使用地址滤波识别各个不同的下位机吗?

  • 有参考TI CC1101 WOR (Wake-On-Radio) 的文档和SimpliciTI 协议吗? 

  • 对于你的第一个问题,答案在 AN047 "CC1100/CC2500 - Wake-On-Radio"。

    也就是说设置 RX_TIME_QUAL = 0。

    3.3.2 RX_TIME_QUAL
    When RX_TIME_QUAL= 0, the radio will stay in RX when the RX_TIMEtimer expires if a sync
    word is found. When RX_TIME_QUAL= 1, the radio stays in RX mode if a sync word is found
    or the preamble quality threshold is reached (PKTSTATUS.PQT_REACHED= 1). This
    threshold can be programmed using PKTCTRL1.PQT[2:0]and the higher the threshold, the
    smaller is the chance of receiving a false packet.

  • 通过这几天的逛论坛,基本了解了些,谢谢您的解答!我现在遇到了一个问题,就是在配置了以下两个程序后cc1101无法进入休眠,电流有十几mA,请问休眠该怎样配置,是不是需要在下面程序的后面人为将CSN拉高呢?

    halSpiStrobe(CCxxx0_SXOFF); //关闭晶振      

    halSpiStrobe(CCxxx0_SPWD);//当csn高电平时进入断电模式

  • 前辈,您好!

         请问您的这个CC1101多点通信问题解决了吗?能不能传授下经验,现在我也面临着这个问题呢。多谢!

  • 你好,我最近也在做这个,也有同样的疑问,请问你是怎么解决的,能否指教一二,谢谢了

  • 你好!我没有找到很好的方法,用了比较笨的方法。在处理多机时,先给每个CC1101进行编号,当通信时先发编号确认;在处理干扰时,先多次测量背景噪声下RSSI,然后把此RSSI设为阈值,当工作的时候,只接受大于此RSSI的值,小于的直接忽略掉。

  • 你好,能否加个扣扣,请教一下1982776405

  • 你好,cc1101无线模块可以实现多点对一通信了吗?我现在也在研究cc1101模块,前辈能不能指教一下,我的qq:975437585

  • CC1101是标准的RF Transceiver, 本身不带协议栈的。

    如果要实现组网,需要在MCU里面做协议栈的。

    你如果想实现星型网络,可以选择基于CC1310的TI15.4 stack。http://www.ti.com/lit/ug/swru489a/swru489a.pdf

    BR.AZ

  • cc1101可以直接移植这个协议栈吗?simpliciTI协议栈与这个协议栈有什么区别?

x 出现错误。请重试或与管理员联系。