CAN 은 유연합니다

Download Report

Transcript CAN 은 유연합니다

Controller Area Network
CAN
제작
CAN
February 2001
Slide 1
EMBEDDED SYSTEMS ACADEMY
다음
순서
메시지의 비트 가닥에서부터 오브젝트까지
 CAN 기초 원리
• 어떻게 시작되었나...
• 개요
• 기본 개념
 CAN 물리 계층
• CAN Bus Lines
• Transceivers
• Bit Timing / Bit
Construction
• 동기화
• Message Coding
CAN
February 2001
Slide 2
 CAN Data Link Layer
• 버스 액세스 중재
• 프레임 형식
• 오류 검출
• 오류 처리
• 프로토콜 버전
(표준 / 확장)
 CAN 애플리케이션 예제
 상위 계층 프로토콜 개관
 CAN 추가 자료
 CAN 특징과 사용자 혜택
요약
다음
CAN의 진화
 오늘날, CAN은 자동화와 산업용 애플리케이션 모두에서
사용되고 있습니다.
• 산업용 임베디드 시스템에서의 CAN 진화는
이곳을 클릭하십시오.
• 자동화 애플리케이션에서의 CAN 진화는
이곳을 클릭하십시오.
CAN
February 2001
Slide 3
다음
임베디드 시스템의 진화 (I.)
All-In-One 시스템
one PCB, one MCU
CAN
February 2001
Slide 4
Func A
Func B
Func C
Func D
 마이크로컨트롤러같은 하드웨어 구성 요소들은, 비용이 매우 많이
들었습니다.
• 시스템들은 한 개의 MCU에서 모든 복합 기능들을 실행해야
합니다.
• 시스템들은 가상 CPU들도 사용하는, 복잡한 구성입니다. (즉,
멀티테스킹)
• 제한된 함수의 성능
• 현실적으로 함수의 재사용 불가능
다음
• 밀집된 배선이 star 위상을 강행
• 비상 안전 능력이 전혀 없음
임베디드 시스템의 진화 (II.)
다중 MCU 시스템 - 집중식
one PCB, multiple MCU
CAN
February 2001
Slide 5
Func A
Func B
Func C
Func D
 저가의 고성능 MCU 출현으로 멀티-프로세서 시스템이
가능해졌습니다.
• 기능이 서로 다른 MCU에서 실행
- 구성 요소, 소프트웨어, 도구들의 최적 선택
• 가상 CPU들이 실제 CPU로 대체
- 성능 증가
- 향상된 비상 안전 기능
• 배선 변화 없음.
다음
임베디드 시스템의 진화 (III.)
다중 MCU 시스템 - 분산식
PCB
PCB
Func A
Func B
CAN
CAN
February 2001
Slide 6
Func C
Func D
PCB
PCB
 On-chip 네트워킹 프로토콜의 출현으로 객체
지향의, 분산-제어 시스템이 가능해졌습니다.
• 비상 안전 기능의 탁월한 향상
• 높은 수준의 함수 재사용
• 공급자 교환능력
• 모듈간 최소 배선
• 표준화된 개발 도구
다음:
자동화
CAN의 진화
기본개념으로
건너 뛰기
어떻게 시작되었는가 (I.)
자동화 구성요소
 갈수록 더 많은 전자 장치들이 차량들에서 실행됩니다.
 이것은 더욱 적은 연료 소비, 배기 가스 배출과 함께 더욱 편하고
안전한 것을 의미합니다.
Engine
Control
AntiLock
Brakes
Lighting
Dashboard
Air
Condition
Power
Locks
다음
Airbag
CAN
February 2001
Slide 7
Transmission
Control
Active
Suspension
Power
Seats
Power
Windows
어떻게 시작되었는가 (II.)
관리가 어려운 자동차 통신
 제어 시스템과 이것들의 센서는 정보 교환이 필요합니다.
 재래식 방법: Point-to-Point 배선
 원료비, 생산 시간, 신뢰성과 관련한 문제들이 증가하고
