캔 버스가 있는 자동차. 차량의 CAN 버스에서 데이터 수신

구독하다
"auto-piter.ru" 커뮤니티에 가입하세요!
접촉 대상:

에어컨 온도 변경하기 포드 퓨전 CAN 버스를 통해 명령을 사용합니다.

아리엘 누녜스
CAN 버스를 통한 명령을 사용하여 Ford Fusion 에어컨의 온도를 변경합니다.


그림 1: 앱을 사용하여 주요 차량 기능을 어떻게 제어할 수 있나요?
최근에는 회사 친구들과 함께 항해 Ford Fusion의 에어컨 시스템 소프트웨어 제어 구현에 참여했습니다. ~에 이 순간 Voyage는 저가형 자율주행차를 개발하고 있습니다. 궁극적인 목표는 모든 사람이 자동차를 현관문까지 부르고 원하는 곳 어디든 안전하게 이동할 수 있도록 하는 것입니다. Voyage는 운전자의 경험이 완전히 자동화될 날이 멀지 않았기 때문에 뒷좌석에서 주요 차량 기능에 대한 접근을 제공하는 능력이 매우 중요하다고 믿습니다.
타이어가 왜 필요한가요?할 수 있다
현대 자동차는 다양한 제어 시스템을 사용하며, 많은 경우 웹 개발의 마이크로서비스처럼 작동합니다. 예를 들어 에어백, 제동 시스템, 속도 제어(크루즈 제어), 전자식 파워 스티어링, 오디오 시스템, 창문 및 도어 제어 장치, 유리 조정, 충전 시스템 전기차등. 이러한 시스템은 서로 통신하고 매개변수를 읽을 수 있어야 합니다. 1983년에 보쉬는 이 복잡한 문제를 해결하기 위해 CAN 버스(Controller Area Network, Local Controller Network) 개발을 시작했습니다.
CAN 버스는 자동차의 모든 시스템이 명령을 읽고 보낼 수 있는 간단한 네트워크라고 말할 수 있습니다. 이 타이어는 모든 복잡한 구성 요소를 우아한 방식으로 통합하여 우리가 사용하는 많은 사랑을 받는 자동차 기능을 구현하는 것을 가능하게 합니다.


그림 2: 처음으로 사용된 타이어CAN은 1988년 BMW 8시리즈부터 사용되기 시작했습니다.
자율주행자동차와 버스할 수 있다
자율주행차 개발에 대한 관심이 크게 높아지면서 'CAN 버스'라는 말도 유행하게 됐다. 왜? 자율주행차를 만드는 대부분의 회사는 처음부터 자동차를 제조하는 것이 아니라 공장 조립 라인을 떠난 후 프로그래밍 방식으로 자동차를 제어하는 ​​방법을 배우려고 노력합니다.
이해 내부 장치자동차에 사용되는 CAN 버스를 통해 엔지니어는 소프트웨어를 사용하여 명령을 생성할 수 있습니다. 짐작할 수 있듯이 가장 필요한 명령은 조향, 가속 및 제동과 관련이 있습니다.


그림 3: LIDAR(자율주행차 핵심 센서) 소개
LIDAR(빛 감지 및 거리 측정, 광학 거리 측정 시스템)와 같은 센서를 사용하여 기계는 슈퍼맨처럼 세상을 볼 수 있습니다. 그런 다음 자동차 내부의 컴퓨터는 수신된 정보를 기반으로 결정을 내리고 조향, 가속 및 제동을 제어하기 위해 CAN 버스에 명령을 보냅니다.
모든 자동차가 자율주행이 가능한 것은 아닙니다. 그리고 어떤 이유에서인지 Voyage는 Ford Fusion 모델을 선택했습니다(이 기사에서 그 이유에 대해 자세히 알아볼 수 있습니다).
버스 연구할 수 있다포드퓨전
Ford Fusion의 에어컨 시스템에 대한 연구를 시작하기 전에 제가 가장 좋아하는 책인 The Car Hacker's Handbook을 펼쳤습니다. 본격적으로 시작하기 전에 버스 프로토콜, CAN 버스, CAN 프레임이라는 세 가지 중요한 개념을 다루는 2장을 살펴보겠습니다.
타이어할 수 있다
CAN 버스는 미국에서 사용되기 시작했습니다. 승용차 1994년부터 소형 트럭과 2008년부터 의무화되었습니다(유럽 자동차의 경우 2001년부터). 이 버스에는 CAN 하이(CANH)와 CAN 로우(CANL)라는 두 개의 와이어가 있습니다. CAN 버스는 차동 신호를 사용합니다. 그 본질은 신호가 한 와이어에서 수신되면 전압이 증가하고 다른 와이어에서는 동일한 양만큼 감소한다는 것입니다. 차동 신호는 소음에 둔감해야 하는 환경에서 사용됩니다. 자동차 시스템또는 생산 중에.


그림 4: 원시 버스 신호오실로스코프에 CAN 표시
반면에 버스를 통해 전송되는 패킷은CAN, 표준화되지 않음. 각 패키지에는 4가지 핵심 요소가 포함되어 있습니다.

  • 중재ID (중재ID)은 통신을 시도하는 장치를 식별하는 브로드캐스트 메시지입니다. 모든 장치는 여러 중재 ID를 보낼 수 있습니다. 단위 시간당 두 개의 CAN 패킷이 버스를 통해 전송되는 경우 중재 ID가 낮은 패킷은 건너뜁니다.
  • ID 확장(식별자확대; IDE) – 표준 CAN 버스 구성의 경우 이 비트는 항상 0입니다.
  • 데이터 길이 코드(데이터길이암호; DLC) 0~8바이트 범위의 데이터 크기를 정의합니다.
  • 데이터.표준 CAN 버스가 전달하는 데이터의 최대 크기는 최대 8바이트입니다. 일부 시스템에서는 패킷이 8바이트로 채워지도록 강제합니다.


그림 5: 표준 형식CAN 패키지
CAN 프레임
기후 시스템을 켜거나 끄려면 다음을 찾아야 합니다. 올바른 타이어 CAN(자동차에 이러한 버스가 여러 개 있음). Ford Fusion에는 최소 4개의 문서화된 타이어가 있습니다. 3개의 버스는 500kbit/s의 고속(High Speed ​​​​CAN; HS)으로 작동하고 1개의 버스는 평균 속도 125kbit/s(중간 속도 CAN; MS).
두 개의 고속 버스 HS1과 HS2가 OBD-II 포트에 연결되어 있지만 명령 위조를 허용하지 않는 보호 기능이 있습니다. Voyage의 Alan과 함께 우리는 OBD-II 포트를 꺼내서 모든 버스(HS1, HS2, HS3 및 MS)에 대한 연결을 찾았습니다. OBD-II 뒷벽에는 모든 버스가 게이트웨이 모듈에 연결되어 있었습니다.


그림 6:호머 – 회사 최초의 자율주행 택시항해
기후 시스템은 미디어 인터페이스(SYNC)를 통해 제어되므로 중속 버스(MS)를 통해 명령을 보내야 합니다.
CAN 패킷 읽기 및 쓰기는 Volkswagen 연구 부서에서 Linux 커널용으로 만든 SocketCAN 드라이버와 네트워크 스택을 사용하여 수행됩니다.
자동차의 3개 전선(GND, MSCANH, MSCANL)을 Kvaser Leaf Light HSv2 어댑터(Amazon에서 300달러에 구입 가능) 또는 CANable(Tindie에서 25달러에 판매)에 연결하고 컴퓨터에 버스를 로드합니다. 새로운 Linux 커널 CAN을 네트워크 장치로 사용합니다.

