关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

传感器节点控制器助力未来连网传感器(三)

2020.10.26

降低编程复杂度
上面提到过,使用集成的传感器节点控制器时面临的最大挑战之一,是确保基础系统功能的编程、调试和充分利用与采用通用MCU的方案一样简单。挑战的主要方面有:

- 提供对开发人员友好的抽象编程,以有效控制驱动与连接的传感器/外设的通信接口,以及与主CPU通信相对应的基本功能。

- 利用10指令汇编式编程,并提供更高级别的编程结构,以简化和加速软件开发。

- 支持完整的系统整体调试 - 而不是单独调试每个CPU内核,因为可能无法检测到当内核并行运行时的系统行为错误。

为了解决这些挑战,我们需要一个完整、易于使用的编程框架。它必须包括抽象和程序,将并发操作系统任务的范例扩展到在SNC上执行的相应(并行)处理。我们已经为Dialog DA1469x解决方案开发了这样的编程框架(图4)。它具有以下特点:

- 简化的SNC微码开发

o 通过定义基于SeNIS的类C编程语言,可以同时支持汇编和类C编程。

- 用于编程的“混合”编码模型

o 在相同的源和头文件中同时包含针对SNC和主处理器情境(context)的代码开发 -  使用了一个C预处理器来定义基于SeNIS的语言结构,方便开发人员。

- 与驱动主处理器通信接口、交换SNC通知、和操作系统资源相关的基础机制和功能的抽象,作为一组完整且易于使用的API程序/类C函数。

- 可观察性和高级调试机制同时应用于SNC和主处理器执行情境。

传感器节点控制器助力未来连网传感器

图4. SNC编程框架

SNC编程模型的特征可归纳如下:

- DA1469x应用包括由OS任务和SNC 微码并行执行的进程。

- SNC适配器向DA1469x系统注册或注销SNC微码,从而创建一列SNC微码,每个微码由特定PMU事件触发。

- SNC适配器采用特殊的SNC微码,根据相应的微码列表实现注册的SNC微码执行的调度,并通过其低级驱动器控制SNC硬件模块。

- 定义了一组基于SeNIS的结构预处理器宏,从而生成一组汇编和类C语言结构用于SNC微码开发。

- 提供一组低级驱动器SNC微码,可用于驱动SPI、I2C等通信外设。

- 为操作系统任务和SNC微码提供了一种机制,进行交换:

o 通知

o 数据(即:SNC 队列)

除了上述实现轻松编程SNC函数的结构之外,还提供以下内容以支持调试:

- 使用SNC断点和逐步调试区域来调试SNC微码的机制。

- SNC仿真器,而不是SNC硬件模块,用于改进和简化SNC微码调试过程。

总结

本文介绍了一种新的架构,可最大限度地降低集成了多个传感器和外设的便携式系统的功耗。该架构使用复杂的硬件状态机来卸载主处理器上的一些重复性任务,例如传感器/外设轮询和读取。与其他架构相比,这种新架构在功耗和MIPS优化方面具有很大的优势,不过会使编程模型变的更复杂。因此,我们还介绍了一种对开发人员友好的编程框架来克服该问题。

作者:Marios Iliopoulos,Fotios Kerasiotis,

Nikolaos Moschopoulos,Dialog半导体公司

参考文献

[1] Goran Nikoli?, Mile Stoj?ev, Zoran Stamenkovi?, Goran Pani?, Branislav Petrovi?, “Wireless Sensor Node with low power sensing”, Electronics and Energetics Vol. 27, No 3, September 2014, pp. 435 - 453

[2] V. Raghunathan, S. Ganerival, and M. Srivastava, "Emerging Techniques for Long Lived Wireless Sensor Networks", IEEE Communication Magazine, 2006, Vol.41, No. 4, (pp. 130-141)

[3] G. Anastasi, M. Conti, M. Di Francesco, and A. Passarella, "Energy Conservation in Wireless Sensor Networks: A survey", Ad Hoc Networks, 2009, Vol. 7, (pp. 537–568)

[4] W. Ye, J. Heidemann, and D. Estrin, "An Energy-Efficient Mac Protocol for Wireless Sensor Networks," Proc. IEEE Infocom, New York (USA) 2002, (pp. 1567-1576).

[5] M. Al Ameen, S.M. Riazul Islam, and K. Kwak, "Energy Saving Mechanisms for MAC Protocols in Wireless Sensor Networks", Hindawi Publishing Corporation International Journal of Distributed Sensor Networks, Volume 2010 (2010), Article ID 163413, (pp 1-16)

[6] M. Hempstead, N. Tripathi, P. Mauro, G.-Y. Wei, and D. Brooks, "An Ultra Low Power System Architecture for Sensor Network Applications," Proc. 32nd Annual International Symposium on Computer Architecture, Madison (USA) 2005, (pp. 208-219).

[7] A. Boulis, S. Ganeriwal, and M. Srivastava, "Aggregation in Sensor Networks: An Energy Accuracy Trade-Off", Ad Hoc Networks, Vol. 1, 2003, (pp. 317–331)
[8] G. Pani?, Z. Stamenkovi?, and R. Kraemer, "Power Gating in Wireless Sensor Networks", Wireless Pervasive Computing, 2008. ISWPC2008. 3rd International Symposium on Santorini, Greece, May 2008, (pp. 499-503)

[9] T. Burd, and R. Brodersen, "Energy Efficient Microprocessor Design", Kluwer Academic Publishers, Norwell MA, USA, 2002

[10] Dialog Semiconductor, “DA1469x Datasheet”


推荐
热点排行
一周推荐
关闭