developing a springboard module

15
Developing a Springboard Module Presented by: Aaron Vesperman

Upload: fedor1

Post on 08-Apr-2015

47 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Developing a Springboard Module

Developing a Springboard Module

Presented by:

Aaron Vesperman

Page 2: Developing a Springboard Module

Introduction

Personal Background Contest Overview Presentation Overview

– Springboard Architecture– Development Tools– The Chatterbox– Conclusions

Page 3: Developing a Springboard Module

Springboard Architecture -Overview

Proprietary Implementation with Open Interface

True plug-and-play Low demand on Visor

resources Interrupt and power

management support Platform Dependent

(Palm OS only!)

Handspring Visor

Visor Hardware

Springboard Extensions Palm OS

Springboard Module

Springboard Expansion Slot

Springboard Module Hardware

Setup Application

Welcome Application

Standard Palm Application

Code Library

Setup Application Code Library

Page 4: Developing a Springboard Module

Springboard Architecture –Hardware

Memory Bus extension

Interrupt Power Card Detection Microphone

Page 5: Developing a Springboard Module

Springboard Architecture - Software

Setup Application– Installer/Un-installer– Interrupt Handler– Power Handler

Welcome Application– No globals

Standard Palm OS Application

Code Libraries– Installed by Setup

Application– Remain on Visor after

module removal Handspring API

Springboard Extensions– Card Configuration– Allocation of Heap

Memory– Pointers for Card Access

Page 6: Developing a Springboard Module

Development Tools

Handspring Palm Os GNU Tools

Metrowerks Code Warrior

Visor Edge 8Mb Flash Module POSE

Insight Electronics Springboard Development Kit

Xilinx CPLD WebTools Cadsoft EAGLE

(Schematic and board layout design tool)

Bell South FRS Radio Oscilloscope

Page 7: Developing a Springboard Module

The Chatterbox - Overview

The Chatterbox is a short distance, wireless, two-way radio communications device that combines walkie-talkie like voice communications with security features like Friend Browsing, a feature to identify other devices operating in the local transmitting area.

Page 8: Developing a Springboard Module

The Chatterbox – User Interfaces

Page 9: Developing a Springboard Module

The Chatterbox – Hardware Block Diagram

Chatterbox Springboard Module

CoolRunner CPLD

Power Supply Circuit

4MB Toshiba Flash memory

DTMF Circuit

4 AAA batteries

Audio Circuit

FRS Radio

Page 10: Developing a Springboard Module

The Chatterbox – CPLD Functional Block Diagram

PWRRES PWREN

TXRXEN

RXDET

Springboard E

xpansion Slot Interface

Audio

Interface

Power Supply Controller

RF Transceiver Controller

DTMF Controller

S_A[23:0]

Memory/Register Manager

Audio Controller

Memory Bus Interface

S_D[15:0]

F_D[15:0]

MUTE

A_D[1:0]

DT

MF

Interface

S_CS0

S_CS1

S_WE

S_OE

A_WE

D_RD[3:0]D_WE

Power Supply Interface

DTMFRS0K

IRQ Controller

RF

T

ransceiver Interface

RF_IR1

RF_IR2PWR_IR

RF_IR1 DTMF_IR

RF_WE

S_IRQ

P_D0IRQR

I_D[7:0]

DTMFRWDTMFDSRD

DTMFCS

TXRXPWR

MENU

SHUTDOWN

S_LOWBAT

P_WE

F_OE

F_A[23:0]

F_WE

F_RESET

S_RESETRF_D[3:0]

MODE

DOWN

DTMFDATA

DTMFIRQ

D_WD[7:0]

D_OE

RF_IR2

Page 11: Developing a Springboard Module

The Chatterbox – Memory Map

Memory Map (Starting addresses)

IRQ (0x2848 0000)

Flash Not Used(0x2801 0000)

Token Space(0x2800 FF00)

Setup Application andWelcome Application

(0x2800 0000)

Flash (CS0)

SRAM AndRegisters (CS1)

DTMF (0x2848 0008)

AUDIO (0x2848 0006)

PWR (0x2848 0004)

RF TXRX (0x2848 0002)

SRAM Not Used(0x2840 0000)

Page 12: Developing a Springboard Module

The Chatterbox – Signal/Event Hierarchy

DTMF/Power/RF Transceiver Circuit I/O

IRQ HDL

Interrupt Handler

Card Event Handler (Driver Manager)

Critical Application Event Handler (AppEventHandler())

DTMF/Power/RF Transceiver Controller HDL

Application Event Handler (AppHandleEvent())

Page 13: Developing a Springboard Module

The Chatterbox – Chatterbox Wireless Communications Protocol

Physical Voice Layer(FRS Radio)

Network Layer

Data Link Layer (DTMF timing)

Physical Data Layer(DTMF)

Application Layer

Data Communications

Voice Communications

Layers of the Chatterbox Wireless Communications Protocol (CWCP)

Page 14: Developing a Springboard Module

The Chatterbox – Build Process

*.vhdl .ufc

Compile and Fit for CoolRunner

With Xilinx WebTools

Compile and LinkSetup Application

With gcc and makefile

4MB Toshiba Flash memory

CoolRunner CPLD

*.c *.h .rcp

Compile and LinkWelcome Application

With Code Warrior

*.c *.h .rsrc

SetupApplication.prc WelcomeApplication.prc

Create Chatterbox ROM With Palm-MakeROM

Chatterbox.jed

Chatterbox.bin

Page 15: Developing a Springboard Module

Conclusions

Great learning experience Complicated mix of tools made initial

development progress slow Use of the CoolRunner CPLD was an excellent

solution for “glue” logic required for a special purpose Springboard Module

Xilinx and Handspring provided good support