Professional Documents
Culture Documents
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.
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.
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
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.
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
24 12
VCC
Interrupt Capable
A2
13 14 15 16 17 18 19 20 1
A2
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
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
ADC_MUX1
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
VCC
4pin Header
R ev B 1
1
Sheet
of