있습니다.
Engine
Control
AntiLock
Brakes
Lighting
Air
Condition
Power
Locks
Dashboard
Airbag
CAN
February 2001
Slide 8
Transmission
Control
Active
Suspension
Power
Seats
다음
Power
Windows
어떻게 시작되었는가 (III.)
자동차 애플리케이션에 관한 네트워크
 해법: 시리얼 버스 시스템으로 제어 시스템 연결
 차량에서 사용하기 때문에 신뢰성과 관련된 특수 요건들이 충족되어야
합니다.
 이러한 특수 요건들을 충족시키기 위하여 CAN 이 개발되었습니다.
Engine
Control
CAN
AntiLock
Brakes
CAN
Lighting
Air
Condition
CAN
Power
Locks
CAN
CAN
High Speed
Dashboard
CAN
CAN
Low Speed
CAN
CAN
CAN
February 2001
Slide 9
CAN
CAN
Transmission
Control
Active
Suspension
Power
Seats
다음
Airbag
CAN
Power
Windows
기본 개념
 Multimaster
개념
 노드의 수는
프로토콜에
제한받지 않음
 주소 지정
노드 없음,
메시지
식별자가
내용과 우선
순위 명시
CAN
February 2001
다음
Slide 10
 간편한
노드의 연결 /
분리
(hot-swap)
 동시 전송 /
다중 전송
능력
 정교한
오류 검출 /
처리
 꼬임
전선(twisted
pair) 과 다른
물리적 매체
이용가능
 동기화를
위한 Bit
Stuffing 과
NRZ 코드
 AMP 와
CSMA/CD 를
통한 버스
액세스
개요
규격 역사
CAN
Spec
CAN
February 2001
Slide 11







1991
1992
1993
1994
1994
1995
1996
독일 Robert Bosch에 의해
규격화된 최근 80번째
ISO/OSI 표준
SAE 표준
CAN
CANKingdom
ISO11898
DeviceNet
SDS
29-bit (CAN2.0B)
CANopen
다음
CAN 과 7-계층 모델
하위 계층 규격용
ISA/OSI 참조 모델
All
7. Application Layer
People
6. Presentation Layer
Seem
5. Session Layer
To
4. Transport Layer
Need
3. Network Layer
Data
2. Data Link Layer
Processing
1. Physical Layer
CAN
February 2001
Slide 12
지정되지 않은 물리 매체!
부분적으로 상위
계층 CAN
프로토콜들에
의해 구현됨
표준 CAN 구현
다음
프로토콜 계층 상호작용
상향식
송신 장치
Application
Layer
CAN Data Link
Layer
CAN Physical
Layer
수신 장치
다음
Data Objects
ID + Data
recessive
...
ID + data
CAN_H
dominant
recessive
Application
Layer
CAN Data Link
Layer
CAN Physical
Layer
CAN_L
CAN
February 2001
Slide 13
 상위 계층 프로토콜없이, CAN 만이 모든 연결된 노드와
“short” 데이터를 공유하는 확실한 방법을 제공합니다.
CAN 버스 특성
Wired-AND 원칙
버스에서는 두 개의 로직
상태들이 가능합니다:
“1” = 열성 상태
“0” = 우성 상태
CAN
February 2001
다음
Slide 14
A
B
C
BUS
D
D
D
D
D
D
R
D
D
R
D
D
D
R
R
D
R
D
D
D
R
D
R
D
R
R
D
D
R
R
R
R
“1”
“0”
한 노드가 송신하자마자
우성 비트 (0):
버스는 우성 상태가 됩니다.
모든 노드들이 송신하는 경우에만
열성 비트 (1):
버스는 열성 상태가 됩니다.
 CAN 버스상에서 우성 비트는 열성 비트를 무시합니다.
물리 계층
 매체는 열성 상태와 우성 상태들을 지원해야 합니다.
 일반 ISO 물리 계층 :• 버스는 꼬임전선 사용, 각각의 끝에는 120R 말단처리
• 2개의 선은 서로 다른 신호 (CAN_H, CAN_L) 로 구동
 다른 물리 계층들도 가능합니다.