Modprobe는 할 수 있습니다
모드 프로브 kvaser_usb
IP 링크 설정 can0 유형은 비트 전송률 1250000일 수 있습니다.
ifconfig can0 업

다운로드 후 candump can0 명령을 실행하고 트래픽 모니터링을 시작합니다.

캔0 33A 00 00 00 00 00 00 00 00 캔0 415 00 00 C4 FB 0F FE 0F FE 캔0 346 00 00 00 03 03 00 C0 00 캔0 348 00 00 00 00 00 00 00 00 캔0 167 2 7F FF 10 00 19 F8 00 캔0 3E0 00 00 00 00 80 00 00 00 캔0 167 72 7F FF 10 00 19 F7 00 캔0 34E 00 00 00 00 00 00 00 00 캔0 358 00 00 00 00 00 00 00 00 캔0 4 00 00 00 00 00 00 00 00 캔0 216 00 00 00 00 82 00 00 00 캔0 3AC FF FF FF FF FF FF FF FF 캔0 415 00 00 C8 FA 0F FE 0F FE 캔0 083 00 00 00 00 00 01 7E F4 캔0 2FD D4 00 E3 C1 08 52 00 00 캔0 3BC 0C 00 08 96 01 BB 27 00 캔0 167 72 7F FF 10 00 19 F7 00 캔0 3BE 00 20 AE EC D2 03 54 00 캔0 333 00 00 00 00 00 00 00 00 캔0 42A D6 70 E0 00 00 00 00 캔0 42C 05 51 54 00 90 46 A4 00 캔0 33B 00 00 00 00 00 00 00 00 캔0 42E 93 00 00 E1 78 03 CD 40 캔0 42F 7D 04 00 2E 66 04 01 77 캔0 167 72 7F FF 10 00 19 F7 00 캔0 3E7 00 00 00 00 00 00 00 00 캔0 216 00 00 00 00 82 00 00 00 캔0 415 00 00 CC F9 0F FE 0F FE 캔0 3A5 00 00 00 00 00 00 00 00 캔0 3AD FF FF FF FF FF FF FF FF 캔0 50B 1E 12 00 00 00 00 00 00

위의 정보는 진폭과 동일하지만 소리 신호, 무슨 일이 일어나고 있는지 이해하고 패턴을 감지하는 것은 매우 어렵습니다. 주파수 분석기와 유사한 것이 필요하며 이에 상응하는 것은 cansniffer 유틸리티 형태로 제공됩니다. Cansniffer는 식별자 목록을 표시하고 CAN 프레임 내부 데이터 섹션의 변경 사항을 추적할 수 있도록 해줍니다. 특정 ID를 탐색하면서 작업과 관련된 ID를 필터링할 수 있습니다.
아래 그림은 캔스니퍼를 사용하여 MS 버스에서 가져온 정보의 예를 보여줍니다. ID 355, 356 및 358과 관련된 모든 것을 필터링했습니다. 온도 조정과 관련된 버튼을 눌렀다가 놓으면 맨 끝에 001C00000000 값이 나타납니다.


그림 7: 버스 정보캔스니퍼 유틸리티를 사용하여 캡처한 MS
다음으로 실내 온도 조절 시스템을 제어하는 ​​기능을 차량 내부에서 실행되는 컴퓨터와 결합해야 합니다. 컴퓨터는 ROS 운영 체제(로봇 운영 체제, 로봇용 운영 체제)에서 실행됩니다. 우리는 SocketCAN을 사용하고 있기 때문에, Socketcan_bridge 모듈은 CAN 프레임을 ROS 운영 체제가 이해하는 정보 블록으로 변환하는 작업을 크게 단순화합니다.
다음은 디코딩 알고리즘의 예입니다.

Frame.id == 0x356인 경우:
raw_data = unpack("BBBBBBBB", 프레임.데이터)
fan_speed = 원시 데이터 / 4
드라이버_온도 = 파싱_온도(원시_데이터)
승객_온도 = 구문 분석_온도(원시_데이터)

수신된 데이터는 ChelseaReport.msg에 저장됩니다.

부울 자동
부울 시스템_온
부울 유닛_온
부울 듀얼
부울 max_cool
부울 max_defrost
부울 재순환
부울 헤드_팬
부울 피트_팬
bool front_defrost
bool Rear_defrost 문자열 드라이버_온도
문자열 승객_임시

자동차에서 필요한 모든 버튼을 누르면 다음 목록이 표시됩니다.

컨트롤_코드 = (
"ac_toggle": 0x5C,
"ac_unit_toggle": 0x14,
"max_ac_toggle": 0x38,
"재순환_토글": 0x3C,
"이중 온도_토글": 0x18,
"승객_온도_업": 0x24,
"passenger_temp_down": 0x28,
"driver_temp_up": 0x1C,
"driver_temp_down": 0x20,
"자동": 0x34,
"wheel_heat_toggle": 0x78,
"defrost_max_toggle": 0x64,
"제상_토글": 0x4C,
"rear_defrost_toggle": 0x58,
"body_fan_toggle": 0x04,
"feet_fan_toggle": 0x0C,
"팬_업": 0x2C,
"팬_다운": 0x30,
}

그런 다음 이러한 문자열은 ROS 운영 체제를 실행하는 노드로 전송된 다음 자동차가 이해하는 코드로 변환됩니다.

Rostopic pub /celsius_control celsius/CelsiusControl ac_toggle

결론
이제 온도 상승 및 하강과 관련된 물리적 버튼을 누를 때 생성되는 동일한 코드를 생성하여 CAN 버스에 보낼 수 있으며, 운전 중 애플리케이션을 사용하여 차량 온도를 원격으로 변경할 수 있습니다. 뒤쪽 좌석자동차.


그림 8: 자동차 온도 조절 시스템의 원격 제어
이는 Voyage 전문가들과 함께 자율주행 택시를 만들기 위한 작은 발걸음일 뿐입니다. 저는 이 프로젝트를 진행하면서 많은 긍정적인 감정을 받았습니다. 이 주제에도 관심이 있으시면 Voyage에서 채용 공고 목록을 확인하실 수 있습니다.

현대 승용차의 온보드 전자 시스템 및 트럭가지다 엄청난 양 추가 장치그리고 액츄에이터. 모든 장치 간의 정보 교환이 최대한 효율적으로 이루어지려면 자동차에 안정적인 통신 네트워크가 있어야 합니다. 20세기 80년대 초 Bosch와 개발자 Intel은 Can-bus라고 널리 알려진 새로운 네트워크 인터페이스인 Controller Area Network를 제안했습니다.

1 CAN 버스 네트워크 인터페이스의 작동 원리 정보

자동차의 캔버스는 특정 정보를 전송하고 수신할 수 있는 모든 전자 장치에 연결되도록 설계되었습니다. 따라서 시스템 및 제어 신호의 기술적 조건에 대한 데이터는 연선 케이블을 통해 디지털 형식으로 전달됩니다. 이 방식을 사용하면 외부 전자기장의 부정적인 영향을 줄이고 프로토콜을 통한 데이터 전송 속도를 크게 높일 수 있습니다(제어 장치가 사용하는 규칙). 다양한 시스템정보를 교환할 수 있습니다.)

게다가 DIY 자동차 시스템도 쉬워졌습니다. 사용으로 인해 유사한 시스템차량 온보드 네트워크의 일부로 엔진 제어 장치와 진단 장비, 경보 시스템 간 등 다양한 프로토콜을 통해 통신을 제공할 수 있는 특정 수의 도체가 확보되었습니다. 소유자가 특수 장치를 사용하여 컨트롤러 오작동 및 오류를 자신의 손으로 식별할 수 있는 것은 자동차에 Kan-bus가 있다는 것입니다. 진단 장비.

