서론
지난 게시글에서는 ESP32 super mini를 사용하기 위한 개발환경 구성을 완료하였다.
이번 시간에서는 본격적으로 CAN Data를 수신하기 위한 구성을 시작한다.
MCP2515란?
UART, I2C, SPI와 같은 통신은 일반적으로 보드에서 기본적으로 제공해 주는 경우가 많은데, CAN 통신의 경우 제공되지 않는 경우가 많다.(Jetson 보드 및 차량을 Target으로 나온 Chip의 경우 CAN 인터페이스를 제공한다.)
따라서, 우리는 CAN 신호를 수신하기 위해 CAN Trasceiver라는 특수한 장비가 필요하다.
https://ko.aliexpress.com/item/1005005995120126.html
1299.0₩ 77% OFF|CAN 버스 모듈 보드, 51 MCU ARM 컨트롤러용, TJA1050 리시버 SPI, MCP2515| | - AliExpress
Smarter Shopping, Better Living! Aliexpress.com
ko.aliexpress.com
CAN 버스 컨트롤러 모듈 -SPI, MCP2515 (CAN Bus Controller Module -SPI, MCP2515) - 가치창조기술
상품결제정보 결제는 신용카드, 실시간 계좌이체, 무통장 입금 등을 선택하여 진행하실 수 있습니다. 세금계산서 발행을 요청하실 경우에는 결제방법을 무통장 입금으로 선택하시고 사업자등
vctec.co.kr
역시나 알리가 저렴하다...
CAN Line을 통해 데이터를 전달받으면 INT 핀에서 Interrupt가 발생하고, SPI를 이용해 레지스터를 읽으면 되는 구조이다.
위 사진과 같이, MCP2515의 CAN-H는 차량의 CAN-L와, MCP2515의 CAN-L은 차량의 CAN-H와 연결하면 된다.
MCP2515와 ESP32 연결
MCP2515는 SPI 인터페이스를 지원하므로, 보드의 SPI와 연결한다.
다음 시간에는 차량을 뜯어(!) C-CAN 데이터를 훔쳐보자!
'프로그래밍 > ESP32' 카테고리의 다른 글
[ESP32] 자동차 CAN Hacking - C-CAN에서 데이터 훔치기(4) (1) | 2024.02.15 |
---|---|
[ESP32] 타이머 인터럽트 사용하기 (1) | 2024.02.06 |
[ESP32] 자동차 CAN Hacking - PlatformIO 환경 구성(2) (0) | 2024.02.01 |
[ESP32] 자동차 CAN Hacking - 보드선정 및 구매(1) (1) | 2024.01.27 |