NetCeiver

Type: Own development

Status: Licensed to Reel Multimedia for usage in Reelbox Avantgarde

Keywords: DVB, IPv6, streaming, multicast, FPGA, System-on-Chip (SoC), DDR, PCI, AVR, VHDL, PCB Design, Embedded SW, uCLinux, Linux drivers, XML

Description:

Full PCB

Detailed View at FPGA Section

  • The NetCeiver concept is described in a White Paper
  • SVN with plugin for vdr and LPGL’ed access library: https://svn.baycom.de/repos/vdr-mcli-plugin/
  • Standalone PCB (4 layers)
    • FPGA XC3S1600E (BGA with 320balls)
    • DDR (64MByte, 16bit, 132MHz)
    • Two PCI slots (32MHz, 32Bit)
    • Gigabit Ethernet PCI card (Realtek 8169)
    • 3 tuner slots for max. 6 DVB TS inputs
    • 2 CI slots, 3rd with optional PCB
    • ATMega64 with MMC/SD card slot for FPGA firmware and OS
    • Tuner/LNB current measurement
    • Power supply and power management
  • FPGA contains full SoC
    • Microblaze CPU (66MHz) with 8+8kByte I/D-cache
    • 8kByte BIOS
    • DDR controller with 5 internal ports (own development, up to 400MBytes/s bandwidth)
    • PCI host/target (own development)
    • PCI arbiter
    • TS interface and switch matrix for 6 tuners and 2 CAMs
    • 32 full PID filters (8192 entries) with attributes for complex TS datapath handling
    • MTD/Multi-Transponder-Decryption: TS-re-multiplexing and PID-rewriting for decrypting services from different transponders with only one CAM
    • TS packet aggregation of PIDs and IPv6 packet assembly incl. UDP checksum
    • Tuner input datapath capable of handling up to 42MBytes/s (6 full DVB-S2 transponders)
    • Fast DMA interface handling for ethernet packet generation (>100MBytes/s, no PCI waitstates)
    • Various interfaces (6*I2C bitbanging&DMA, GPIO, IO-bus to AVR, SPI, multiplexed CI)
    • Timer and interrupt controller
    • Internal clock management (132/66/32MHz out of 16MHz master clock, DDR calibration)
  • Embedded firmware for AVR and Microblaze
    • MMC/SD initialisation and firmware selection
    • FPGA bitstream upload
    • HW setup (DDR clock phase calibration, GPIOs, …)
    • PCI setup
    • Bootloader for uCLinux
  • IPv6 multicast streaming server
    • HW support (TS, PID-filtering, streaming, DMA, I2C)
    • Tuner drivers
    • MLD protocol handling
    • Intelligent resource management
    • XML capability and status broadcasts
  • Full DVB-API compatible client SW
    • Plugin for vdr
    • DVB loopback driver
    • Client daemon