微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530 BasicRF 通讯协议的问题

CC2530 BasicRF 通讯协议的问题

时间:10-02 整理:3721RD 点击:

         您好!这几天一直在试用针对点对点的BasicRF点灯程序,但不知为何程序会不定期的死机,有时半天都没事,有时1个小时后就出现故障,只要手动复位一下发送端才正常,程序我也只是改动了不是用来点灯而是发射数据流。

          *  发送端 :以10MS的延时间隔把8个字节的有效载荷不间断发送出去,一旦收到接收端的成功应答帧后转入接收模式,延时循环等待接收端发来的有效载荷数据,在规定时间内收没收到接收端发来的数据都会重新进入发送循环。

          *  接收端  :从上电一直处在接收状态,当收到发送端的8字节有效载荷数据后取反一次LED(收到指示)并通过串口打印出来,然后立即向发送端发送3个字节的有效载荷数据,在规定时间内收没收到发送端 的应答都会重新进入接收循环。

         !有时在发了几百万和字节后就出现收不到数据了,接收端的LED不闪,串口也无数据,用抓包看到发送端还不停地再发但接收端只做应答(它们的帧序号都一样),只有复位发送端其才又开始正常通讯,我这几天的大概想法是,因为发送端的BUG造成发送端帧序号的不变,也就造接收端不停地丢包不处理,这可以理解,但是什么原因照成发送端在成功发一帧后帧序号不++呢?请前辈们指点,谢谢!

请到ZigBee版面提问,并说明你用的是什么板子?有无采用TI的评估板验证软件?

这几天检查好像只要禁止帧过滤就好了,但所有在同信道的它机信号都会引发进入接收中断,请老师指点?

所有同一道的信号都会进入中断,这个是无法避免的。

所有CC2530捕获的前导码和同步字都是一样,而且对信号的调制和解调方式也都一样,所以在同一个信道都能捕获到这些信号,进入中断。

在进入中断以后如果不是自己想要接收的数据帧,直接丢弃就可以了。

您好!我还想问个问题,在下面这个发送帧与空闲信道评估的函数里,没发现空闲信道评估的代码,请问如何添加呢,因为我的设计中可能会同时有100个子节点向一个主节点发数据,没用到组网的协议栈,就是简单的BasicRF协议。

uint8 halRfTransmit(void)

 {   

      uint8 status;     ISTXON();    

      while(!(RFIRQF1 & IRQ_TXDONE));   

      RFIRQF1 = ~IRQ_TXDONE;            

      status = SUCCESS;       

      return status;

 }

您好!我想问个问题,在BasicRF里有个发送帧与空闲信道评估的函数里,没发现空闲信道评估的代码,请问如何添加呢,因为我们公司这个系统里会有几千个子节点存在,但在同一时间只会有上百个子节点向一个主节点发数据(每个子节点发送给主节点的净载荷为8个字节,主节点回传4个字节),谁先完成一次通信就先进入长期睡眠(10秒)没完成的间隔1秒后重发直到完成一次通信。没用到组网的协议栈,就是简单的BasicRF协议,试了几个同时还行,多了就会通信时间很长(有对冲),请指点谢谢!

uint8 halRfTransmit(void)

{  

      uint8 status;     ISTXON();   

      while(!(RFIRQF1 & IRQ_TXDONE));  

      RFIRQF1 = ~IRQ_TXDONE;           

      status = SUCCESS;      

      return status;

}

最近我也在做CC2530  CCA相关的功能,多个子节点同时给一个父节点发送数据的时候,经常会造成信道阻塞,想在发送数据前加个CCA的功能,判断信道是否为空闲,空闲就发数据,不空闲就等待几十毫秒,然后再判断信道是否空闲,最大判断次数为3次,如果3次之后还不空闲,就进入休眠,看了好几遍的数据手册,都没看出个大概来怎么操作,一头雾水,TI也没有提供一个示例,不知道楼主这个问题是怎么解决的,可否给些指导?

去TI官网下载Simiplici TI,下面这个函数里面有实现CCA的功能,可以参考下。

http://www.ti.com/tool/SIMPLICITI?keyMatch=SimpliciTI&tisearch=Search-EN-Everything 

uint8_t MRFI_Transmit(mrfiPacket_t * pPacket, uint8_t txType)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top