제가 운영하는 딥네트워크가 그동안 검토분석한 CAN 통신 펌웨어 설계 기술로 CANopen 기술로 PDO (Process Data Object) 와 SDO (Service Data Object)를 사용하여 다양한 데이터를 전송합니다. PDO는 고속 데이터 전송을 위한 프로토콜으로, 일반적으로 하나의 CAN 프레임에 대한 하나의 데이터를 포함합니다. 반면에 SDO는 OD Entry에 대한 접근제어 방식으로, 추가적인 정보와 인자를 포함하여 더 구체적인 데이터를 전송할 수 있습니다.
CANopen에서 NTM (Network Management)와 관련된 OD (Object Dictionary) 엔트리에 대한 접근 방식은 CAN FD 프레임을 사용하여 구현될 수 있습니다. CAN FD는 CANopen의 기본적인 CAN 프레임을 확장하여 더 큰 데이터를 빠르게 전송할 수 있는 방법입니다. CAN FD 프레임은 더 큰 데이터 트랜스포콜과 더 큰 데이터 크기를 지원하여, CANopen에서의 SDO (Service Data Object) 사용에 유용합니다.
CANopen 네트워크에서 PDO (Process Data Object)와 SDO (Service Data Object)는 데이터를 전송하는 두 가지 주요 메커니즘입니다. 각각의 프로토콜은 특정한 목적과 사용 사례에 맞게 설계되었습니다.
PDO (Process Data Object)
PDO는 실시간 데이터 전송에 최적화되어 있습니다. 이 프로토콜은 다음과 같은 특징을 가집니다:
- 고속 전송: PDO는 주로 실시간 제어 작업에 사용되며, 낮은 지연 시간과 빠른 데이터 전송이 필요한 경우에 적합합니다.
- 단일 프레임: 일반적으로 PDO는 하나의 CAN 프레임에 최대 8바이트의 데이터를 담아 전송합니다.
- 브로드캐스트 가능: PDO는 네트워크 상의 여러 노드에게 동시에 데이터를 전송할 수 있어, 여러 장치가 동일한 데이터를 거의 동시에 받을 수 있습니다.
- 사이클링 전송: PDO는 주기적으로 또는 특정 이벤트가 발생했을 때 자동으로 전송될 수 있습니다.
SDO (Service Data Object)
SDO는 더 복잡한 데이터 전송과 디바이스 구성에 사용됩니다. SDO의 특징은 다음과 같습니다
- 상세한 데이터 전송: SDO는 오브젝트 딕셔너리 내의 특정 항목에 대한 접근을 제공하며, 복잡한 데이터 구조나 대량의 데이터를 전송할 때 사용됩니다.
- 요청/응답 메커니즘: SDO 통신은 요청과 응답의 형태로 이루어집니다. 한 노드가 데이터를 요청하면, 다른 노드가 해당 데이터를 응답으로 보냅니다.
- 블록 전송: SDO는 블록 전송 모드를 지원하여, 한 번에 많은 양의 데이터를 전송할 수 있습니다.
- 비동기 통신: SDO는 주기적인 데이터 전송보다는 필요할 때마다 데이터를 전송하는 비동기 통신에 적합합니다.
예시
예를 들어, 모터 제어 시스템에서 토크 제어와 위치 제어를 위한 데이터를 전송해야 한다고 가정해 보겠습니다.
- 토크 제어: 실시간으로 모터의 토크를 조절해야 하므로, PDO를 사용하여 모터 드라이버에게 토크 값을 빠르게 전송할 수 있습니다.
- 위치 제어: 모터의 위치 설정 값이나 구성 파라미터와 같은 상세한 정보가 필요할 때는 SDO를 사용하여 필요한 데이터를 전송합니다.
이러한 방식으로, CANopen 네트워크는 다양한 제어 요구 사항과 데이터 전송 요구 사항을 효율적으로 처리할 수 있습니다.
CANopen에서의 NTM (Network Management) 동작원리와 설계 구조는 다음과 같습니다:
- NTM의 역할: CANopen에서 NTM은 장치들이 상태를 조절하고 관리하는 데 사용됩니다. 각 장치는 NTM 상태에서 자동으로 실행될 수 있으며, CANopen 장치 초기화와 같은 과정을 통해 NTM 상태를 변경할 수 있습니다.
- NTM 메시지 명령: NTM는 다음과 같은 메시지 명령을 사용하여 장치 상태를 관리합니다:
- Start remote node: 려모 노드를 시작합니다.
- Enter pre-operational: 장치가 전역적인 상태로 변경됩니다.
- Stop remote node: 려모 노드를 중지합니다.
- Reset node: 노드를 초기화합니다.
- Reset communication: 커뮤니케이션을 초기화합니다.
- SYNC 메시지: SYNC 메시지는 상위제어기에서 제공하여 연결된 노드에게 메시지를 전송합니다. 이는 시스템의 시간을 정확하게 관리하는 데 사용됩니다.
- OD Entry와 SDO: NTM는 OD Entry에 대한 접근제어 방식으로, 추가적인 정보와 인자를 포함하여 더 구체적인 데이터를 전송할 수 있습니다. SDO는 CANopen에서 사용되는 서버와 클라이언트 관계로 통신하며, 요청하는 명령의 ID와 예를 들어 Read/Write 등의 고유 ID가 있습니다.
- NTM의 구조: NTM의 구조는 다음과 같습니다:
- NTM master 메시지 명령: Master 노드가 명령을 발행합니다.
- NTM slave 메시지 명령: Slave 노드가 master 로부터 명령을 받아서 상태를 변화시킨다.
CANopen에서 NTM (Network Management) 상태를 자동으로 실행하는 방법은 다음과 같습니다:
- CANopen 장치 초기화: CANopen 장치 초기화를 통해 NTM 상태를 자동으로 실행합니다. 초기화 과정에서는 장치는 Pre-operational 상태로 설정됩니다1.
- NMT 메시지 명령: NTM 메시지 명령을 사용하여 장치 인가시 NTM 상태를 변경할 수 있습니다. 예를 들어, “Start remote node” 메시지 명령을 사용하여 노드를 Operational 상태로 설정하거나, “Reset node” 메시지 명령을 사용하여 노드를 Reset 상태로 설정할 수 있습니다1.
- SYNC 메시지: SYNC 메시지를 사용하여 장치 인가시 NTM 상태를 조절할 수 있습니다. SYNC 메시지는 장치 인가시에게 시간을 제공하여 다음의 작엄을 준비하거나 시작할 수 있도록 돕습니다1.
- NMT 프로토콜 구현: CANopen에서는 NMT 프로토콜을 구현하여 NTM 상태의 관리를 위한 다양한 기능을 제공합니다. 이 프로토콜은 장치 인가시에게 필요한 정보와 명령을 전송하여 NTM 상태를 관리합니다2.
CANopen에서 NTM (Network Management)와 관련된 OD (Object Dictionary) 엔트리에 대한 접근 방식을 CAN FD 프레임을 사용하여 구현 가능한 CAN 통신 칩셋에 대한 제조사와 그 특징은 다음과 같습니다:
- 제조사: CANtronics
- CANtronics는 CAN FD 프레임을 활용한 CAN 통신 칩셋을 제공합니다. 이 칩셋은 CAN FD의 높은 데이터 전송률과 크기를 이용하여 더 빠른 데이터 전송과 더 큰 데이터 필드를 지원합니다1.
- CANtronics의 칩셋은 CAN FD 프레임의 구조와 데이터 전송 방식에 대해 설명하고, CAN FD 프레임을 사용하여 CANopen에서 NTM와 관련된 OD 엔트리에 대한 접근 방식을 구현하기 위해 필요한 정보를 제공합니다1.
- 제조사: Microchip Technology
- 제조사: Bosch
개발과 자문 문의 부탁드립니다 ...
일인기업 딥네트워크 개발총괄 장석원
HP : 010-3350 6509
E-Mail : sayhi7@daum.net