CC1310 FH模式广播

Frequency Hopping 特征:
    网络设备在不同频率间切换。基于DFE模式(direct frame exchange WI-SUN FAN spec v1.0),TI 15.4支持无缝隙频道切换。FH模式只有在SUB 1G频带才支持。
FH支持两类设备
    Sleepy End Dev:不自己切换频道,但是跟随collector。所有与此类设备的通信应使用短地址。    
    /*! Rx on when idle, false for sleepy device, true for non sleepy device */
    #define CONFIG_RX_ON_IDLE          false

        这个宏决定设备是否sleepy。
    
    Non-Sleepy End Dev:既可以切换不同频道,又可以使用固定频道。与此类设备通信应使用扩展地址。

广播的实现:

https://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_2_20_00_38/docs/ti154stack/html/ti154stack/frequency-hopping-mode.html#fig-broadcast-sequence 

        
    简单说,在FH下的广播类似于时分复用,每FH_BROADCAST_INTERVAL ms内留下FH_BROADCAST_DWELL_TIME ms的时间用于广播的收发。在此时隙内, End Dev(coordinator也会吧?)都切换到广播频道进行通信,过了这个时隙,又切回单播频率,对于sleepy End dev可能又回去躺尸了(因为人家sleepy嘛)。

广播相关宏:        

/*!
 FH Application Broadcast Msg generation interval in ms.
 Value should be set at least greater than 200 ms,
 */
    #define FH_BROADCAST_INTERVAL          10000//这里应是值每10000ms有一个广播时隙

/*! FH Broadcast dwell time. If set to 0, it shall disable broadcast hopping and
 * broadcast message transmissions in FH Mode */
#define FH_BROADCAST_DWELL_TIME     0  //一个广播时隙占用的时间,为0则表示禁止广播。

        参考 sendBroadcastMsg()写广播发送程序。

再后来发现广播次数很少,如果用广播的话,在sleepy设备上要求每隔一段时间就醒过来等待广播接收,而且要广播快速传出去则间隔时间要越短越好,也就意味着sleepy设备需要频繁地被唤醒以准备接收广播。在广播命令不太多的情况下,这样做是不合理的,因为醒来很多次只不过为了一两次的广播数据,导致系统耗能加重,sleepy end device是电池供电的,划不来。于是换了思路,对每个node 设备发送一次消息好了,反正设备不多,数据不多,不算麻烦,至少节能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值