CAN 버스이는 다양한 제어 노드 간에 데이터가 전송되고 교환되는 특수 네트워크입니다.각 노드는 마이크로프로세서(CPU)와 CAN 컨트롤러로 구성되며 이를 통해 실행 가능한 프로토콜이 구현되고 차량 네트워크와의 상호 작용이 보장됩니다. Kan 버스에는 네트워크 제어 장치의 신호를 증폭할 수 있는 트랜시버인 트랜시버를 통해 신호가 전송되는 CAN_L 및 CAN_H라는 두 쌍 이상의 전선이 있습니다. 또한 트랜시버는 다음과 같은 기능을 수행합니다.

  • 전류 공급을 증가 또는 감소시켜 데이터 전송 속도를 조정하고;
  • 센서 손상이나 전송선 단락을 방지하기 위한 전류 제한;
  • 열 보호.

오늘날 고속 및 내결함성이라는 두 가지 유형의 트랜시버가 인식됩니다. 첫 번째 유형은 가장 일반적이며 표준(ISO 11898-2)을 준수하므로 초당 최대 1MB의 속도로 데이터를 전송할 수 있습니다. 두 번째 유형의 트랜시버를 사용하면 최대 120Kb/초의 전송 속도로 에너지 절약형 네트워크를 생성할 수 있으며 이러한 송신기는 버스 자체의 손상에 민감하지 않습니다.

2 네트워크의 특징

데이터는 프레임 형태로 CAN 네트워크를 통해 전송된다는 점을 이해해야 합니다. 그 중 가장 중요한 것은 식별자 필드(Identifire)와 데이터 시스템(Data)입니다. Kanbus에서 가장 일반적으로 사용되는 메시지 유형은 데이터 프레임입니다. 이러한 유형의 데이터 전송은 소위 중재 필드로 구성되며 여러 시스템 노드가 동시에 CAN 버스에 데이터를 전송하는 경우 데이터 전송 우선순위를 결정합니다.

버스에 연결된 각 제어 장치에는 자체 입력 저항이 있으며 총 부하는 버스에 연결된 모든 실행 가능한 블록의 합으로 계산됩니다. 평균적으로 CAN 버스에 연결된 엔진 제어 시스템의 입력 저항은 68-70Ω이고 정보 및 명령 시스템의 저항은 최대 3-4Ω입니다.

3 CAN 인터페이스 및 시스템 진단

CAN 제어 시스템은 부하 저항이 다를 뿐만 아니라 메시지 전송 속도도 다릅니다. 이 사실은 온보드 네트워크 내에서 유사한 메시지를 처리하는 것을 복잡하게 만듭니다. 진단을 단순화하기 위해 최신 자동차는 별도의 제어 장치로 설계되거나 자동차 엔진 ECU에 내장된 게이트웨이 인터페이스(저항 변환기)를 사용합니다.

이러한 변환기는 또한 진단 중에 연결되거나 네트워크 작동 매개변수를 진단 커넥터 또는 변환기에 직접 변경하는 "K" 라인 와이어를 통해 특정 진단 정보를 입력하거나 출력하도록 설계되었습니다.

현재 Can 네트워크 커넥터에 대한 특정 표준이 없다는 점에 유의하는 것이 중요합니다. 따라서 각 프로토콜은 부하 및 기타 매개변수에 따라 CAN 버스의 자체 커넥터 유형을 결정합니다.

