You are on page 1of 4

Interfacing Telos (rev B) to 51-pin Sensor Boards

Joe Polastre September 7, 2004

Introduction

In this document we describe the theory of operation using Telos, a new IEEE 802.15.4-compliant mote with a Texas Instruments MSP430 microcontroller, to connect to legacy 51-pin sensor boards. We use the Extreme Scaling Mote (XSM) for illustration of how the lines on the 51-pin connector may be used by Telos through the 10 and 4 pin IDC connectors. XSM has been designed as part of the DARPA NEST program. Since over 10,000 of these nodes will be manufactured, we are interested in leveraging the sensors to connect to new platforms. In this document we describe how to interface the XSM mote to Telos (revision B), Telos may interface with the Atmel ATmega128 on XSM as a co-processor or it may bypass the ATmega128 and directly drive the sensors.

Design and Mappings

Telos is a new generation of mote design featuring a new connector specication and on-board sensors. The essential functions are exposed through 10-pin and 4-pin IDC headers. By using an I2 C switch and I2 C I/O expander, we can achieve the same functionality as having a larger connector through the use of a digital bus. The schematic of the Telos-XSM adapter is at the end of this document. Table 1 shows the pin mappings between Telos and XSM and their functions. The Telos Legacy Adapter takes advantage of Phillips PCA9555 digital I/O expanders. These 16-bit I/O parts include an active-low interrupt pin to notify microcontrollers of changes on the 16-bit I/O bus. The I/O pins on the 51-pin socket are connected to the I/O pins of two PCA9555 I/O expanders. The PCA9555 may congure the pins as input or output and may drive low and high signals via the I/O pins. If a pin is congured as input and its value changes, the PCA9555 generates an interrupt on the INT pin. The interrupt is cleared by reading the PCA9555 input register. In addition to the I/O expander, the Telos Legacy Adapter uses an ADG715 analog 8-bit switch with low impedance to multiplex ADC signals. The switch is implemented with two multiplexers. The rst connects to ADC0, ADC1, ADC4, and PWM1B on the 51-pin socket, and ADC6 on the Telos header. ADC6 may be congured as an input to the MSP430s 12-bit analog to digital converter or as a 12-bit digital to analog channel (DAC). The second multiplexer connects to ADC0, ADC1, ADC7, and PWM1A on the 51-pin socket, and ADC7 on the Telos header. ADC7 may be an ADC input, DAC output, or used as input to the on-chip supply voltage supervisor (SVS).

XSM as a Co-processor

In the simplest setup, XSM may be loaded with an application that accepts commands via the UART or I2 C bus. Telos and XSM may communicate via the digital bus to collect and report data. This mode allows the Telos-XSM adapter to act as a bridge between CC1000 networks and the 2.4GHz IEEE 802.15.4 networks.

XSM as a sensor board

If low power operation is critical, the ATmega128 may be removed or placed into its lowest power state and Telos TI MSP430 ultra low power microcontroller may drive the XSMs sensors. This permits direct interfacing with the sensors while leveraging the advancements in data rate and low power operation provided by the Telos platform.

4.1

Magnetometer

The magnetometer power is enabled via the PW5 pin by setting port I/O05 on the PCA9555 to output and then setting or clearing the pin. When powered, the magnetometer may be reset using the MAG SR signal by again setting the corresponding I/O port as output. Analog output from the magnetometer may be sampled through Telos ADC2 and ADC3 ports.

4.2

PIR

The PIR sensor consists of a general threshold interrupt as well as interrupts for each individual direction. The AC+, AC-, PWM0, and PWM1A pins cause the PCA9555 to generate an interrupt on each edge transition. The PIR analog signal may be monitored through Telos ADC7 port by selecting ADC7 through the ADG715 switch.

4.3

Sounder

The sounder requires a square wave to drive the diaphragm using a comparator. In order to achieve this, the DAC0 port may be connected to the PWM1B pin through the ADG715 switch. The DAC0 port is driven by the MSP430 DMA controller with a new DAC value realized on clock compare events from the 32.768kHz oscillator. This method may be used to not only drive xed frequency oscillators, but also generic speakers for use in voice or sound applications.

Sensor Accelerometer

Magnetometer

Microphone

Sounder PIR

Photo Thermistor I2 C bus ATmega128

Leds User Interrupt Reset

Telos I2 C ADC2 ADC6 I2 C I2 C I2 C ADC2 ADC3 I2 C I2 C interrupt (GIO2) ADC1 I2 C I2 C & DAC0 I2 C I2 C interrupt (GIO2) ADC7 I2 C interrupt (GIO3) I2 C interrupt (GIO3) I2 C interrupt (GIO3) I2 C interrupt (GIO3) I2 C ADC6 | ADC7 I2 C ADC6 | ADC7 I2 C I2 C UARTTX0 UARTRX0 I2 C I2 C interrupt I2 C

