目前,还在有人跟我争论WSN的硬件结点应该是选用低功耗MCU芯片还是高功耗ARM芯片的问题. 我想, 这对我们的未来应该不是个问题. 但争论的人多了, 所以作为OpenWSN的发起者, 我也不得不公开的表明我的观点, 也算作是OpenWSN Project的观点.
需求是WSN领域能否获得发展的最终决定因素.客观地说,经过99-05年的发展,特别是众多高校的参与,许多基本问题已经有了解决方案,尽管还不完美,但是毕竟可以满足相当多实际应用的需求.在这个阶段,如果不能满足需求,仍沉迷于纯粹的paper,我想是不合适的.(尽管我本人非常希望重新回去写写paper)
所以满足实际需求是根本,对这一点怎么强调都不为过.OpenWSN不同于TinyOS,TinyOS是学术界用于验证前瞻性idea的测试温床,而OpenWSN尽管目前着重在高校应用,但本质上是为了提供工业界一个Robust的可实际应用的软硬件平台.Crossbow公司自己用于实际应用的产品并没有采用TinyOS不是很能说明这个问题吗?
由此出发,能够满足需求的方案既可,又何必过多的争论它是采用MCU还是ARM呢?特别是争论Atemel好还是TI MSP430好更没有必要,每个产品都各有特点,我们选自己熟悉欣赏的用就好.
客观上看,8bit的MCU在静态功耗上确实比32 bit的ARM要低,ARM再低恐怕也难以达到MSP430的水平,但是就动态功耗而言,情形却未必.一是ARM的处理性能高,对复杂的任务可以争取到短的时间然后就进入休眠,功耗管理是个涉及各个层次的系统级问题,所以单纯争论MCU选型意义并不大.选型的问题在我眼里更多是个人偏好的问题,比如说,我喜欢和熟悉430,那就优先选430好了,没关系.二是为了满足需求对性能的要求,有时我们也不得不放弃MCU而选用更高性能的解决方案.OpenWSN项目开始的时候之所以采用ARM就是为了满足处理image数据的需求,总不能硬性的让我倒退回去,非得采用MCU吧!而且,一个性能较高的方案具有较多的性能余量,方便实验研究,何必在性能上把自己的脖子卡得那么紧呢?Standford 在2006下发过一篇会议文章,叙述了他们基于Atmel ARM7芯片的结点设计,只可惜我们从2005起步,慢了一些.Crossbow官方网站上叙述了Intel在BP轮船上的实验,为了满足信号处理对性能的要求,最后也是放弃MCU,而采用Xscale方案.不也很正常吗?
所以,在今天这样一个WSN发展的新阶段,还去争论这些意义不大.而且,我可以很明确地说,超高性能和超低功耗都可以在实际应用中找到很好的用途,我们不必太经院式的执著于WSN的经典定义.
由此,OpenWSN项目不会约束你究竟采用高性能方案还是低功耗方案,还是二者并存.它只强调两点:一是硬件和软件接口标准化,各家方案尽可能互联互通;二是提供基础软件平台实现,至于怎么用,则完全取决于使用者,满足应用需求即可.所以我们看到,OpenWSN目前的工作几乎不涉及上层应用,而着重在底层基础软件部分.我希望这部分将来能演化成一个独立的Sensor OS.至于对功耗关心的朋友,我希望能够转移你们的注意力在Energy Collection或Energy Generator上面,希望在这方面能有一个OpenWSN的子项目出现.我想这一点意义重大.如果有兴趣的话,可以和我联系.
当然,现阶段的OpenWSN硬件实现是采用了ARM7芯片,相对于绝大多数MCU方案而言,这是一个追求Performance的方案,比如说用于研究Mesh Networks,但这并不排斥那些低功耗方案.就是这样.牢记一切以满足需求为根本出发点.
.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment