打印

IEEE802.15.4在低功耗设计上确实很巧妙

[复制链接]
2369|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
罗菜鸟|  楼主 | 2014-9-25 01:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IEEE802.15.4的休眠设备,在保证既要接收数据,又要低功耗,设计上非常巧妙。
主发消息的设备在有消息发给低功耗设备时,会把消息缓存在MAC层的cache中,低功耗设备唤醒后,会发出一条Data-Request的MAC命令,用于读取发端cache中的数据。发端在收到这条指令后,会与cache中的地址进行匹配。这个匹配是很快的,基本上是命令的地址段到达发端芯片就完成了,发端再回复Data-Request的ACK,ACK是不需要CSMA就能直接发送的,低功耗收端在发完Data-Request的最后一个字节后约768us就能收到ACK的最后一个字节。巧妙之处就在这里,当发端cache有数据发给收端,会在ACK中设置一个标志位。而收端在收到ACK会进行以下判断:无标志位就立即休眠,有标志位就延迟19ms再休眠。也就是说,IEEE802.15.4芯片在唤醒后,通常只工作1~2ms就能再次休眠。

相关帖子

沙发
2009gxs| | 2014-10-5 16:17 | 只看该作者
厉害!
不知道IEEE802.15.4主要用在哪些上面?

使用特权

评论回复
板凳
softradio| | 2014-11-4 11:00 | 只看该作者
看看唤醒的时候锁相环要多久起来?收数据的确很快,比对也很快,问题在接收机的准备时间,这个是目前射频设计的难点。否则按照500kpbs,32-bit的地址,岂不是100us就搞定了?

使用特权

评论回复
地板
罗菜鸟|  楼主 | 2014-11-4 14:03 | 只看该作者
softradio 发表于 2014-11-4 11:00
看看唤醒的时候锁相环要多久起来?收数据的确很快,比对也很快,问题在接收机的准备时间,这个是目前射频设 ...

100us也就是收个帧头,不过对于载波侦听来说,只要有帧头就可以了。如果是要做唤醒判断,最好是做ACK。通常发射的功耗是降不下来,及时降下来都没有意义,就像在张江里面打一个**蛋不能让全国人民喝上**蛋汤。无线低功耗是要去降低接收功耗,减少接收机工作时间,在有数据来的时候才接收数据。

使用特权

评论回复
5
softradio| | 2014-11-12 11:29 | 只看该作者
罗菜鸟 发表于 2014-11-4 14:03
100us也就是收个帧头,不过对于载波侦听来说,只要有帧头就可以了。如果是要做唤醒判断,最好是做ACK。通 ...

看看接收机PLL的锁定时间,就知道100us是多么不靠谱的一个事情了,更不谈本振起振的时间和电源唤醒时间了。降低接收机功耗不仅仅是降低duty cycle,更演进方向现在主要是接收机架构上的。如果还是以来本振起振,锁相环锁定,下变频,再接收的话,这个方向的潜力已经被挖掘了差不多了。另外,唤醒监听严重以来时钟的同步,这个也是演进过程中想要消灭的一个问题。

使用特权

评论回复
6
罗菜鸟|  楼主 | 2014-11-12 15:04 | 只看该作者
softradio 发表于 2014-11-12 11:29
看看接收机PLL的锁定时间,就知道100us是多么不靠谱的一个事情了,更不谈本振起振的时间和电源唤醒时间了 ...

数字通信系统,最重要的东西就是时钟,你没有个MHz级别的定时器,你都不好意思说你的是数字信号无线传输。不能做好定时器的,可以用模拟信号。

使用特权

评论回复
7
softradio| | 2014-11-16 19:27 | 只看该作者
罗菜鸟 发表于 2014-11-12 15:04
数字通信系统,最重要的东西就是时钟,你没有个MHz级别的定时器,你都不好意思说你的是数字信号无线传输 ...

