18
MOI PROJECT Gugulethu Mabuza Bachelor Science Electrical Engineering Michigan State University

MOI PROJECT Gugulethu Mabuza Bachelor Science Electrical Engineering Michigan State University

Embed Size (px)

Citation preview

MOI PROJECT

Gugulethu Mabuza

Bachelor Science Electrical Engineering

Michigan State University

Table Of Contents

• Overview

• My Involvement

• Ultimate Goal

• Design Parameters

• Progress

• Challenges and Difficulties

Overview

• The objective of this project is to develop a real-time automated rivet classification system that processes and interprets magnetic optical image data. The system includes two parts: the hardware and software system. The hardware is to be designed and built using Cadence tools, which includes the video interface integrated with a microprocessor system. The analysis software comprises of digital image processing (programmed with Code Composer Studio tools), feature extraction, and rivet classification.

My InvolvementMOI Unit Collects the DataI have been provided with VHS Tapes of Data that has already Been collected

My focus will be to write/optimizesoftware for the DSP Board

Ultimate Goal

• Optimize the code! WHY?

My goal will be to achieve a very efficient solution. This is primarily where a large amount of my time will be spent. Areas of concern include: cycle count performance and code size. Of course, optimizing for one factor may negatively or positively impact the other one. And furthermore, these two factors may impact a third factor, cost

Design Parameters: Hardware Overview

This is a diagram of the DSP Board I am using

What is the DSP board doing?

System Interface for Capture And Display

Typical flow of Video Capture

Typical flow for Data display

Overview

1)The basic flow of the analog video data is from the video interface input connectors into the video decoder chip

2)The digital data from the decoders are outputted to the FPGA, which places the data into the SDRAM.

The decoded data (in YCbCr format) is read into internal memory and processed by the DSP according to the predefined algorithm. It is then transformed into RGB format

• The data is written out to the SDRAM. The RGB data is taken from the SDRAM and written into the FPGA and then sent to the video DAC, where it can be seen on a computer monitor.

Hardware Specifications• High-Performance Digital Media Processor (TMS320DM642)

• 720-MHz Clock Rate

• Eight 32-Bit Instructions/Cycle

• 4800, MIPS

• Eight Highly Independent Functional Units With VelociTI.2™ Extensions: • Six ALUs (32-/40-Bit), Each Supports Single 32-Bit, Dual 16-Bit, or Quad 8-Bit

Arithmetic per Clock Cycle • Two Multipliers Support Four 16 x 16-Bit Multiplies (32-Bit Results) per Clock

Cycle or Eight 8 x 8-Bit Multiplies (16-Bit Results) per Clock Cycle

64 32-Bit General-Purpose Registers

Design Specification: Software Overview

Channel Manager Framework

eXpressDSP API wrapper

Image Processing Functions

Image Data Manager

Chip Support Library

Hardware

RGB to Gray

Rivet Detection

Motion Based Filtering

Rivet Classification

Progress and Schedule

• Learn about the functions of the DSP board (done)• Learn how to use CCS Studio (done)• Read and understand Software that is currently in

place (90%)• In Depth analysis of MOI and different algorithms

used in the past and present ascertain adv/disadv and map a way forward (50%)

• Writing,Testing,debugging and modifying code (I expect to begin this 1st week of July)

Challenges/Experience so far

• C++

As a novice programmer I have met a lot of syntax I have to seen before , but it has been easy to understand so far.It’s just killing a lot of time because I sometimes have to digress and read a whole chapter or two to understand a single line from the hundreds of lines I have to read

Challenges/Experience so far

• Video Imaging• I have spent a lot of time going through online tutorials to

gain a better understanding of how digital video products have evolved over time & video compression standards.

• This was in order to give me a technical understanding of terms and concepts of digital video and to understand the components that make up a digital video system and how they are used

• A lot of abbreviations are used and I found myself usually digressing to find out what e.g YCbCr is and why it is used.

Challenges/Experience so far

• Programming of DSP/CCS

• Is an on going learning experience. Lots of manuals,lots of syntax,lots of libraries,lots of functions!!

Challenges/Experience so far

• Digital Signal Processing.

• I plan to make this an overall learning experience for me. I have not taken a digital signal processing class yet but I have found it necessary to learn some of the basics so as to understand what I’m doing and I’m sure this will help me optimize my code

Goal

I want to be able to produce well documented software which is easy to follow.I noticed in the project currently a trained technician is required to use the system.I plan to integrate and simplify it enough for a 10th grader!!

“The rule of thumb: Every dollar invested in ease of use returns $10 to $100 –IBM”