← 프로젝트 목록
임베디드2026
산업 장비 MODBUS 통신 모듈
산업 계측 장비 제조사
STM32 기반 장비가 RS-485로 유량계와 데이터를 주고받는 MODBUS RTU 통신 모듈입니다. Slave를 먼저 납품하고, 추가 계약으로 Master까지 만들었습니다.
- 산출물
- 펌웨어 모듈단위 시험기술 문서
- 기술
- C11STM32FreeRTOSRS-485Unity
문제
장비에 MODBUS 통신 기능이 필요했습니다. 상위 시스템에 장비 값을 내주는 Slave와, 연결된 초음파 유량계 값을 직접 읽어오는 Master가 모두 필요했습니다.
제약
- FreeRTOS 위에서 통신 태스크 스택 512바이트 안에 동작해야 했습니다.
- DMA 없이 인터럽트만으로 9,600bps 프레임 경계를 정확히 잘라내야 했습니다.
- 실제 장비와 붙이기 전에 프로토콜 동작을 검증할 방법이 필요했습니다.
해결
- 1
프로토콜 로직을 하드웨어와 RTOS에 의존하지 않는 순수 C로 나눠, PC에서 먼저 테스트하고 장비에 올렸습니다.
- 2
수신 인터럽트가 바이트를 모으고 회선 유휴 시점에 프레임을 확정하는 구조로 프레임 경계를 지켰습니다.
- 3
Master에는 타임아웃·재시도, 주기 폴링, 연속 실패 시 오프라인 판정을 넣었습니다.
- 4
실제 유량계와 연결해 문서 예시와 다른 레지스터 주소 규칙을 찾아내고 바로잡았습니다.