CAN 통신에는 Microcontroller, Can Controller, CAN Transceiver가 필요하다.
CAN Transceiver
물리적 level을 detection 하는 부분입니다. (High/Low level detection)
OSI 7 Layer 중 Physical Layer이다.
MCP2551가 있다.
받을 때 :
CAN transceiver는 CAN bus level에서 CAN controller가 사용하는 levels로 데이터 스트림을 변환한다.
CAN controller를 보호하기 위해 보호 전기 회로망을 가지고 있다.
보낼 때 :
CAN transceiver는 CAN controller로부터 CAN bus levels로 데이터 스트림을 변환한다.
CAN Controller
송수신 data에 대한 buffer 및 control 등 CAN 통신에 규정된 내용을 수행하는 일을 담당하고 있습니다.
OSI 7 Layer 중 Data Link Layer이다.
MCP2510, MCP2515가 있다.
MCP2515는 MCP2510에서 좀 더 개선된 버전이다.
최근에는 CAN Controller가 내장된 Microcontroller들이 출시되고 있다.
받을 때 :
전체 메시지가 이용 가능할 때까지 버스로부터 받은 시리얼 비트들을 저장한다.
시리얼 비트들은 Host processor에 의해 가지고 와진다.
(Host processor = 보통 interrupt를 유발하는 can controller)
보낼 때 :
Host processor는 can controller에게 전송 메시지를 보낸다.
Bus가 free 할 때 버스를 통해 연속적으로 전송한다.
CAN-bus shield : CAN Controller + Transceiver + ODB-ll
'프로젝트 > CAN_OBDII' 카테고리의 다른 글
CAN통신 MCP2515 Mask와 Filter (0) | 2022.01.27 |
---|---|
CAN 통신 모듈(MCP2515) (0) | 2022.01.26 |
CAN 통신 프레임(Frame) 타입 (0) | 2022.01.25 |
CAN 통신 우선순위 결정 방법 (0) | 2022.01.25 |
CAN 통신 동작 원리 (0) | 2022.01.25 |
댓글