introduction to the orbit edu board ahmad rahmati teaching assistant, elec424 rice efficient...

19
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

Upload: lorraine-welch

Post on 24-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

Introduction to the

Orbit Edu Board

Ahmad RahmatiTeaching Assistant, ELEC424

Rice Efficient Computing GroupSep 12, 2007

Page 2: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

204/19/23

The Rice Orbit Platform

User input

Orbit Watch

Commands

GPRS / WiFi

Orbit Sensors

Orbit Edu

Applications: Health monitoring Multimedia experience recording Remote, ambient phone interaction Educational

Bluetooth

BluetoothBluetooth

Phone

Page 3: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

304/19/23

The Orbit Edu Board TI MSP430 F1612 Microcontroller

16-bit, 8 MHz, Ultra-low-power (~1uA in standby) 55 KB Flash ROM, 5 KB RAM 2 timers (16-bit) 8 ADC inputs (12-bit) 2 DAC outputs (12-bit) 2 UART ports 48 General Purpose IO (GPIO)

MSP430 microcontroller

Manual available on course web page:www.ruf.rice.edu/~mobile/elec424/

Page 4: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

404/19/23

The Orbit Edu Board KCWireFree KC21 Bluetooth 1.2 Module

Small, power efficient, built in antenna Separate regulator, microcontroller controllable Serial communication with MSP430 LED indicators on board for BT power, BT enabled, BT radio Class 2, up to 20m range

1 unused UART port

KC21 Bluetooth module

BT power

BT enabled

BT radio

On module antenna

Page 5: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

504/19/23

The Orbit Edu Board Kionix KXM52 3-axis accelerometer (motion sensor)

3 analog outputs for each direction Enable pin from MSP430

National Semiconductor LM20 temperature sensor Analog output Powered by MSP430 (P6.5)

2 unused ADC inputs / DAC outputs

KXM52 3-axis accelerometer

LM20 temp sensor

Page 6: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

604/19/23

The Orbit Edu Board LCD connector

Contrast potentiometer Unregulated power

Standard TI JTAG programming connector Connectors for every pin on the MSP430 & BT module 8 touch sensor pads 4 pushbuttons Processor controllable indicator LED (P5.3)

Programming (JTAG) connector

Pushbutton

Pad (for touch sensor)

LCD connector

Indicator LED

Contrast pot.

Page 7: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

704/19/23

The Orbit Edu Board Power from battery or power supply (DIP switch 1)

Li-Ion battery (40mAh, 3.7v) 4 – 6 volt external supply Regulated to 3.3 volt for MSP430, Bluetooth Current sense resistor in series (reminder: V=IR) Power LED

DIP-switch operation

DIP switches

Current sense resistor

Battery

External power connector

Regulator for MSP430

Regulator for BT module

Power LED

Page 8: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

804/19/23

The Orbit Mini Similar to Orbit Edu

Amplified analog input MicroSD card

LCD connector

Power Switch

LEDs

BatteryMicroSD cardUniversal connector

Programming (JTAG) connector

Push buttons

Page 9: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

904/19/23

Orbit Platform Applications

Orbit Watchwith motion gesture

recognition

Orbit Remotewith motion gesture

recognition

Orbit ECGhealth monitoring

system

Page 10: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1004/19/23

Orbit Platform Applications

Page 11: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1104/19/23

The MSP430 Microcontroller 64 pins Each pin can be configured:

Example: Pin 5

P6.6: bit 6 of port 6 (GPIO), input P6.6: bit 6 of port 6 (GPIO), output A6: ADC input 6 DAC0: DAC output 0

Must be configured in programs Unused pins should be configured as GPIO outputs

http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?familyId=911&sectionId=95&tabId=1527&family=mcu

MSP430 F1611

Page 12: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1204/19/23

The MSP430 Microcontroller

Low frequency crystal oscillator Optional, present on board Accurate real-time clock Longer sleep intervals -> lower power usage

High frequency internal oscillator (VCO) Optional crystal can be soldered on board

Alternative clock source Crystal: accurate Internal: software controllable

Page 13: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1304/19/23

Programming the MSP430 IAR Embedded Workbench

C compiler & debugger Free version (4kb limit) available from ti.com Installed in lab computers

USB Programmer DIP 3: board powered by programmer DIP 4: board powered independently Get it from Lin

Lots of sample/driver code From ti.com From RECG

LCD driver and library BT communication / power management

Page 14: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1404/19/23

DIP Switches DIP 1: Board power

On: Battery Off: external / programmer

DIP 2: Bluetooth power On: Same as board Off: Separate regulator

DIP 3: Board power / programming On: Programmer powers board Off: Battery / external power source

DIP 4: Programming On: Programming on battery / external power Off: Not programming or programming with programmer power

On

Off

Page 15: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1504/19/23

Orbit Edu Energy Conservation BT module is the biggest power consumer

Power down when not transferring data Use power saving modes if absolutely necessary to maintain

connection

Peripherals (accelerometer, temp sensor, LCD, …) Disable / power down when not in use

MSP430 Write efficient, interrupt driven code Nothing to do? Go into low power states Minimize interrupts, minimize time CPU running

Use low frequency osc. instead of full speed osc. for timekeeping Use internal hardware frequency dividers (vs. software)

Page 16: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1604/19/23

The Phones Windows Mobile OS (CE family) Bluetooth connectivity GPRS/EDGE connectivity (if necessary) 802.11 WLAN connectivity (if necessary)

PocketPC: touchscreen Smartphone: no touchscreen

Page 17: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1704/19/23

Programming the Phones Visual Studio 2005

Free 90-day trial from microsoft.com Academic version for cheap Installed on lab computers Program in C++ / C# / …

Windows Mobile 5.0 SDK Free from microsoft.com PocketPC and/or Smartphone versions Includes phone emulator Installed on lab computers

ActiveSync Enables Windows XP/Vista to communicate with phone

(Installed on lab computers) Version 4.5+ sometimes incompatible with XP, use lower versions! Version 4.5+ required for Vista!

http://msdn.microsoft.com/windowsmobile/downloads/resourcekit/

Page 18: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1804/19/23

Bluetooth Communication Bluetooth Serial Port Profile (SPP)

Will be addressed by Lin

Orbit Edu Bluetooth module Connected to MSP430 UART 0 No flow control BT powered by DIP switch 2 or MSP430 P5.6 2 LED indicator outputs also connected to MSP430

BT_EN: Module enabled (P3.2) BT_radio: Radio activity / connection (P3.3)

Phone Bluetooth programming Independent socket connection to each Bluetooth device Sample code & introduction available on course page

BT_EN BT_radio

Page 19: Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007

1904/19/23

Q&A