따라서 자신의 손으로 진단 작업을 수행할 때 대부분의 현대 외국 및 국내 자동차에서 볼 수 있는 통합형 obd1 또는 obd2 유형 커넥터가 사용됩니다. 그러나 일부 자동차 모델(예: 폭스바겐 골프 5V, 아우디 S4,게이트웨이가 없습니다. 또한 제어 장치와 CAN 버스의 레이아웃은 자동차 제조사와 모델마다 다릅니다. CAN 시스템을 직접 진단하려면 오실로스코프, CAN 분석기 및 디지털 멀티미터로 구성된 특수 장비를 사용합니다.

문제 해결 작업은 주전원 전압을 제거하는 것(배터리의 음극 단자 제거)으로 시작됩니다. 다음으로, 버스 와이어 사이의 저항 변화가 결정됩니다. 자동차의 CAN 버스 오작동의 가장 일반적인 유형은 단락 또는 회선 끊김, 부하 저항기 고장 및 네트워크 요소 간 메시지 전송 수준 감소입니다. 캔 분석기를 사용하지 않으면 오작동을 식별할 수 없는 경우도 있습니다.

X 아직도 자동차 진단이 어렵다고 생각하시나요?

당신이 이 글을 읽고 있다면, 당신이 차 안에서 뭔가를 하는 데 관심이 있다는 뜻입니다. 정말 돈을 절약, 당신은 이미 다음 사항을 알고 있기 때문입니다.

  • 주유소는 가동 중단 시간에 대해 많은 비용을 청구합니다. 컴퓨터 진단
  • 오류를 찾으려면 전문가에게 가야합니다
  • 이 서비스는 간단한 임팩트 렌치를 사용하지만 좋은 전문가를 찾을 수 없습니다

물론 돈을 낭비하는 데 지쳤고 항상 주유소 주변을 운전하는 것은 불가능합니다. 그렇다면 모든 자동차와 일반 스마트폰을 통해 연결할 수 있는 간단한 CAR SCANNER ROADGID S6 Pro가 필요합니다. 항상 문제를 찾아낼 것입니다. 확인을 끄고 돈을 절약하세요!!!

우리는 이 스캐너를 직접 테스트했습니다. 다른 자동차 그리고 그는 보여주었다 훌륭한 결과, 이제 모든 사람에게 추천합니다! 그러니까 잡히지 마 중국 가짜, 여기에 Autoscanner 공식 웹사이트 링크를 게시합니다.

CAN 버스는 전자 기기, 내장 전자 시스템자동차의 기술적 특성과 주행 성능을 모니터링합니다. 자동차 장착에 필수 요소입니다. 도난 방지 시스템, 그러나 이는 기능의 일부일뿐입니다.

CAN 버스는 다양한 센서와 프로세서를 공통 동기화 시스템으로 결합하는 임무를 맡은 자동차 전자 자동화 장치 중 하나입니다. 이는 데이터 수집 및 교환을 보장하며 이를 통해 기계의 다양한 시스템 및 구성 요소 작동에 필요한 조정이 이루어집니다.

약어 CAN은 Controller Area Network, 즉 컨트롤러 네트워크를 나타냅니다. 따라서 CAN 버스는 장치로부터 정보를 받아 장치 간에 전송하는 장치입니다. 이 표준은 30여년 전에 Robert Bosch GmbH에서 개발하고 구현했습니다. 이제는 자동차 산업, 산업 자동화 및 주택과 같이 "스마트"로 지정된 개체의 설계에 사용됩니다.

CAN 버스는 어떻게 작동합니까?

실제로 버스는 케이블 연결을 위한 입력이 많거나 케이블이 연결되는 커넥터가 있는 소형 장치입니다. 작동 원리는 전자 시스템의 여러 구성 요소 간에 메시지를 전송하는 것입니다.

다양한 정보를 전달하기 위해 메시지에는 식별자가 포함됩니다. 이는 고유하며 예를 들어 특정 순간에 자동차가 60km/h의 속도로 이동하고 있다고 보고합니다. 일련의 메시지가 모든 장치로 전송되지만 개별 식별자 덕분에 해당 메시지만 처리됩니다. CAN 버스 식별자의 길이는 11~29비트입니다.

KAN 타이어는 목적에 따라 여러 범주로 나뉩니다.

  • 힘. 이는 엔진 전자 장치와 잠김 방지 브레이크 시스템, 기어박스, 점화 장치 및 기타 자동차 작동 구성 요소 간에 데이터를 동기화하고 교환하도록 설계되었습니다.
  • 편안. 이러한 버스를 사용하면 서로 연결되지 않은 디지털 인터페이스가 함께 작동할 수 있습니다. 러닝 블록자동차는 편안함을 책임집니다. 좌석 난방 시스템, 실내 온도 조절기, 거울 조정 등입니다.
  • 정보와 명령. 이 모델은 자동차 유지 관리를 담당하는 노드 간의 신속한 정보 교환을 위해 설계되었습니다. 예를 들어, 네비게이션 시스템, 스마트폰 및 ECU.

자동차에서 CAN 버스의 용도는 무엇입니까?

자동차 부문에서 CAN 인터페이스의 확산은 이것이 여러 가지 중요한 기능을 수행한다는 사실에 기인합니다.

  • 연결 및 작동 알고리즘을 단순화합니다. 추가 시스템및 도구;
  • 전자 장치 작동에 대한 외부 간섭의 영향을 줄입니다.
  • 장치에 대한 정보의 동시 수신, 분석 및 전송을 제공합니다.
  • 메커니즘, 구동 장치 및 기타 장치로의 신호 전송을 가속화합니다.
  • 필요한 전선 수를 줄입니다.

현대 자동차에서 디지털 버스는 다음 구성 요소와 시스템의 작동을 보장합니다.

  • 본부 마운팅 블록점화 스위치;
  • 안티 록 브레이크 시스템;
  • 엔진 및 기어박스;
  • 에어백;
  • 스티어링 기어;
  • 스티어링 휠 센서;
  • 전원 장치;
  • 주차 및 도어 잠금용 전자 장치;
  • 휠 압력 센서;
  • 앞유리 와이퍼 제어 장치;
  • 고압 연료 펌프;
  • 사운드 시스템;
  • 정보 및 탐색 모듈.

이건 아니야 전체 목록, 버스에 연결할 수 있는 외부 호환 장치가 포함되어 있지 않기 때문입니다. 이런식으로 연결되는 경우가 많습니다 자동차 알람. PC에서 성능 모니터링 및 진단을 위해 외부 장치를 연결하는 데에도 CAN 버스를 사용할 수 있습니다. 그리고 자동차 경보기와 비콘을 연결하면 스마트폰 등 외부에서 개별 시스템을 제어할 수 있다.

CAN 버스의 장점과 단점

전문가 자동차 전자, CAN 인터페이스 사용을 선호하는 경우 다음과 같은 이점에 유의하십시오.

  • 간단한 데이터 교환 채널;
  • 정보 전송 속도;
  • 작동 및 진단 장치와의 광범위한 호환성;
  • 간단한 회로자동차 경보 장치;
  • 인터페이스의 다단계 모니터링 및 제어;
  • 메인 시스템과 노드에 우선적으로 전송 속도를 자동으로 분배합니다.

그러나 CAN 버스에는 기능적 단점도 있습니다.

  • 채널의 정보 부하가 증가하면 응답 시간이 증가하는데, 이는 특히 전자 장치로 "채워진" 자동차 작동에서 일반적입니다.
  • 더 높은 수준의 프로토콜을 사용하기 때문에 표준화 문제가 발생합니다.

CAN 버스에 발생할 수 있는 문제

많은 기능 프로세스에 포함되어 있기 때문에 CAN 버스 문제는 매우 빠르게 나타납니다. 가장 일반적인 위반 징후는 다음과 같습니다.

  • 대시보드에 물음표 표시;
  • 예를 들어 CHECK ENGINE 및 ABS와 같은 여러 조명의 동시 조명;
  • 대시 보드에서 연료 수준, 엔진 속도 및 속도 표시기가 사라집니다.

이러한 문제는 전원 공급이나 전기 회로 고장과 관련된 다양한 이유로 발생합니다. 이는 접지 또는 배터리 단락, 개방 회로, 손상된 점퍼, 발전기 문제로 인한 전압 강하 또는 방전된 배터리일 수 있습니다.

타이어 점검의 첫 번째 단계는 모든 시스템의 컴퓨터 진단입니다. 버스가 표시되면 핀 H와 L(~4V여야 함)의 전압을 측정하고 점화 중인 오실로스코프에서 파형을 검사해야 합니다. 신호가 없거나 주전원 전압과 일치하면 회로가 단락되거나 파손된 것입니다.

시스템이 복잡하고 연결 수가 많기 때문에 컴퓨터 진단 및 문제 해결은 고품질 장비를 갖춘 전문가의 손에 맡기는 것이 좋습니다.

CAN 버스 - 소개

CAN 프로토콜은 직렬 통신을 위한 ISO 표준(ISO 11898)입니다. 이 프로토콜은 전송 애플리케이션에 사용할 목적으로 개발되었습니다. 오늘날 CAN은 널리 보급되어 산업 자동화 시스템과 운송 분야에 사용됩니다.

CAN 표준은 물리적 계층과 여러 가지를 정의하는 데이터 전송 계층으로 구성됩니다. 다양한 방식메시지, 버스 액세스 시 충돌을 해결하기 위한 규칙, 오류로부터의 보호.

CAN 프로토콜

CAN 프로토콜은 ISO 11898-1 표준에 설명되어 있으며 다음과 같이 간략하게 설명할 수 있습니다.

물리 계층은 연선을 통한 차동 데이터 전송을 사용합니다.

비파괴적인 비트별 충돌 해결은 버스에 대한 액세스를 제어하는 ​​데 사용됩니다.

메시지는 크기가 작으며(대부분 8바이트의 데이터) 체크섬으로 보호됩니다.

메시지에는 명시적인 주소가 없습니다. 대신 각 메시지에는 버스에서의 순서를 제어하는 ​​숫자 값이 포함되어 있으며 메시지 내용에 대한 식별자 역할도 할 수 있습니다.

메시지가 제대로 수신되지 않은 경우 메시지가 재전송되도록 세심하게 고안된 오류 처리 체계입니다.
결함을 격리하고 버스에서 불량 노드를 제거하는 효과적인 방법이 있습니다.

더 높은 수준의 프로토콜

CAN 프로토콜 자체는 통신 매체를 통해 작은 데이터 패킷을 A 지점에서 B 지점으로 안전하게 이동할 수 있는 방법을 간단히 정의합니다. 예상할 수 있듯이 흐름을 제어하는 ​​방법에 대해서는 아무 것도 알려주지 않습니다. 8바이트 메시지에 맞는 것보다 많은 양의 데이터를 전송합니다. 노드 주소에 대해서도 마찬가지입니다. 연결 설정 등 이러한 지점은 상위 계층 프로토콜(HLP)에 의해 정의됩니다. HLP라는 용어는 OSI 모델과 그 7개 계층에서 유래되었습니다.

더 높은 수준의 프로토콜은 다음 용도로 사용됩니다.

데이터 전송 속도 선택을 포함한 시작 절차 표준화

상호 작용하는 노드 또는 메시지 유형 간의 주소 배포

메시지 마크업 정의
시스템 수준에서 오류 처리 순서를 보장합니다.

사용자 그룹 등

가장 많은 것 중 하나 효과적인 방법 CAN 분야에서 역량을 강화하려면 기존 사용자 그룹 내에서 수행되는 작업에 참여해야 합니다. 적극적으로 참여할 계획이 없더라도 사용자 그룹은 좋은 정보 소스가 될 수 있습니다. 회의에 참석하는 것은 또 다른 일이다 좋은 의미로포괄적이고 정확한 정보를 얻습니다.

CAN 제품

낮은 수준에서는 공개 시장에서 사용할 수 있는 두 가지 유형의 CAN 제품, 즉 CAN 칩과 CAN 개발 도구 간에 근본적인 차이가 있습니다. 더 높은 수준에는 CAN 모듈과 CAN 설계 도구라는 다른 두 가지 유형의 제품이 있습니다. 요즘 오픈마켓에서 이런 제품들이 많이 팔리는데요.

CAN 특허

CAN 애플리케이션과 관련된 특허는 동기화 및 주파수 구현, 대규모 데이터 세트 전송(CAN 프로토콜은 길이가 8바이트에 불과한 데이터 프레임을 사용함) 등 다양한 유형이 있을 수 있습니다.

분산 제어 시스템

CAN 프로토콜은 분산 제어 시스템 개발을 위한 좋은 기반입니다. CAN이 사용하는 경합 해결 방법은 각 CAN 노드가 해당 노드와 관련된 메시지와 상호 작용하도록 보장합니다.

분산 제어 시스템은 시스템의 모든 노드에 컴퓨팅 성능이 분산되는 시스템으로 설명할 수 있습니다. 반대 옵션은 중앙 프로세서와 로컬 I/O 포인트가 있는 시스템입니다.

CAN 메시지

CAN 버스는 브로드캐스트 버스입니다. 이는 모든 노드가 모든 전송을 "수신"할 수 있음을 의미합니다. 특정 노드에 메시지를 보낼 수 있는 방법은 없습니다. 예외 없이 모든 노드가 모든 메시지를 받게 됩니다. 그러나 CAN 하드웨어는 각 모듈이 관심 있는 메시지에만 응답할 수 있도록 로컬 필터링 기능을 제공합니다.

CAN 메시지 주소 지정

CAN은 상대적으로 짧은 메시지를 사용합니다. 최대 정보 필드 길이는 94비트입니다. 메시지에는 명시적인 주소가 없습니다. 내용 주소가 지정된 메시지라고 할 수 있습니다. 메시지 내용에 따라 수신자가 암시적으로(암시적으로) 결정됩니다.

메시지 유형

CAN 버스를 통해 전송되는 메시지(또는 프레임)에는 4가지 유형이 있습니다.

데이터 프레임;

원격 프레임;

오류 프레임;

과부하 프레임.

데이터 프레임

간략하게: "안녕하세요 여러분. X로 표시된 데이터가 있습니다. 마음에 드셨으면 좋겠습니다!"
데이터 프레임은 가장 일반적인 메시지 유형입니다. 여기에는 다음과 같은 주요 부분이 포함되어 있습니다(간결함을 위해 일부 세부 정보는 생략됨).

두 개 이상의 노드가 버스를 두고 경쟁할 때 메시지의 우선순위를 결정하는 중재 필드. 중재 필드에는 다음이 포함됩니다.

CAN 2.0A의 경우 11비트 식별자와 1비트 RTR 비트가 데이터 프레임에 결정적입니다.

CAN 2.0B의 경우 29비트 식별자(두 개의 열성 비트(SRR 및 IDE)도 포함)와 RTR 비트입니다.

0~8바이트의 데이터를 포함하는 데이터 필드입니다.

메시지의 대부분 부분에 대해 계산된 15비트 체크섬이 포함된 CRC 필드입니다. 이 체크섬은 오류를 감지하는 데 사용됩니다.

승인 슬롯. 메시지를 수신할 수 있는 각 CAN 컨트롤러는 각 메시지 끝에 승인 비트를 올바르게 보냅니다. 트랜시버는 인식 비트가 있는지 확인하고, 감지되지 않으면 메시지를 다시 보냅니다.

참고 1: 버스에 인식 비트가 있다는 것은 각 의도된 대상이 메시지를 받았다는 것 외에는 다른 의미가 없습니다. 알려지는 유일한 사실은 메시지가 하나 이상의 버스 노드에서 올바르게 수신되었다는 사실입니다.

참고 2: 중재 필드의 식별자는 이름에도 불구하고 반드시 메시지 내용을 식별하는 것은 아닙니다.

CAN 2.0B 데이터 프레임(“표준 CAN”).

CAN 2.0B 데이터 프레임("확장 CAN").

삭제된 프레임

간단히 말해서: "안녕하세요 여러분, 누구든지 X 라벨이 붙은 데이터를 생성할 수 있나요?"
원격 프레임은 데이터 프레임과 매우 유사하지만 두 가지 중요한 차이점이 있습니다.

삭제된 프레임으로 명시적으로 표시됩니다(중재 필드의 RTR 비트는 열성임).

데이터 필드가 누락되었습니다.

원격 프레임의 주요 목적은 적절한 데이터 프레임의 전송을 요청하는 것입니다. 예를 들어, 노드 A가 중재 필드 매개변수 234를 사용하여 원격 프레임을 보내는 경우 노드 B는 적절하게 초기화된 경우 역시 중재 필드 매개변수 234를 사용하여 데이터 프레임을 다시 보내야 합니다.

원격 프레임을 사용하여 요청-응답 버스 트래픽 제어를 구현할 수 있습니다. 그러나 실제로 원격 프레임은 거의 사용되지 않습니다. CAN 표준은 여기에 표시된 것과 정확히 같은 작동을 요구하지 않기 때문에 이것은 그다지 중요하지 않습니다. 대부분의 CAN 컨트롤러는 원격 프레임에 자동으로 응답하거나 대신 로컬 프로세서에 알리도록 프로그래밍할 수 있습니다.

원격 프레임에 문제가 있습니다. 데이터 길이 코드는 예상되는 응답 메시지의 길이로 설정되어야 합니다. 그렇지 않으면 충돌 해결이 작동하지 않습니다.

때로는 원격 프레임에 응답하는 노드가 식별자를 인식하자마자 전송을 시작하여 빈 원격 프레임을 "채워야" 하는 경우가 있습니다. 이것은 다른 경우입니다.

오류 프레임

간략하게 (모두 함께, 큰 소리로): “오 이런, 다시 한번 시도해 봅시다.”
오류 프레임은 CAN 메시지 프레이밍 규칙을 위반하는 특수 메시지입니다. 노드가 오류를 감지하고 다른 노드가 오류를 감지하도록 도울 때 전송되며 오류 프레임도 전송됩니다. 송신기는 자동으로 메시지 재전송을 시도합니다. 노드가 오류 프레임을 반복적으로 전송하여 버스 통신을 방해하지 않도록 하기 위해 정교한 오류 카운터 회로가 마련되어 있습니다.

오류 프레임에는 동일한 값의 6비트로 구성된 오류 플래그(따라서 비트 스터핑 규칙 위반)와 8개의 열성 비트로 구성된 오류 구분 기호가 포함되어 있습니다. 오류 구분 기호는 다른 버스 노드가 첫 번째 오류 플래그를 감지한 후 오류 플래그를 보낼 수 있는 공간을 제공합니다.

과부하 프레임

간단히 말해서: "저는 매우 바쁜 82526 꼬마입니다. 잠시만 기다려 주시겠습니까?"
여기서는 완전성을 위해서만 과부하 프레임을 언급합니다. 이는 오류 프레임과 형식이 매우 유사하며 사용 중인 노드에 의해 전송됩니다. 과부하 프레임은 자주 사용되지 않습니다. 최신 CAN 컨트롤러는 이를 사용하지 않을 만큼 강력합니다. 실제로 과부하 프레임을 생성하는 유일한 컨트롤러는 현재 사용되지 않는 82526입니다.

표준 및 확장 CAN

CAN 표준은 원래 중재 필드의 식별자 길이를 11비트로 설정했습니다. 나중에 고객의 요청에 따라 표준이 확장되었습니다. 새로운 형식은 확장 CAN(확장 CAN)이라고도 하며 식별자에 최소 29비트를 사용할 수 있습니다. 제어 필드의 예약된 비트는 두 프레임 유형을 구별하는 데 사용됩니다.

공식적으로 표준은 다음과 같이 명명됩니다.

2.0A – 11비트 식별자만 사용 가능;
2.0B – 29비트 또는 11비트 식별자가 포함된 확장 버전(혼합 가능) 노드 2.0B는 다음과 같습니다.

2.0B 활성(활성), 즉 확장된 프레임을 전송 및 수신할 수 있거나

2.0B 패시브(패시브), 즉 수신된 확장 프레임을 자동으로 삭제합니다(그러나 아래 참조).

1.x – 원래 사양과 개정판을 나타냅니다.

요즘 새로운 CAN 컨트롤러는 일반적으로 유형 2.0B입니다. 1.x 또는 2.0A 컨트롤러는 29개의 중재 비트가 포함된 메시지를 수신하면 혼란을 겪게 됩니다. 2.0B 패시브 유형 컨트롤러는 이를 수용하고 올바른지 인식한 다음 재설정합니다. 컨트롤러 2.0B 활성 유형그러한 메시지를 전송하고 수신할 수 있습니다.

컨트롤러 2.0B 및 2.0A(1.x도 포함)가 호환됩니다. 2.0B 컨트롤러가 확장 프레임 전송을 억제하는 한 동일한 버스에서 모두 사용할 수 있습니다.

때때로 사람들은 Enhanced CAN 메시지에 더 많은 오버헤드가 있기 때문에 Standard CAN이 Enhanced CAN보다 "더 낫다"고 주장합니다. 반드시 그런 것은 아닙니다. 중재 필드를 사용하여 데이터를 전송하는 경우 향상된 CAN 프레임은 표준 CAN 프레임보다 적은 오버헤드를 포함할 수 있습니다.

기본 CAN(기본 CAN) 및 전체 CAN(전체 CAN)

기본 CAN 및 전체 CAN이라는 용어는 CAN의 "어린 시절"에서 유래되었습니다. 옛날에는 프로그래머에게 DPRAM 스타일 인터페이스를 제공하는 Intel 82526 CAN 컨트롤러가 있었습니다. 그런 다음 Philips는 FIFO 지향 프로그래밍 모델을 사용하는 82C200을 출시했습니다. 제한된 기회여과법. 두 프로그래밍 모델의 차이점을 나타내기 위해 사람들은 Intel 방식을 Full CAN, Philips 방식을 Basic CAN이라고 부르기 시작했습니다. 오늘날 대부분의 CAN 컨트롤러는 두 가지 프로그래밍 모델을 모두 지원하므로 Full CAN과 Basic CAN이라는 용어를 사용할 필요가 없습니다. 실제로 이러한 용어는 혼란을 야기할 수 있으므로 피해야 합니다.

실제로 Full CAN 컨트롤러는 Basic CAN 컨트롤러와 통신할 수 있으며 그 반대의 경우도 마찬가지입니다. 호환성 문제는 없습니다.

버스 경합 해결 및 메시지 우선순위

메시지 경합 해결(두 개 이상의 CAN 컨트롤러가 버스를 사용할 사람을 결정하는 프로세스)은 데이터 전송을 위한 대역폭의 실제 가용성을 결정하는 데 매우 중요합니다.

모든 CAN 컨트롤러는 버스가 유휴 상태임을 감지하면 전송을 시작할 수 있습니다. 이로 인해 둘 이상의 컨트롤러가 (거의) 동시에 메시지 전송을 시작하게 될 수 있습니다. 충돌은 다음과 같이 해결됩니다. 송신 노드는 메시지를 보내는 동안 버스를 모니터링합니다. 노드가 열성 레벨을 보내는 동안 지배적인 레벨을 감지하면 즉시 충돌 해결 프로세스에서 물러나 수신자가 됩니다. 충돌 해결은 중재 필드 전체에 걸쳐 이루어지며, 이 필드가 전송된 후에는 버스에 송신기가 하나만 남게 됩니다. 아무 일도 일어나지 않으면 이 노드는 계속 전송합니다. 나머지 잠재적 송신기는 나중에 버스가 비어 있을 때 메시지 전송을 시도합니다. 갈등 해결 과정에는 시간이 낭비되지 않습니다.

성공적인 충돌 해결을 위한 중요한 조건은 두 노드가 동일한 중재 필드를 전송할 수 있는 상황이 불가능하다는 것입니다. 이 규칙에는 한 가지 예외가 있습니다. 메시지에 데이터가 포함되어 있지 않으면 모든 노드가 이 메시지를 전송할 수 있습니다.

CAN 버스는 유선 AND 버스이고 지배 비트는 논리 0이므로 숫자 중재 필드가 가장 낮은 메시지가 충돌 해결에서 승리합니다.

질문: 단일 버스 노드가 메시지를 보내려고 하면 어떻게 됩니까?

답변: 물론 노드는 충돌 해결에 성공하고 메시지를 성공적으로 전송합니다. 그러나 인식 시간이 오면... 어떤 노드도 인식 영역의 주요 비트를 보내지 않으므로 송신기는 인식 오류를 감지하고 오류 플래그를 보낸 다음 전송 오류 카운터를 8만큼 증가시키고 재전송을 시작합니다. 이 주기는 16회 반복된 후 송신기가 수동 오류 상태로 전환됩니다. 오류 제한 알고리즘의 특수 규칙에 따라 노드가 수동 오류 상태이고 오류가 인식 오류인 경우 전송 오류 카운터의 값이 더 이상 증가하지 않습니다. 따라서 노드는 누군가가 메시지를 인식할 때까지 영원히 전송합니다.

메시지 주소 지정 및 식별

다시 말하지만, CAN 메시지에 정확한 주소가 포함되어 있지 않다는 사실에는 아무런 문제가 없습니다. 각 CAN 컨트롤러는 모든 버스 트래픽을 수신하고 하드웨어 필터와 소프트웨어의 조합을 사용하여 이 메시지에 "관심"이 있는지 여부를 결정합니다.

실제로 CAN 프로토콜에는 메시지 주소라는 개념이 없습니다. 대신 메시지 내용은 메시지 어딘가에 있는 식별자에 의해 결정됩니다. CAN 메시지는 "content-addressed"라고 불릴 수 있습니다.

특정 주소는 다음과 같이 작동합니다. "이것은 노드 X에 대한 메시지입니다." 콘텐츠 주소가 지정된 메시지는 다음과 같이 설명할 수 있습니다. "이 메시지에는 X로 표시된 데이터가 포함되어 있습니다." 이 두 개념의 차이는 작지만 중요합니다.

표준에 따라 중재 필드의 내용은 버스의 메시지 우선순위를 결정하는 데 사용됩니다. 모든 CAN 컨트롤러는 중재 필드의 전체(일부만)를 하드웨어 필터링 프로세스의 키로 사용합니다.

표준에서는 중재 필드가 반드시 메시지 식별자로 사용되어야 한다고 명시하지 않습니다. 그러나 이는 매우 일반적인 사용 사례입니다.

ID 값에 대한 참고 사항

우리는 11(CAN 2.0A) 또는 29(CAN 2.0B) 비트를 식별자에 사용할 수 있다고 말했습니다. 이것은 전적으로 사실이 아닙니다. 특정 구형 CAN 컨트롤러(어떤 컨트롤러인지 추측해 보세요)와의 호환성을 위해 ID의 최상위 7비트가 논리 1로 설정되어서는 안 됩니다. 따라서 11비트 ID는 0..2031의 사용 가능한 값을 가지며 29비트 ID 사용자는 다음을 수행할 수 있습니다. 532676608 다른 값을 사용하십시오.

다른 모든 CAN 컨트롤러는 "잘못된" ID를 허용하므로 현대 시스템 CAN 식별자 2032..2047은 제한 없이 사용할 수 있습니다.

CAN 물리 계층

CAN 버스

CAN 버스는 비트 스터핑과 함께 NRZ(Non-Return to Zero) 코드를 사용합니다. 신호 상태에는 지배성(논리 0)과 열성(논리 1)의 두 가지 신호 상태가 있습니다. 이는 사용된 물리 계층에 따라 특정 전기 레벨에 해당합니다(여러 가지가 있음). 모듈은 유선 AND 방식을 사용하여 버스에 연결됩니다. 즉, 하나 이상의 노드가 버스를 지배적 상태로 전환하면 열성 상태를 전송하는 노드 수에 관계없이 전체 버스가 이 상태에 있습니다.

다양한 물리적 수준

물리층전기 레벨과 버스 신호 전송 패턴, 케이블 임피던스 등을 결정합니다.

물리 계층에는 여러 가지 버전이 있습니다. 가장 일반적인 버전은 2선 균형 신호 회로인 ISO 11898-2의 일부인 CAN 표준에 의해 정의된 버전입니다. 때로는 고속 CAN이라고도 합니다.

동일한 ISO 11898-3 표준의 또 다른 부분에서는 더 느린 버스를 위한 다른 2선 균형 신호 회로를 설명합니다. 내결함성이 있으므로 전선 중 하나가 절단되거나 접지 단락되거나 Vbat 상태인 경우에도 전송을 계속할 수 있습니다. 때때로 이 방식을 저속 CAN이라고 합니다.

SAE J2411은 단일 와이어(물론 접지 포함) 물리 계층을 설명합니다. 주로 자동차(예: GM-LAN)에 사용됩니다.

몇 가지 독점 물리 계층이 있습니다.

예전에는 CAN 드라이버가 없었을 때에는 RS485 수정을 사용했습니다.

서로 다른 물리적 수준은 일반적으로 서로 상호 작용할 수 없습니다. 일부 조합은 좋은 조건에서 작동하거나 작동하는 것처럼 보일 수 있습니다. 예를 들어, 고속 및 저속 트랜시버는 때때로 동일한 버스에서만 작동할 수 있습니다.

대부분의 CAN 트랜시버 칩은 Philips에서 제조됩니다. 다른 제조업체로는 Bosch, Infineon, Siliconix 및 Unitrode가 있습니다.

가장 일반적인 트랜시버는 ISO 11898 표준에 설명된 물리 계층을 구현하는 82C250입니다. 개선된 버전은 82C251입니다.

"저속 CAN"을 위한 일반적인 트랜시버는 Philips TJA1054입니다.

최대 버스 데이터 전송 속도

CAN 버스를 통한 최대 데이터 전송 속도, 표준에 따르면는 1Mbit/s와 같습니다. 그러나 일부 CAN 컨트롤러는 1Mbps 이상의 속도를 지원하며 특수 애플리케이션에 사용할 수 있습니다.

저속 CAN(ISO 11898-3, 위 참조)은 최대 125kbit/s의 속도로 작동합니다.

표준 모드의 단일 와이어 CAN 버스는 약 50kbit/s의 속도로 데이터를 전송할 수 있으며, 예를 들어 ECU 프로그래밍을 위한 특수 고속 모드에서는 약 100kbit/s의 속도로 데이터를 전송할 수 있습니다.

최소 버스 데이터 전송 속도

일부 트랜시버는 특정 값 이하의 속도를 선택할 수 없다는 점을 명심하십시오. 예를 들어 82C250이나 82C251을 사용한다면 10kbps까지 문제없이 설정할 수 있지만, TJA1050을 사용한다면 50kbps 이하로는 속도를 설정할 수 없습니다. 사양을 확인하세요.

최대 케이블 길이

1Mbit/s의 데이터 전송 속도로 사용되는 케이블의 최대 길이는 약 40미터입니다. 이는 신호의 파면이 가장 먼 노드로 이동하고 비트를 읽기 전에 돌아올 수 있어야 한다는 충돌 해결 회로의 요구 사항 때문입니다. 즉, 케이블 길이는 빛의 속도에 의해 제한됩니다. 빛의 속도를 높이려는 제안이 고려되었지만 은하계 문제로 인해 거부되었습니다.

기타 최대 케이블 길이(대략적인 값):

500kbps에서 100미터;

250kbps에서 200미터;

125kbps에서 500미터;
10kbit/s에서 6km.

갈바닉 절연을 제공하기 위해 광커플러를 사용하는 경우 그에 따라 최대 버스 길이가 줄어듭니다. 팁: 빠른 광커플러를 사용하고 장치의 신호 지연을 살펴보세요. 최대 속도데이터를 사양으로 전송합니다.

버스 종료 인터럽트

ISO 11898 CAN 버스는 터미네이터로 끝나야 합니다. 이는 버스의 각 끝에 120옴 저항을 설치하여 달성됩니다. 종료는 두 가지 목적으로 사용됩니다.

1. 버스 끝에서 신호 반사를 제거합니다.

2. 올바른 직류(DC) 수준을 수신하고 있는지 확인하십시오.

ISO 11898 CAN 버스는 속도에 관계없이 종료되어야 합니다. 반복합니다. ISO 11898 CAN 버스는 속도에 관계없이 종료되어야 합니다. 실험실 작업의 경우 하나의 터미네이터로 충분할 수 있습니다. 터미네이터가 없어도 CAN 버스가 작동한다면 운이 좋은 것입니다.

점에 유의하시기 바랍니다 다른 물리적 수준저속 CAN, 단일 와이어 CAN 버스 등과 같은 버스 종단 터미네이터가 필요할 수도 있고 필요하지 않을 수도 있습니다. 그러나 고속 ISO 11898 CAN 버스에는 항상 하나 이상의 터미네이터가 필요합니다.

케이블

ISO 11898 표준에서는 케이블 특성 임피던스가 명목상 120Ω이어야 한다고 규정하지만 다양한 Ω 임피던스가 허용됩니다.

오늘날 시장에 나와 있는 케이블 중 이러한 요구 사항을 충족하는 케이블은 거의 없습니다. 향후 저항값의 범위가 확대될 가능성이 높습니다.

ISO 11898에서는 다음과 같이 설명합니다. 꼬인 쌍, 차폐 또는 비차폐. SAE J2411 단일 와이어 케이블 표준에 대한 작업이 진행 중입니다.

현대적인 자동차가 장착되어 있습니다. 전자 장치엔진, 잠금 방지 브레이크 시스템, 차체 등 다양한 시스템 제어. 기본적으로 이러한 장치는 마이크로컴퓨터입니다.

자동차의 CAN 버스가 무엇인지 이해하려면 이러한 마이크로컴퓨터가 연결되어 함께 작동하도록 자동차에 로컬 네트워크가 구성되어 있다고 상상해 보십시오.

이는 사무실 컴퓨터가 네트워크에 연결되어 직원들이 서로 쉽게 정보를 얻을 수 있고, 상사는 사무실 직원의 업무를 빠르게 모니터링할 수 있는 것과 유사합니다.

차 안에서 보스 역할을 합니다. 온보드 컴퓨터및 진단 시스템.

Controller Area Network 개발 및 통합의 역사

지난 세기 80년대 자동화 분야 연구를 진행했던 BOSCH사는 자동차 산업에 사용할 수 있는 마이크로컨트롤러 통신 표준을 제안했습니다.

CAN 표준은 자동차에만 국한되지 않습니다. 현재는 '스마트 홈' 개념, 산업 자동화 등에 활용되고 있다.

적용대상 자동차 기술 CAN(Controller Area Network) 표준은 물리 계층이 있는 버스에 적용됩니다. 이는 서로 다른 극성의 신호 패킷이 이동하는 꼬인 도체 쌍을 사용하여 구성됩니다.

이 표준은 국제 분류 ISO 11898을 받았습니다. 프레임(패킷)은 11비트 정보 신호(또는 확장 모드에서는 29비트)를 포함합니다.

일반적으로 CAN 버스는 연선을 사용하여 반드시 구현할 수는 없습니다. 이는 광섬유일 수도 있고 무선 채널일 수도 있습니다.

무인기 도입으로 추정된다. 차량 CAN 버스는 하나의 자동차, 어쩌면 복잡한 자동차에 대한 정보를 전송하기 위한 모바일 인터페이스로 변환됩니다.

자동차 CAN 버스 : 정의 및 작동 원리

버스는 다양한 차량 시스템의 제어 장치 간에 정보가 교환되는 로컬 네트워크입니다. 따라서 예를 들어 자동차 엔진의 제어 장치는 엔진을 서비스하는 주 마이크로컨트롤러 외에 두 개의 버스(CAN-하이 및 CAN-로우(H 및 L))를 따라 펄스를 생성하는 CAN 컨트롤러가 있다고 가정합니다. ).