• (예. 광섬유, 무선, 전력선)
Physical CAN Bus
(Differential, e.g Twisted Pair)
CAN
February 2001
Slide 15
Controller
CAN
CAN_Txd
CAN_Txd
CAN_Rxd
Differential
Transceiver
CAN_Rxd
다음
CAN_Txd
CAN_Rxd
Optical
Transceiver
Optical Fiber
CAN 과 EMI
 CAN 은 전자파 방해를 받지 않습니다.
 EMI 가 버스에 충돌하면, 양 쪽 버스 라인들이 동일한 방식으로
영향받으며, 영향받지 않은 differential signal 이 남겨집니다.
 버스를 차폐하면 더 나은 향상을 나타냅니다.
Node A
Node B
V
Node C
CAN_H
CAN_H
U
U diff
diff
CAN_L
CAN_L
(dominant level)
t
CAN_H
CAN-Bus
CAN
February 2001
Slide 16
CAN_L
EMI
다음
CAN Baud Rate 와 버스 길이
 40m 버스 길이에서 최대 1Mbit/s
 50 kbit/s 에서 최대 1000m 버스 길이
 1000m를 초과하는 길이에서는, 특수 드라이버 혹은
반복기가 사용되어야 합니다.
1000
500
버스 라인들은
전기 매체로
가정
(예. 꼬임 전선)
200
Bit Rate
[kbps]
100
50
20
10
5
0
CAN
February 2001
Slide 17
10
40 100
200
1000
CAN Bus Length [m]
10,000
다음
ISO-IS 11898 에 따른 물리 계층
Node 1
Node 30
……...
CAN
High
Speed
ISO-IS
11898
CAN Transceiver
CAN_H
120
Ohm
CAN_L
CAN
February 2001
Slide 18
40 m / 130 ft
@ 1 Mbps
0.3 m / 1 ft
@ 1 Mbps
120
Ohm
다음
비교:
DeviceNet 에 따른 물리 계층
Data
Rate
Trunk Distance
(thick cable; thin
cable= 100m)
125 kBaud
500 m
(1640 ft)
250 m
(820 ft)
100 m
(328 ft)
250 kBaud
500 kBaud
Terminator
Trunk Line
Node
Node
Tap
Node
Slide 19
Node
다음
Maximum
Cumulative
156m
(512 ft)
78 m
(256 ft)
39 m
(128 ft)
6m
(20 ft)
Tap
Drop Line
Node
CAN
February 2001
Drop Length
Tap
Terminator
Tap
Node
Node
Node
Node
Node
Node
Node
케이블과 커넥터
 CAN 은 물리적 매체들을 지정하지는 않습니다 ,
그러나 – 특정 커넥터와 와이어들을 권장합니다.
 Wire:
• 꼬임 전선
• 차폐된 꼬임 전선
• 선택적 파워가 필요한 경우: 추가적인 꼬임 전선
- 한 쌍의 “차폐된 꼬임 전선”
• 응용 주문형
 커넥터:
• 9-pin Dsub
• 5-pin mini style
• 개방형 스타일
• 응용 주문형 (예. 전화 잭)
CAN
February 2001
Slide 20
다음
버스 액세스와 중재:
NDA, AMP 를 이용한 CSMA/CD
 CAN 프로토콜은 “Carrier Sense Multiple Access with
Collision Detection” 에 따라 버스 액세스를 처리합니다.
 충돌이 발생하여도, 메시지들은 결코 파괴되지 않습니다!
충돌로 낭비되는 대역폭도 없습니다!
• Ethernet 과 달리, CAN 에서의 충돌은 해결됩니다. 더
높은 우선 순위를 가진 메시지가 버스 액세스를 하게
됩니다.
 각각의 메시지는 우선 순위를 결정하는 식별자를
갖습니다.
• 이 식별자(ID)는 동일한 우선 순위의 메시지들과의
충돌을 피하기 위해 시스템에서 한 개의 노드에 의해
사용될 수 있습니다.
CAN
February 2001
Slide 21
 “CSMA/CD” 에 덧붙여, 이 과정을 설명하는 다양한
