2009년 6월 23일 화요일

CAN (Controller Area Network) 소개


1) CAN 누가 개발했는가?

BOSCH(독일) : 자동차 전장품 개발 업체 (Injector, ABS 등)

 

2) CAN 필요성

  • 자동차 ECU (엔진 ECU, 미션 ECU, ABS, Air-Bag, ETACS 등) 간의 정보 공유 필요
  • 늘어나는 차량 Sensors의 공용화 필요
  • Noise가 많은 차량 환경(주 원인은 Spark)에 강인한 통신 필요
  • 독립적인 성향의 ECU들의 Network의 요구

 

3) CAN 응용 분야

  • 자동차 분야 : 센서 및 정보 공유
  • 기계 설비 분야 : 다수의 Processor 사용 분야

 

4) CAN-Bus 특징

-          Multi-Master, Multi-Slave : 각각의 Processor / Controller Priority(우선 순위) 존재하지만, Master 수도 있고 Slave 있다. 다시 말해, Processor / Controller 보낸 Data 필요에 따라 여러(Group) Processor / Controller 공유할 있다.

-          Shared Serial Bus Type : 최소의 Line(2 line) 통신인 Serial Type이며, ± line으로 구성되(485통신과 동일) 있으며, 이와 같은 방식의 장점은 외부 전자파나 노이즈에 강인한 특징을 갖는(이유는 외부 전자파나 노이즈가 ±Line 동일하게 영향을 끼쳐도 ±Line 위상차는 영향이 없기 때문이다).

-         Real-Time Communication : 기존의 Real-Time 통신이란, 특정 시간 안에 각각의 통신을 허용시키는 Token 방식 (통신 이용권)으로 이에 따른 문제점은 정작 중요한 Data 보내기 위해선 자기에게 Token 도달할 때까지 시간이 많이 걸릴 있거나, 통신 Line 이용할 Processor / Controller 충돌할 때에 중재자의 역할이 없으며, 필요없는 Data들을 선별하는 데에 에로 사항이 발생함으로, 이에 따른 문제점을 해결한 CAN 등장하게 되었다.

 

 5) CAN Version 변천

-          ver1.0 : 1985

-         ver1.1 : 1987

-          ver1.2 : 1990

-         ver2.0 A&B : 1991

            ver1.0, 1.1, 1.2 안정화 보편적인 전자 부품의 사용을 가능케 하기 위해 변한 것이며, ver2.0부터는 A B 구분되어져 A 기존과 동일하지만, B 확장 ID 추가함으로 보다 많은 종류 (최대2036->500만개) 데이터를 사용할 수 있게 하였다.

 

6) CAN Spec.

1-Mbps 이상 -> ISO 11898, 125Kbps 이상 -> ISO 11519 참조

 

7) CAN 이용 반도체 제조사들

  • Cygnal : 8051 계열의 Controller
  • Fujitsu : Microcontroller
  • Hynix : ARM720T Core의 Processor
  • Infineon : Stand-alone controller, Microcontrollers, Transceiver
  • Intel : Stand-alone controller, Microcontrollers
  • Philips : Stand-alone controller, Microcontrollers, Transceiver
  • 기타 취급하는 반도체 회사는 Atmel, Bosch, CiA, Dallas, Hitachi, Inicore, Microchips, Mishibishi, Motorola, NEC, NI, STM, TI 등이 있다.

출처: 임베디드 시스템 코리아

 

CAN (controller area network) ; 계측 제어기 통신망

CAN은 실시간 제어 응용시스템 내에 있는 센서나 기동장치 등과 같은 주변장치들을 서로 연결해 주는 마이크로 제어기용 직렬 버스 네트웍을 가리킨다. CAN에서는 이더넷 등에서 사용되는 것과 같은 주소 지정 개념은 사용되지 않으며, 메시지는 해당 네트웍에서의 고유한 식별자를 사용하여 네트웍 내에 있는 모든 노드들에게 동시에 뿌려진다. 개개의 노드들은 이 식별자에 기반하여 해당 메시지를 처리할 것인지의 여부를 결정하며. 버스 접근 순서 역시 경쟁원리에 따라 메시지 우선순위를 정한다. 충돌이 감지되었을 때 이더넷에서는 전송이 중단되는 것과는 달리, CAN과 같은 방식을 사용하면 중단 없는 데이터 전송이 가능하다.

 

CAN은 원래 차량에 적용하기 위해 처음 개발되었다. 네트웍에는 일련의 센서들이 구비되어 있어 자동차가 적절하고 안전하게 달리고 있는지에 관한 시스템을 감시할 수 있다. 하지만, CAN은 차량에 적용하는 것 이외에도 지능형 주변장치를 위한 개방형 통신시스템은 물론, 마이크로 제어기용 내장 통신 시스템으로도 사용될 수 있다.

 

CAN은 1986년에 로버트 보쉬에 의해 처음 개발되었으며, 최고 속도 125 Kbps 까지의 활용을 위해 ISO 11519로, 그리고 1 Mbps 까지의 활용을 위해 ISO 19898로 각각 표준화되었다.

 

CAN 통신

CAN통신 (Controller Area Network 의 약자) 여러개의 ECU를 병렬로 연결하여 데이터를 주고 받는 통신방법이다. 즉, 각각의 ECU는 자기가 가지고 잇는 데이터를 계속해서 다른 ECU들에게 보내고, 또한 상대편 ECU에서 보내주는 데이터를 우선순위에따라 받아 처리하는 방식으로 다량의 정보를 공유할 수 있는 장점이 있다.

 

통신선은 2개인데 흔히 BUS A 와 BUS B라고 부르며, 통신선 상에 데이터를 띄워놓고 필요한 데이터를 가져다 사용하는 방식이라고 생각하면 이해하는데 도움이 될 것이다. CAN 통신은 BUS A와 BUS B 의 전압 차이로 데이터를 읽기 때문에 2개선중에서 1개라도 단선이 되면 통신이 불가하다.

댓글 없음:

댓글 쓰기