CAREER 소개

김성민 프로필 사진

개인 정보

이름김성민
이메일embksm@gmail.com
번호010-3382-7925
주소대한민국 경상남도 고성군

깃허브와 블로그

핵심 역량 및 소개

Embedded
Engineer

HW/SW 융합 역량

C/C++ 펌웨어 개발과 Verilog RTL 설계를 아우르며, 레지스터 레벨부터 추상화 이면의 동작 원리를 제어합니다.

하드웨어 아키텍처 구축

인턴 및 프로젝트를 통해 Async FIFO 기반 CDC 문제 해결과 AXI-Stream 핸드셰이크 프로토콜을 정교하게 다룹니다.

유기적 시스템 설계 시야

PCB 설계부터 MAC 프로토콜, 암호화 및 변복조 연동까지 이론을 넘어 현장의 변수를 직접 부딪치며 전체 시스템을 유기적으로 설계하는 넓은 시각을 길렀습니다.

소통 및 리더십

19명 규모의 팀을 이끄는 리더로서 목표 기반의 일정 조율과 충돌 해결을 주도하며, 기술적 집요함뿐만 아니라 프로젝트를 완수해 내는 협업 능력과 책임감을 증명

CAREER 이력

자격증
정보처리기능사
2024.03~
대덕소프트웨어마이스터고
임베디드소프트웨어과 재학
2024.11
S/W 작품 경진대회 우수상
2024 빛가람 에너지 밸리 경진대회
2024.12
코딩역량인증 대회 동상
2025.05~10
한국코드페어 SW공모전
제7회 본선 진출 및 전시
2025.07
교내 해커톤 대회 우수상
2025.11
연합 해커톤 대회 우수상
휴컨(주) 기업 특상 부문
2025.11
S/W 작품 경진대회 장려상
2025 빛가람 에너지 벨리 경진대회
2026.02
TelePIX 인턴
위성 탑재체(Zynq) 전장 및 설계

CAREER 스킬

Strong. (주력)
CC++
C, C++
Verilog Verilog, SystemVerilog
Xilinx Xilinx Vivado, HLS
Cortex ARM Cortex-M
ESP ESP-IDF
Knowledgeable. (지식있음)
Python Python
FreeRTOS FreeRTOS
Zephyr Zephyr
C# C# winform(.NET)
RISC-V RISC-V
etc. (기타)
Notion Notion
Slack Slack

프로젝트 목록

OCDS

OCDS

Zynq SoC 기반 위성 영상 클라우드 디텍션 가속기

개발 인원
1명 (인턴)
개발 기간
2026.02 (1주)
Z-Modem

Z-Modem

FPGA 기반 보안 무선 통신 모뎀

개발 인원
1명
개발 기간
2025.11 ~ 2025.12
OSJ

OSJ

IoT 스마트폰 환경 제어 시스템

개발 인원
3명
개발 기간
2025.11 ~ 2026.03
AXI-Stream

AXI-Stream IP 설계

고속 이미지 프로세싱 IP 코어 설계

개발 인원
1명
개발 기간
2025.08 ~ 2025.10
FLP

FLP

LoRa 기반 단체 이동 이탈 감지 시스템

개발 인원
총 3명
개발 기간
2025.03 ~ 2025.10

OCDS Zynq SoC 기반 위성 영상 클라우드 디텍션 가속기

프로젝트 배경

위성 영상 처리 시스템에서는 방대한 이미지 데이터를 제한된 시간 내에 분석하는 것이 중요하다. 특히 구름 탐지는 필수 전처리 단계이나, 기존 PS 기반 처리 방식은 속도에 한계가 있어 하드웨어 가속기 도입을 진행하게 되었다.

인원 및 역할

개인 프로젝트 (인턴십 과제, 1주)

사용 기술

FPGAZynq UltraScale+VivadoVitis HLSC/C++MLP
QR code GitHub Repo

주요 기능

  • ZCU102 보드 타겟의 MLP 기반 클라우드 디텍션 하드웨어 가속기 IP 설계
  • HLS C/C++를 활용한 추론 알고리즘 하드웨어 변환 및 가속
  • Pipelining 및 Loop Unrolling 적용으로 연산 병렬성 극대화 및 Latency 최소화
  • 소프트웨어(PS) 단독 실행 대비 이미지 추론 속도 대폭 향상