이름들이 생겨났습니다:
• NDA – “Non-destructive Arbitration”
다음
• AMP – “Arbitration by Message Priority”
버스 액세스와 중재 :
어떻게 실행되는가
중요: 식별자들은 유일합니다!
노드 A 가 노드 B 와 C 에
노드
B와C가
다시
대한
중재에서
이깁니다.
중재를 합니다 –
C 가 이깁니다.
중재 구간
B가 마지막으로
갑니다
Node X
노드
이것은
4개의
X가
X의
메시지를
메시지
노드를
중재
후에,
가진
전송하는
처리가
CAN
노드
동안,
A,
시작될
B, C
다른
때
가
네트워크
를
노드들이
동시에
어떤
상상해
보십시오:
그들의
노드가
전송
A,
B, C,
요청을
메시지
버스를
그리고
받는다고
전송을
먼저 X.
소유하게
가정합시
시작합니
되는가를
다.
이해하기
위한
것입니다.
CAN
February 2001
Slide 22
Node A
Node B
Node C
중재 구간
나머지
이 시점에서, 노드 B 가
Start
“1” (열성) 을
Bit Identifier Field기록합니다. 그러나
Node A
Node B
Node C
전송 요청
CAN Bus
노드 A와 C
A와 C 모두가 “0”을
사이에
중재가
모든 노드들이 start 비트를
기록하며
기록했기 때문에
그들
하다면,
이것을 다시
read비트가
합니다동일
–계속됩니다
중재가
버스에서 “0” (우성) 을
계속됩니다모든 노드들은 ID 기록을
다시 읽게 됩니다. –
계속합니다
노드 B는 중재에서
지게 되고 Receive
모드로 진입 합니다.
노드 B가
중재에서 집니다
다음
노드
C가
중재에서 집니다
Frame Formats - Data Frame
다음
필드는
ACK
Slot
그
다음
Cyclic
제어
오류가
원격
다음에는
여기에서
보내진
열성
필드의
필드의
전송
없는
"데이터
이
7이
개의
열성
Acknowledge
6비트로
비트에서
비트는
Redundancy
Acknowledg
남은
요청
CAN
12비트를
데이터는
프레임을
첫번째
4비트가
비트는
은 "in프레임“은
프레임은
비트
(End
of
Field
입니다.
구성된
전송
유보되어
bit-response"
Data
Field
e
Delimiter
Length
Frame
(CRC
Data
받은
비트는
구성하는
Field
노드는
IDE
에
Frame)
가
CAN
모든
노드
Control
Field
열성
비트로
Code
Arbitration
(DLC)
(RTR
우성
field)
프로토콜
오는데
비트
로
비트를
=
가
우성)
그
Data
Frame
노드가
들의
입니다.
정의됩니다.
보냅니다.
Acknowledg
(Identifier
다시
이것은
다음에
과
Field
그룹에
Remote
이며
보내어
위의
오며
가
을
마칩니다.
데이터
어려운
Frame
Extension)
(RTR
이어집니다:
발생
DLC에
메시지에
프레임을
속한다는
e Slot
가능한
의해
이
동기화로
전송을
정의된
것을
=로
11비트의
포함되어
정확하게
완성되며
열성)
전송
불리며
알길이
을
수
원할
인해
때 ....,
그
(0,
8,
16,
있는
우성
구분하는데
수신했음을
있습니다.
오류들을
식별자,
우성
데이터
비트에
56
or
64
bits)
알립니다.
사용됩니다.
탐색하는데
의해
상태에서
바이트의
이것은
겹쳐
(그
노드에
우성의
사용됩니다.
노드가
수를
메시지의
프레임이
쓰여지지
로의해
되어
나타
특정
Start
Of
Standard
CRC
냅니다
있습니다.
않을
메시지를
내용과
Field는
수도
(0
Frame- 8
생성됩니다
bytes).
15
Frame
우선순위를
수용하도록
있습니다.
비트
임을
CRC
.명시합니다.
표준
비트로
CAN
반영합니다,
순차로
구성되었는
Data원격
시작합니다
지
그리고
구성되며
여부와는
.CRC
Frame
은
열성
전송
무관)
요청
이와
같이
비트로
구분자
이어집니다.
비트에
보여의해
완성됩니다.
집니다.
CAN
February 2001
Slide 23
 전체에 대한 방송 메시지로써, 0 에서 8 data byte 를
