developing a springboard module
TRANSCRIPT
Developing a Springboard Module
Presented by:
Aaron Vesperman
Introduction
Personal Background Contest Overview Presentation Overview
– Springboard Architecture– Development Tools– The Chatterbox– Conclusions
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
Springboard Architecture –Hardware
Memory Bus extension
Interrupt Power Card Detection Microphone
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
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
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.
The Chatterbox – User Interfaces
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
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
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)
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())
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)
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
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