Title: Armada Toolset
1Armada Toolset
- Terminology and Overview
- Armada Toolset Technical Summary
2What is Armada?
- Armada is...
- A software library for real-time data acquisition
and signal processing on the PC - Written in C
- Composed of software components
- Visual (user-interface) or non-visual
(processing) - Compatible with
- Borland Builder (native VCL components)
- Visual C and .NET (via DLL and class wrappers,
with some restrictions)
3Operational Modes
- In order of decreasing performance
- Slave Mode
- Board configuration, specialized HW-specific I/O
- Snap Mode
- Burst multi-channel signal capture with
channelized, pump-based, post-processing - Block Mode
- Continuous multi-channel I/O with real-time,
event-oriented processing - Streaming Mode
- Continuous I/O with real-time, channelized,
pump-based, signal processing
4Slave Mode Operation
ChicoPlus FIFO-based module(s)
User Application
Slave PCI accesses
DSP baseboard
Messages
TIICaliente is not used. No automatic streaming
data movement functions are performed. HW
interrupts supported to max Windows rates, 5
kHz. Messages used to interchange data with DSP
boards
Typically gt 10 MHz Peripherals
5Slave Mode Operation
- Advantages
- Familiar, albeit comparatively complex
programming paradigm - Realizes theoretical baseboard performance
- ie. 200 MSamples/sec for Lobo (2 GB bursts only)
- Disadvantages
- Unsuitable for continuous processes
- Greater familiarity with HW required
6Snap Mode Operation
Pool Buffers sized tolt size of PC memory
ChicoPlus FIFO-based module(s)
2-32 MB Bus Master Memory
TIICaliente
Typically gt 10 MHz Peripherals
DSP baseboard
TIICaliente automatically channelizes streams in
this mode
User Application
TIIGenericSink
TIIGenericFilter
TIIStreamInput
7Snap Mode Operation
- Advantages
- Block-diagram application development
- Less familiarity with HW required
- Arbitrarily complex signal manipulation on
channel-by-channel basis - Realizes theoretical baseboard performance
- 200 MB/sec for Matador/Velocia
- Disadvantages
- Not suitable for continuous processes
8Block Mode Operation
Pool Buffers sized to instantaneous load
ChicoPlus module(s)
2-32 MB Bus Master Memory
TIICaliente
Typically .1 to 10 MHz Peripherals
DSP baseboard
TIICaliente does not channelize streams in this
mode
User Application
User Application
TIIBlockStream
TIIChannelStripper
TIIChannelStripper optionally allows user
processing of channelized events in this mode
9Block Mode Operation
- Advantages
- Very rapid development of recorders and players
- Suitable for continuous processes
- Suitable for intermittent processes on Velocia
- Realizes theoretical baseboard performance
- 200 MB/sec for Matador/Velocia
- Simple interface to custom data streams
- Disadvantages
- Greater familiarity with HW required
10Streaming Mode Operation
- Streaming Mode Signal Flow
Pool Buffers sized to instantaneous load
ChicoPlus module(s)
2-32 MB Bus Master Memory
TIICaliente
Typically .1 to 10 MHz Peripherals
TIICaliente automatically channelizes streams in
this mode
User Application
TIIGenericSink
TIIGenericFilter
TIIStreamInput
TIIGenericFilter
TIIStreamOutput
TIIGenericSource
11Streaming Mode Operation
- Advantages
- Block-diagram application development
- Suitable for continuous processes
- Less familiarity with HW required
- Arbitrarily complex signal manipulation on
channel-by-channel basis - Disadvantages
- Cannot realize theoretical HW performance
- 10 Msamples/sec aggregate for all pump chains on
P4-2.5
12Mode Comparison
13Armada Toolset
- Component Categories
- Caliente - Low-level hardware interface
- Internal interrupt handling buffering
channelization and format conversion - Baseboard
- All baseboard-specific communications (bus-master
and messages) Downloading - Data Pump - Real-time signal flow
- Generic sources, filters, sinks
- Analysis MMX-optimized signal processing
- Filtering recording and playback FFTs signal
generation signal analysis plotting
14Armada Summary
- Designed from scratch for performance
- Full bandwidth Dsp-Host communications
- Native signal processing on Intel architectures
- Manages all real-time data flow signaling and
buffer management - Ships with each product in Matador and Velocia
product line - Fully documented in new CHM and PDF files
15Product Weaknesses
- Architecture biased towards BCB programmers
- BCB programmers lt 20 of audience
- Some features inaccessible to MSVC and .NET users
- DLL and its maintenance required for MSVC/.NET
- Operating system-specific code
- Makes porting to other OSes difficult
- Reduces our sales potentia
16Redesign Effort
- Two principle tasks
- Recode all support functions in generic C
- All Armada support classes to compile under MSVC,
.NET, Intel and Borland compilers - User-access classes (such as TIILogger or
TIIPlot) become superficial Substance of these
classes implemented in generic C within Armada
support classes - Modularize all OS specific code
- Substitute portable inter-task signals instead of
Windows messages, events, etc.