Skip to content

cong2738/HandBand

Repository files navigation

HandBand

2025년 HARMAN Semicon Academy 1기
개발기간: 2025.07.08 ~ 08.12

프로젝트트래커: https://github.com/users/cong2738/projects/2/views/1

개발팀 소개

박호윤 임윤재 임희주
@cong2738 @immune1029 @Heeju99
SystemArchitecture Design And VectorCalculater Algorithm Develop ControlSignal Design, Virtual Stage Develop ArmCortex Communication And System Develop
김민서 박지수 함영은
@minseo0511 @Friday930 @heyhoo46
Cam control module And HDMI QHD Output module Develop Comunication Packet control module Develop HandSignal Module improvement and Simulation

Introduce

  • ImageSerchingAndDetect(FPGA)
    • FPGA 기반으로 실시간 카메라 영상을 처리하고, 사용자의 마커의 궤적 좌표들을 인식한다
    • 카메라에서 입력된 원시 영상은 직접 구현한 ISP 회로를 통해 밝기 보정과 노이즈 제거 등 전처리를 거친다.
    • 좌표 추출 알고리즘: ROI(Region of Interest) 영역에서 조건에 부합하는 픽셀의 개수를 카운트하여, 깃발의 색상과 위치를 판별한다. 극한으로 단순화시킨 투표 앙상블 알고리즘이라 볼 수 있다.
    • 좌표 추출 과정은 순수 하드웨어(FPGA) 로직으로 구성되어 고속으로 처리된다.
      • FULL HD 출력이 가능한 Zybo버전의 경우 SCCB와 VDMA 설정까지는 Zynq가 사용된다(FHD 출력을 위해서는 Zybo의 DRAM에 접근해야하며 그 과정에서 VDMA모듈이 사용된다).
    • 모듈 소개
      • HandSignal : 마커를 트래킹하는 모듈
      • GRAPHIC_Display : 그래픽 처리장치(GPU) 영상입력을 받아 출력하기까지의 블록이다. Basys3버전의 경우 단순 그리드 출력, Zybo버전의 경우 HDMI 출력을 위해 DRAM을 드라이브 하는 VDMA모듈 등이 이에 해당된다.
      • SPI_PacketMaster: 데이터패킷통신을 제어하고 SPI를 통해 데이터를 송신하는 블록
  • VectorCalculator(ARM Cortex M)
    • FPGA(GPU)로부터 받은 10개의 좌표를 통해 9개의 순간벡터를 계산한다.
    • 순간벡터 9개의 경향성을 계산하여 제어신호가 발생한다.
      • 좌표의 위치가 아닌 벡터로서 화면상 어느 위치에서든 "동일 동작 --> 동일 제어" 가능
      • 칼만 예측 적용, 잡음상황에서 신뢰성 있는 궤적 연산 가능

Stacks

  • 핵심기술: ISP, ROI 기반 컬러 검출 마커 트레이싱, HDMI, VGA, SPI통신, 패킷컨트롤, 칼만예측

Environment

Vivado Verdi VCS VisualstudioCode

HW Development & Simulation

Verilog SystemVerilog UVM

SW Development

C

Simulation Visualizing

Python

Board

Basys3

ObjectDiagram

image

GraphicCore(HW RTL)

SystemArchitecture

  • Zybo Z7 Version
image
  • Basys3 Version
    image

Cam Block: 캠 입력 처리장치

Cam_design

HandSignal(MarkerDetectionModule): 마커 좌표추출 모듈(ISP)

Module Overview
  • Marker Find: 아주 단순화 시킨 그리드 투표 앙상블 알고리즘을 사용한다
    image

  • Noise Filter
    image

SIM

  • MarkerDetectionModule Simulation
    1. 노이즈가 섞인 랜덤 이미지 생성
    2. 이미지를 바이너리 파일로 변환
    3. 바이너리 파일을 Sequence 클래스에서 읽어 DUT 입력으로 사용

image
image image


DataCore(CPU)

image

Data Verification

image

asset

Basys3 OV7670 STM32-f411
image
Zybo PCAM(OV5640) STM32-f411
image image image

video

click!-->
Example Image

About

HandBand : ISP_RTL_Design, Embedded System

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6