2012. 3. 12. 19:26

CAN (Controller Area Network) 1985년 자동차 업체인 벤츠의 요구에 의하여 자동차 부품 업체인 독일의 Bosch사에서 차량 네트워크용으로 최초로 개발되었다고 합니다. 초기에는 자동차 제조업체들은 일대일(Point To Point)통신 시스템을 사용하여 차량 내 전자장치(ECU)를 연결하였습니다. 하지만 차량 내에 탑재되는 전자장치들이 많아짐에 따라 배선 장치는 공간 및 무게로 인한 비용이 증가하게 되었습니다. 또한, 서로 다른 세 개의 전자장치간을 통신을 위해서는 일대일(Point To Point)통신 방식이 적합하지 않아 다중통신 (Multi Master Communication) 방식이 필요하게 되어 CAN이 탄생하게 되었습니다. 이에 업체들은 배선의 비용, 배선의 복잡성, 배선의 공간 그리고 무게를 경감시킬 수 있었습니다. 그후 최초의 집적화된 CAN 부품은 1987년 인텔에 의해 생산되어졌다고 합니다.

 

CAN (Controller Area Network)은 차량용 네트워크를 위해 고안된 시리얼 통신 네트워크의 통신 방식입니다. 장점으로는 2개의 선으로 여러가지 ECU를 병렬로 연결하여 ECU 상호간의 정보 교환을 우선순위대로 처리하는 방식이 있으며, 네트워크 상의 모든 디바이스는 전송되는 모든 메세지를 확인할 수 있으며, 해당 메시지를 필터링되어야 할 지 여부를 결정할 수 있습니다. 또한 CAN은 노이즈에 강한 통신으로 인정을 받고 있습니다.

 

1993년에는 ISO에서 국제 표준 규격 (ISO 11898)으로 제정되었으며, 1994부터 CANopen, DeviceNet CAN에 대한 여러 가지 상위 레벨 프로토콜이 표준화되었습니다.

 

CAN은 차량용으로 개발되었지만 안정성과 장점이 입증되어 다른 분야에서도 광범위하게 CAN 버스를 도입하고 있습니다. 적용되는 분야를 보면 철도(지하철, 경전철....), 항공기, 의료기, 승강기 등 다양한 분야에서 적용을 하고 있습니다.

 

CAN(Controller Area Network) 통신의 장점

 

1. 2 twist pair 을 이용한 전기적 differential 통신을 하여 전기적인 노이즈에 매우 강합니다.

 

2. 2032개의 디바이스를 연결할 수 있으나 이것은 이론적이며,현재의 CAN트랜시버 한계는 하나의 버스라인에 최대 110개까지의 노드 연결이 가능합니다. 또한 CAN 트랜시버에 따라 최대 노드수는 달라 집니다.

 

3. RS-485의 경우에는 하나의 Master만 존재하지만 통신 버스를 공유하고 있는 CAN 컨트롤러들은 모두가 Master 가 될 수 있는 Multi Master 통신을 합니다.

 

4. 통신 속도는 최대 1Mbps로 속도가 빠릅니다.. 아래 그림은 CAN(Controller Area Network) 통신의 속도와 거리 관한 표입니다.

통신속도(bps)

거리(m)

1Mbps

40m

500Kbps

100m

250Kbps

200m

125Kbps

500m

50Kbps

1000m

 

5. 8byte 데이터 전송을 하는 하드웨어 패킷을 제공합니다.

 

6. 우선 순위가 있습니다.


7. 하드웨어적인 오류 보정이 있으며, 설정된 ID만을 수신 할 수 있습니다.

 

 

CAN 통신 규약의 두 가지 Data Format

 

1. Standard Format

- ISO 11898

- CAN 2.0A 버전

- 11bit 식별자


2. Extended Format

- ISO 11898

- CAN 2.0B 버전

- 29bit 식별자


용어 설명

 

1) SOF (Start Of Frame)
메시지 시작을 표시하며, 무부하 기간 이후 버스의 노드를 동기화하기 위해 사용


 

2) Identifier (식별자)
표준 CAN 11비트 식별자는 메시지의 우선순위를 가린다. 2진 값이 더욱 낮을수록 우선순위는 더욱 높아짐


 

3) RTR (Remote Transmission Request)
원격 전송 요청 비트,이 비트가 0이면 데이타 프레임이고, 1이면 CAN메세지가 원격 전송 요청을 의미

 

4) SRR (Substitute Remote Request) :표준 프레임의 RTR 위치에 점유

 

5) IDE ( (IDentifier Extension)

이 비트가 0이면 표준 CAN 식별자를 전송하고, 1이면 확장 CAN 식별자를 전송을 의미

 

6) R0, R1 :예약비트

 

7) DLC (Data Length Code) :데이터 프레임의 데이터 바이트 수

 

8) Data Field :전송 데이터. 8byte( 64bit )

 

9) CRC (Cyclic Redundancy Check) :16bit ( 15bit + 구획문자 ) 체크섬으로 오류 검출 Field.

 

10) ACK (ACKnowledge Field)

2bit ( 1bit + 구획문자)로 오류가 없는 메시지가 전송되었다는 것을 나타낸다.

 

11) EOF (End Of Frame Field) :메세지(프레임) 종료 필드

 

12) IFS (Inter Frame Space)

컨트롤러가 요구하는 시간의 양을 포함하며, 메시지 버퍼 영역에서 적절한 위치로 정확하게 수신된 프레임을 이동시킴

CAN 트랜시버로는 TJA1040, TJA1041, TJA1050, PCA82C250/C251 등 많은 칩들이 있습니다.

이 중에서 일반적으로 사용하는것은 PCA82C250/C251입니다.

DSUB-9 컨넥터를 사용할 경우에는 아래와 같은 PIN 맵을 갖습니다.


1 : No Connection

2 : CAN_L

3 : No Connection

4 : No Connection

5 : SHILD

6 : No Connection

7 : CAN_H

8 : No Connection

9 : No Connectio

'전기, 전자 > Commnication(통신)' 카테고리의 다른 글

LAN CABLE(UTP 케이블) 제작 방법  (1) 2010.06.04
RS-485 통신의 특징  (0) 2007.02.24
Posted by Paul Hwang