maze통신교육 can

16
통통 통통 – CAN 통통 MAZE CAN 통통 (21 통 통통통 )

Upload: geonhee-kim

Post on 13-Feb-2017

72 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Maze통신교육   can

통신 교육 – CAN 통신 MAZE

CAN 통신 (21 기 최진우 )

Page 2: Maze통신교육   can

개요

TMS320F28x 프로세서에 탐재되는 통신회로 중 SPI/SCI/I2C/CAN 에 대한 특징과 동작 구조를 이해하고 통신을 해보자는 의미에서 공부한다 .

Page 3: Maze통신교육   can

목차01. SPI 통신02. SCI 통신03. I2C 통신04. CAN 통신

Page 4: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

• CAN 통신은 “ controller area network” 의 약자로 여러 개의 ECU(electronic control unit) 을

• 병렬로 연결하여 데이터를 주고 받는 통신을 의미한다 .• 통신 선은 2 개의 버스를 가지며 통신 선상에 데이터를 띄어놓고 • 필요한 데이터를 가져다 사용하는 방식이다 .• CAN 통신은 두 개의 버스 전압차이로 데이터를 읽기 때문에 • 둘 중 하나라도 단선이 되면 통신이 불가능 해진다 .

CAN 통신에 적용되는 ISO 11898 규약

Page 5: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

통신선은 CAN-H, CAN-L, GND 선으로 구성되며ex) 신호 1 전송하면 CAN-H 신호는 1 , CAN-L 신호는 0 으로 항상 반전 된 값을 출력한다 . 이 값을 수신 시에 수신 부 에서 합산 후에 맞는 데이터인지 아닌지 판단하여 사용한다 .

CAN 통신은 “ controller area network” 의 약자로 여러 개의 ECU(electronic control unit) 을 병렬로 연결하여 데이터를 주고 받는 통신을 의미한다 .

Page 6: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

CAN 통신의 분류

High CAN: 2.5~3.5v 전압 이용 , 200Kbit / sec 이상의 고속통신

LOW CAN: 1.5~2.5v 전압 이용 , 33.33Kbit / sec 이상 125Kbit /sec 이하의 저속통신

속도 : 최대 11M bps 의 고속통신을 제공한다 . ( 사용자 선택에 따라 50K bps 또는 그 이하의 속도로 설정 가능 하다 .)

CAN 통신의 속도

Page 7: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

필요성

위 그림과 같이 CAN 통신 이전에는 device 간 통신은 1:1 방식 이었다 .그러나 기술의 발전에 따라서 device 의 개수가 늘어나게 되었고 그에 따라서 통신에 필요한 wire 의 개수도 늘어나게 되었다 .이러한 문제를 해결하기 위해 여러 가지 통신방식이 나오게 되었으며 그 중 하나가 CAN 통신 방식이다 .

Page 8: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

필요성

위 그림은 CAN 통신 방식의 block diagram 이며 CAN BUS 를 통해 device 들이 연결되어 있는 구조를 가진다 .이로 인하여 물리적 환경이 간소해지며 CAN BUS 상에 device 를 추가 하여 바로 사용할 수 있으므로 편리 해진다 .

Page 9: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

CAN 통신의 장점①CAN 프로토콜은 multi master 통신을 한다 .

즉 , 통신 버스를 공유하고 있는 CAN 컨트롤러들은 모두가 master 역할을 수행 할 수 있으며 언제든지 버스를 사용하고 싶을 때 사용 가능하다 .

② 노이즈에 매우 강하다 .레벨은 다르나 RS485 와 비슷하게 twist pair 2 선을 사용하여 전기적 differential 통신을 하여 전기적 노이즈에 매우 강하다 .

③ 통신 속도가 빠르고 먼 거리를 통신할 수 있다 .최대 11Mbps 의 속도로 통신 가능하며 최대 1KM 까지 40Kbps 로 통신할 수 있다 .

