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 |
- 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개의 경향성을 계산하여 제어신호가 발생한다.
- 좌표의 위치가 아닌 벡터로서 화면상 어느 위치에서든 "동일 동작 --> 동일 제어" 가능
- 칼만 예측 적용, 잡음상황에서 신뢰성 있는 궤적 연산 가능
- 핵심기술: ISP, ROI 기반 컬러 검출 마커 트레이싱, HDMI, VGA, SPI통신, 패킷컨트롤, 칼만예측
- Zybo Z7 Version
- MarkerDetectionModule Simulation
- 노이즈가 섞인 랜덤 이미지 생성
- 이미지를 바이너리 파일로 변환
- 바이너리 파일을 Sequence 클래스에서 읽어 DUT 입력으로 사용
| Basys3 | OV7670 | STM32-f411 |
![]() |
![]() |
![]() |
| Zybo | PCAM(OV5640) | STM32-f411 |
![]() |
![]() |
![]() |












