CANable pro 사용기

DongHee Lim·2022년 4월 6일
0

장비

목록 보기
2/3
post-thumbnail

서론


[CAN 통신 1편]

CAN 통신을 할 때
서로 데이터를 잘 받는지 필터링이 잘 되는지
확인하기 위해서

보드를 최소 2개 써야한다.

하지만 컴퓨터를 통해 전반적인 모니터링을 하기 위해서

CAN 통신을 읽어내는 장비가 필요하다.

이러한 장비의 기성품은 매우 가격이 높은데

그것을 대체 가능한 것이 이 CANable pro 장비이다.

구형인 CANable 도 있지만 pro 가 더 좋아보이고 가격이 더 싸서 샀다.

[알리 익스프레스 CANable pro 구매 링크]
[CANable.io 링크]

추가적으로

이 제품은
ADM3053 칩과 STM32F072C8T6 로 이루어져 있다.

AMD3053 내부에는 안정적인 CAN 통신을 위해
분리형(isolated) DC-DC 컨버터 가 들어있다.


준비


1. 점퍼 연결


▶ 종단 저항 (Termination)

나의 개발 환경은 Window 이다.

위 CANable.io 사이트를 찾아보니

CANable pro 는 Jumper 에 따라
Termination enable/disable
를 조절할 수 있다고 한다.

종단 저항(Termination) 은 120Ω 을 사용하여
통신 시 실패하여 반사되는 데이터를 제거하기 위해 사용한다.
짧은 회로에서는 없어도 작동은 한다.

Boot 모드로 들어가기 위해서는 Button 을 누르라고 하는데
내가 산 Makerbase MKS CANable pro V1.0 는 버튼이 없는 대신에
Boot 라고 쓰여진 곳이 있다.

오른쪽에 있는 작은 네모가 점퍼가 있으면
종단 저항(Termination)이 비활성화 하는 것이고
제거하면 활성화가 된다.

[R120 이라고 쓰여 있음]
눈을 크게 뜨고 보면 R120 위에
살짝 볼록한 느낌의 선이 2줄 있을 것이다.
점퍼는 아마도 GND 로 연결되어있을 것이다.
그래서 점퍼를 연결하면 CAN-H CAN-L 사이에
저항의 신호가 통과하여 GND로 연결 될 것이다.

Original CANable 은

Jumper 가 2개가 있는데

하나는 제거하면 DFU Boot 모드 활성화
다른 하나는 제거하면 종단 저항(termination) 비활성화
라고 한다.


▶ Boot Mode

이 CANable pro의 MCU 는

STM32F082C8T6 이다

핀 개수는 48핀으로 하단의 그림과 같이 되어있다.

DFU에서 펌웨어를 업데이트 하거나 변경할 때

Boot 모드로 변경해야하는데

그 때
BOOT0 을 1(HIGH) 로 연결 해야한다.

위 사진을 보고 뒤쪽에
SWDIO, GND, SWCLK, 3.3V 는 다른 곳에 사용하고
나머지 2핀이 BOOT와 관련이 있다는 것을 유추해 볼 수 있다.

또한, 눈을 크기 뜨고 앞 뒤로 보면
빨간색 원, 노란색 선처럼 연결되어 있음을 볼 수 있다.
즉, 점퍼를 오른쪽 원부분과 노란선 왼쪽을 연결하면
BOOT 모드로 들어 갈 수 있다는 것.


2. 드라이버 설치


▶ DFU 드라이버

나는 드라이버 설치 없이 작동해서 잘은 모르겠다.

하지만, CANable.io 사이트에서
펌웨어를 업데이트 하고싶다면 윈도우 사용자는

DFU, Defuse USB device firmware upgrade

[STMicronic DFU 드라이버]

를 설치하라고 한다.

▶ USB 드라이버

그리고, 다운받고 압축풀고 폴더를 열면 아래와 같은 파일이 있는데
USB로 연결했을 때 장치관리자에서 안 뜰 때 사용하는 것이다.

알수 없는 장치 -> 우클릭 -> 드라이버 업데이트
-> 내 컴퓨터에서 드라이버 찾기
-> 방금 다운받은 cantact.inf 파일 선택


3. 프로그램 설치


Windows and MAC 사용자는

cantact-app 을 설치하라고 하는데 JAVA 1.7 이상을 사용하라 해서 다운 받지 않았다.

그래서, 난 Cangaroo 프로그램을 사용하기로 했는데 정말 간단하다.

[CANable.io 링크]

위 버튼만 눌러서 다운받고 압출풀고 실행만 하면 끝

4. 세팅


▶ 수신

저번에 나는 내 F429ZI 보드에서 CAN 통신 속도를 500k bit/s 로 맞췄다.
그리고 SAMPLE POINT 는 70 % 로 해놨는데 얼추 비슷하기만 하면 된다.

Start Measurement
--> F5 만 눌러서 시작하여 세팅하면 끝

나중에 세팅을 변경하고 싶으면
Setup
--> Ctrl + Alt + S 만 눌러서 하면 된다.

▶ 송신

[CAN 통신 1편] 을 보면
보내는 ID 값을 0x1EF 로 설정했다.
필터에 의해 보드가 4가지 데이터를 받을 수 있는데
그 중 하나를 Payload에 적어서 보낸 것이다.


profile
하고 싶은 것, 소유하고 싶은 것, 좋아하는 것

0개의 댓글