전송하는 모든 노드에 의해서 사용
다음
오류 검출
인식(Acknowledge)
Acknowledg
만약
그렇지
그렇
다면,
e 않다면,
Check
적어도
로
Acknowledg
하나의
송신기는
다른
Acknowledg
노드
e Error
(여기
가
e발생
에서는
Field하며,
에서
노드
B)메시지
메시지가
는 프레임
는
Acknowledg
을반복
정확하게
되어
져야
e수신한
Slot
합니다.
이것–
그러나
입니다.
열성오류
비트로써
프레임은
보내지는
생성되지–
우성
않습니다.
비트를
포함하고
있는지
결정한 것을
확인합니다.
다음
 노드를 수신함으로써 프레임이 확인 응답되어집니다.
 어떤 단일 노드도 메시지를 정확하게 받지 못했다면, 오류
프레임이 대신 생성됩니다.
CRC
Field
Node A
Idle
Receive
Transmit
Node B
Idle
Receive
Transmit
CAN Bus
Idle
Active
Ack.
Field
End of Frame
Field
Recessive
TX
Dominant
Recessive
TX
Dominant
Recessive
Dominant
CAN
February 2001
Ack. Delimiter
Slide 24
Acknowledge Slot
오류 검출
순환 중복 검사 – 일치
 계산된 그리고 수신된 CRC Checksum 은 반드시 일치
수신기는 동일한 다항식을
해야 합니다...
송신기가 CRC Checksum 을 사용하여 CRC Checksum 을
계산합니다
계산합니다
Node A
Idle
Receive
Transmit
CAN_L
CAN
February 2001
Slide 25
다음
계산된
CRC Checksum:
1234h
전송된
CRC Checksum:
1234h
수신된
CRC Checksum:
1234h
Node B
Data Frame
송신기는 CRC 필드에서 CRC
Checksum 을 전송합니다
Idle
Receive
Transmit
일치
 
CAN_H
계산된
CRC Checksum:
1234h
CRC Sequence
계산된 CRC Checksum 이 수신된 checksum 과 일치한다면,
프레임은 정확하게 수신된 것입니다
오류 검출
순환 중복 검사 - 불일치
 … 그렇지 않다면 프레임은 정확하게 수신되지 않은 것입니다
수신기가 동일한 다항식을 사용하여 CRC
(CRC Error)
Node A
유휴
수신
송신
다음
계산된
계산된
CRC Checksum: CRC Checksum:
1234h
1235h
전송된
수신된
CRC Checksum: CRC Checksum:
1234h
1234h
Node B
유휴
수신
송신
불일치
CRC Sequence
 
CAN_H
송신기가 CRCChecksum
Checksum을
을계산합니다
계산합니다
CAN_L
송신기가 CRC
필드에서
CRC
B 는 잘못된
계산된
CRC checksum
이 수신된 checksum 과 일치하지
Checksum 을 않는다면,
전송합니다
프레임은 정확하게 수신되지 않은 Data
것입니다
Frame
CAN
February 2001
Slide 26
불완전한
Data Frame
(A가 송신)
오류 프레임
(B가 송신)
Data Frame 중단
을 버립니다
오류 처리
오류 상태와 “bus off”
 각각의 CAN 노드는 검출된 오류나 성공적인 전송을 반영하는
내부의 오류 카운터를 갖고 있습니다.
 카운터의 값에 따라, 노드는 다음 세 가지 오류 상태들 중의
하나에 있게 됩니다.
REC<=127
and
TEC<=127
REC>127
or
TEC>127
TEC 또는
REC 중의 하나가
TEC>255
다음
계수 127을 넘는다면, CAN
노드는
Reset 후 Receive Error
Counter“Error Passive”
상태에
와 Transmit Error Counter
가 진입합니다. – 더
이상 활성 오류 프레임을
127 보다 작다면, CAN
Bus
Error
Error
보낼
수 없습니다.
노드는
“Error
Active”
상태에
Reset
off 성공적인
passive
여러 차례의
active
있게
됩니다.
전송과 수신이 있게
CPU 에 의한 재된다면, 노드는 스스로
초기화만이 CAN
“Error Active” 상태로 전환될
컨트롤러를 “Error TEC 가 overflow 한다면, CAN 노드는 “Bus-Off State” 로
CAN
수 있습니다.
Active” 로 되돌릴 수 진입합니다 : 더 이상 CAN Bus 커뮤니케이션에 참여할 수
February 2001
없습니다.
재- 초기화
있습니다.
Slide 27
미발견 오류 통계적 예
 오류 통계는 전체 환경에 따라 결정됩니다.