이러한 신호는 트랜시버에 의해 도체(연선)를 통해 전송됩니다. 트랜시버 또는 트랜시버는 다음을 위해 설계되었습니다.

  • 신호 증폭,
  • 전송된 펄스의 잡음 내성을 보장합니다.
  • 디지털 스트림 전송 속도를 조정합니다.
  • CAN 버스 손상 시 라인 보호.

현재 자동차 기술에는 고속 및 내결함성과 같은 유형의 트랜시버가 사용됩니다. 고속 송신기는 상대적으로 고속정보 전송 – 초당 최대 1메가비트. 두 번째 유형의 송신기에는 낮은 속도정보 전송 – 초당 최대 120킬로비트. 그러나 이는 CAN 버스의 품질에 덜 민감하고(오류에 대한 내성) 매개변수의 편차를 허용합니다.

데이터 교환 조직 다이어그램

다양한 차량 장치를 CAN 버스에 연결하는 구조 다이어그램은 다음과 같이 설명할 수 있습니다.

모든 장치를 조정하려면, 즉 최적의 조건과 수신 및 전송 속도를 구성하려면 송신기의 출력 저항이 거의 동일해야 합니다.

차량 시스템의 제어 장치 중 하나라도 연결이 끊어지거나 손상되면 버스 저항이 변경되고 저항 매칭이 중단되어 버스를 통한 정보 전송 속도가 크게 감소합니다. 이러한 위반으로 인해 CAN 버스를 통한 통신이 완전히 중단될 수 있습니다.

