# Power III

Spring 2019

The questions below are due on Sunday March 10, 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 05

## 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 410 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 7 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 7 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 6mA. 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 76mA. 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.

How long in Send state for 50 byte message (in milliseconds)?

How long in Send state for 51 byte message (in milliseconds)?

How long in Send state for 151 byte message (in milliseconds)?

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.

## 2) Situations

Let's analyze optimal power performance in a variety of conditions:

### 2.1) Situation One

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected every 50 milliseconds. The maximum latency we will tolerate between a measurement and it being transmitted to the base station is 50 milliseconds (meaning once we make a measurement from our sensor, we'll only be happy if that gets sent within 50ms via the communication module. Otherwise we fail).

How long will the system last if we optimize for power efficiency in hours?

### 2.2) Situation Two

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected every 500 milliseconds. The maximum latency we will tolerate between a measurement and it being transmitted to the base station is also 500 milliseconds. How long will the system last if we optimize for power efficiency in hours?

### 2.3) Situation Three

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected every 50 milliseconds. The maximum latency we will tolerate between a measurement and it being transmitted to the base station is 500 milliseconds. How long will the system last if we optimize for power efficiency in hours?

### 2.4) Situation Four

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected every 50 milliseconds. There is no time pressure on when to report data to our base station, so you should report the data as rarely as possible. Note the microcontroller can only hold 2000 bytes of data and you cannot send fractions of a measurement to our base station. How long will the system last if we optimize for power efficiency in hours?

### 2.5) Situation Five

Let's assume each measurement from our sensor is 64 bytes long and our current application requires a measurement to be collected every 50 milliseconds. There is no time pressure on when to report data to our base station, so you should report the data as rarely as possible. Note the microcontroller can only hold 2000 bytes of data and you cannot send fractions of a measurement to our base station. How long will the system last if we optimize for power efficiency in hours?

### 2.6) Situation Six

Let's assume each measurement from our sensor is 32 bytes long and our current application requires a measurement to be collected once every second. 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?

Back to Exercise 05

This page was last updated on Sunday March 03, 2019 at 03:01:41 PM (revision 2efb58c).