핵심 구현 내용

  • 소프트웨어 작성 MLP 모델을 Vitis HLS 통해 하드웨어 아키텍처로 변환
  • 데이터 의존성 분석후 Pipelining 적용해 MAC 연산 처리량 극대화
  • 반복문 블록에 Loop Unrolling 적용하여 자원 효율 활용, 연산 사이클 단축
  • ZCU102 환경 패키징 및 PS/PL 간 효율적인 데이터 전송 인터페이스 적용

트러블 슈팅

  • 이슈 HLS 변환 중 메모리 병목 현상으로 파이프라인 성능 저하
    해결 Array Partitioning 기법 도입해 BRAM 포트 접근 충돌 해결 및 메모리 접근 구조 최적화
  • 이슈 루프 언롤링 시 DSP 자원 초과 및 타이밍 이슈
    해결 가용 리소스 분석해 Unroll Factor 조절, 최적의 균형점 도출 병목 해소

프로젝트 회고

인공지능 알고리즘 구현을 넘어, HLS를 이용해 하드웨어 아키텍처 관점에서 최적화하는 방법을 배웠다. Pipelining, Loop Unrolling이 연산 속도와 자원 사용량에 미치는 영향을 분석하며, SoC 환경에서의 HW/SW Co-design 통합 시야를 넓혔다.

Z-Modem FPGA 기반 보안 무선 통신 모뎀 (2025.11 ~ 2025.12)

프로젝트 배경

무선 통신 시스템에서 보안과 신뢰성은 필수적 요소이다. 소프트웨어 기반 처리의 속도 한계를 극복하고, 하드웨어 레벨에서의 실시간 암호화 및 신호 처리를 구현하여 고속, 고신뢰성 통신 시스템을 구축하고자 이 프로젝트를 시작하게 되었다.

인원 및 역할

개인 프로젝트

사용 기술

FPGAVivadoSystemVerilogAES-128QPSKCostas LoopUART
QR code GitHub Repo

주요 기능

  • Stream(UART) → Burst(AES) → Stream(QPSK)의 3단계 파이프라인 아키텍처
  • AES-128 하드웨어 가속기를 통한 실시간 데이터 암호화 및 복호화
  • QPSK 변조 및 Costas Loop/Gardner Loop 기반의 수신 동기화
  • 데이터 무결성 보장을 위한 전 구간 Ready/Valid Handshake 프로토콜 적용
  • 115,200 bps UART 인터페이스 및 100MHz 시스템 클럭 기반 설계

핵심 구현 내용

  • 전체 시스템은 송신(Tx)과 수신(Rx) 각각 데이터 폭이 변환되는 3단계 파이프라인으로 구성됨
  • Tx Pipeline: UART RX(8-bit) → Batcher → AES Encrypt(128-bit) → Serializer → QPSK Mod(2-bit)
  • Rx Pipeline: QPSK Demod(2-bit) → De-serializer → AES Decrypt(128-bit) → Unpacker → UART TX(8-bit)
  • 각 스테이지 간 Ready/Valid Handshake 프로토콜을 적용하여 데이터 유실 및 타이밍 문제 원천 차단
  • Tx: UART RX 16-level oversampling 적용 비동기 신호 안정적 수신, AES 10라운드 반복 아키텍처
  • Rx: Costas Loop로 반송파 위상 오차 보정, Gardner Loop로 심볼 타이밍 복원

트러블 슈팅

  • 이슈 핸드셰이킹 로직 매칭 실패로 인한 데이터 전송 오류
    해결 각 모듈 간 Ready/Valid 타이밍 다이어그램을 정밀 분석하여 통신 인터페이스 규격 재정의 및 시뮬레이션 검증 완료
  • 이슈 PDM(Pulse Density Modulation) 신호 출력 불량
    해결 Delta-Sigma Modulator의 오버샘플링 비율과 차수(Order)를 조정하고, FPGA 핀 슬루 레이트(Slew Rate)를 최적화하여 퀄리티 확보

프로젝트 회고

이 프로젝트를 진행하면서 QPSK, BPSK 등 변조 및 복조 방법과 Costas Loop를 비롯한 통신 이론의 핵심 기술들을 실제 하드웨어로 구현할 수 있었다.