• 전체 노드의 수
• 물리적 배치
• EMI 교란
 CAN 애플리케이션 예:
다음의 조건에서 실행
• 2000 h/year
• 500 kbps
• 25% bus load
통계적으로 미발견 오류는 1000년
마다 한 개가 됩니다.
CAN
February 2001
Slide 28
다음
CAN 프로토콜 버전
다음
 두 개의 CAN 프로토콜 버전을 이용할 수 있습니다:
• V2.0A (표준) - 11 bit Message ID’s - 2048 ID 이용가능
• V2.0B (확장) - 29 bit Message ID’s 536 백만 이상의 ID 이용가능
CAN
February 2001
Slide 29
CAN 프로토콜 버전
하나의 네트워크에서 두 개 버전 이용
 프로토콜 버전 혼합시에는 주의가 필요합니다 :
가능한 조합들이 전부 동작하는 것은 아닙니다 !
V2.0B Active
CAN Module
CAN
February 2001
Slide 30
Frame with
11 bit ID
Frame with
29 bit ID
Tx/Rx OK
Tx/Rx OK
V2.0B Passive
CAN Module
Tx/Rx OK
모든 CAN 컨트롤러들은
표준 식별자 (11 비트) 들을
Tolerated
전송하고 수신할 수
있습니다.
V2.0A CAN
Module
Tx/Rx OK
Bus ERRORs
확장 프레임들은 (29-bit identifier) V2.0B passive CAN 모듈에서
허용되긴 하지만, V2.0A CAN 모듈에서는 버스 오류가 발생
합니다.
다음
CAN 컨트롤러 구현
기초 CAN 컨트롤러
 CAN 메시지의 필터링과 관리에 관한 기본 기능들만이
하드웨어에서 실행되며 이것은 높은 CPU 적재를 초래할
수 있습니다.
 CAN 에서는 매우 낮은 보오율 또는 매우 적은 메시지들과
사용되어야만 합니다.
CAN
Bus
CAN
February 2001
다음
Slide 31
Bus Interface
Host
CPU
CAN
Protocol
Controller
Acceptance
Filtering
L
Status/Control
Registers
Transmit
Buffer(s)
Receive
Buffer(s)
low
Host
Interface
high
CPU load
Tx
Rx
CAN 컨트롤러 구현
Full CAN 컨트롤러 (예 ; Infineon C167CR)
 상세한 필터링 가능, CPU 가 react 를 필요로 하기 전까지
의 더욱 많은 시간 : 더 낮은 CPU 적재가 이루어집니다.
CAN
Protocol
Controller
Acceptance
Filtering
Status/Control
Registers
Message
Object 1
Message
Object 2
Host
Interface

low
high
CPU load
...
CAN
Bus
Bus Interface
 메시지 오브젝트들은 모든 메시지 정보를 저장합니다. (예 ;
식별자 / data bytes)
Host CPU
Message
Object n
CAN
February 2001
다음
Slide 32
Receive
Buffer(s)
CAN 컨트롤러 구현
FIFO Buffer CAN 컨트롤러 (예 ; Philips SJA1000)
CAN
Bus
다음
CAN
February 2001
Slide 33
Bus Interface
 CPU가 react 되기 전까지, 상세한 필터링 가능, 최대 21개
메시지들을 위한 receive FIFO buffer.
CAN
Protocol
Controller
Extended
Acceptance
Filtering:
4 screeners
For msg ID
+ data
Status/Control
Registers
Transmit
Buffer
Host
Interface