일부 차량에서는 CAN 정보 동기화 문제를 해결하기 위해 별도의 게이트웨이 모듈이 사용됩니다.

CAN 버스를 통해 전송되는 각 메시지에는 "냉각수 온도"와 같은 고유한 식별자와 "섭씨 98.7도"와 같은 해당 값에 해당하는 코드가 있습니다. 이는 반드시 절대값일 필요는 없습니다. 대부분의 경우 이는 제어 및 모니터링 신호로 추가로 변환되는 상대 이진 단위입니다.

동일한 데이터는 진단 도구에서 주요 차량 시스템에 대한 정보를 모니터링하고 처리하는 데 사용됩니다.

CAN 버스의 주요 작동 모드:

  • 활성(점화 켜짐);
  • 잠자기(점화 장치를 끄고);
  • 잠에서 깨어나 잠들 때(점화 장치를 켜고 끌 때)

절전 모드에서는 버스 전류 소비가 최소화됩니다. 그러나 동시에 문과 창문 및 기타 시스템의 개방 상태에 대한 신호는 다음과 같습니다. 보안 기능자동차.

대부분의 최신 진단 장치는 CAN 버스를 통해 오류를 진단하는 모드를 제공합니다. 기술적으로 이는 도체를 진단 커넥터에 직접 연결하여 구성됩니다.

