Jamie Steck Junjie Su CSE237d: Embedded System Design April 29, 2008 Literature Survey: Efficient Energy Management and Task Scheduling of a Solar-Powered System Due to the diverse aspects of our project, we have chosen to research several different areas including: system design considerations, task scheduling algorithms, embedded operating systems, energy modeling circuits, and types of energy storage. In this paper, we summarize each reference, focusing on the aspects of the paper that most relate to our project. At the end of each summary, we evaluate the relevance of the paper and describe how our proposed project will both differ from and improve upon previous work. [1] presents an overview of design considerations for Energy Harvesting Embedded Systems (EHES) at both the system level and the software level. First, at the system level, the voltage must be high enough to power the system and must be converted using a voltage or switching regulator. A regulator transforms the voltage received from the supply to a known, controllable level that can be used by the storage component. Second, a technique called Maximum Power Point Tracking (MPPT) seeks to maximize the power output by controlling the level at which power is drawn from the energy source. MPPT requires that the input intensity be known, which can be done either after conversion or by an alternate method, such as using a light sensor to estimate solar power. The third system issue in [1] addresses the type of energy storage device, such as a rechargeable battery, super-capacitor or fuel cell. On the software level, the paper describes the challenges of a Power Management Policy in an EHES. The goal of an EHES is to maintain energy neutrality, or only consuming the amount of energy that is harvested. To do this, the power of the transducer must be analytically modeled. With this information, the Power Management Policy must adapt the performance and power consumption of the system. In "Adaptive Duty Cycling for Energy Harvesting Systems", an algorithm is presented that uses energy predictions to determine the optimal duty cycling. [1] gives background on the considerations for an EHES at a high level, energy-aware view. Our project is essentially putting these considerations into action. The information regarding the MPPT confirm the necessity of the second solar panel and the prediction algorithm to maximize the power output. The power management policy mentioned is also highly indicative of the goal of the Energy Management Policy. [2] compares two different operating system approaches designed for embedded systems as well as presenting OS extensions that enable effective power management in energy-restricted systems. First, a general-purpose, multi-tasking OS can be adapted to support embedded systems. General-purpose OSes, however, have high context switching overhead and do not have built in energy-management mechanism. For example, eCos spends about 50% of the code size can be attributed to communication overhead. A second approach to embedded system OS design is an event-driven architecture, which can be easily modeled as a graph of components that communicate via events. TinyOS specifically targets this type of communication, and when compared to eCos, requires significantly less memory, has eight times less OS overhead, and uses twelve times less power. Despite its advantages, however, TinyOS does not provide global system level scheduling and power management. Possible extensions to TinyOS include: replacing the FIFO task scheduler, implementing components in hardware, allowing some tasks to go to hardware instead of software, adding event queues, and adding global power control mechanisms. While [2] provides an important contrast between conventional and event-driven OSes, we will not use TinyOS for our project. Previous students have tried to port it to the microcontroller with no success. Nevertheless, some of these concepts may help in optimizing whatever OS we do put on the micro-controller (likely freeRTOS.) [3] describes SOS, a new operating system designed for sensor nodes. Due to the dynamic nature of embedded systems, specifically sensor nodes, SOS is composed of a traditional core kernel and loadable kernel modules. The SOS kernel supports the ability to insert and remove modules at run-time, flexible priority scheduling, and dynamic memory. Modules are binaries that implement a specific task or function. Modules can easily be inserted into the kernel at run-time using a userfriendly API. Modules not only can communicate via messages, but can also use faster function calls to increase the speed and thus reduce overhead. SOS schedules tasks using priority queues, sharing the processor through cooperative scheduling. SOS implements dynamic memory, which enables data structures to grow or shrink at run-time. SOS provides three block sizes for memory allocation and references free blocks using a linked list. [3] compares SOS to both TinyOS and Mate’. Their experiments show that SOS is almost identical in energy consumption, and in light of overall power consumption, these small differences are trivial. SOS, however, consumes significantly less energy when updating code than TinyOS, and provides greater system flexibility. [3] presents an attractive option for the OS in our project. SOS provides a high-level programming interface for developing modules and integrating them into the SOS kernel at runtime; the source code for SOS is free and available at [4]. Currently, it appears that SOS is excessive for the minimal needs of our system; however, it remains a viable alternative to our choice of freeRTOS. [5] presents the Lazy Scheduling Algorithm (LSA), an algorithm for an energy-driven scheduling scenario. A previous work by the authors proves that the LSA is optimal for a system with energy and timing constraints. [5], as follows, presents the implementation of the LSA followed by some simulations. In the LSA, tasks are scheduled according to the current energy capacity of the system, task deadlines, and the power dissipation of the tasks. A task is characterized by its arrival time, energy demand, and deadline and is considered to be preemptive. The goal of the LSA is to find an optimal start time for a task by considering both the task time requirements and the system energy capacity. In order to find this optimal start time, the LSA requires knowledge of the power flow for future times. [5] does not mention how to find this, but suggests an analysis of past harvested power. It is interesting to note that if the energy capacity is zero, the algorithm results in EDF (earliest deadline first) scheduling, and if the energy capacity is infinite, the algorithm results in ALAP (as late as possible) scheduling. [5] concludes with simulation results that demonstrate that LSA outperforms EDF. [5] does not take into consideration dependencies between tasks, which is essential for the SHM sensor node. Data cannot be processed until it is collected and so forth. It is reasonable that this algorithm could be altered to include dependencies. For our proposed project, tasks do not have deadlines; rather, the scheduler tries to schedule as much as possible in a given time according to energy capacity. [6] presents a modeling circuit that simulates the solar panel. Based on the modeling circuit, the authors use simplified parameters extraction procedure to find out the value of the parameters (IL, I0, Rsh, Rs). The reason to develop such modeling circuit is to find the MPP (maximum power point) using very small Photovoltaic Cell (such as those in embedded system). MPP tracking requires substantial amount of energy, which is hard to do in embedded system. The modeling circuit works together with a lighting pilot cell to achieve MPP, which’s errors are within 5%. The goal of this circuit is to keep tracking of the MPP. In our platform, we don’t use MPP tracking because of supercapacitor’s voltage limitation. However, we can use this circuit to simulate the solar panel behavior, and provide input to our microcontroller prediction. It is not easy to find all the parameter in this circuit without some manufactory parameter specifications. Everlast is a wireless sensor node that utilizes solar panel and supercapacitor to power the node. [7] demonstrates the feasibility of operating on supercapacitor recharged by solar cell to power a sensor node. It also introduces a PFM (pulse frequency modulated) regulator and a PFM controller, which are responsible for controlling the voltage and current that charging the supercapacitor in order to improve the charging efficiency. Although Everlast sensor has different functionality comparing to our sensor, Everlast sensor node employs the solar panel and supercapacitor for energy solution, which is very similar to our sensor node. Currently, our sensor node’s power circuit tree is not working properly. The PFM regulator and controller can be a solution for our sensor node to obtain better charging efficiency. [8] presents a simple circuit that simulates the supercapacitor using the capacitor in series of a resistor called equivalent series resistor (ERS), and it also provides a measurement circuit for the ESR (equivalent series resistance) of the supercapacitor. Lastly, this paper demonstrates the SCESS (supercapacitor energy storage system) that designed to achieve high energy efficiency up to 97.94%. The idea of modeling the supercapacitor in one capacitor in series with an ESR can be employed in our simulation circuit. Also, because we don’t have the ESR from the manufactory of the supercapacitor, we have to implement the measurement circuit to estimate the ESR of the supercapacitor. [9] proposes a highly efficient solar energy harvest technique for embedded system, which is the MPPT (Maximum Power Point Tracking) method. Power equals the voltage times the current. Therefore, for certain voltage and current relationship, there exists a maximum power point. In this paper, it finds out there is a linear relationship between maximum power voltage and the open circuit voltage of the solar panel. Utilizing this property, they build a solar energy harvesting platform to perform the Maximum Power Point Tracking. Getting the open circuit voltage from the pilot cell, the tracker can adjust the operating voltage to oscillate around the maximum power voltage point to achieve maximum power. [9] proposes a very high efficient solar energy harvest technique, MPPT. Although in our project, we won’t be able to use MPPT due to the extra energy consume in tracking MPP, we can still obtain the idea of monitoring the open circuit voltage of the pilot solar cell to have a better prediction of the future power. References [1] Raghunathan, V. and Chou, P. H. 2006. Design and power management of energy harvesting embedded systems. In Proceedings of the 2006 international Symposium on Low Power Electronics and Design (Tegernsee, Bavaria, Germany, October 04 - 06, 2006). ISLPED '06. ACM, New York, NY, 369-374. [2] Li, S., Sutton, R., and Rabaey, J. 2003. Low power operating system for heterogeneous wireless communication system. In Compilers and Operating Systems For Low Power, L. Benini, M. Kandemir, and J. Ramanujam, Eds. Kluwer Academic Publishers, Norwell, MA, 1-16. [3] Han, C., Kumar, R., Shea, R., Kohler, E., and Srivastava, M. 2005. A dynamic operating system for sensor nodes. In Proceedings of the 3rd international Conference on Mobile Systems, Applications, and Services (Seattle, Washington, June 06 - 08, 2005). MobiSys '05. ACM, New York, NY, 163-176. [4] SOS Embedded Operating System, https://projects.nesl.ucla.edu/public/sos2x/doc/index.html. [5] Moser C, Brunelli D, Thiele L, Benini L (2006a) Lazy scheduling for energy-harvesting sensor nodes. In: Fifth working conference on distributed and parallel embedded systems, DIPES 2006, Braga, Portugal, 11–13 October 2006, pp 125–134. [6] Dondi, D.; Brunelli, D.; Benini, L.; Pavan, P.; Bertacchini, A.; Larcher, L., "Photovoltaic cell modeling for solar energy powered sensor networks," Advances in Sensors and Interface, 2007. IWASI 2007. 2nd International Workshop on , vol., no., pp.1-6, 26-27 June 2007. [7] Simjee, F. and Chou, P. H. 2006. Everlast: long-life, supercapacitor-operated wireless sensor node. In Proceedings of the 2006 international Symposium on Low Power Electronics and Design (Tegernsee, Bavaria, Germany, October 04 - 06, 2006). ISLPED '06. ACM, New York, NY, 197202. [8] Yun Zhong; Jiancheng Zhang; Gengyin Li; Aiguo Liu, "Research on Energy Efficiency of Supercapacitor Energy Storage System," Power System Technology, 2006. PowerCon 2006. International Conference on , vol., no., pp.1-4, Oct. 2006. [9] D. Brunelli, S. Raggini, L. Benini , C. Moser and L. Thiele, “An efficient solar energy harvester for wireless sensor nodes.”, Submitted to International Symposium on Low Power Electronics aPortland, 27-29 Aug, 2007.