XSM PW4 ADC3 ADC4 PW5 I2 C MAG SR ADC5 ADC6 PW3 INT1 ADC2 PW2 PWM1B PW6 INT2 ADC7 PWM10 PWM1A AC+ ACPW0 ADC1 THERM PWR ADC1 ALE I2 C UARTRXD0 UARTTXD0 LED1-3 INT0 RSTN

Function Power x-axis analog output y-axis analog output Power Gain Control (1 on I2 C 1) Set-Reset x-axis analog output y-axis analog output Audio receive power Microphone interrupt Microphone analog output Sounder power Sounder op-amp input PIR power PIR interrupt PIR analog output PIR direction binary output PIR direction binary output PIR direction binary output PIR direction binary output Photo power Photo analog output Thermistor power Thermistor analog output Switch I2 C bus destination I2 C bus UART receive UART transmit Turn LEDs on/o User interrupt Reset

1 1 1 1

Table 1: Pin mappings between the Telos IDC header and the XSM 51-pin connector.

Power & I/O Switches


VCC
D

Legacy Connector
J0 LED1 LED2 LED3 ALE RD WR RSTN INT0 INT1 INT2 INT3 gnd_analog VDD_ANALOG INT3 INT2 INT1 INT0 MAG_SR LED3 LED2 LED1 RD WR ALE PW7 USART1_CLK PROG_MOSI_SPI PROG_MISO_SPI SCK_SPI USART1_RXD USART1_TXD I2C_CLK I2C_DATA PWM0 PWM1A AC+ AC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 UART_RXD0 UART_TXD0 PW0 PW1 PW2 PW3 PW4 PW5 PW6 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 THERM_PWR
D

Telos_I2C_SCL 22 Telos_I2C_SDA 23 21 2 3

Output Only Pins

24 12

VCC

Interrupt Capable

A2

IO1/0 IO1/1 IO1/2 IO1/3 IO1/4 IO1/5 IO1/6 IO1/7 INT

13 14 15 16 17 18 19 20 1

AC+ ACPWM0 PWM1A PWM1B MAG_SR THERM_PWR Telos_GIO3

A2

IO1/0 IO1/1 IO1/2 IO1/3 IO1/4 IO1/5 IO1/6 IO1/7 INT

13 14 15 16 17 18 19 20 1

Telos_GIO2

HIROSE SOCKET

21 2 3

Interrupt Capable

ADDR=0100000 U1 =0x20 VDD IO0/0 4 VSS IO0/1 5 IO0/2 6 SCL IO0/3 7 SDA IO0/4 8 IO0/5 9 A0 IO0/6 10 A1 IO0/7 11

VCC PW0 PW1 PW2 PW3 PW4 PW5 PW6 PW7 24 12 Telos_I2C_SCL 22 Telos_I2C_SDA 23

ADDR=0100001 U1 =0x21 VDD IO0/0 4 VSS IO0/1 5 IO0/2 6 SCL IO0/3 7 SDA IO0/4 8 IO0/5 9 A0 IO0/6 10 A1 IO0/7 11

PCA9555 VCC ADDR=1001000 =0x48 ADG715BRU PWM1A D8 19 ADC7 17 D7 ADC1 15 D6 ADC0 13 D5 PWM1B D4 12 ADC4 D3 10 ADC1 D2 8 ADC0 D1 6

PCA9555

RSTN PWM1B Vcc

VCC

C4 0.1u

U4 20 18 16 14 11 9 7 5 3 1 23 24 22 S8 S7 S6 S5 S4 S3 S2 S1

DF9B-51S-1V

<2.5 ohm VCC

ADC_MUX1

Connector to Telos Pin Mappings


Telos_ADC0 Telos_ADC1 ADC2 ADC3 ADC5 ADC6 ADC_MUX0 ADC_MUX1 USART1_RXD USART1_TXD I2C_CLK I2C_DATA USART1_CLK Title Size A Date:
A

J1 Telos_AVCC Telos_ADC0 Telos_ADC1 Telos_ADC2 1 3 5 7 9 1 3 5 7 9 2 4 6 8 10 2 4 6 8 10 Telos_UART0RX Telos_UART0TX Telos_I2C_SCL Telos_I2C_SDA Telos_ADC3


B

ADC_MUX0 Telos_I2C_SDA Telos_I2C_SCL VCC

SDA SCLK RST A0 A1 GND VSS

Telos_ADC2 Telos_ADC3 Telos_ADC6 Telos_ADC7

21

10pin Header J2 Telos_ADC6 1 1 DAC0 Telos_GIO2 3 TimerA Capture 3 2 4 Telos_ADC7 DAC1/SVSin Telos_GIO3 4 DMAE0 2

L2 Telos_AVCC 1 2 F Bead 240-1035-1 C1 0.1u

VCC

Telos_UART0TX Telos_UART0RX C2 0.1u C3 10uF Telos_I2C_SCL Telos_I2C_SDA

4pin Header

Telos Legacy Adapter Board


Document Number

(c) Copyright 2004: UC Berkeley


Tuesday, September 07, 2004
2

R ev B 1
1

Sheet

of

You might also like