WISP Monitor

Questions? - ripras ripras, - yeagerd yeagerd may be able to help you.

WISP_Monitor.jpg


Overview

The WISP Monitor is a board consisting of a microcontroller that can monitor all pins (except the Voltage Regulator pin) on the WISP 4.1. This is done by simply affixing the WISP to the Monitor board via the header pins. The pin mapping is such that the USCI port of the WISP is connected to the USI port of the Monitor microcontroller. Thus, the board can be used simply as a Monitor or as an active participant in WISP functionality. The microcontroller is also connected to a UART-USB chip which enables information transmission and reception to and from the PC. The Monitor does not affect WISP functionality in any way unless the user determines to do so.

There have been no releases of the WISP Monitor.

Usage

The WISP Monitor can detect two fundamental signals from the WISP:

1. IO Activity
What are we monitoring?
The WISP monitor is really good at monitoring IO activity on the WISP MSP430. By using IO interrupts on the Monitor's MSP430 to detect WISP IO activity, monitoring these signals is relatively painless.

Why is this useful?
IO activity can be used to detect the WISP's firmware state (either by sniffing existing IO activity, or by adding intentional signals to help the monitor detect the WISP's state). Immediately we can track the WISP state progression and answer questions such as "How often does the WISP successfully process a Query command?" or "How long does the communication typically take?"

Moving one step futher, by mapping WISP states to the power consumption of each state, we can monitor the WISP's power consumption in real time. Or, by keeping track of the time spent in each state, we can determine the energy consumed in each state (energy = power * time).

How can we measure the power consumption of each state?
To measure the power consumption of a WISP state, the WISP is loaded with firmware which loops continually in the state to be measured. The WISP is powered via a power supply (no RFID reader or debugger) and a multimeter is placed in series to measure current flowing from the power supply to the WISP. Note that the MSP430 is the dominate power consumer for most states (sensor current can be found on a data sheet or measured in the same way) and thus the WISP "states" boil down to the MSP430 clock frequency in each state. Do not use the MSP430 sleep state current; measure it. The regulator, supervisor, etc. also consume similar amounts of current (~1uA range).

2. Unregulated Supply Voltage
What are we monitoring?
The monitor can continually poll to take an analog measurement of the WISP's unregulated supply voltage. Alternatively, measurements can be triggered based on the WISP state.

Why is this useful?
WISP stores energy in the form of voltage on the 10uF storage capacitor. This allows WISP to power the microcontroller from stored energy in the capacitor when the instantaneous received power from the RFID reader is less than the power required by the microcontroller. This is explained in the WISP design journal paper and also on the Managing Power page.

This information allows the designer to answer questions such as "How much energy did the WISP have stored up before it started taking a sensor measurement?" or "Did the WISP complete the sensor measurement before running out of energy (Vdd < 1.8V)?" or "How much energy are we spending on various communication states?"

How do I make sense of the Monitor schematic? How do I interpret the ADC reading?
The WISP unregulated voltage spans 0V to 5.5V. The WISP Monitor supply voltage is 1.8V to provide IO voltage compatibility with the WISP. Thus, we must scale down the WISP unregulated voltage before it reaches the Monitor ADC (which has a reference voltage of vdd = 1.8V). The Monitor schematic has a voltage divider to scale the unregulated voltage down by a factor of 3. There is also a buffer to either drive the ADC or provide a high input impedance so the monitor does not draw current from the WISP and thus affect the measurement. The schematic provides an option to divide and then buffer OR buffer and then divide; use the latter option but leave the 1k ohm series input resistor in place to prevent high current into the overvoltage protection diodes in the opamp in case excessive voltage is applied. That is, don't stuff R2 but leave everything else as is.

The ADC output = 1024 * (Vunreg / 3) / 1.8V
The unregulated voltage, Vunreg = 3 * 1.8V * ADC / 1024

Features

- MSP430F2132 microcontroller
- FTDI F232R UART-USB chip
- USB receptacle
- Header pins which affix directly to the WISP 4.1 header pins
- Does not affect WISP functionality unless specified by the user through firmware code
- MCU - PC communication
- MCU - WISP communication through USCI/USI modules

Hardware

Monitor v1.0 Schematic
Monitor v1.0 PCB Layout

Software

(In development)

DIY Monitor PCB

You can make PCB's through PCB Express or Express PCB for around $100. The PCB is really simple, an example schematic and layout are shown above. If the gerbers become available, they will be posted here.

Homebrew Monitor

You'll need one of these:
FTDI RS232 to USB chip:
http://www.sparkfun.com/products/718

And one of these:
http://processors.wiki.ti.com/index.php?title=EZ430-F2013
(or you could probably just use a WISP, which includes the requisite 1.8V regulator :)

The FTDI chip can power the MSP430 dev board using it's 3.3V rail. If you do this, you'll need level shifters to sense the WISP voltages :( However, the ADC can then measure a good chunk of the unregulated voltage with no analog level divide by 3 (as described above).

What we want to do is unsolder the IO jumper:
http://forum.sparkfun.com/viewtopic.php?f=15&t=21234

And connect the IO voltage (pin 4 on the FTDI chip, the thru hole is labeled on the back of the sparkfun board) to our 1.8V supply (the same one that power's the monitor mcu). A lazy way to get a 1.8V supply is to run on the monitor on the FET debugger (not the USB debugger), or to run from a power supply or a breadboarded regulator. Again, we don't care about power consumption for the monitor, so just get it working :) If you can find a battery of the appropriate voltage, that would work too (but I'm not sure how long it will run for). If you use a WISP for the monitor MCU, you can use the FTDI 3.3V or 5V rail into the unregulated supply, and then take the 1.8V supply on the WISP for the regulated voltage for the IO. You can then also use the voltage sensor circuit on the WISP to sense the device under test (DUT) WISP's unregulated supply. Just be careful when you are wiring things up not to accidentally power the DUT WISP using the monitor.

We'll need to solder RX, TX, and GND from the FTDI board to the MSP430 board. I always get RX and TX backwards the first time, so either study the schematic link (above) carefully, or leave some extra wire to resolder if you get it wrong. Again, if you can use the 3.3V supply on the FTDI board to power the monitor CPU if you have a regulator.

Download the TI sample code to do RS232 transmission and blast away.

Known Bugs

- Cap Charge pin connects to Monitor pin directly. Add resistor to prevent direct connection.




The last modification was made by - yeagerd yeagerd on Feb 22, 2011 8:54 pm