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