low
high
CPU load
Extended
Receive
Buffer
(FIFO)
Up to 21
messages
Host CPU
CAN 컨트롤러 구현
확장된 Full CAN 컨트롤러
(예 ; Philips XA-C3)
 CPU가 react 되기 전에, 상세한 필터링과 버퍼링 가능.
 필터와 FIFO 버퍼가 각각 있는 32개의 메시지 오브젝트들.
 각각의 오브젝트를 위한 최대 256 바이트의 FIFO.
Status/Control
Registers
Message
Object 0
Message
Object 1
CAN
February 2001
Slide 34
다음
FIFO 0
FIFO 1
Host
Interface

low
high
CPU load
...
CAN
Protocol
Controller
...
CAN
Bus
Bus Interface
 Fragment 된 메시지의 자동 어셈블리 (CANopen, DeviceNet).
Host CPU
Message
Object 31
FIFO 31
Outlook: 상위 계층 프로토콜의 특징
이용가능한 프로토콜: CANopen, DeviceNet, CANKingdom,
Smart Distributed System, In-Vehicle Networking, J1939
 Off-the-shelf plug-and-play 기능으로 인해, 서로 다른
공급자들의 모듈들을 쉽게 사용
• 지정된 Pre-assigned ID numbers
• 지정된 Device profiles
다음
• 지정된 Data types
- 8 바이트 이상 가능
• 지정된 커넥터와 파워 소스
 Network Management 는 노드와 수명 보호 기능의 구성을
고려합니다.
 Point-to-point 커뮤니케이션
CAN
February 2001
Slide 35
 구성과 분석 도구들 사용 가능
 동기화된 데이터 전송
CAN 애플리케이션 예(I)
 일반 차량에서의 CAN (승용차, 트럭, 버스)
• 엔진 관리 시스템, 미끄럼 방지 브레이크, 기어
제어, 활성 서스펜션 등과 같은 ECU들 사이의
커뮤니케이션이 가능하게 합니다… (power
train)
• 계기판, 조명, 에어컨, 창문, 중앙 잠금, 에어백,
좌석 벨트 등과 같은 장치들을 제어하는데 사용
(차체 제어)
 중장비 차량에서의 CAN
• 예 ; 건설용 차량, 지게차, 트랙터 등등
• Power train과 수압 제어를 위해 CAN 사용
CAN
February 2001
다음
Slide 36
 열차에서의 CAN
• 서로 다른 전자 하위시스템 제어 장치들 간의
데이터 교환의 높은 필요성
(예 ; 가속, 브레이크 정지, 도어 제어, 진단과
오류 메시지 등등)
CAN 애플리케이션 예 (II)
 산업 자동화에서의 CAN
• 모든 종류의 자동 제어 장비를 연결하는 탁월한
방법 (제어 장치, 센서, 액추에이터)
• 초기화, 프로그램과 파라메터 업/다운로드, 측정값
/실제값 교환, 진단 등을 위해 사용
• 기계 제어 ( 인쇄 기계, 종이와 섬유 기계 등등) :
서로 다른 지능적 하위시스템들 연결
• 운송 시스템
 의료 장비에서의 CAN
• 컴퓨터 단층촬영, X-ray 기계, 치과와 휠체어
 건물 자동화에서의 CAN
• 난방, 에어컨, 조명, 감시 등등
• 엘리베이터와 에스컬레이터 제어
CAN
February 2001
다음
Slide 37
추가의 CAN 관련 자료
웹 페이지들
 자동화 사용자 그룹에서의 CAN:
(CAN 과 CANopen 자료)
• www.can-cia.org
 임베디드 시스템 아카데미:
• www.esacademy.com/automation
• www.esacademy.com/faq
 공개 DeviceNet 공급자 연합:
• www.odva.org
 J1939 / Dearborn 그룹:
• www.dgtech.com
 임베디드 시스템 코리아
• www.eskorea.net
CAN
February 2001
Slide 38
다음
추가 CAN 정보
문헌
 CAN 문헌:
(www.esacademy.com/products/books.htm)
CAN
February 2001
Slide 39
• 제목:
CAN System Engineering
• 부제:
From Theory to Practical Applications
• 저자:
Wolfhard Lawrenz
• 페이지:
470 pages + 3.5” Disk
• ISBN:
0-387-94939-9
• 출판사:
Springer New York, 1997
다음
요약 (I):
CAN 특징과 사용자 혜택
 CAN 은 경제적입니다
