RF 중계기 송수신 조립체 개발(Window Serial 제어프로그램/펌웨어)
Client
블루셀
Status
진행 중
Period
2025-01-01 ~ 2026-03-31
Industry
RF
Tags
프로젝트 소개
RF 중계기 통합 제어 솔루션
소프트웨어와 펌웨어, 하나의 비전으로 완성된 엔드-투-엔드(End-to-End) 개발의 정수
Part 1. 직관적 제어와 강력한 분석: C#/.NET 기반 Windows 제어 프로그램

사용자 편의성과 강력한 기능을 모두 갖춘 Windows 데스크톱 애플리케이션을 C#과 .NET 프레임워크를 기반으로 직접 개발했습니다. 이 프로그램은 단순한 제어 도구를 넘어, 시스템의 모든 상태를 관장하는 중앙 관제 센터의 역할을 수행합니다.
안정성을 극대화한 WMI 통신 아키텍처
표준 시리얼 통신 방식의 불안정성을 극복하기 위해 WMI(Windows Management Instrumentation)를 채택했습니다. 이는 Windows OS 커널 레벨에서 하드웨어 포트를 직접 제어하는 방식으로, 드라이버 충돌이나 포트 점유 문제에서 자유롭습니다. 그 결과, 장시간 운영에도 끊김 없는 데이터 교환과 제어 명령 전달을 보장하는 높은 신뢰성의 통신 환경을 구축했습니다.
사용자 중심의 반응형 UI/UX 설계
Multi-threading 아키텍처를 적용하여, 하드웨어와의 실시간 통신이 활발하게 이루어지는 중에도 UI가 멈추거나 느려지는 현상이 전혀 없습니다. 모든 제어 기능과 모니터링 데이터는 직관적인 그래프와 시각적 컴포넌트로 표현되어, 사용자는 복잡한 RF 파라미터의 변화를 한눈에 파악하고 즉각적으로 대응할 수 있습니다.
데이터 기반 의사결정을 위한 데이터베이스 연동
각 조립체에서 수집된 모든 데이터(dBm, 온도, 상태 등)는 단순히 화면에 표시되는 것을 넘어, 체계적으로 데이터베이스에 저장됩니다. 이렇게 축적된 데이터는 이력 추적, 성능 분석, 장애 예측 등 시스템의 장기적인 운영 전략을 수립하는 데 핵심적인 자산이 됩니다.
Part 2. 시스템의 심장: 고신뢰성 STM32 임베디드 펌웨어
고성능 ARM Cortex-M 기반의 STM32 마이크로컨트롤러 위에 시스템의 모든 하드웨어를 직접 제어하고, 상위 C# 프로그램과 유기적으로 통신하는 핵심 펌웨어를 설계했습니다. 실시간성과 안정성을 최우선으로 고려한 펌웨어 아키텍처는 시스템의 성능을 한계까지 끌어올립니다.
무중단 운영을 위한 원격 OTA 펌웨어 업데이트
저희가 직접 설계한 OTA 솔루션은 안정성을 최우선으로 합니다. 펌웨어 업데이트 실패는 시스템 전체의 마비를 의미하기에, 다음과 같은 다단계 안전장치를 구현했습니다.
- 전용 부트로더(Bootloader): 전원이 켜지면 메인 펌웨어를 실행하기 전, 업데이트 명령이 있는지 먼저 확인하는 독립적인 부트로더를 구현했습니다.
- 안전한 펌웨어 다운로드: C# 프로그램으로부터 받은 새 펌웨어 파일은 메인 펌웨어가 동작하는 영역이 아닌, 별도의 메모리 파티션에 안전하게 저장됩니다.
- 무결성 검증 (CRC Checksum): 다운로드가 완료되면, 펌웨어 파일의 CRC 체크섬을 계산하여 전송 중 데이터가 손상되지 않았는지 완벽하게 검증합니다.
- 자동 롤백(Rollback): 검증 실패 또는 업데이트 과정에서 문제 발생 시, 부트로더는 자동으로 기존 버전의 펌웨어로 시스템을 복구하여 '벽돌' 현상을 원천적으로 방지합니다.
레지스터 레벨의 초정밀 하드웨어 제어
단순히 라이브러리를 사용하는 것을 넘어, 하드웨어의 성능을 100% 활용하기 위해 데이터시트를 기반으로 직접 드라이버를 개발했습니다.
- PLL 제어 (ADF4372): 수백 개의 레지스터를 완벽하게 분석하여 SPI 통신으로 직접 제어하는 드라이버를 개발했습니다. 이를 통해 주파수, 출력 파워 등 RF 성능에 직결되는 파라미터를 0.1%의 오차도 없이 정밀하게 튜닝합니다.
- Attenuator 제어: 각 조립체별 어테뉴에이터를 정밀 제어하여, 마이크로초(µs) 단위의 빠른 응답 속도로 신호 레벨을 제어하고 시스템을 과입력으로부터 보호합니다.
견고한 통신 프로토콜 설계 (CAN)
전기적 노이즈가 심한 산업 환경에서도 데이터의 신뢰성을 보장하기 위해 CAN(Controller Area Network) 통신을 채택했습니다. 각 조립체(Node) 간의 데이터 교환을 위해 저희 시스템에 최적화된 맞춤형 통신 프로토콜을 직접 설계하여, 데이터 충돌 없이 안정적인 내부 통신을 구현했습니다.