Video Conference System

Similar documents
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Nios II-Based Intellectual Property Camera Design

10/100/1000Mbps Ethernet MAC with Protocol Acceleration MAC-NET Core with Avalon Interface

Networking Remote-Controlled Moving Image Monitoring System

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN.

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

A Scalable Large Format Display Based on Zero Client Processor

Lesson 10: Video-Out Interface

Video and Image Processing Design Example

White Paper Streaming Multichannel Uncompressed Video in the Broadcast Environment

7a. System-on-chip design and prototyping platforms

White Paper Increase Flexibility in Layer 2 Switches by Integrating Ethernet ASSP Functions Into FPGAs

Qsys and IP Core Integration

How PCI Express Works (by Tracy V. Wilson)

What is a System on a Chip?

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

VOIP Project: System Design

Easy H.264 video streaming with Freescale's i.mx27 and Linux

Serial port interface for microcontroller embedded into integrated power meter

Chapter 13. PIC Family Microcontroller

SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: wireless embedded network

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Video-Conferencing System

DAC Digital To Analog Converter

Maritime HMI - S Line.

Open Flow Controller and Switch Datasheet

Using Mobile Processors for Cost Effective Live Video Streaming to the Internet

An Embedded Based Web Server Using ARM 9 with SMS Alert System

Am186ER/Am188ER AMD Continues 16-bit Innovation

A Generic Network Interface Architecture for a Networked Processor Array (NePA)

H.264 Based Video Conferencing Solution

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Real-Time Driver Drowsiness Tracking System

Computer Architecture

Car Racing Game. Figure 1 The Car Racing Game

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

Building an IP Surveillance Camera System with a Low-Cost FPGA

December 2002, ver. 1.0 Application Note 285. This document describes the Excalibur web server demonstration design and includes the following topics:

Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

ANA: ARCNET Network Analyzer

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Multichannel Voice over Internet Protocol Applications on the CARMEL DSP

MVME162P2. VME Embedded Controller with Two IP Slots

Types Of Operating Systems

Technical Product Specifications Dell Dimension 2400 Created by: Scott Puckett

13. Publishing Component Information to Embedded Software

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Computer Systems Structure Input/Output

vdelay: A Tool to Measure Capture-to-Display Latency and Frame Rate

2. TEACHING ENVIRONMENT AND MOTIVATION

Strategies. Addressing and Routing

ELECTENG702 Advanced Embedded Systems. Improving AES128 software for Altera Nios II processor using custom instructions

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

CSE2102 Digital Design II - Topics CSE Digital Design II

Software Stacks for Mixed-critical Applications: Consolidating IEEE AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

System-on-a-Chip with Security Modules for Network Home Electric Appliances

LAPTOP PROCESSOR GUIDE That is why laptop processor guide 2012 guides are far superior than the pdf guides.

Switch Fabric Implementation Using Shared Memory

Network connectivity controllers

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

85MIV2 / 85MIV2-L -- Components Locations

Getting Started with RemoteFX in Windows Embedded Compact 7

Design of Remote Security System Using Embedded Linux Based Video Streaming

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

AXIS Video Capture Driver. AXIS Video Capture Driver. User s Manual

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Computer Organization and Components

Development. Igor Sheviakov Manfred Zimmer Peter Göttlicher Qingqing Xia. AGIPD Meeting April, 2014

Computer Architecture

Motivation: Smartphone Market

ENGI E1112 Departmental Project Report: Computer Science/Computer Engineering

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

Architectures and Platforms

Parallelization of video compressing with FFmpeg and OpenMP in supercomputing environment

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

Ping Pong Game with Touch-screen. March 2012

MICROSOFT. Remote Desktop Protocol Performance Improvements in Windows Server 2008 R2 and Windows 7

FPGA. AT6000 FPGAs. Application Note AT6000 FPGAs. 3x3 Convolver with Run-Time Reconfigurable Vector Multiplier in Atmel AT6000 FPGAs.

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Fast Hybrid Simulation for Accurate Decoded Video Quality Assessment on MPSoC Platforms with Resource Constraints

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

A Computer Vision System on a Chip: a case study from the automotive domain

1 PERSONAL COMPUTERS

Introduction to System-on-Chip

Embedded Display Module EDM6070

10/100 Mbps Ethernet MAC

Gigabit Ethernet Design

TI ARM Lab 7 Accelerometers

Transcription:

CSEE 4840: Embedded Systems Spring 2009 Video Conference System Manish Sinha Srikanth Vemula

Project Overview Top frame of screen will contain the local video Bottom frame will contain the network video

Objectives Design a video conferencing system by using both hardware and software. Display smooth, real-time video for the local video Minimize frame loss on network video stream so that it is viewable. Building a stable system that uses multiple peripherals

Architectural Design: Block Level Diagram

Architectural Design: Linebuffer ITU-656 decoder adopted from Terasic reference code. Modified to output only luminance and 4-bits per pixel. Linebuffer captures every other pixel of every other line Stored in block RAM 320x240 resolution, 4-bits per pixel = 37.5 KB frame size quick to transmit over ethernet & small enough to allocate in block RAM. Also, 4-bit pixels give acceptable quality.

Architectural Design: Arbitrator There are three resources contending for the SRAM. Their access is prioritized in this order. 1) VGA: The VGA controller operates on a 25 Mhz pixel clock. It reads the SRAM on every fourth 25 Mhz clock tick because each word in the SRAM contains enough data for four pixels. 2) Ethernet: The NIOS receives packets, from the Ethernet chip, containing 8 lines. This packet, containing the network video, is sent to the SRAM through the arbitrator. 3) DMA Controller: The DMA controller writes local video to the SRAM through the arbitrator. Why this order? VGA needs pixels or else screen output will become blotted/malformed. Incoming ethernet data is few and infrequent relative to the DMA controller. Switching the ethernet & DMA controller order enables the DMA to take over the SRAM resulting in a poor network video framerate.

Architectural Design: Arbitrator

Architectural Design: DMA Controller Motive: decouple the local video from the network video as much as possible (not entirely decoupled because everything has to go through the arbitrator at the end!) The DMA Controller moves data from the linebuffer (stored in block RAM) to the arbitrator. This yielded much better results than having the NIOS do it. Now the NIOS solely concentrates on ethernet activities.

Architectural Design: DM9000A & NIOS-II Processor We optimized the ethernet drivers from lab 2 for speed. Main technique: decrease the delays, use asm( nop ) instead of usleep(). Increased maximum transmit rate from 80 kb/s to 1.2 mb/s Receive packet routine entirely re-written The NIOS reads eight lines from the linebuffer (via the avalon bus) and then ships a UDP packet out to the ethernet. NIOS code and data are stored on the SDRAM. Both are running at 100 Mhz. In addition to the data of each line, the linenumer and field are transmitted as well (since both are needed to index into the SRAM)

Experiences & Issues Timing diagrams are critical. Knowing what is happening at the cycle level and doing a proper timing analysis are essential to uncovering potential problems. Simulations helpful when possible We simulated our SRAM address calculations to ensure their correctness. Different clock domains can lead to many problems. Decoupling the 27Mhz, 50Mhz, and 100Mhz clock domains in our system took some careful effort. HW/SW tradeoff: time in exchange for speed & precision.

Lessons Learned Start the project early. Spend as much time as possible during the design phase so problems can be uncovered then rather than later on. Do not proceed with implementing the system until a comprehensive timing analysis has been done. Use the simplicty of SOPC builder to your advantage; connect components to the avalon bus and use the NIOS to debug hardware. Use simulations when possible to unit test components. Distribute the work into chunks that can be worked on in parallel.