• 두 개의 와이어를 가진 빠른 시리얼 버스:
훌륭한 가격 대비 성능 비율
• 자동차 시장에서 대량 생산에 주로 사용될 수 있는
저가의 프로토콜 디바이스 (컨트롤러, 트랜스시버)
 CAN 은 신뢰성이 우수합니다
• 정교한 오류 검출과 오류 처리 구조는 높은 전송
신뢰성을 달성합니다.
• 잘못된 메시지들은 검출되어 반복되어집니다.
• 시스템 – 전체 데이터 일관성 (모든 버스 노드에
오류가 알려집니다)
• 결함 노드들은 버스 커뮤니케이션에서 자동으로
빠져나갑니다.
• 전자파 장애에 대한 강력한 내성
CAN
February 2001
Slide 40
다음
요약 (II):
CAN 특징과 사용자 혜택
CAN
February 2001
Slide 41
 CAN 은 실시간을 의미합니다
• 40m 버스 길이에서 최대 데이터 전송률 1 MBit/s
(1000m 버스 길이에서도 여전히 40 kBit/s 유지)
• 짧은 메시지 길이(한 메시지는 0에서 최대 8 data byte)
(더 큰 데이터는 여러 개의 메시지들로 분리될 수 있음)
• 전송 요청과 실제 전송 시작 사이의 짧은 지연 시간
• CSMA/CD w/ AMP 방식으로 처리되는 버스 액세스
(어떤 시간 손실도 없이, 가장 높은 우선 순위를 가진
메시지가 중재에서 이깁니다)
 CAN 은 유연합니다
다음
• CAN 은 Multi-Master 실행이 가능합니다
(모든 CAN 노드가 개별적으로 버스를 액세스할 수
있습니다)
• CAN 노드는 쉽게 연결/차단될 수 있습니다
• 노드의 수는 프로토콜에 의해 제한 받지 않습니다
요약 (III)
CAN 특징과 사용자 혜택
 CAN 다중 전송/방송 성능을 지원합니다.
• CAN 은 노드-지향형이 아닌 메시지-지향형입니다.
• 메시지 식별자가 메시지의 내용과 우선 순위를
지정합니다.
• 메시지는 동시에 여러(모든) 노드들로 쉽게
보내집니다.
• 모든 노드들은 공통 데이터를 동시에 수신하고
작업합니다.
 CAN 은 표준화되었습니다.
• ISO-IS 11898 (고속 애플리케이션)
• ISO-IS 11519-2 (저속 애플리케이션)
• …그 외
CAN
February 2001
Slide 42
다음
요약 (IV)
CAN 총정리
 최대속도: 1Mbit (40m)
 최대 거리: 1000m (50kBit)
 Multi-Master
 모든 메시지가 동시전송 됩니다.
 충돌 해결,
우선 순위에 의한 중재
 기록 0 은 우성이며, 열성인 기록
1 보다 우선합니다.
 메시지마다 최대 8 바이트
 1초에 최대 10,000 msg.
 메시지는 유일한 식별자 (ID)
를 갖습니다.
 시스템에서 한 개의 ID 는 오직
한 개의 노드에 의해서만 사용될
수 있습니다.
 상세한 오류 검출과 복구
알고리즘을 통한 신뢰성
 CAN2.0A: 약 2 천 IDs
 흔히 사용되는 대부분의
트랜스시버가 꼬임 전선을
지원합니다.
 부분적으로 ISO/OSI 모델의
일 층과 이 층을 실행합니다.
CAN
February 2001
다음
Slide 43
 데이터 전송의 대역폭은 보안
오버헤드로 인해 50% 정도
감소됩니다.
 CAN2.0B: 약 5 억 IDs
 단일 전선, 광섬유 등을 위한
다른 트랜스시버
 상위 계층 실행 가능:
DeviceNet, CANopen, 기타
프리젠테이션의 끝
 여러분은 이 프리젠테이션의 마지막에 도달하였습니다!
• My Academy 로 가기
CAN
February 2001
Slide 44