# Power IV

Spring 2019

The questions below are due on Sunday March 31, 2019; 11:59:00 PM.

You are not logged in.

Note that this link will take you to an external site (https://oidc.mit.edu) to authenticate, and then you will be redirected back to this page.

Back to Exercise 07

Hi! I'm closely related to a problem from a couple weeks ago. Just so you get some more practice with this, I contain some new and slightly modified situations! Note: my numbers are most likely different from what you saw in the earlier exercise.

## 1) Setup

Let's assume we have a minimal electronic system that is comprised of:

• A microcontroller
• A battery and battery-management board
• A communications module
• A sensor

The details of what the modules do (what do they sense, how do they communicate, etc...) are not important. What is important is the power they use in different states.

### 1.1) The Battery and Battery Management Board

The battery and battery management board can be lumped together into a single object that can provide a nominal voltage of 3.3V with a capacity of 440 mAH.

### 1.2) The Microcontroller

The microcontroller runs at 3.3V and has two states:

• Running: Standard operation state which is required for actively controlling the communication module and/or sensor making measurements. The current consumed in this state is 9 mA.
• Sleep: Low-power state. We cannot run the communication module or make sensor measurements from this state. Basically, if the microcontroller is sleeping, then the communication module must be sleeping as well. The current consumed in this state is 200 \muA.

The microcontroller can immediately switch between these two states with no transitional power deviations (i.e. can go from consuming 200 \muA to 9 mA). The microcontroller has 2000 bytes of onboard storage available for holding data from the sensor.

### 1.3) The Sensor

The sensor can be queried by the microcontroller for measurements using an SPI protocol. The sensor runs on 3.3V. The sensor board is purple. The sensor is always in the ON state, and when in that state it consumes 5mA. Regardless of the amount of data in a measurement, the microcontroller can request and receive a measurement from the sensor in 1 millisecond.

### 1.4) The Communication Module

This device is responsible for communication. It runs on 3.3V and has the following states:

• Wake: Standard operation state, consuming 5mA. The other components can do other work while the communication module is in this state.
• Sleep: Low-power maintenance state requiring 300 \muA. The device cannot send data from this state.
• Send: This is a state where data is being sent. When in it, it consumes 74mA. The behavior of this state is dictated by certain rules:

The communication module has nothing to do with collecting a measurement from the sensor. It can be in sleep-mode while the microcontroller is taking a measurement from the sensor.

The duration in the Send state is based on how long the message being sent is. No matter how many bytes the message is, every complete transmission requires 5 ms up front and 3ms at the end of the message. In the middle of these two fixed-durations, the duration to send the message can vary. Every 100 bytes sent requires one additional 1ms. This is not a continuous ratio, however, but instead is a step function because of some requirements of the communication module. 1 to 100 bytes requires 1 ms, 101 to 200 bytes requires 2ms and so on. This pattern exists up to a 2,000 byte message at which point the communication module can no longer send something that long. In this situation the message needs to be broken down into multiple transmissions.

In addition, the communication module cannot necessarily change instantaneously between states. Upon moving from Sleep to Wake, the device must remain in Wake for 20ms before it can move to the Send state (for data transmission).

During the 20ms between the communication module waking up and (perhaps) sending data, the microcontroller can perform other tasks, such as processing sensor readings.

Below are some new situtations!

## 2) Situation Seven

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected once every thirty seconds. There is no time pressure on when to report data to our base station, so you should report the data as rarely as possible. How long will the system last if we optimize for power efficiency in hours?

## 3) Situation Eight

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected once every five minutes. There is no time pressure on when to report data to our base station, so you should report the data as rarely as possible. How long will the system last if we optimize for power efficiency in hours?

## 4) Situation Nine

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected once every 40 milliseconds, and that we want the messages reported as quickly as possible. How long will the system last if we optimize for power efficiency in hours?

## 5) Situation Ten

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected once every 20 milliseconds, and that we want the messages reported as quickly as possible. How long will the system last if we optimize for power efficiency in hours?

## 6) Situation Eleven

Let's assume each measurement from our sensor is 512 bytes long and our current application requires a measurement to be collected once every 10 milliseconds, and that we want the messages reported as rarely as possible to conserve power. How long will the system last if we optimize for power efficiency in hours?

For this problem you can assume that the microcontroller can indeed multitask (send while it measures), because the person who designed the system made sure everything is comprised of non-blocking function calls. You may also assume that immediately upon entering up Sending data, all of the data stored in the Microcontroller's storage is emptied into an internal buffer in the communication module.

Back to Exercise 07

This page was last updated on Sunday March 17, 2019 at 11:19:03 AM (revision 2b7c230).