iBob wideband IF streaming and VDIF utilities
(C) 07/2009 Jan Wagner
The inexpensive Berkeley Casper iBOB FPGA board is a nice way to distribute your wideband radio IF signal over 10GbE. Below we present an iBob FPGA design and VDIF utilities.
We provide utilities that are related to the VLBI Data Interchange Format (VDIF) Release 1.0. There is a simple library for parsing VDIF files. A tool allows VDIF UDP data capture at over 4 Gbit/s rates from the network to disk.
A simple broad-band data acquisition design that streams two analog signals each with 512 MHz bandwidth over 10GbE networking is available below too. The iBob clock is synched to station 1PPS. With an iADC board hooked to the iBob, users can sample dual IFs at one gigasample/sec. The IF channels are send as UDP/IP packets over standard 10 gigabit Ethernet. The time-stamped VDIF frames contained in the UDP/IP packet stream can be captured with Mark5C, 4G-EXPReS or any other fast Linux RAID file system.
VDIF Utilities
A description is TODO. For now please refer to the source code.
ibob_utils_v11.tar.gz (19kB): VDIF library, VDIF UDP packet capture utility, iBob remote control, iBob clock NTP-synch, VHDL component for VDIF R1.0 framing
iBob Design
A full description is TODO.
FPGA firmware: the design v1.2 bitstream file is expres4g1024M_2009_Jun_05_1841.bit. Use JTAG to program the volatile iBob FPGA with a tool like Xilinx ISE, Accessories, iMPACT. To program the static iBob program EEPROM instead, please refer to the Casper ibob_prom_proc.pdf instructions.
Simulink model and vhdl: everything required to recompile in Xilinx ISE 9.1i with Matlab 2006b and the Berkeley Casper toolchain mlib_devel_82 can be downloaded in the .rar file expres4g1024M_v12.rar (37MB). It contains .mdl, vhdl, bit files, the entire ISE/XPS project, all precompiled binaries, all source code. Also see version 1.2 changelog.
iBob configuration: equip with iADC board in rightmost ZDOK connector, connect LVTTL 1PPS to iADC sync, connect 1024.000 MHz @ -6dBm to iADC sampling clock, two IFs with 512 MHz bandwith connected to the iADC I,Q inputs. The 10GbE ports should be connected to some desktop 10G switch. The iBob RS232 serial console at 115200 baud can be used for manual commands and infos.
iBob network: iBob accepts remote control packets from the "LAN". With default settings and the 1024MHz sampling rate you should get two 2056 Mbit/s UDP packet streams.
AGC: the AGC is performed in Virtex-II Pro embedded PowerPC software. AGC is disabled by default but can be enabled remotely or via shell 'agc 1'. If enabled, the agc loop checks the 2-bit sample statistics i.e. sample histogram. The current distribution is compared to the VLBI-ideal 4-level distribution of 16%:34%:34%:16%. The comparison adjusts the 8-bit=>2-bit quantization threshold level by +-1 so that the distribution gradually shifts towards the ideal distribution. It is slow a AGC with a settling speed of several minutes.
Sample statistics: the live 2-bit sample streams of both channels in the User IP are sampled randomly by the Virtex-II Pro embedded PowerPC software. After every 2^19 randomly distributed samples, a new distribution estimate is computed. The current distribution or histogram can be checked with
IBOB % samplestats 2-bit value : '11' '10' '00' '01' Channel 1 : 90051 172625 181385 80227 Channel 2 : 0 427072 97213 3 Channel 1 : 17% 32% 34% 15% Channel 2 : 0% 81% 18% 0% Signal power 1: 6678*1e-3 dB Signal power 2: 0*1e-3 dB
Validation
TODO: add the 2008/2009 results from Venus Express spacecraft tracking, Saturn water vapour detection, the 2008 publications, ...
| This work has received financial support under the EU FP6 Integrated Infrastructure Initiative contract number #026642, EXPReS. | ||