MCU(Micro Controller Unit) :
제어기 안에 있는 소형의 컴퓨터, CPU, 메모리를 포함한 다양한 하드웨어 장치들이 들어 있음
Peripheral :
MCU에 들어있는 주변 하드웨어 장치들
CAN Controller :
(Data Link Layer)
메시지에 담기는 값과 관련됨
Peripheral 중에서 CAN통신과 연관된 동작을 하는 장치를 CAN Controller라고 함
CAN 통신 프로토콜, 스펙에 따라 컨트롤 함
CPU가 어떠한 메시지를 CAN통신으로 보내야 한다고 판단하면 CAN Controller에게 데이터를 전달하여 처리하게 함
CAN Frame의 Field에 메시지를 채워 내보내는 역할
Bus에 다른 제어기가 메시지를 보내고 있지 않은지도 판단
에러 처리
CAN Tranceiver :
(Physical Layer)
Transmitter + Receiver 합성어
실제로 전선에 출력되는 전압과 관련됨
CAN 스펙에 맞게 전압을 출력하면 그 전압을 읽어 0인지 1인지 판단
CAN High, CAN Low 라인은 CAN Tranceiver에 연결됨
MCU의 Peripheral이 아닌 별개의 소자
State Machine을 가지고 있는 트랜시버의 경우 Normal Mode, Sleep Mode, Listen Only 와 같은 State가 있기 때문에 트랜시버가 어떻게 동작하는지를 알아야 함
보호&진단 기능
CAN Tranceiver 제품 : NXP의 TJA1043
CAN Controller와 CAN Trancever 사이에서 주고 받는 것? :
CAN Controller의 입장에서 CAN TX(메시지 송신), CAN RX(메시지 수신)를 주고받음
CAN 트랜시버 데이터 시트 :
(NXP의 TJA1043)
https://www.nxp.com/docs/en/data-sheet/TJA1043.pdf
데이터 시트를 살펴보면 CAN 트랜시버의 general한 설명이 나와있으니 참고!
6.1 Pinning 부분을 확인하여
어떤 핀이 MCU에 연결되는지 파악
TXD : Transmit Data Input
CAN 컨트롤러가 보내려는 데이터이므로 Tx, Tranceiver 입장에선 Input
RXD : Receive Data Output, read out from the bus lines
CAN High, CAN Low로부터 전압을 읽어 0인지 1인지 파악하여 MCU에게 보내줌
MCU 입장에서는 Rx, 트랜시버에게는 Output
Baud rate :
통신 속도
(제조사에서 정의)
단위 : bps(bit per second)
1초 동안 보내는 비트의 수
버스에 참여하고 있는 모든 제어기는 같은 Baud Rate로 통신해야함
프로토콜 별 최대 속도
- Low-Speed CAN(Fault-Tolerant) : 최대속도 ~125kbps
- High-Speed CAN : 최대속도 ~1Mbps, 높은 확률로 500kbps정도 사용
- CAN FD(CAN with Fast Data-Rate) : 최대속도 ~8Mbps
Sampling Point :
하나의 비트 값이 0인지 1인지 판단하는 지점(단위 : %)
(제조사에서 정의)
샘플링 포인트에 따라 같은 Baud Rate 사용해도 CAN Controller의 소프트웨어를 구현할 때 세팅 값이 달라짐
CAN 시뮬레이션 장비 사용 시 Baud Rate/Sampling Point 세팅 후 사용
CAN Controller에 제공된 클락 속도에 따라 Time Qunta가 계산되는데
Time Quanta는 1/CAN Clock
예)
CAN Clock이 10Hz라면 Time Quanta는 1/10Hz = 0.1초
1bps일 때 1초에 1비트, 하나의 비트는 10개의 Time Quanta로 구성
CAN에서는 1bit를 Synx, TSEG_1(Prop+Phase1), TSEG_2(Phase2)의 3개의 구간으로 분류하는데
예)
Sampling Point %가 70%라면
Sync는 1로 고정, Sync+TSEG_1(Prop+Phase1) : TSEG_2(Phase2)의 비율이 Sampling Point 비율
Sync가 1이니까 TSEG_1를 6으로 설정하면 1+6는 7,
이렇게 설정하면 7:3 비율이며 Sampling Point 70%
'CAN' 카테고리의 다른 글
[CAN] CAN통신의 특징 | 자동차 통신 | 브로드캐스트 방식 | 캔통신 | CAN High | CAN Low | D sub 9 pin (2) | 2023.10.05 |
---|---|
[CAN] CAPL 기본 문법 (CANalyzer, CANOE) | CAN 통신 | CAN 통신 강의 | CAPL 프로그래밍 | CAN 교육 정 (0) | 2023.09.11 |