Ch1 Seminar/IP

LIN overview (2) Sleep, Wake up

베린이 2023. 10. 11. 09:27
반응형

- Sleep

LIN 통신에서는 통신이 진행되지 않을 때(일반적으로 4초 이상 LIN 버스가 비활성 상태이면), 전력 소모를 줄이기 위해 절전모드인 Sleep 상태에 들어갑니다. 그리고 다시 통신이 시작될 때 wake up 신호를 통해 Sleep 상태를 해제시킬 수 있습니다.
 
Master는 Slave에 go to sleep 커맨드를 통해 sleep 상태로 전환시킬 수 있습니다(LIN 2.1). PID가 0x3C일 때, 첫 번째 데이터가 0이고 나머지 데이터가 0xFF면 slave는 sleep 상태로 전환됩니다.
 

 
정리하자면 LIN controller는 master가 요청하거나 일정시간 이상 LIN bus가 idle 상태이면 sleep 모드로 들어갑니다.
 

- Wake up

Sleep모드에 있는 장치가 통신을 시작하기 위해서는 wake up을 통해 절전모드를 해제해야 합니다. Wake up은 Master 뿐만 아니라 Slave도 시작할 수 있습니다. Wake up을 하기 위해서는 LIN 버스에 150us 이상의 시간 동안 신호를 보내줘야 합니다. 그리고 LIN 버스에 연결된 장치들은 100ms 안에 통신할 준비가 되어야 합니다.
 

 
Slave에서 wake up을 요청할 경우 Master는 100~150ms 안에 통신을 시작해야 합니다. 그 말은 Frame header를 전송해야 한다는 건데요, 만약 slave의 wake up 요청 후 150ms 안에 Master가 Frame header를 보내지 않으면 Slave는 다시 wake up 요청을 합니다.
 

 
Master가 계속해서 Frame header를 보내지 않으면 Slave는 무한하게 wake up 요청을 합니다. 이때, 3번씩 나누어 요청을 하고 3번 요청 이후에는 1.5s 이상의 간격이 있어야 합니다.
 

 
 
위의 상황들은 Slave가 Master에게 wakeup 신호를 보내는 상황입니다.
Master가 Slave에 wakeup 신호를 보낼 때는 Frame header의 break 신호를 통해 버스에 연결된 Slave들을 깨울 수 있습니다. 

'Ch1 Seminar > IP' 카테고리의 다른 글

LIN overview (3) Schedule table - 2  (0) 2023.10.30
LIN overview (3) Schedule table - 1  (0) 2023.10.16
LIN overview (1) Protocol  (0) 2023.10.04
UART 통신 overview  (0) 2023.07.26
Decimation filter (데시메이션 필터)  (0) 2023.06.10