140 likes | 343 Views
Video Streaming via Network using SOPC Characterization Presentation. Presented By: Tal Rath and Eyal Enav. Supervisor: Mike Sumszyk. Agenda. Project Goals. Project System Overview. System Architecture. Data Flow. System Inputs. System Outputs. Rates.
E N D
Video Streaming via Network using SOPCCharacterization Presentation Presented By: Tal Rath and Eyal Enav Supervisor: Mike Sumszyk
Agenda • Project Goals. • Project System Overview. • System Architecture. • Data Flow. • System Inputs. • System Outputs. • Rates. • Real Time Performance. • Conclusions. • Schedule.
Project goals • Real-time streaming of webcam video through LAN using SOPC. • Learning SOPC environment. • Designing a system for real-time demands. • Establishing a USB and Ethernet connections. • Investigation and implementation of suitable internet protocols.
Project System Overview • DE2 Altera board • Ethernet 10/100M port. • USB device port 2.0. • Cyclone II FPGA • Nios II soft-core. • Avalon switch fabric. • Environment: SOPC builder, Quartus II and NIOS IDE II.
System Architecture. USB Port USB Cable USB Cable Philips ISP1362 (USB) DE2 Board Local PC Nios II Soft Processor Cyclone II Avalon Switch Fabric On Chip Memory LAN Ethernet Port 10/100M DM9000A (Ethernet Controller) RJ-45 RJ-45 Remote PC
Data Flow Frames DE2 LocalPC Nios II Camera USB - device USB - host USB - host Wait for Client request USB Service Program USB - device Remote IP & MAC Remote PC Screen LAN Get data From USB Screen Ethernet UDP Receive & Video Display Program Frames Send over Ethernet Create UDP Packets Ethernet Port Ether. Packets
System Inputs • DE2 board • Connected to PC through USB port, using Philips USB controller. • USB webcam • Connected to PC through USB port. • USB connection service program • Should be written for Windows OS. (C++) • Reads frames from camera. • Sends frames to USB port using OS services.
System Outputs • DE2 is connected to LAN. • DM9000A PHY/MAC Controller supplies an Ethernet interface for NIOS II. • UPD/IP over Ethernet should be Implemented using IDE2. • Possible implementation of ARP and DHCP. • Remote computer is connected to LAN. • UDP service program. • Should be written for Windows OS. (C++) • Accepts UDP frame packets from the SOPC. • Uses buffering. • Displays video stream. LAN
Rates • NIOS II loaded to Cyclone II can process up to 400M instructions Per second
Real Time Performance • Two memory buffers will be allocated on chip memory. • Each one with a size of constant number of UDP packets. • Operation sequence (Assuming buffer B is ready): CPU Start DMA transfer: USB buffer A Same with B and A replaced DMA transfer DMA transfer A ended Interrupt Send Buffer B to network using UDP packets Buffer_A_Ready_Flag = TRUE Wait for Buffer_A_Ready_Flag
Conclusions • USB protocol will be implemented over Philips ISP1362 USB controller. • UDP sender will be implemented over DM9000A mechanism. • A USB connection service program should be written and run on local computer. • A UDP service program will be written and run on remote computer. • DMA will be used in order to achieve parallelism.