데이터를 제어하면서 CDC 매칭 등을 수행하며, 상호 IP 간 통신 시 클럭 속도 차이에 따른 버퍼링 패턴과 완충(Back-pressure)을 처리하는 실무 지식을 쌓았다.

OSJ 범용 IoT 세탁기 모니터링 시스템

프로젝트 배경

기존 레거시 프로젝트는 단일 파일에 1600줄이 넘는 코드가 집중되어 유지보수와 기능 확장이 불가능했다. 확장성 문제를 해결하고 백엔드 변경에 대응하기 위해 C 언어와 CMake 빌드 시스템을 도입해 구조를 완전히 재설계했다.

인원 및 역할

팀 프로젝트 (Embedded:1, FrontEnd:1, BackEnd:1)

사용 기술

CCMakeESP32FreeRTOSDoxygenRefactoring
QR code GitHub Repo

주요 기능

  • 기종과 브랜드에 관계없이 설치 가능한 범용 IoT 모니터링 시스템
  • 진동/전류 센싱을 통한 동작 상태 실시간 감지 및 완료 푸시 알림
  • CMake 기반의 모듈화된 펌웨어 아키텍처
  • Doxygen을 활용한 문서화 자동화

핵심 구현 내용

  • 1600줄 이상의 MicroPython 코드를 기능별(센서, 통신, 로직) 모듈화 분석
  • C 언어 전면 재작성, .c/.h 분리로 코드 가독성 및 재사용성 극대화
  • 하드웨어 추상화 계층(HAL)과 비즈니스 로직 분리로 하드웨어 변경 유연 대처
  • CMake 자동화 구성 및 Doxygen 커스텀 API 문서 생성 협업 효율 증대

트러블 슈팅

  • 이슈 거대 레거시 코드(1600+ lines) 유지보수 불가 및 확장 한계
    해결 기능 단위 분리 및 구조적 리팩토링으로 결합도 낮추고 응집도 향상
  • 이슈 기기 증가 및 변경에 따른 펌웨어 수정 배포 어려움
    해결 CMake 트리를 통한 빌드 환경 구축 및 타겟 설정 자동화

프로젝트 회고

단순 기능을 넘어 '유지보수 가능한 코드'와 '확장 가능한 아키텍처'의 중요성을 통감했다. 타인의 코드를 읽고 분석하며 구조에 대한 고민을 깊이 하게 되었고, 팀의 생산성을 높이는 툴(CMake, Doxygen) 경험이 유익했다.

AXI-Stream 고속 이미지 프로세싱 IP 코어 설계 (2025.08 ~ 2025.10)

프로젝트 배경

Zynq UltraScale+ MPSoC 환경에서 고속으로 입력되는 이미지 데이터를 실시간으로 처리하기 위한 FPGA 기반 IP 코어를 설계하고 검증한 프로젝트이다.

인원 및 역할

개인 프로젝트

사용 기술

VerilogSystemVerilogPetaLinuxImage processing
QR code GitHub Repo

주요 기능

  • 고속 데이터 전송을 위한 표준 AXI-Stream 프로토콜을 사용하여 데이터를 실시간 입출력
  • 입력되는 영상의 Grayscale 변환 및 Sobel Edge Detection 필터를 하드웨어 로직으로 구현하여 실시간 처리 수행
  • FPGA의 병렬 처리 아키텍처를 통해 픽셀 단위의 파이프라인을 구축하여 고속의 데이터 처리
  • 설계된 IP 코어를 Zynq MPSoC의 PL에 통합하고, PS와 연동하여 전체 시스템 제어

핵심 구현 내용

  • PL: 고속 실시간 이미지 데이터 입출력을 위한 표준 AXI-Stream 프로토콜 마스터 및 슬레이브 로직 구현
  • PL: 입력 픽셀 Grayscale/Sobel 필터 변환 로직 설계 및 병렬 픽셀 파이프라인 기반 Throughput 확보
  • PL: TVALID/TREADY 핸드셰이크 관리 및 다운스트림 백프레셔 발생 시 데이터 유실 없는 FSM 제어
  • PS: Zynq MPSoC PS에서 C/C++ 코드를 통해 PL IP 코어 레지스터를 제어하여 동작 파라미터 관리
  • 검증: SystemVerilog 기반 rand 무작위 제약 테스트 및 SVA 실시간 프로토콜 타이밍 모니터링 구축

