[UIROBOT] UIM242 SimpleCAN 통신 방법 Guide
페이지 정보
작성자 (주)모터114 댓글 0건 조회 9,253회 작성일 24-01-26 17:10본문
1. SimpleCAN의 구성
중재 필드 (Arbitration Field) : 메시지의 우선순위와 출처를 알려주는 정보입니다.
▷SID (Source Identifier) : 메시지를 보낸 노드, 즉 메시지의 발신자를 식별하는 11비트 식별자입니다.
▷ EID (Extended Identifier) : 18비트의 확장 식별자로, SID와 함께 메시지를 더욱 세부적으로 식별할 수 있습니다.
제어 필드 (Control Field) : 메시지의 길이와 형식에 대한 정보를 담고 있습니다.
▷ DLC (Data Length Code) : 메시지에 포함된 데이터 바이트의 수를 나타내는 4비트 필드입니다.
데이터 바이트 (Data Bytes) : 메시지가 전달하는 핵심 내용인 실제 데이터를 포함합니다. 0~8개의 바이트까지 포함될 수 있습니다.
기타 필드 (Other Fields) : 메시지의 오류 검출, 응답 확인, 프레임 종료, 간격 유지 등과 같은 기능을 담당하는 필드들입니다.
이들은 메시지를 안전하고 효율적으로 전달하기 위한 보조 수단이라고 할 수 있습니다.
이중에서 SID, EID, DLC, 데이터 바이트 메시지는 SimpleCAN의 가장 핵심적인 정보입니다.
SID는 메시지의 출처를 확인하는데 필수적입니다.
EID는 메시지를 더욱 세분화하여 구분하는데 도움을 줍니다.
데이터 바이트는 메시지의 핵심 내용인 실제 데이터를 담고 있기 때문에, 메시지의 의미를 전달하는데 있어서 가장 중요한 부분입니다.
2. Message ID
SimpleCAN의 message ID 형식은 아래와 같이 32bit 형식으로 SID와 EID 조합으로 이루어져 있습니다.
컨트롤러 아이디는 5~125까지 할당할 수 있습니다.
default 값은 5이고, 명령을 통해 바꿀 수 있습니다. 변경된 ID는 EEPROM에 저장됩니다.
데이터의 명령 코드에 따른 Command code와 Control code를 사용합니다.
Command code는 0번 부터 6번 bit까지 7bit이고 Control code는 7번 bit를 사용하고 1bit입니다.
사용자가 데이터를 보낼 때 2가지 방법으로 보낼 수 있습니다.
SID는 11bit로 구성되어 있고, SID의 6번 부터 10번 bit까지 Controller ID의 0번 부터 4번 bit까지 값을 입력합니다.
1번 bit는 1로 채우고 나머지 값에는 0으로 채웁니다.
![787f9d427568dcb034830ee74877ae0f_1706256857_8438.png 787f9d427568dcb034830ee74877ae0f_1706256857_8438.png](http://www.motor114.co.kr/data/editor/2401/787f9d427568dcb034830ee74877ae0f_1706256857_8438.png)
EID는 18bit로 구성되어있고, EID의 13번, 14번 bit를 Controller ID의 5번, 6번 bit로 채워줍니다.
EID의 0번 부터 7번 bit에 TCW 0번 부터 7번 bit를 채우고 나머지에 0으로 채워줍니다.
SID는 11bit로 구성되어 있고 SID의 2번부터 5번 bit는 0으로 채우고 나머지는 1로 채워줍니다.
EID는 18bit로 구성되어 있고 EID의 0번 부터 7번 bit는 TCW로 채우고 8번부터 12번 bit는 0으로 채워줍니다.
나머지는 1로 채웁니다.
5. 메시지 수신
데이터를 보낼 때에는 각 Command 마다 지정된 DLC 길이에 맞춰서 보내야 전송됩니다.
Receive message는 Transmit message와 마찬가지고 SID와 EID로 구성되어 있습니다.
1) A6~A0 은 Controller ID입니다.
2) FG은 식별, 표시용으로 사용되는 bit 이다. FG=0 일때는 완료 알람을 포함하고 FG=1일 때는 메세지만을 의미
3) R7~R0, RCW은 Receive Control Word 를 의미하고 8bit로 구성되어 있습니다.
4) 나머지에는 0을 채워줍니다.
6. 예시
댓글목록
등록된 댓글이 없습니다.