Title: Developing a Springboard Module
1Developing a Springboard Module
- Presented by
- Aaron Vesperman
2Introduction
- Personal Background
- Contest Overview
- Presentation Overview
- Springboard Architecture
- Development Tools
- The Chatterbox
- Conclusions
-
3Springboard 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!)
Setup Application
Code Library
4Springboard Architecture Hardware
- Memory Bus extension
- Interrupt
- Power
- Card Detection
- Microphone
5Springboard 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
6Development 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
7The 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.
8The Chatterbox User Interfaces
9The Chatterbox Hardware Block Diagram
Chatterbox Springboard Module
Audio Circuit
4MB Toshiba Flash memory
CoolRunner CPLD
FRS Radio
DTMF Circuit
Power Supply Circuit
4 AAA batteries
10The Chatterbox CPLD Functional Block Diagram
Audio Interface
SHUTDOWN
Springboard Expansion Slot Interface
F_A230
F_D150
F_RESET
S_A230
Audio Controller
MUTE
F_OE
F_WE
A_WE
MODE
Memory/Register Manager
A_D10
S_D150
DTMFDATA
D_OE
DTMF Controller
DTMF Interface
D_WE
DTMFRW
S_CS0
D_RD30
DTMFDSRD
S_CS1
DTMFRS0K
D_WD70
DTMFCS
S_WE
DTMFIRQ
RF_WE
S_OE
TXRXEN
RF Transceiver Controller
RF Transceiver Interface
RF_D30
TXRXPWR
S_RESET
RXDET
P_WE
P_D0
MENU
IRQR
DOWN
I_D70
RF_IR1
PWR_IR
Power Supply Controller
RF_IR2
S_LOWBAT
IRQ Controller
S_IRQ
PWREN
PWRRES
RF_IR1
DTMF_IR
Power Supply Interface
RF_IR2
11The Chatterbox Memory Map
12The Chatterbox Signal/Event Hierarchy
13The Chatterbox Chatterbox Wireless
Communications Protocol
14The Chatterbox Build Process
.vhdl
.ufc
.c
.h
.rcp
.c
.h
.rsrc
Compile and Fit for CoolRunner With Xilinx
WebTools
Compile and Link Setup Application With gcc and
makefile
Compile and Link Welcome Application With Code
Warrior
SetupApplication.prc
WelcomeApplication.prc
Chatterbox.jed
CoolRunner CPLD
Create Chatterbox ROM With Palm-MakeROM
Chatterbox.bin
4MB Toshiba Flash memory
15Conclusions
- 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