로컬 인터커넥트 네트워크
Local Interconnect NetworkLIN(Local Interconnect Network)은 현대 차량의 구성 요소 간 통신에 사용되는 네트워크 프로토콜입니다. 저비용 단일 와이어 직렬 프로토콜로 최대 버스 길이가 40m(131.2ft)인 최대 19.2Kbit/s 통신을 지원합니다.
역사
저렴한 직렬 네트워크에 대한 필요성은 자동차에 구현된 기술과 설비가 증가함에 따라 발생한 반면, CAN 버스는 자동차의 모든 구성 요소에 대해 구현하기에는 너무 비쌌습니다. 유럽 자동차 제조업체들은 서로 다른 직렬 통신 기술을 사용하기 시작했고, 이로 인해 호환성 문제가 발생했습니다.
1990년대 후반, LIN 컨소시엄은 볼케이노 오토모티브 그룹과 모토로라로부터 공급받은 기술(네트워킹 및 하드웨어 전문 지식)을 바탕으로 5개 자동차 회사(BMW, 폭스바겐 그룹, 아우디, 볼보 자동차, 메르세데스-벤츠)에 의해 설립되었습니다. 새로운 LIN 사양(LIN 버전 1.3)의 첫 번째 완전 구현 버전은 2002년 11월에 발표되었습니다. 2003년 9월에는 기능을 확장하고 추가 진단 기능에 대한 조항을 만들기 위해 버전 2.0이 도입되었습니다. LIN은 특수 LIN-over-DC-power-line(DC-LIN) 트랜시버와 함께 차량의 배터리 전원 라인을 통해 사용될 수도 있습니다. DC-LIN(LIN over DC Power Line)은 ISO/AWI 17987-8로 표준화되었습니다.[1]
자동화 CAN은 ISO 17987 시리즈에 표준화된 LIN 공급업체 ID의 등록 기관으로 ISO 기술 관리 위원회(TMB)에 의해 임명되었습니다.
네트워크 토폴로지
LIN은 16개의 노드(마스터 1개, 슬레이브 최대 15개)로 구성된 브로드캐스트 직렬 네트워크입니다.[2][3][4][5]
모든 메시지는 마스터에 의해 최대 한 명의 슬레이브가 지정된 메시지 식별자에 응답하여 시작됩니다. 마스터 노드는 자신의 메시지에 응답하여 슬레이브 역할을 할 수도 있습니다. 모든 통신은 마스터에 의해 시작되기 때문에 충돌 감지를 구현할 필요가 없습니다.[6]
마스터와 슬레이브는 일반적으로 마이크로컨트롤러이지만 비용, 공간 또는 전력을 절약하기 위해 특수 하드웨어 또는 ASIC에 구현될 수 있습니다.
현재 사용은 LIN의 저비용 효율성과 간단한 센서를 결합하여 소규모 네트워크를 만듭니다. 이러한 하위 시스템은 백본 네트워크(즉, 자동차의 CAN)를 통해 연결될 수 있습니다.[7]
개요
LIN 버스는 저렴한 직렬 통신 프로토콜로 자동차 네트워크 내에서 원격 응용 프로그램을 효과적으로 지원합니다. 특히 분산 자동차 애플리케이션의 메카트로닉 노드를 위해 설계되었지만 산업용 애플리케이션에도 동일하게 적합합니다. 자동차 내 계층적 네트워크로 이어지는 기존 CAN 네트워크를 보완하기 위한 것입니다.
1990년대 후반에 Mentor Graphics(구 Volcano Automotive Group)와 Freescale(구 모토로라, 현재 NXP)이라는 5개 유럽 자동차 회사가 현지 상호 연결 네트워크(LIN) 컨소시엄을 설립했습니다. 새로운 LIN 사양의 첫 번째 완전히 구현된 버전은 2002년 11월 LIN 버전 1.3으로 발표되었습니다. 2003년 9월 버전 2.0은 구성 기능을 확장하고 중요한 추가 진단 기능 및 툴 인터페이스에 대한 조항을 만들기 위해 도입되었습니다.
프로토콜의 주요 기능은 다음과 같습니다.
- 단일 마스터, 최대 16명의 노예(즉, 버스 중재 없음). 이는 LIN 컨소시엄이 결정론적 시간 응답을 달성하기 위해 권장하는 값입니다.[8]
- SNPD(Slave Node Position Detection)를 통해 전원을[9] 켠 후 노드 주소를 할당할 수 있습니다.
- 최대 19.2kbit/s @ 40m 버스 길이의 단일 와이어 통신.[8][10] LIN 사양 [9]2.2에서는 최대 20kbit/s의 속도를 제공합니다.
- 대기 시간이 보장됩니다.
- 가변 데이터 프레임 길이(2, 4 및 8바이트).
- 구성 유연성.
- 크리스탈이나 세라믹 공진기가 없는 시간 동기화를 통한 멀티캐스트 수신
- 데이터 체크섬 및 오류 감지.
- 결함이 있는 노드를 탐지합니다.
- 표준 UART/SCI 하드웨어를 기반으로 한 저비용 실리콘 구현.
- 계층적 네트워크를 활성화합니다.
- 작동 전압은 12V입니다.[8]
데이터는 선택 가능한 길이의 고정 형식 메시지로 버스를 통해 전송됩니다. 마스터 작업은 중단 신호 다음에 동기화 및 식별자 필드로 구성된 헤더를 전송합니다. 슬레이브는 2, 4 또는 8개의 데이터 바이트와 3바이트의 제어 정보로 구성된 데이터 프레임으로 응답합니다.[9]
LIN 메시지 프레임
메시지에는 다음 필드가 포함됩니다.[9]
- 동기화 중단
- 동기화 바이트
- 식별자 바이트
- 데이터 바이트
- 체크섬 바이트
프레임 유형
- 무조건 프레임. 이들은 항상 신호를 전달하며 식별자는 0~59(0x00~0x3b) 범위에 있습니다. 조건 없는 프레임의 모든 가입자는 프레임을 수신하고 애플리케이션에서 사용할 수 있도록 해야 합니다(오류가 감지되지 않았다고 가정합니다).
- 이벤트 트리거 프레임입니다. 이는 드물게 발생하는 이벤트가 있는 여러 슬레이브 노드의 폴링에 버스 대역폭을 너무 많이 할당하지 않고 LIN 클러스터의 응답성을 높이는 것을 목적으로 합니다. 운반된 무조건 프레임의 첫 번째 데이터 바이트는 이벤트 트리거 프레임에 할당된 보호 식별자와 같아야 합니다. 슬레이브는 데이터 값이 변경된 경우에만 관련 무조건 프레임으로 회신해야 합니다. 슬레이브 작업 중 어느 것도 헤더에 응답하지 않으면 프레임 슬롯의 나머지 부분은 무음이고 헤더는 무시됩니다. 동일한 프레임 슬롯에서 둘 이상의 슬레이브 작업이 헤더에 응답하면 충돌이 발생하며 마스터는 이벤트 트리거 프레임을 다시 요청하기 전에 관련된 모든 무조건 프레임을 요청하여 충돌을 해결해야 합니다.
- 산발적인 프레임. 이 프레임은 마스터가 필요에 따라 전송하므로 충돌이 발생할 수 없습니다. 산발적인 프레임의 헤더는 마스터 태스크가 프레임에 전송된 신호가 업데이트되었다는 것을 알고 있을 때만 해당 프레임 슬롯에 전송됩니다. 산발적인 프레임의 게시자는 항상 헤더에 대한 응답을 제공해야 합니다.
- 진단틀. 이들은 항상 진단 또는 구성 데이터를 전달하며 항상 8개의 데이터 바이트를 포함합니다. 식별자는 마스터 요청 프레임이라고 하는 60(0x3C) 또는 슬레이브 응답 프레임이라고 하는 61(0x3D)입니다. 진단 프레임의 헤더를 생성하기 전에 마스터 작업은 진단 모듈에 전송해야 하는지 또는 버스가 무음 상태여야 하는지를 묻습니다. 슬레이브 작업은 진단 모듈에 따라 응답을 게시하고 구독합니다.
- 사용자 정의 프레임입니다. 이것들은 모든 종류의 정보를 전달할 수 있습니다. 식별자는 62(0x3E)입니다. 사용자 정의 프레임의 헤더는 프레임에 할당된 프레임 슬롯을 처리할 때 항상 전송됩니다.
- 예약된 프레임. LIN 2.0 클러스터에서는 이들을 사용해서는 안 됩니다. 식별자는 63(0x3F)입니다.
LIN 하드웨어
LIN 사양은 네트워크 내에서 매우 저렴한 하드웨어 노드를 사용할 수 있도록 설계되었습니다. ISO 9141에 기반한 저비용 단일 와이어 네트워크입니다.[11] 오늘날의 자동차 네트워킹 토폴로지에서는 UART 기능 또는 전용 LIN 하드웨어를 갖춘 마이크로컨트롤러가 사용됩니다. 마이크로컨트롤러는 소프트웨어에 의해 필요한 모든 LIN 데이터(프로토콜 ...)(부분적으로)를 생성하고 LIN 트랜시버(단순히 말하면 일부 추가 기능이 있는 레벨 쉬프터)를 통해 LIN 네트워크에 연결됩니다. LIN 노드로 작동하는 것은 가능한 기능의 일부일 뿐입니다. LIN 하드웨어는 이 트랜시버를 포함할 수 있으며 추가된 기능 없이 순수 LIN 노드로 작동합니다.
LIN 슬레이브 노드는 가능한 한 저렴해야 하므로 수정 발진기(쿼츠 또는 세라믹) 대신 RC 발진기를 사용하여 내부 클럭을 생성할 수 있습니다. 하나의 LIN 프레임 내에서 보레이트-안정성을 보장하기 위해 헤더 내의 SYNC 필드가 사용됩니다.
LIN 프로토콜
LIN-Master는 하나 이상의 미리 정의된 스케줄링 테이블을 사용하여 LIN 버스로의 송수신을 시작합니다. 이러한 스케줄링 테이블에는 적어도 메시지 전송이 시작되는 상대적인 타이밍이 포함됩니다. 하나의 LIN 프레임은 두 부분 헤더와 응답으로 구성됩니다. 헤더는 항상 LIN 마스터에 의해 전송되지만 응답은 전용 LIN-Slave 또는 LIN 마스터 자체에 의해 전송됩니다.
LIN 내에서 전송되는 데이터는 하나의 시작 비트, 하나의 정지 비트 및 패리티가 없는(break 필드에는 시작 또는 정지 비트가 없음) 8비트 데이터 바이트로 직렬로 전송됩니다. 비트 전송률은 1kbit/s에서 20kbit/s 범위 내에서 다양합니다. 버스의 데이터는 열성(논리적 하이)과 우세(논리적 로우)로 구분됩니다. 이 시간은 일반적으로 LIN Master 안정적인 클럭 소스에 의해 고려되며, 가장 작은 엔티티는 1비트 시간(52 µ @ 19.2 kbit/s)입니다.
LIN 프로토콜 내에는 슬립 모드와 액티브 두 가지 버스 상태가 사용됩니다. 데이터가 버스에 있는 동안에는 모든 LIN 노드가 활성 상태에 있어야 합니다. 지정된 시간 초과 후 노드는 절전 모드로 전환되고 WAKEUP 프레임에 의해 다시 활성 상태로 해제됩니다. 이 프레임은 버스에서 활동을 요청하는 모든 노드에 의해 전송될 수 있습니다. LIN 마스터는 내부 일정을 따르거나 연결된 LIN 슬레이브 중 하나가 내부 소프트웨어 응용 프로그램에 의해 활성화됩니다. 모든 노드가 깨우면 마스터는 다음 식별자를 계속 예약합니다.
머리글
헤더는 다음과 같은 다섯 부분으로 구성됩니다.
BREAK: BREAK 필드는 헤더의 다음 부분을 듣기 위해 연결된 모든 LIN 슬레이브를 활성화하는 데 사용됩니다. 하나의 시작 비트와 여러 개의 지배적인 비트로 구성됩니다. 길이는 최소 11비트 시간이며, 현재 표준 사용은 13비트 시간이므로 기본 데이터 형식과 다릅니다. 이는 지정된 범위에서 설정된 버스 보오율과 다른 메인 클럭을 가진 청취 LIN 노드가 모든 값이 0(16진수 0x00)인 표준 데이터 바이트가 아닌 통신을 시작하는 프레임으로 BREAK를 감지하도록 보장하는 데 사용됩니다.
SYNC: SYNC는 16진수 0x55의 값을 갖는 표준 데이터 형식 바이트입니다. RC 발진기에서 실행되는 LIN 슬레이브는 고정된 양의 상승 에지와 하강 에지 사이의 거리를 사용하여 버스의 현재 비트 시간(마스터 시간 정규)을 측정하고 내부 보레이트를 다시 계산합니다.
인터 바이트 스페이스: 인터 바이트 스페이스는 버스 지터를 조정하는 데 사용됩니다. LIN 사양 내의 옵션 구성 요소입니다. 활성화된 경우 모든 LIN 노드가 이를 처리할 수 있도록 준비해야 합니다.
BREAK와 SYNC 필드 사이에, SYNC와 IDENTER 사이에, 페이로드와 체크섬 사이에, 페이로드의 모든 Data 바이트 사이에 Inter Byte Space가 있습니다.
IDENTER: IDENTER는 연결된 LIN 슬레이브 노드 중 하나 또는 여러 개가 수행할 하나의 작업을 정의합니다. 네트워크 설계자는 설계 단계에서 결함 없는 기능을 보장해야 합니다(한 슬레이브가 한 프레임 시간 내에 버스에 데이터를 전송할 수 있습니다).
식별자가 하나의 물리적 LIN 슬레이브로 하여금 응답을 전송하게 하는 경우, 식별자는 Rx-identifier라고 불릴 수 있습니다. 마스터의 슬레이브 작업이 버스에 데이터를 전송하는 경우 Tx-identifier라고 할 수 있습니다.
응답 공간: 응답 공간은 식별자 필드와 LIN 프레임의 LIN 응답 부분을 시작하는 첫 번째 데이터 바이트 사이의 시간입니다. 특정 LIN 프레임이 완전히 전송되면 LIN MASTER에 의해 Header + Response가 전송되면 LIN MASTER는 전체 Response SPACE TIME을 사용하여 헤더를 전송한 후 응답을 전송할 시기를 계산합니다. LIN 프레임의 응답 부분이 물리적으로 다른 슬래이브 노드에서 나온 경우 각 노드(마스터 및 슬레이브)는 응답 공간 시간의 50%를 시간 초과 계산에 활용합니다.
대답
응답은 첨부된 LIN 슬레이브 작업 중 하나에서 전송되며 데이터와 체크섬으로 나뉩니다.[9]
DATA: 응답하는 슬레이브는 버스에 0~8개의 데이터 바이트를 보낼 수 있습니다. 데이터의 양은 애플리케이션 설계자에 의해 고정되며 LIN 슬레이브가 실행되는 애플리케이션과 관련된 데이터를 미러링합니다.
체크섬: LIN 내에 두 가지 체크섬 모델을 사용할 수 있습니다. 첫 번째 모델은 데이터 바이트만 포함하는 체크섬(버전 1.3까지의 사양)이고, 두 번째 모델은 식별자를 추가로 포함합니다(버전 2.0+). 사용된 체크섬 모델은 애플리케이션 설계자에 의해 미리 정의됩니다.
슬레이브 노드 위치 감지(SNPD) 또는 자동 주소 지정
이러한 방법을 사용하면 LIN 버스에서 슬레이브 노드의 위치를 감지하고 고유 노드 주소(NAD)를 할당할 수 있습니다.[12]
- 엔드 오브 라인 프로그래밍이나 커넥터 핀 프로그래밍 없이 버스에서 유사하거나 동일한 장치를 연결할 수 있습니다.
제한사항:
- 모든 자동 주소 지정 슬레이브는 한 줄에 있어야 합니다.
- 표준 노예는 어떤 방식으로든 연결할 수 있습니다.
SNPD Method | SNPD 메서드 ID | 회사 |
---|---|---|
엑스트라 와이어 데이지 체인 | 0x01 | NXP(구 필립스) |
버스 분로법 | 0x02 | 엘모스 반도체 |
예약한 | 0x03 | TBD |
예약한 | 0x04 | TBD |
예약한 | 0xFF | TBD |
엑스트라 와이어 데이지 체인(XWDC)
각 슬레이브 노드는 두 개의 추가 핀, 하나의 입력인 D와1 하나의 출력인 D를2 제공해야 합니다.
- 첫 번째 SNPD 노드 입력(D1)은 GND로 설정되거나 마스터의 출력에 연결됩니다.
- 첫 번째 노드 D의2 출력은 입력, 두 번째 노드 D1 등과 연결되어 데이지 체인이 발생합니다.
각 구성 핀 D(x=1-2)에는 위치 감지를 돕기 위한 추가 회로가 있습니다.
- V까지bat 전환 가능한 저항 풀업
- GND로 풀다운
- Vbat/2에 참조된 비교기
XWDC 자동 주소 지정 절차
절차를 시작할 때 NAD가 할당된 SNPD 장치가 없습니다.
1 첫 번째 자동 주소 지정 LIN 메시지
- 1.1 모든 출력(D2)이 하이 레벨로 설정되고, 모든 풀다운이 꺼집니다.
- 1.2 첫 번째 SNPD 노드가 선택됩니다. 입력1 Dlow(하드와이어드)를 사용하여 식별됩니다.
- 1.3 선택한 노드는 LIN 구성 메시지에서 주소를 가져옵니다.
- 1.4 감지된 노드는 출력 D에서2 풀다운을 켭니다.
2 후속 자동 주소 지정 LIN 메시지
- 2.1 주소가 지정되지 않은 첫 번째 SNPD 노드가 선택됩니다. 입력 Dlow1(이전 노드의2 D)를 가짐으로써 식별됩니다.
- 2.2 선택된 노드는 LIN 구성 메시지에서 주소를 가져옵니다.
- 2.3 검출된 노드는 출력 D에서2 풀다운을 켭니다.
- 2.4 모든 슬레이브 노드에 주소가 할당될 때까지 2.1-2.4 단계를 반복합니다.
3 모든 풀업 및 풀다운이 꺼지고 어드레싱 절차가 완료됩니다.
버스 션트 방식(BSM)
각 슬레이브 노드에는 두 개의 LIN 핀이 있습니다.
- 버스를 타고
- 버스를 타고 가다
각 슬레이브 노드는 위치 감지를 돕기 위해 표준 LIN 회로와 비교하여 추가 회로가 필요합니다.
- 표준 풀업은 전환 가능해야 합니다.
- V에서bat 스위칭 가능한 2mA 전류원
- 션트 저항기
- 차동증폭기
- 아날로그 디지털 변환기
BSM 자동 어드레싱 절차
절차를 시작할 때 SNPD 장치 중 NAD가 할당되지 않았습니다. 자동 주소 지정 루틴은 동기화 필드에서 수행됩니다. 동기화 필드는 세 단계로 나뉩니다.
1 오프셋 전류 측정
- 1.1 모든 출력 풀업 및 전류원이 꺼짐
- 1.2 버스 전류 측정, Ioffset
2 풀업 모드
- 2.1 풀업이 켜지고 전류원이 꺼진 상태를 유지합니다.
- 2.2 버스 전류 측정, IPU
- 2.3 δI = I-I < 1 mA인 노드를 "선택"
3 전류원 모드
- 3.1 선택된 노드는 전류원을 켜고 다른 노드는 풀업을 끕니다.
- 3.2 버스 전류 측정, ICS
- 3.3 δI = I-I < 1 mA인 노드가 마지막 노드로 감지됨
- 3.4 전류원이 꺼지고 풀업이 켜집니다.
- 3.5 마지막 노드는 LIN 구성 메시지에 포함된 주소를 받아들입니다.
이 기술은 특허 EP 1490772 B1 및 US 7091876에 의해 적용됩니다.
LIN 장점
- 사용하기 편함
- 사용 가능한 구성요소
- CAN 및 기타 통신 버스보다 저렴합니다.
- 하니스 감소
- 보다 신뢰할 수 있는 차량
- 쉽게 구현할 수 있는 확장입니다.
- 프로토콜 라이센스 비용 필요 없음
LIN은 CAN 버스를 완전히 대체하는 것은 아닙니다. 그러나 LIN 버스는 저렴한 비용이 필수적이고 속도/대역폭이 중요하지 않은 곳이라면 어디에서나 좋은 대안입니다. 일반적으로 차량 성능이나 안전에 중요하지 않은 하위 시스템 내에서 사용됩니다. 몇 가지 예는 아래에 나와 있습니다.
적용들
응용프로그램 세그먼트 | 특정 LIN 응용 예 |
---|---|
지붕 | 센서, 라이트 센서, 라이트 컨트롤, 선루프 |
스티어링 휠 | 크루즈 컨트롤, 와이퍼, 방향등, 실내 온도 조절, 라디오, 휠 잠금 |
좌석. | 시트 위치 모터, 탑승자 센서, 컨트롤 패널 |
엔진 | 센서, 소형 모터, 냉각 팬 모터 |
그릴 | 그릴 셔터 |
기후. | 소형 모터, 제어판 |
문 | 미러, 중앙 ECU, 미러 스위치, 윈도우 리프트, 시트 컨트롤 스위치, 도어락 |
조명 | 차량 트림 강화, RGB LED로 조명된 실 플레이트 |
주소 지정
LIN에서의 주소 지정은 PID(보호 식별자)의 일부인 NAD(Node ADdress)를 사용하여 달성됩니다. NAD 값은 7비트이므로 1~127(0x7F) 범위이며 공급업체 ID, 기능 ID 및 변형 ID의 구성입니다.
공급업체 ID는 해당 식별자의 할당을 담당하는 기관인 Automation의 CAN에 문의하여 얻을 수 있습니다.
참고 항목
다양한 차량(자동차) 연결 버스:
참고문헌
- ^ . "ISO/AWI 17987-8".
- ^ 메리 타마르 탄, 브라이언 베일리, 한린. "마이크로칩 AN2059: 8비트 PIC 마이크로컨트롤러 상의 MCC LIN 스택 라이브러리의 LIN 기초 및 구현"
- ^ "ATAN0049: 2선 LIN 네트워킹".
- ^ 스티브 윈더. "LED 구동용 전원장치", 284쪽
- ^ 'LIN Short Story'.
- ^ "Lin Concept". LIN Overview. LIN Administration. Archived from the original on 5 October 2011. Retrieved 28 October 2011.
- ^ "Target Applications". LIN Overview. LIN Administration. Archived from the original on 5 October 2011. Retrieved 28 October 2011.
- ^ a b c 090114 cvel.clemson.edu
- ^ a b c d e LIN 사양 패키지 Rev. 2.2a Wayback Machine에서 아카이브된 2008-04-26
- ^ 090114 interfacebus.com
- ^ 2011-07-19 Wayback Machine에서 보관된 LIN 기술 개요
- ^ 아난드 고팔란, 아킴 화이트헤드. "SNPD(Slave Node Position Detection) 자동 탐지"
추가읽기
LIN 사양 v2.2A(2010)는 ISO 17987 공식 표준 문서군으로 변환되었습니다. ISO 1~7부는 2016년에 처음 공개된 후 2019년에 8부가 공개되었습니다.
- ISO 17987-1 :: 도로 차량 - LIN Part 1 - 일반 정보 및 사용 사례 정의.
- ISO 17987-2 :: 도로 차량 - LIN Part 2 - 전송 프로토콜 및 네트워크 계층 서비스.
- ISO 17987-3 :: 도로 차량 - LIN Part 3 - 프로토콜 사양
- ISO 17987-4 :: 도로 차량 - LIN Part 4 - EPL(Electrical Physical Layer) 사양 12V / 24V
- ISO 17987-5 :: 도로 차량 - LIN Part 5 - 애플리케이션 프로그래머 인터페이스(API).
- ISO 17987-6 :: 도로 차량 - LIN Part 6 - 프로토콜 적합성 시험 규격
- ISO 17987-7 :: 도로 차량 - LIN Part 7 - EPL(Electrical Physical Layer) 적합성 시험 규격
- ISO 17987-8 :: 도로 차량 - LIN Part 8 - EPL(Electrical Physical Layer) 사양: LIN over DC 전력선(DC-LIN).
외부 링크
- LIN 컨소시엄 - 아카이브된 웹사이트
- LIN 공급업체 ID - LIN 공급업체 ID 등록 기관
- LIN 프로토콜의 자유 개방형 하드웨어/소프트웨어 구현에 관한 기사
- 무료 온라인 LIN 체크섬 계산기
- LIN 버스 설명 - 간단한 소개
- 교육용 LIN 네트워크 드라이버