MHz级别的振荡器非常费电

使用特权

评论回复
8
西门看雪| | 2014-11-18 01:05 | 只看该作者
如果很多个低功耗设备向同一个主设备发送Data-Request的MAC命令时,会不会互相冲突,导致主设备无法检测到有效的信息,怎么避免?

使用特权

评论回复
9
罗菜鸟|  楼主 | 2014-11-18 13:53 | 只看该作者
西门看雪 发表于 2014-11-18 01:05
如果很多个低功耗设备向同一个主设备发送Data-Request的MAC命令时,会不会互相冲突,导致主设备无法检测到 ...

CSMA,MAC层自带的,CSMA通常是1,2,4,8……这样增加延时范围的,失败次数越多,下次重试的延时范围更长

使用特权

评论回复
10
武力戡乱| | 2014-11-21 08:19 | 只看该作者
考虑没考虑一个唤醒周期的问题!:lol
不知道你们都做过实际工程项目没!

使用特权

评论回复
11
罗菜鸟|  楼主 | 2014-11-24 13:39 | 只看该作者
武力戡乱 发表于 2014-11-21 08:19
考虑没考虑一个唤醒周期的问题!
不知道你们都做过实际工程项目没!

唤醒周期肯定考虑,关键是可以在唤醒的一段时间内去接收数据

使用特权

评论回复
12
武力戡乱| | 2014-11-25 09:37 | 只看该作者
罗菜鸟 发表于 2014-11-24 13:39
唤醒周期肯定考虑,关键是可以在唤醒的一段时间内去接收数据

我做过一个,唤醒周期,1.89S,占空比为0.195%,平均功耗为40ua。稳定唤醒!!!

使用特权

评论回复
13
极四轴| | 2014-11-25 11:09 | 只看该作者
不错不错!!!!!

使用特权

评论回复
14
罗菜鸟|  楼主 | 2014-11-29 23:34 | 只看该作者
武力戡乱 发表于 2014-11-25 09:37
我做过一个,唤醒周期,1.89S,占空比为0.195%,平均功耗为40ua。稳定唤醒!!! ...

接收电路打开时间是多长?

使用特权

评论回复
15
武力戡乱| | 2014-12-3 23:34 | 只看该作者
1.89*0.00195秒

使用特权

评论回复
16
罗菜鸟|  楼主 | 2014-12-7 23:16 | 只看该作者
武力戡乱 发表于 2014-12-3 23:34
1.89*0.00195秒

你只要保证这段时间内,恰好有载波。唤醒的时候,要制造一个持续超过1.89S的载波,比如2S的载波,可以准确唤醒。

使用特权

评论回复
17
softradio| | 2014-12-10 21:00 | 只看该作者
武力戡乱 发表于 2014-11-21 08:19
考虑没考虑一个唤醒周期的问题!
不知道你们都做过实际工程项目没!

说到点子上了。这个一直是同步无线系统作为低功耗设计的难点。很多年前开了颗料做RF4CE的协议,为保证实时性,需要ms周期性的唤醒激活整个器件,牺牲的是整个系统的平均功耗。目前RF设计还是非常受限在半导体工艺和接收机的架构。

使用特权

评论回复
18
武力戡乱| | 2014-12-10 22:56 | 只看该作者
softradio 发表于 2014-12-10 21:00
说到点子上了。这个一直是同步无线系统作为低功耗设计的难点。很多年前开了颗料做RF4CE的协议,为保证实 ...

咋说呢,开始我是确保一个周期并且最低占空比唤醒(0.195%)绝对唤醒,但是后来不是这么设计了。因为又发现周期,功耗,距离的没兼顾好。这个东西说起来复杂就复杂。但当然了,最头痛的还是协议,稳定,尤其短小的路由协议,这个东西非常值钱的。千万别说zigbee啊,搞470,433,315,并实验过这个协议就知道了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

522

帖子

8

粉丝