DOC PREVIEW
MSU ECE 480 - FPGA Implementation of Driver Assistance Camera Algorithms

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

IntroductionHardwareDesigning the hardware is the first step towards creating a complete embedded processor system that can be implemented in the supplied Xilinx Spartan 3A FPGA. Xilinx provides a set of software tools through their Embedded Development Kit (EDK) to assist with this process. The main tool used to design a hardware implementation is Xilinx Platform Studio (XPS). This software allows the user to create a hardware design based on the development kit used in creation. XPS provides a graphical user interface (GUI) to connect the processor to provided peripherals from Xilinx and also those that are created by the user. So far Team 3 has successfully designed a hardware platform that supports the interaction with the provided camera in the development kit. The team has encountered the challenge of introducing new peripherals into the hardware design that would lead to the completion of the complete embedded system design. Assigning ports and connecting the peripherals to their appropriate communication buses has provided a more difficult task than expected. Once the team understands the interaction between each peripheral and the microprocessor, the next challenge will be to control them through software.SoftwareOverviewEdge detectionObject detectionBudgetThe proposed budget (above) still applies for the duration of the project. No changes have been made to the budget.ConclusionMichigan State UniversityECE 480Design Team 3November 5, 2010FPGA Implementation of Driver Assistance Camera AlgorithmsProgress Report IManager Jeff OlsenWebmaster Fatoumata DembeleDocument Preparation Pascha GrantLab Coordinator Chad EcklesPresentation Preparation Emmett KuhnRover Tom GanleyFacilitator Professor MukkamalaSponsor XilinxIntroductionTeam 3 began the project with an optimistic outlook for completion of edge detection and major headway, if not completion, of object detection. However the team’s current perception of the project is not as promising. Communication with the Spartan-3A board/FPGA is proving more complex than originally thought with configuration of both hardware and software components. Currently, edge detection algorithms have been successfully co-simulated on the FPGA board, meaning the host computer provides the inputs and receives the outputs of the function from the board, which processes all of the data. Current research and development has proven that edge detection on the board is within reach and should be completed. Though object detection is proving somewhat disheartening, its completion is still possible and the team remains optimistic; there are several obstacles to be overcome that are currently being researched. For example, training individual classifiers for each object is not only time consuming, but it is also a slow-running system that may not be appropriate for live-feed video. All remaining issues are being sincerely looked into and evaluated; all of the team members have significantly increased their time dedication to finding solutions.HardwareDesigning the hardware is the first step towards creating a complete embedded processor system that can be implemented in the supplied Xilinx Spartan 3A FPGA. Xilinx provides a set of software tools through their Embedded Development Kit (EDK) to assist with this process. The main tool used to design a hardware implementation is Xilinx Platform Studio (XPS). This software allows the user to create a hardware design based on the development kit used in creation. XPS provides a graphical user interface (GUI) to connect the processor to provided peripherals from Xilinx and also those that are created by the user. So far Team 3 has successfully designed a hardware platform that supports the interaction with the provided camerain the development kit. The team has encountered the challenge of introducing new peripherals into the hardware design that would lead to the completion of the complete embedded system design. Assigning ports and connecting the peripherals to their appropriate communication buseshas provided a more difficult task than expected. Once the team understands the interaction between each peripheral and the microprocessor, the next challenge will be to control them through software. Page | 2Software- OverviewAt first, we believed we could implement already functional open source C code for edge and object detection on the board. This could be done because it uses C instructions for its hardware configuration. It also can use C instructions for the Microblaze processor onthe board through the SDK (Software Development Kit). Unfortunately, the C code implementation through the SDK cannot use class based programming which references and includes other files in its code. This proved to be a major obstacle to our original plan of implementing C code.Our new design was that we could implement converting open source C++ or OpenCV code into VHDL or Verilog code for use on our FPGA. Our efforts to find such a conversion for a windows machine inexpensively have been exhausted. The few that could be found did not allow class based programming which can reference other files: a requirement to code. There are free implementations of both edge detection and object detection available online in C and OpenCV, but without the ability to convert the code toa language the board uses, the code is useless.- Edge detectionCurrently progress on edge detection has reached the point that it is being implemented on the FPGA board through co-simulation in Simulink. The input to the edge detection process is currently a matrix file provided within Matlab that contains a video stream. The video stream is stored into the shared memory that is provided on the board, and thenthe data is acquired from that memory block and sent into an edge detection filter. Once the video stream is processed through the filter, it is sent into another shared memory block, which the computer reads from during the co-simulation. Once the output video stream is read from the shared memory, it is sent to an output video viewer in Simulink todisplay the edge detection results. This edge detection demonstration provides tangible progress, though the next step is to integrate a live video stream from a webcam connected to the host PC and process edge detection on that stream. This milestone should be met quickly as the data type of the livestream is believed to be equivalent to that of the original video stream that has already been


View Full Document

MSU ECE 480 - FPGA Implementation of Driver Assistance Camera Algorithms

Documents in this Course
ganttv1

ganttv1

6 pages

sd97

sd97

17 pages

ap_EO

ap_EO

14 pages

Load more
Download FPGA Implementation of Driver Assistance Camera Algorithms
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view FPGA Implementation of Driver Assistance Camera Algorithms and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view FPGA Implementation of Driver Assistance Camera Algorithms 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?