Anusha Dachepally (ad2657) Raghu Binnamangalam (rsb2145)Devesh Dedhia (ddd2121) Roopa Kakarlapudi (rk2489)CSEE 4840 Embedded systems DesignOverview Motivation Goals Real Time Video Display Color detection Light saber generation Real time video processing Processing at 60 fpsMotivation To learn integration of hardware and software Real time video processing on the FPGA board Inspired by Luke Skywalker (Star wars!!)Objectives To capture video in real time of a person holding a sword Do real time video processing at 60 fps Replace the sword with a light saber on the VGA displaySystem ArchitectureITUADV7181RAMAVALON BUSYCbCr to RGBVGA ControllerNIOS422To444InitiationDelay timerLocked DetectorI2C_AVConfigTD_HSTD_VSI2C_SCLKI2C_SDATXYDetectionAvalonCommunicatorCameraADV7123VGADisplayTiming diagramsTiming diagram 1TD_VS16 ms ( 60 fps)VGA_VSTiming Diagram 2Fill up 1 line bufferRead 1 line bufferVGA_HSTD_HSTiming diagram 3 (Software)1. Generation of light saber2. Filling up a RAM for communication with hardwareRead blue/green dataTD_VSTD_HSReal time Video Display 60 fps display To emulate real time video No frame storage SRAM not dual ported SDRAM is a time deterrent Real item display on the fly Usage of 2 line buffers Swap between the 2 line buffers Avoids loss of information No interlacing replicating even/odd frameColor detection Conventional approach Euclidean distance Intense computations hence delay Our approaches RGB vs YCrCb RGB has varying threshold with varying intensity of light YCrCb has greater toleranceLight saber generation Find centre of mass for ends of swordLight saber generation Calculate the slope of the lineθLight saber generation Use a predefined sword width and halo widthLight saber generation Filling the coordinate tablex1x2Software Design Centre of mass calculation Using theta calculations find the four edge points of the light saber for a predefined width. Use a table to store the X1 and X2 for each line displayed by the VGA.Design challenges For real time video display Horizontal sync and Vertical sync w.r.t incoming video from ADV 7181 Achieving 60 fps Making the system work without frame buffers Deal with multiple clock domainsDesign challenges(contd..) Floating point calculations Line drawing algorithms Synchronization with the VGA module in hardware Hardware signals are sampled more than onceLessons learnt Start early DE2 Terasic real time video code is all junk Design timing diagrams before implementation Conventional measuring techniques like CRO are Life savers More time for debuggingMay the force be with you!!!Thank
View Full Document