IT / / 2021. 3. 26. 17:16

차량 내부 네트워크 - CAN 통신 정리하며 공부하자

반응형

차량 내부 네트워크 통신(CCP): CCP(CAN CAN Calivration Protocol)는, 전자 제어 유닛(ECU)에서 데이터를 수집하고 교정하기 위한 프로토콜

CAN 통신: CAN(Controller Area Network) 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격

등장 배경은 지루하니 생략...

CAN의 장점
- CAN은 (mater/slave), (multiple master), (peer to peer)등을 지원하는 매우 유연성 있는 네트워크.
- 공장의 열약한 환경이나 고온, 충격, 진동, 노이즈가 많은 환경에서도 잘 견딜 수 있다.
- 표준 통신 프로토콜이므로 다양한 업체에서 제작된 서브들의 인터페이스가 편리하다.
- 수백만의 메시지 식별자를 지원하고 복잡한 메시지 방식을 사용할 수 있는 유연성을 가지고 있다.
- 최대 1 Mbps의 속도를 제공하며 에러 디텍션(Error Detction) 기능과, 에러를 발생 노드가 네트워크상에서 메시지를 발생시키지 못하도록 한다.

CAN의 Message 전송 Frame
- Data Frame
- Remote Frame
- Error Frame
- Overload Frame
- Interframe Space

Data Frame

목적
- Transmitter에서 Recever로 데이터를 송신하기 위해 사용.
- 데이터를 전송하고자 하는 Node에서 Dat Frame을 생성
구성
- SOF(Start Of Frame)
- Arbitration Field
- Control Field
- Data Field
- CRC Field
- ACK Field
- End of Frame

Start of Frame(SOF)
- Data Frame과 Remote Frame의 시작을 나타 내고 1개의 "dominant Bit"으로 구성
- Node는 Bust idle 상태에서 전송을 시작, 모든 Node는 SOF로 인해 발생되는 Falling Edge에 동기

Arbitration Field
▶Standard Frame Format
 - 11bit의 ID와 Remote Transmisson Request(RTR) bit로 구성
 - 상위 7bit(ID10~ID3)가 모두 'recessive' bit로 되면 안 됨
 - Data Frame의 경우 RTR은 반드시 'dominant' bit, Remote Frame인 경우 'recessive' bit로 RTR에 의해 Data Frame이 구분
 - Standard Frame의 경우 IDE는 'dominant', Extended Frame의 경우 IDE는 'recessive' 
▶Extended Frame Format
 - 29bit(11bit+18bit)의 ID와 Substitute Remote Request(SRR), Identifier Extension (IDE), Remote Transmission Reauest(RTR) bit로 구성
 - SRR은  'recessive' bit, 이로 인해 Std.와 ext.Frame이 충돌 시 Std.Frame 우선.
 - SRR bit값에 관계없이 IDE bit를 수신한 다음에 Standard Frame인지 Extended Frame 인지를 결정.
    (Extended Frame인 경우 IDE='recessive')

Control Field
- Standard Frame에서는 4bits의 Data Lenght Code(DLC)와 IDE, 1 reserve bit(r0)로 구성되어 있고, IDE와 r0 bit는 'dominant' bit
- Extended Frame에서는 4bits의 Data Lenght Code(DLC)와 2 reserve bits(r0, r1)로 구성되어 있고 r0, r1 bit는 'dominant' bit
- DLC에 의해 전송 data lenght를 8bytes까지 지정. DLC가 8보다 클 경우에 대한 관련 사항이 Spec.에는 명시되어 있지 않음

Remote Frame

목적
- Receiver로 동작하고 있는 Node가 Data를 필요로 할 경우 필요로 하는 Data Frame의 ID와 같은 Remote Frame을 보내 Data를 요구할 수 있으며, 대응하는 source node가 Data Freme을 송신 

Data Frame과의 차이점
- Data Frame에서는 RTE bit가 'dominant'이나 Remote Frame에서는 'recessive' bit
- Data Frame과 Remote Frame이 동시에 송신을 할 경우 Data Frame이 우선권을 가짐
- Remote Frame에는 Data field가 없음

나머지 자료는 추가 예정

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유