Embedded
CAN 통신 - 아두이노 구축 및 실습
CAN 통신 - 개요 및 프레임 구조CAN(Controller Area Network)이란?지능형 디바이스를 네트워크로 연결하는 고정밀 시리얼 버스 시스템이다. 자동차에서 각 ECU(Electonic Control Unit) 끼리 통신하는데 사용되는 표준 통신 규격이며, 현재는she11.tistory.com 이전에 CAN 통신의 특징과 프레임 구조에 대해서 알아봤다. 아두이노를 이용해서 CAN 통신 프로토콜 송수신을 테스트할 수 있다고 하여, 동아리 방이 있는 아두이노로 간단하게 실습해본 내용을 정리하고자 한다.먼저, CAN 패킷을 보내 data 필드의 값을 송수신해보았고, 스위치 모듈을 누르면 CAN 통신을 통해 LED가 켜지도록 실습을 진행했다. 실습 장비 목록Arduino UNO R3 SMD 2개..
CAN 통신 - 개요 및 프레임 구조
CAN(Controller Area Network)이란?지능형 디바이스를 네트워크로 연결하는 고정밀 시리얼 버스 시스템이다. 자동차에서 각 ECU(Electonic Control Unit) 끼리 통신하는데 사용되는 표준 통신 규격이며, 현재는 자동차 이외에도 각종 산업기계나 의료기기 등 다양한 분야에서 사용되고 있다고 한다. CAN의 특징- Multi Master 구조여러 노드(ECU, 센서, 액추에이터 등)가 동일한 버스에서 통신할 수 있으며, 하나의 마스터 장치에 의존하지 않는다. - 비동기 데이터 전송 (통신 속도 빠름)데이터 전송은 클럭을 동기화할 필요 없이 비동기로 이뤄지며, 표준 속도는 1Mbps까지 지원한다. - 메시지 우선순위CAN 프레임의 ID 필드가 존재하여 우선순위를 설정할 수 있다..
[Embedded] SPI 펌웨어 추출
임베디드 기기를 분석하고자 할때, 가장 먼저 펌웨어를 얻어야 한다.제조사에서 펌웨어를 제공하는 경우도 있겠지만, 그렇지 않다면 물리적인 접근을 통해 펌웨어를 추출해야 한다.대표적으로 UART를 연결해서 펌웨어를 추출하기도 하지만, ROM 자체에 SPI 통신을 통해 펌웨어를 추출할 수도 있다.SPI 통신으로 펌웨어를 추출하는 과정을 정리하고자 한다. 라즈베리파이 SPI 활성화라즈베리파이는 기본적으로 SPI가 활성화 되어 있지 않다.따라서, 펌웨어 추출전에 SPI를 활성화 시켜주는 작업이 필요하다. $ sudo raspi-config전원을 키고 위 명령어를 치면, 다음과 같은 창이 뜬다. Advanced Options - Network Interface Names 를 선택하면 위와 같은 창이 나온다.SPI를..