Instructors:
Prof. Dr. Theo Kluter
Doctoral Assistant Canberk Sönmez
Authors:
Thomas Lenges
Menzo Bouaïssi
The aim of this project is to implement movement detection using the Sobel edge detection algorithm. The standard software implementation of Sobel edge detection is not suitable for the board’s CPU frequency (74.24 MHz), as it does not provide acceptable performance. Therefore, both hardware and software optimizations are necessary to achieve real-time and efficient movement detection on the GECKO5EDUCATION board.
-
report.pdf
Complete project report. -
presentation.pptx
Slides for the project defence. -
modules/
Verilog modules developed and used in the project. -
programs/
C programs, Makefiles, and related source files to compile and runmain.c, etc. -
Step folders (
1/through7/)
Each numbered subfolder corresponds to a project development step: 1 . Fully software movement detection 2 . SobelCI 3 . DMA basic 4 . DMA rotating 5 . C code optimization
6 . SobelCI inputs formatting with additional CI: Final image pipeline (recommended for most testing — balanced performance vs. quality)
7 . Same as step 6 plus filters to chose from to expel isolated “fixels” in the final images (higher quality but significantly more cycles) -
systems/
Scripts to build/synthesize the hardware design, plus the top‐level Verilog module.
This project uses a GECKO5EDUCATION board with a CPU frequency of 74.24 MHz and a OV7670 camera.
To run the project, follow these steps:
-
Connect the Board
- Connect your GECKO5EDUCATION board to your computer.
-
Synthesize the Hardware
- Navigate to the verilog directory:
cd systems/singleCore/verilog - Run the synthesis script:
../scripts/synthetize.sh top_level.v
- Navigate to the verilog directory:
-
Build the Program
- Go to the directory containing your program's
Makefile:cd <your_program_directory> - Build the memory file (uses OpenRISC gcc-cross-compile toolchain):
make mem1420
- Go to the directory containing your program's
-
Upload the Program
- Use a graphical serial terminal (such as CuteCom) to upload the program onto the board.
-
Start Camera Capture
- Open a multi-platform camera capture application (such as Webcamoid) to begin capturing video.
- The user can use the ALCO ADE08S buttons to change the Sobel edge detection threshold.
- The user can modify the FAST_FILTER option in
7_filtering/
Note: Adjust paths and commands as needed for your setup.