PDO Mapping과 동작 방식
CANOpen 프로토콜에서 Process Data Object(PDO)는 실시간 데이터 교환을 위해 사용되는 주요 통신 객체입니다. PDO를 활용하면 슬레이브 장치 간의 데이터 전송을 효율적으로 수행할 수 있으며, 이를 통해 짧은 전송 지연과 높은 데이터 처리 속도를 제공합니다. 본 장에서는 PDO Mapping의 개념과 동작 방식을 상세히 분석합니다.
PDO 개요
PDO는 CANOpen 네트워크에서 빠른 데이터 교환을 위해 설계된 메시지이며, 일반적으로 센서 데이터, 상태 정보, 제어 명령과 같은 실시간 정보를 전송하는 데 사용됩니다. PDO는 두 가지 유형으로 구분됩니다.
- Transmit PDO(TPDO): 노드가 주기적으로 혹은 특정 이벤트 발생 시 데이터를 전송하는 객체
- Receive PDO(RPDO): 노드가 다른 노드로부터 데이터를 수신하여 내부적으로 처리하는 객체
각 PDO는 최대 8바이트의 데이터를 포함할 수 있으며, 필요에 따라 여러 개의 신호를 하나의 PDO로 매핑할 수 있습니다.
PDO Mapping 개념
PDO Mapping은 Object Dictionary의 여러 항목을 하나의 PDO 메시지로 구성하는 방법을 의미합니다. CANOpen에서는 하나의 PDO에 여러 개의 변수(예: 센서 값, 상태 플래그 등)를 포함할 수 있으며, 이러한 변수를 Object Dictionary의 특정 엔트리와 연결하는 과정을 "Mapping"이라고 합니다.
PDO Mapping은 다음 두 가지 방식으로 이루어집니다.
Static Mapping (정적 매핑)
- 미리 정의된 방식으로 PDO에 매핑이 설정됨
- Object Dictionary에서 변경할 수 없음
- 고정된 데이터 전송 구조를 유지함
Dynamic Mapping (동적 매핑)
- 런타임 동안 PDO의 데이터 매핑을 변경 가능
- Object Dictionary 내에서 매핑을 수정할 수 있음
- 유연한 데이터 전송 구조를 제공함
PDO Mapping 절차
PDO Mapping은 Object Dictionary 내의 특정 엔트리를 설정하여 이루어지며, 다음과 같은 단계로 진행됩니다.
PDO Mapping Parameter 확인
- Object Dictionary의 0x1A00~0x1AFF (Transmit PDO Mapping)
- Object Dictionary의 0x1600~0x16FF (Receive PDO Mapping)
- 해당 항목에서 매핑 가능한 데이터 항목을 확인함
Mapping Entry 설정
- 각 데이터 항목은 32비트 값으로 저장됨
- 16비트는 Object Dictionary Index, 8비트는 Sub-index, 나머지 8비트는 데이터 길이를 나타냄
- 예를 들어,
0x2000:01
에 16비트 데이터를 매핑하려면0x20000110
값이 설정됨
PDO 활성화 및 전송 방식 설정
- Transmission Type 설정: 주기적 전송(사이클릭), 이벤트 기반 전송 등
- Inhibit Time / Event Timer 설정: 전송 간격 제한 또는 타이머 기반 전송 설정
- CAN Identifier 설정: PDO가 사용할 CAN 메시지 ID 할당
PDO 매핑 완료 및 저장
- 매핑 완료 후 해당 설정을 비휘발성 메모리에 저장하여 장치가 재부팅될 때 유지됨
PDO의 동작 방식
PDO는 다음과 같은 방식으로 동작합니다.
TPDO 전송 과정
- 마스터 또는 슬레이브 노드는 사전 정의된 조건에 따라 TPDO를 전송함
- 예를 들어, 센서 값이 특정 범위를 초과하면 TPDO 전송이 발생할 수 있음
- TPDO 전송 후 모든 구독된 노드에서 데이터를 즉시 수신하여 처리함
RPDO 수신 과정
- 네트워크의 다른 노드에서 RPDO가 수신되면, 매핑된 Object Dictionary 항목이 자동으로 업데이트됨
- 예를 들어, 모터 제어 노드가 새로운 속도 명령을 수신하면, RPDO를 통해 직접 속도 값이 업데이트됨
동기화(SYNC) 기반 PDO 전송
- 특정한 CAN 메시지(SYNC 메시지)가 전송되면 해당 메시지를 수신한 노드들이 동기화된 TPDO를 전송함
- 네트워크에서 주기적인 동기화를 통해 데이터의 일관성을 유지함
결론
PDO Mapping을 이해하고 올바르게 설정하면 CANOpen 네트워크에서 실시간 데이터를 효율적으로 교환할 수 있습니다. 특히 동적 매핑을 활용하면 유연한 데이터 관리가 가능하며, 다양한 응용 분야에서 활용할 수 있습니다.
'CAN > CAN Open' 카테고리의 다른 글
CANOpen Network Management (NMT) 상태 및 전이 과정 (0) | 2025.07.22 |
---|---|
CANOpen Heartbeat & Node Guarding (0) | 2025.07.21 |
SDO (Service Data Object)와 PDO (Process Data Object) (0) | 2025.07.19 |
CANOpen 데이터 타입 및 인덱스 구조 (0) | 2025.07.18 |
CANOpen Object Dictionary 개념 및 역할 (0) | 2025.07.17 |