본문으로 건너뛰기
← 프로젝트 목록
임베디드2026

산업 장비 MODBUS 통신 모듈

산업 계측 장비 제조사

STM32 기반 장비가 RS-485로 유량계와 데이터를 주고받는 MODBUS RTU 통신 모듈입니다. Slave를 먼저 납품하고, 추가 계약으로 Master까지 만들었습니다.

산출물
펌웨어 모듈단위 시험기술 문서
기술
C11STM32FreeRTOSRS-485Unity

문제

장비에 MODBUS 통신 기능이 필요했습니다. 상위 시스템에 장비 값을 내주는 Slave와, 연결된 초음파 유량계 값을 직접 읽어오는 Master가 모두 필요했습니다.

제약

  • FreeRTOS 위에서 통신 태스크 스택 512바이트 안에 동작해야 했습니다.
  • DMA 없이 인터럽트만으로 9,600bps 프레임 경계를 정확히 잘라내야 했습니다.
  • 실제 장비와 붙이기 전에 프로토콜 동작을 검증할 방법이 필요했습니다.

해결

  1. 1

    프로토콜 로직을 하드웨어와 RTOS에 의존하지 않는 순수 C로 나눠, PC에서 먼저 테스트하고 장비에 올렸습니다.

  2. 2

    수신 인터럽트가 바이트를 모으고 회선 유휴 시점에 프레임을 확정하는 구조로 프레임 경계를 지켰습니다.

  3. 3

    Master에는 타임아웃·재시도, 주기 폴링, 연속 실패 시 오프라인 판정을 넣었습니다.

  4. 4

    실제 유량계와 연결해 문서 예시와 다른 레지스터 주소 규칙을 찾아내고 바로잡았습니다.