자동차에서 CAN 버스를 사용할 때의 장점과 단점

우선, 지난 세기 80년대에 CAN 표준이 제안되지 않았다면 차량 시스템 간의 또 다른 유형의 상호 작용이 그 자리를 대신했을 것입니다.

물론 모든 차량 시스템 제어 장치를 단일 슈퍼블록에 배치하는 것도 가능합니다. 여기서 다양한 시스템의 상호 작용은 소프트웨어로 보장됩니다. 프랑스 제조업체도 비슷한 시도를 했습니다. 그러나 기능과 성능이 향상되면 실패 가능성도 크게 높아집니다. 예를 들어 와이퍼의 고장으로 인해 엔진 시동이 실패할 수 있습니다.

CAN 버스 사용의 주요 이점:

  • 운영 통제 수행 가능성
  • 단일 잡음 방지 채널에서 정보 흐름을 결합합니다.
  • 다용도성, 진단 프로세스의 통합 촉진;
  • 연결성 보안 시스템 CAN 버스를 통해(각 제어 요소에 배선을 연결할 필요가 없음)

CAN 버스의 단점:

  • 낮은 신뢰성;
  • 제어 장치 중 하나가 손상되면 CAN 연결이 완전히 작동하지 않을 수 있습니다.

문제 해결