트러블 슈팅

  • 이슈 초기 설계 타이밍 오류로 인한 다운스트림 데이터 유실 발생
    해결 다운스트림 모듈이 TREADY LOW 상태를 백프레셔로 감지하고, 유실 없이 일시 정지(stall) 시키는 안전한 FSM 로직 설계 및 보완
  • 이슈 IP 코어 신뢰성 및 잠재적 코너 케이스 탐지 필요
    해결 SystemVerilog rand 키워드를 활용한 무작위 엣지 테스트 자동 생성, SVA를 통한 실시간 타이밍 모니터링 적용

프로젝트 회고

설계부터 검증까지의 전체 FPGA 개발 흐름을 깊이 있게 깨닫고 공부할 수 있었음. 소프트웨어만으로는 해결할 수 없는 성능의 한계를 극복하는 구체적인 방법을 배우게 됨.

Zynq MPSoC 환경에서 PS와 PL이 동시에 통신하는 시스템에 대한 이해를 높이는 계기가 됨. 다음 설계에서는 HLS를 적용하여 역량을 고도화할 수 있겠다는 인사이트를 가짐.

FLP LoRa 기반 단체 이동 이탈 감지 시스템 (2025.03 ~ 2025.10)

프로젝트 배경

단체 이동 중 인원 이탈을 실시간으로 감지하고, 인솔자와 이탈자 모두에게 경고를 전달하는 LoRa 기반 이탈 감지 시스템이며, 스마트폰 앱 없이 독립적으로 동작하는 착용형 단말기를 직접 설계 및 제작한 팀 프로젝트이다.

인원 및 역할

팀 프로젝트 (Embedded: 1, Front End: 1, Back End: 1)

사용 기술

CSTM32ESP32OTAGPSKiCADJTAG
QR code GitHub Repo

주요 기능

  • 스마트폰 없이 독립적으로 동작하는 착용형 단말기
  • LoRa 통신을 이용한 최대 2km의 넓은 통신 반경 확보
  • 1~5초 주기의 빠른 위치 정보 갱신
  • 관리자용 Android 앱을 통한 실시간 위치 모니터링 및 이탈 알림
  • 이탈 발생 시 사용자 단말기에서 발생하는 단계별 경고음

핵심 구현 내용

  • HW: 433MHz 대역 통신을 위해 SX1278 모듈 기반의 안테나 매칭을 포함한 LoRa RF 공동 회로 설계
  • HW: MCP73831(Li-Po 충전) 및 L86-M33 GPS 통합 스위칭 전원 회로 및 JTAG 디버깅 회로 구성
  • FW: Host(ESP32, esp-idf FreeRTOS) 중심 Terminal(STM32F103, HAL) UART 통신 제어
  • FW: NMEA 센텐스 파싱, 주기적 GPS 좌표 WSS 전송, Captive Portal Wi-Fi 연결 지원

트러블 슈팅

  • 이슈 다수 터미널 동시 송신 시 패킷 충돌 현상 및 긴급 데이터 유실
    해결 개별 무작위 송신 대신 Host가 중앙에서 전체 송/수신 흐름을 제어하는 MAC 프로토콜 도입
  • 이슈 GPS 노이즈 민감성 및 배터리 전력 소모 가속화 우려
    해결 아날로그/디지털 계층 전원부 분리 설계, 펌웨어 Sleep 모드와 대기 전류 최소화 기법 병행 적용
  • 이슈 통신 거리 편차 발생 및 하드웨어 디버깅 불안정성
    해결 데이터시트 기반 RF 임피던스 매칭 회로 추가, Design Rule Check(DRC) 준수하여 2종의 커스텀 PCB를 직접 설계

프로젝트 회고

임베디드 시스템 문제는 FreeRTOS나 HAL과 같은 펌웨어 논리만으로 해결할 수 없음을 통감했다. 1:N 통신 환경의 충돌 제어와 MAC 프로토콜 설계, 저전력 최적화 등 하드웨어의 물리적 제약 조건을 체감했다.

Custom PCB를 직접 구성해 보며 RF 노이즈, 임피던스, 배선이 아닌 규격을 제어하는 과정을 깊게 학습할 수 있었다.