Real-Time DSP MCSPU Controller
Hardware Bittware “Hammerhead” SHARC board (1) Bittware “Reef” boards (with FPGA) (2) General Standards ADADIO (2) General Standards 16AI64 (2) Symmetricom BC635 time processor (1) SBS CT9 CompactPCI system board (1)
Software CentOS 4.3 Linux Bittware DSP21K Toolkit Bittware/Jungo Linux device driver Analog Devices VisualDSP++ IDE/Toolkit Linux DSP Interface Library DSP controller binaries
DSP Layout
DSP per Axis View
RT Loop Keyed on 4kHZ FPGA interrupt Encoders from FPGA to “Mother” Main axis encoders from ADADIO via PLX9080 bridge Time from GPS Interpolator interrupt Servo interrupt Telemetry
Linux Interface Bittware driver on mountain, pending Bittware HIL primitives used for LBT DSP library libdsp.so from MCS control program “Mother” is main DSP per-axis read() and write() with SPCI or DMA
Linux Interface cont… Serialization in Linux Access is asynchronous to/from DSP Not deterministic and not realtime
Telemetry DMA into physical Linux pages Linux headers uses DSP headers Telemetry written from DSP to Linux (~4x faster) Interrupt thread disposes of telemetry data
DSP Debugging diag21k and DSP load map VisualDSP++ simulator Telemetry in /mnt/nfs, archive in /mnt/nfs- archive