④ 하드웨어 적으로 오류를 보정 가능하다 . 하드웨어적으로 설정된 ID 만을 골라서 수신이 가능하다 .( 수신 필터를 이용하여 설정에 따라 다르게 수신가능 )

Page 10: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

데이터 구조

Page 11: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

SOF(start of frame): 메시지 프레임의 시작을 표시하며 메시지 프레임의 최우선에 위치 디폴트 “ 0” 값을 가진다 .중재 필드 (arbitration field-ID): 11 비트의 식별자와 1 비트의 원격 전송 요구 (RTR) 비트를 가지며 디폴트“ 0” 값을 가지는 RTR 비트는 비트 값이 0 일때 CAN 메시지가 전송 중지되며 역으로 비트 값이 1 이면 CAN 메시지가 원격 전송 요청 (RTR) 을 의미한다 .RTR 상태란 : 데이터 버스상의 한 노드로 부터 다른 노드로 데이터를 전송 요청하는 상태이다 .

제어 필드 (control field): 6 비트로 구성되며 향후에 사용되는 예약된 두 개의 “ 0” 값을 가지는 R0,R1 과 데이터 필드의 바이트 수를 가리키는 4비트의 데이터 길이 코드 (Data Length Code) 로 구성

Page 12: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

데이터 필드 (data field): 한 노드로 부터 다른 노드로 전하고자 하는 데이터를 포함하며 0~8 바이트로 구성 된다 .

CRC 필드 (cyclic redundancy check): 17 비트의 주기적 중복확인 코드를 가지며 데이터필드의 끝을 알리는 “ 1” 의 값을 가지는 비트가 이어진다 .ACK 필드 (acknowledge field): 2 비트로 구성되며 첫 번째 비트는 “ 0”값을 가지는 비트 이다 , 그러나 메시지를 성공적으로 수신한 경우에는 다른 노드에서 전송된 “ 1” 값도 가능하다 . 두 번째 비트는 “ 1” 의 값을 가진다 .프레임 종료 필드 (end of frame field): 7 비트로 구성되며 모두 “ 1” 의 값을 가진다 . EOF 뒤이어 모두 “ 1” 값을 가지는 3 비트의 프레임 중단 필드(intermission field)(INT) 가 이어진다 . 3 비트의 INT 주기 이후의 버스라인은 자유상태로 인식된다 .

Page 13: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

Remote Frame-receiver 가 transmitter 에 data 를 요청할 때 출력하는 frame-Arbitration field 에서는 transmitter 의 ID 가 포함된다 .

Page 14: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

Error Frame-error 상황을 알리기 위한 frame

-error 를 감지한 node 가 6 dominant bit(=0) 를 출력하면 다른 node 들은 이에 반응하여 6 dominant bit 를 출력한다 .

-6~12 dominant bits(error flag) + 8 recessive bits(error delimiter) 로 구성 된다 . ( 중첩 가능 )

Page 15: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

Overload Frame- 아래와 같은 상황에서 overload frame 을 전송 (bus 상태를 안정화하기 위해 ~)

①receiver 의하여 다음 data / remote frame 사이에 delay 가 필요한 경우

②frame 과 frame 사이의 1,2 bit 가 dominant bit(=0) 인 경우

③error delimiter 또는 overload delimiter 의 마지막 bit 가 dominant bit 인 경우

-6 dominant bit(overload flag) + 8 recessive bits(overload delimiter) 로 구성

Page 16: Maze통신교육   can

04. CAN 통신 (Controller Area Network)

Bit Stuffing( 전송된 데이터 열에 여분에 비트를 삽입 )- 전송할 내용이 같은 bit 가 5 개 연속이면 6 번째 bit 는 반대의 bit 를 끼워 넣는다 .① 비 동기 식 통신이므로 각 bit 의 check 시점이 달라지는 오차를 줄이기 위한 방법이다 .

②transmitter 에 의하여 만들어지고 , receiver 는 이를 빼고 해석 한다 .③bit stuff area: SOF, arbitration field, control field, data field, CRC field