차량 대시보드에는 CAN 오류 표시등이 없습니다. CAN 버스의 성능이 간접적인 지표로 인해 저하되었는지 판단할 수 있습니다.

  • 대시보드에 여러 개의 오류 표시 램프가 동시에 켜집니다.
  • 냉각수 온도와 연료 수준이 사라졌습니다.

우선 진단을 수행해야합니다. CAN 버스 오작동을 나타내는 경우 문제 해결을 시작해야 합니다.

작업 순서:

  1. 트위스트 페어 버스의 도체를 찾으십시오. 종종 그들은 검은색( 높은 레벨) 및 주황색-갈색 (낮은) 색상.
  2. 멀티미터를 사용하여 점화가 켜진 상태에서 도체의 전압을 확인하십시오. 레벨은 0이거나 11볼트(보통 4.5볼트 정도) 이하여야 합니다.
  3. 점화를 끄고 터미널을 제거하십시오 배터리. 도체 사이의 저항을 측정합니다. 0이 되는 경향이 있으면 다음이 있음을 의미합니다. 단락, 무한대로-휴식.

  4. 독특한 자동차 스캐너 Scan Tool Pro


반품

×
"auto-piter.ru" 커뮤니티에 가입하세요!
접촉 대상:
나는 이미 "auto-piter.ru" 커뮤니티에 가입되어 있습니다.