KT6368A 블루투스 칩을 활용한 전자자전거 타이어 압력 센서 데이터 수신 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
임베디드 시스템 개발자, IoT 기기 개발자 (중간 난이도)
핵심 요약
- KT6368A-SOP8 블루투스 칩은 TPMS 모듈의 브로드캐스트 신호만 수신하며 연결 기능은 지원하지 않음
- 수신 데이터 포맷: "LCTPMS", MAC 주소, 제조사 특정 데이터, XOR 체크섬으로 구성 (예:
0x4C 0x43 0x54 0x50 0x4D 0x53
) - UART 통신을 통해 MCU로 전달 시 XOR 체크섬 검증이 필수 (코드 예시:
generate_xor_checksum()
)
섹션별 세부 요약
1. KT6368A 블루투스 칩의 역할
- TPMS 모듈은 브로드캐스트 전용 모드로 작동 (연결 불가, discoverable advertising)
- KT6368A는 observer 역할 수행 (TPMS 신호 수신만 가능)
- MCU는 칩의 전원 제어만 필요 (스캔 주기: 500ms 또는 1초 권장)
2. 수신 데이터 포맷 분석
- 데이터 구조: 4개 파라미터로 구성 (
,
로 구분)
- 0x4C 0x43 0x54 0x50 0x4D 0x53
: 블루투스 장치 이름 ("LCTPMS")
- 0x3A 0x85 0x92 0x3B 0xCD 0xFB
: MAC 주소
- 0x07 0x3B 0x92 0x85 0x3A 0x83 0x4D 0xB7 0x10 0x20
: 제조사 특정 데이터 (센서 값)
- 0x6D
: XOR 체크섬 (데이터 무결성 검증)
3. XOR 체크섬 생성 알고리즘
- C 언어 구현:
```c
u8 generate_xor_checksum(u8 *data, u8 length) {
u8 checksum = 0;
for (int i = 0; i < length; i++) {
checksum ^= data[i];
}
return checksum;
}
```
- 데이터 전송 시 체크섬 검증을 통해 오류 탐지 가능
4. 실제 테스트 결과
- TPMS는 약 20초 간격으로 브로드캐스트 (2회 주기 측정)
- 압력 시뮬레이션 (스프레이기 사용) 시 센서 자동 활성화 및 데이터 전송 확인
- 전원 절약을 위해 스캔 중지 시 칩 전원 차단 권장
결론
- KT6368A 칩을 사용할 경우 스캔 주기 최적화와 XOR 체크섬 검증을 통해 데이터 무결성 확보가 필수적
- MCU는 칩의 전원 제어에 집중하고, UART 통신을 통해 센서 데이터를 실시간으로 처리해야 함