190 likes | 400 Views
Introduction to the Orbit Edu Board. Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007. The Rice Orbit Platform. GPRS / WiFi. Bluetooth. Orbit Edu. Commands. Bluetooth. Bluetooth. User input. Orbit Sensors. Phone. Applications:
E N D
Introduction to theOrbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007
The Rice Orbit Platform GPRS / WiFi Bluetooth Orbit Edu Commands Bluetooth Bluetooth User input Orbit Sensors Phone Applications: • Health monitoring • Multimedia experience recording • Remote, ambient phone interaction • Educational Orbit Watch
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) Manual available on course web page:www.ruf.rice.edu/~mobile/elec424/ MSP430 microcontroller
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 BT enabled BT power BT radio KC21 Bluetooth module On module antenna
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
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 Contrast pot. Pushbutton Indicator LED LCD connector Pad (for touch sensor)
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 External power connector Regulator for MSP430 Current sense resistor Power LED Battery Regulator for BT module
The Orbit Mini • Similar to Orbit Edu • Amplified analog input • MicroSD card Programming (JTAG) connector Universal connector MicroSD card LCD connector Battery Power Switch Push buttons LEDs
Orbit Platform Applications Orbit Watchwith motion gesture recognition Orbit ECGhealth monitoring system Orbit Remotewith motion gesture recognition
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§ionId=95&tabId=1527&family=mcu MSP430 F1611
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
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
On Off 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
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)
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
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/
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