ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • uCAN Converter (Data Type)
    한국과학기술연구소 인턴 2023. 3. 17. 16:27

    배경

    모터를 CAN 통신으로 제어하기 위한 방법들에 대해서 공부해 보았고, 그 중에서도 uCAN Converter 에 대해서 정리해 보고자 합니다

    uCAN Converter

    Spec

    • Locking USB Cable 적용
    • GUI 환경의 통합 유틸리티 제공
    • 다양한 시리얼 명령어 및 C코드 API지원
    • 통신용 예제 샘플 코드 제공
    • CAN 최대 통신 속도 1Mbps
    • 시리얼 최고 통신 속도 460.8Kbps 지원
    • CAN 2.0A / CAN 2.0B 호환
    • LED를 통한 통신 상태 확인

    구조체 자료형

    CAN Serial Struct

    typedef struct{
    	UINT8 Format;
    	UINT32 ID;
    	UINT8 DLC;
    	UINT8 DATA[8];
    }CAN_Struct;
    
    enum CAN_StructFormat {
        TX_STD_DATA = 0x14,
        TX_STD_REMOTE = 0x15,
        TX_EXT_DATA = 0x16,
        TX_EXT_REMOTE = 0x17,
    	RX_STD_DATA = 0x04,
        RX_STD_REMOTE = 0x05,
        RX_EXT_DATA = 0x06,
        RX_EXT_REMOTE = 0x07
    };

    Code Description

     

    1. 표준 원격 프레임(Standard Remote Frame)은 데이터를 요청하기 위한 메시지 유형입니다. 이 메시지는 데이터를 포함하지 않으며, 다른 장치에서 이 메시지를 수신하면, 해당 데이터를 전송해야 합니다. 이 메시지 유형에서 사용되는 메시지 식별자는 11비트 길이입니다.

    CAN Info Struct

    typedef struct{
    	UINT32 Baudrate;
    	UINT32 ID;
    	UINT32 Mask;
    	UINT8 Spec;
    	bool DAR;
    	bool ABOR;
    }CANConfigInfo;
    
    enum CANSpec {
        CAN_A = 3,	//Max Standard CAN ID Length for ascii (0~7FF)
        CAN_B = 8	//Max Extended CAN ID Length for ascii (0~1FFFFFFF)
    };

     

     

    Code Description

     

    1. Baudrate
      CAN 버스에서 데이터 전송 속도를 나타내는 매개변수입니다. Baudrate가 높을수록 데이터 전송 속도가 빨라지지만, 신호가 불안정해질 수 있습니다.
    2. Mask
      CAN 메시지 수신 필터를 설정하기 위해 사용되는 값입니다. 마스크는 수신 필터와 메시지 식별자를 비교하여 수신할 메시지를 결정합니다.
    3. Spec
      CAN 네트워크의 통신 규격을 나타냅니다. 예를 들어, CAN 2.0A와 CAN 2.0B는 각각 다른 통신 규격을 가지고 있습니다.
    4. DAR
      데이터 길이 코드 (DLC)와 함께 사용되는 값으로, 데이터 프레임의 길이를 나타냅니다.
      • DLC VS DAR:
        DLC는 데이터 프레임의 길이에 대한 정보를 제공하지만, 실제로 전송되는 데이터의 길이와 일치하지 않을 수 있습니다. 이는 프레임이 손상되거나 노이즈가 있는 경우 발생할 수 있습니다. 따라서 DAR은 데이터 프레임의 실제 길이를 확인하는 데 사용되며, 이를 통해 데이터의 무결성을 보장합니다.
    5. ABOR
      CAN 프로토콜에서 사용되는 중요한 신호 중 하나입니다. 이 신호는 노드가 데이터를 전송하지 않고 메시지 전송을 중지하고자 할 때 사용됩니다. 이를테면, 다른 노드에서 이미 같은 ID로 메시지를 보내고 있을 경우, 혹은 버스 충돌이 발생할 가능성이 있을 때, 노드는 ABOR 신호를 전송하여 데이터 충돌을 방지할 수 있습니다.

     

    '한국과학기술연구소 인턴' 카테고리의 다른 글

    UART  (0) 2023.03.26
    uCAN Converter (API)  (0) 2023.03.25
    AK Series CAN protocol Instruction 코드 정리(2)  (0) 2023.03.09
    AK Series CAN protocol Instruction 코드 정리(1)  (0) 2023.03.08
    CAN Protocol(2)  (0) 2023.03.02
Designed by Tistory.