Toby's Study Blog
article thumbnail

๐Ÿšช CAN Gateway๋ž€?

์ž๋™์ฐจ ์•ˆ์—์‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ CAN Bus๊ฐ€ ์กด์žฌํ•˜๋ฉฐ
์—ฌ๋Ÿฌ CAN Bus๋“ค์€ ์„œ๋กœ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.  

  • Chassis CAN 
    ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•˜๋Š” ECU ๊ฐ„์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” Bus (e.g. ์—”์ง„, ๋ณ€์†๊ธฐ, ABS, ESP, ์Šคํ‹ฐ์–ด๋ง, ๋ธŒ๋ ˆ์ดํฌ ๋“ฑ)
  • Infotainment CAN
    ๊ฐ์ข… ์ •๋ณด, ์—”ํ„ฐํ…Œ์ด๋จผํŠธ ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•˜๋Š” ECU ๊ฐ„์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” Bus (e.g. ์˜ค๋””์˜ค, ๋‚ด๋น„๊ฒŒ์ด์…˜, ์Œ์•… ๋“ฑ)
  • Powertrain CAN 
    ํŒŒ์›ŒํŠธ๋ ˆ์ธ์„ ์ œ์–ดํ•˜๋Š” ECU ๊ฐ„์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” Bus (e.g. ๋ชจํ„ฐ, ๋ฐฐํ„ฐ๋ฆฌ, ์ถฉ์ „๊ธฐ ๋“ฑ)

CAN Gateway๋Š” ์„œ๋กœ ๋‹ค๋ฅธ CAN Bus(Network) ๊ฐ„ Message์™€ Signal ์ „์†ก์„ ๋„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์žฅ์น˜์ด๋‹ค. 

 โ€ป Signal : ์ด 1 ~ 64 Bit ๊ธธ์ด์˜ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ(e.g. ์—”์ง„ ํšŒ์ „์ˆ˜, ์—”์ง„ ์˜จ๋„, ๋ธŒ๋ ˆ์ดํฌ ์‹ ํ˜ธ)
 โ€ป Message : ์ด 1 ~ 8 Byte ๊ธธ์ด์˜ Signal์˜ ์ง‘ํ•ฉ์ด๋ฉฐ ๋ณตํ•ฉ์ ์ธ ๋ฐ์ดํ„ฐ(e.g. ์ฐจ๋Ÿ‰ ์ƒํƒœ ๋ฐ์ดํ„ฐ, ์ฐจ๋Ÿ‰ ์ œ์–ด ๋ฐ์ดํ„ฐ)

๐Ÿšช CAN Gateway ๊ธฐ๋Šฅ

CAN Gateway๋Š” ์•„๋ž˜ ๋‹จ๊ณ„ ์ˆ˜ํ–‰์„ ํ†ตํ•ด CAN Bus๊ฐ„ ๋ฉ”์‹œ์ง€๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

  1. ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ(Network Management)
  2. ์ „์†ก ์œ ํ˜• ๋ถ„๋ฅ˜(Transmission Mode Classification)
  3. ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€ํ™˜ ๋ฐ ์ค‘๋ณต ID ๊ฒ€์‚ฌ(Address Translation)
  4. ํŠน์ • ๋ฉ”์‹œ์ง€๋งŒ ์ „๋‹ฌํ•˜๋„๋ก ์„ค์ •(Message Filtering)
  5. ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ CAN Bus ์„ค์ •(Message Signal Routing)
  6. ๋ฉ”์‹œ์ง€ ์ „์†ก(Message Transport)

๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ - Network Management

CAN Gateway๋Š” ํ•ด๋‹น ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    • Diagnosis 
      ํ†ต์‹  ์˜ค๋ฅ˜, ECU ์žฅ์น˜ ์˜ค๋ฅ˜์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ง„๋‹จํ•˜์—ฌ ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•˜๊ฑฐ๋‚˜
      ๊ธฐ๋กํ•œ๋‹ค.

    • Buf-off ๋ฐฉ์ง€
      ๋ฉ”์„ธ์ง€ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด CAN bus ์ƒ์—์„œ์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ ,
      Bus-off ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, ECU๊ฐ€ Bus-off์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค.
      (โ€ป Bus-off : CAN bus์˜ ์ „์••์ด ์ •์ƒ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฑฐ๋‚˜ ๋ฌผ๋ฆฌ ์ ์œผ๋กœ ์†์ƒ๋˜์–ด ์ „์†ก ๋ฐ ์ˆ˜์‹ ์ด ์ค‘๋‹จ๋œ ์ƒํƒœ) 
    • Qos (Quality of Serivce)
      Message์˜ ์šฐ์„ ์ˆœ์œ„, ์ง€์—ฐ ์‹œ๊ฐ„, ๋ฒ„ํผ๋ง ๋“ฑ์„ ์ œ์–ดํ•˜์—ฌ Message์˜ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•œ๋‹ค
    • Security
      Message๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. 
    • Load balancing
      CAN bus์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜์—ฌ CAN bus์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ CAN bus์˜ ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
    • Network topology management
      CAN bus์˜ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ†ตํ•ด
      CAN bus์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ „์†ก ์œ ํ˜• ๋ถ„๋ฅ˜ - Transmission Mode Classfication

Message ๋˜๋Š” Signal์„ ํšจ์œจ์ ์œผ๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์ „์†ก ์ „์— ์œ ํ˜•์„ ๋‚˜๋ˆ„๋Š” ์ž‘์—…์„ ํ•œ๋‹ค.
If active, On event, Periodic ์œ ํ˜•์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ ํ•„์š”์— ๋”ฐ๋ผ ์œ ํ˜•์„ ํ˜ผํ•ฉํ•˜์—ฌ ๋ชฉ์ ์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ ์œ ํ˜•์— ๋”ฐ๋ฅธ ํ•„์ˆ˜ ์กฐ๊ฑด๊ณผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ •ํ•œ ์ถ”๊ฐ€ ์กฐ๊ฑด(Signal Constraint)์„ ๋งŒ์กฑํ•  ๋•Œ ์ „์†ก ๊ฐ€๋Šฅํ•˜๋‹ค. 

  1. Signal constraint ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ ์ „์†ก ์ฃผ๊ธฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋น ๋ฅธ ์ฃผ๊ธฐ๋กœ ์ „์†กํ•œ๋‹ค.  
    • ์ „์†ก ์ฃผ๊ธฐ : t_FastCycleA (๋น ๋ฅธ ์ฃผ๊ธฐ ์‹œ๊ฐ„)๋กœ ์„ค์ •๋œ๋‹ค.
    • ๋ฉ”์‹œ์ง€ ์ „์†ก : Signal constraint ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ Message๊ฐ€ ๋น ๋ฅธ ์ฃผ๊ธฐ ์‹œ๊ฐ„ t_FastCycleA๋กœ ์ „์†ก๋œ๋‹ค.
  2. Signal constraint ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์†ก ์ฃผ๊ธฐ๋ฅผ ๋Š๋ฆฌ๊ฒŒ ํ•˜๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ „์†กํ•œ๋‹ค.
    • ์ „์†ก ์ฃผ๊ธฐ : t_RepetitionA ์‹œ๊ฐ„ ์ฃผ๊ธฐ๋กœ ์„ค์ •๋œ๋‹ค.
    • ๋ฐ˜๋ณต ํšŸ์ˆ˜ : NRepetitionA๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค. 
    • ๋ฉ”์‹œ์ง€ ์ „์†ก : Signal constraint ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ, Message๊ฐ€ t_RepetitionA ์ฃผ๊ธฐ๋กœ NRepetitionA๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ
                            ์ „์†ก๋œ๋‹ค.
  3. If active
    ์—”์ง„์ด active ์ƒํƒœ์ด๋ฉฐ Signal Constraint๋ฅผ ๋งŒ์กฑํ•  ๋•Œ Message ๋˜๋Š” Signal์„ ์ „์†กํ•˜๋Š” ์œ ํ˜•
    (e.g. ์—”์ง„์ด ์ผœ์ ธ ์žˆ๊ณ , ์ฐจ๋Ÿ‰ ์†๋„๊ฐ€ 100km/h ์ด์ƒ์ผ ๋•Œ, ๊ณ ์† ์ฃผํ–‰ ์ƒํƒœ๋ผ๋Š” Message๋ฅผ ์ „์†ก )
  4. On event
    ECU์—์„œ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•จ์„ ํ†ตํ•ด Trigger signal ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ  Message ๋˜๋Š” Signal์„ ์ „์†กํ•˜๋Š” ์œ ํ˜•
    (e.g. ์•ž์ฐจ์™€ ๊ฐ€๊นŒ์›Œ์งˆ ๋•Œ ์ถฉ๋Œ ๊ฒฝ๊ณ  Message ์ „์†ก)
  5. Periodic
    ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ Message ๋˜๋Š” Signal์„ ์ „์†กํ•˜๋Š” ์œ ํ˜•
    (e.g. ์—”์ง„ ํšŒ์ „์ˆ˜ Message๋ฅผ 0.1์ดˆ๋งˆ๋‹ค ์ „์†กํ•˜์—ฌ ๊ฒŒ๊ธฐํŒ์— ๋ณด์—ฌ์คŒ)
    ์ˆœ์„œ๋Œ€๋กœ If active, On event, Periodic Timing Diagram (ํ•˜๋‹จ์— ์ถœ์ฒ˜ ์žˆ์Œ)

๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€ํ™˜ & ์ค‘๋ณต ID ๊ฒ€์‚ฌ - Address Translation

๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€ํ™˜๊ณผ ์ค‘๋ณต ID ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ํšจ์œจ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ๋†’์ธ๋‹ค.

  • ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€ํ™˜
    CAN bus๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” Message ํ˜•์‹์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ํ˜•์‹์„ ๋ณ€ํ™˜ํ•ด Message๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. 
  • ์ค‘๋ณต ID ๊ฒ€์‚ฌ
    CAN bus ID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Message๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ CAN bus๊ฐ€ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ, ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ™์€ ID๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ Network ๊ฐ„ ์ค‘๋ณต๋œ ID๊ฐ€ ์žˆ๋Š”์ง€ Gateway์—์„œ ํ™•์ธํ•˜๊ณ  ์ค‘๋ณต๋œ ๊ฒฝ์šฐ์—๋Š” Message๋ฅผ ์ˆ˜์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค. 

ํŠน์ • ๋ฉ”์‹œ์ง€๋งŒ ์ „๋‹ฌํ•˜๋„๋ก ์„ค์ • - Message Filtering

CAN Gateway๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  Message๋ฅผ ๋‹ค๋ฅธ CAN Bus์— ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์—
ํŠน์ • Message๋งŒ ์ „์†ก ๋˜๋Š” ์ˆ˜์‹ ํ•  ์ˆ˜  ์žˆ๋„๋ก ํ•„ํ„ฐ๋ง์„ ์ง€์›ํ•˜๋ฉฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.
(e.g. ๋ฉ”์‹œ์ง€ ID: 0x1234, ๋ฉ”์‹œ์ง€ ์œ ํ˜•: 0x01 ์„ค์ • ์‹œ ํ•ด๋‹น ID, ์œ ํ˜•์„ ๊ฐ€์ง„ ๋ฉ”์‹œ์ง€๋งŒ ์ „์†ก ๋˜๋Š” ์ˆ˜์‹ ๋  ์ˆ˜ ์žˆ๋‹ค.) 

๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ CAN Bus ์„ค์ • - Message Signal Routing

ํŠน์ • CAN Bus์— Message๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๋‹น CAN Bus์˜ ์ฃผ์†Œ๋‚˜ ์‹๋ณ„์ž๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•œ ํ›„ 
input-independent, input-triggered, signal routing service๋ผ๋Š” 3๊ฐ€์ง€ ์œ ํ˜•์˜ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†ก ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค.

โ€ป ์‹œ๊ฐ„์ œํ•œ 
๋ชฉ์ ์ง€ ECU์—์„œ Message๋ฅผ ์ˆ˜์‹  ์™„๋ฃŒํ•˜๋ฉด ack ์‹ ํ˜ธ๋ฅผ ์†ก์‹  ์ธก์— ๋ณด๋‚ด๋Š”๋ฐ ์ˆ˜์‹ ์ด ์•ˆ ๋˜์–ด ack ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š์„ ๋•Œ  
ack ์‹ ํ˜ธ๋ฅผ ๊ณ„์† ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒŒ ์•„๋‹Œ ์„ค์ •๋œ ์‹œ๊ฐ„์ œํ•œ๋งŒํผ๋งŒ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋‹ค์‹œ Message๋ฅผ ๋ณด๋‚ด๋Š” ๋“ฑ์˜ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

Input-independent

  • ์†ก์‹  ECU์—์„œ ๋ณด๋‚ด๋Š” Message์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ณ  ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ ํƒ€์ด๋จธ์— ๋งž์ถฐ ์ฃผ๊ธฐ์ ์œผ๋กœ
    Message๋ฅผ ๋‹ค๋ฅธ CAN bus๋กœ ์ „์†กํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค.
  • ํƒ€์ด๋จธ์˜ ์Šค๋ ˆ๋“œ๋ฅผ active ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์‹œ์ž‘๋˜๊ณ  sleep ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์ข…๋ฃŒ๋œ๋‹ค. 
  • ์™ธ๋ถ€์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์•„ ์•ˆ์ •์„ฑ์ด ๋†’์œผ๋‚˜ ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ๋งŒ ์ „์†กํ•ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ „์†กํ•  ์ˆ˜ ์—†๋‹ค.

Input-triggered

  • ์†ก์‹  ECU์—์„œ ๋ณด๋‚ด๋Š” Message์˜ trigger signal์ด active์ผ ๊ฒฝ์šฐ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ •ํ•œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๊ฒฝ์šฐ,
    Message๋ฅผ ๋‹ค๋ฅธ CAN bus๋กœ ์ „์†กํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค.
  • ์™ธ๋ถ€ ์ž…๋ ฅ์˜ ๊ฐ’์„ active mode๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์‹œ์ž‘๋˜๊ณ  sleep ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์ข…๋ฃŒ๋œ๋‹ค.
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ Message๋ฅผ ์ „์†กํ•ด ํšจ์œจ์„ฑ์ด ๋†’์œผ๋‚˜ ํŠน์ • ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์ „์†กํ•  ์ˆ˜ ์—†๋‹ค.

Signal routing service 

  • ์†ก์‹  ECU์—์„œ ๋ณด๋‚ด๋Š” ์‹ ํ˜ธ์˜ trigger signal์ด active์ผ ๊ฒฝ์šฐ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ •ํ•œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๊ฒฝ์šฐ, ์‹ ํ˜ธ๋ฅผ ๋‹ค๋ฅธ CAN bus๋กœ ์ „์†กํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค.
  • ์™ธ๋ถ€ ์ž…๋ ฅ์˜ ๊ฐ’์„ active mode๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์‹œ์ž‘๋˜๊ณ  sleep ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ „์†ก์ด ์ข…๋ฃŒ๋œ๋‹ค.
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ Message๋ฅผ ์ „์†กํ•ด ํšจ์œจ์„ฑ์ด ๋†’์œผ๋‚˜ ํŠน์ • ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์ „์†กํ•  ์ˆ˜ ์—†๋‹ค.

๋ฉ”์‹œ์ง€ ์ „์†ก - Message Transport

CAN Gateway๋Š” Transport protocol routing, TP Response Time-out, TP data Queueing ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ
CAN bus ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.


CAN Gateway์˜ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ณผ์ •

CAN Gateway์˜ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ํ”„๋กœํ† ์ฝœ ๋ผ์šฐํŒ…, ๋ฐ์ดํ„ฐ ํ์ž‰, TPDU ํ˜•์‹ ์ ์šฉ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด CAN ๋ฒ„์Šค ๊ฐ„ 
ํ”„๋กœํ† ์ฝœ์„ ์—ฐ๋™ํ•œ๋‹ค. ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜๋Š” ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. ์†ก์‹  ECU์—์„œ CAN bus์— ์†ก์‹ ํ•  ๋ฉ”์„ธ์ง€ ์ „์†ก
  2. CAN Gateway์—์„œ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ 
  3. CAN Gateway์—์„œ Transport protocol routing ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€์˜ TP๋ฅผ ๋ณ€ํ™˜
  4. CAN Gateway์—์„œ TP Response Time-out ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€ ์ „์†ก์„ ์žฌ์‹œ๋„
  5. CAN Gateway์—์„œ TP data Queueing ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅ
  6. CAN Gateway์—์„œ ์ˆ˜์‹  CAN bus๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†ก
  • Transport protocol routing
    CAN Gateway๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ, ๋ฉ”์‹œ์ง€๋ฅผ ๋ชฉ์ ์ง€์— ๋งž๋Š” ๋„คํŠธ์›Œํฌ๋กœ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋ฉฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜ํ–‰๋œ๋‹ค.
    1. CAN Gateway๋Š” CAN ๋„คํŠธ์›Œํฌ์—์„œ ์ˆ˜์‹ ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํ•ด๋‹น ๋ฉ”์‹œ์ง€์˜ ๋ชฉ์ ์ง€๋ฅผ ํ™•์ธ
    2. ์ˆ˜์‹  CAN bus์—์„œ ์‚ฌ์šฉํ•˜๋Š” TP์™€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ๋ฉ”์‹œ์ง€์˜ TP๋ฅผ ๋ณ€ํ™˜
    3. ๋ชฉ์ ์ง€๊ฐ€ ์ด๋”๋„ท ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๊ฒฝ์šฐ, CAN ๋ฉ”์‹œ์ง€๋ฅผ ์ด๋”๋„ท ํ”„๋ ˆ์ž„์œผ๋กœ ๋ณ€ํ™˜
    4. ์ด๋”๋„ท ํ”„๋ ˆ์ž„์€ ์ด๋”๋„ท ๋„คํŠธ์›Œํฌ๋กœ ์ „์†ก
  • TP Response Time-out
    CAN Gateway๊ฐ€ ํ”„๋กœํ† ์ฝœ ๋ผ์šฐํŒ…, ๋ฐ์ดํ„ฐ ํ์ž‰, TPDU ํ˜•์‹ ์ ์šฉ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์ง€์ •๋œ ์‹œ๊ฐ„ ๋‚ด์— ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์ •ํ•œ ์‹œ๊ฐ„์— ๋งž์ถฐ Time-out์„ ๋ฐœ์ƒ์‹œ๋ฉฐ UDS์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹œ๊ฐ„ ์ œํ•œ์„ ๊ถŒ์žฅํ•œ๋‹ค.
    1. N_Bs : 200ms
      ์ „์†ก ์™„๋ฃŒ๋ถ€ํ„ฐ Gateway๋ฅผ ํ†ตํ•œ ํ๋ฆ„ ์ œ์–ด ํ”„๋ ˆ์ž„ ์ˆ˜์‹ ๊นŒ์ง€์˜ ์ตœ๋Œ€ ์‹œ๊ฐ„
    2. N_Cr : 500ms
      ํ๋ฆ„ ์ œ์–ด ์ „์†ก ์™„๋ฃŒ๋ถ€ํ„ฐ ์—ฐ์† ํ”„๋ ˆ์ž„ ์ˆ˜์‹ ๊นŒ์ง€์˜ ์ตœ๋Œ€ ๊ธฐ๊ฐ„
  • TP data Queuing
    TP data Queueing์€ Gateway๊ฐ€ ์ˆ˜์‹ ํ•œ Message ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
    CAN Gateway๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ „์†ก ์†๋„, ๋„์ฐฉ ์ฃผ๊ธฐ ์‹œ๊ฐ„, ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ, ๋ชฉ์ ์ง€ ๋„คํŠธ์›Œํฌ์˜ ํ™œ์šฉ๋„ ๋“ฑ์˜ ์ด์œ ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€๊ธฐ์—ด์— ์ €์žฅํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋Œ€๊ธฐ์—ด์€ FIFO ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค.
  • TPDU ํ˜•์‹ ์ ์šฉ
    TPDU(Transport Protocol Data Unit)๋Š” ์ƒ์œ„ ๊ณ„์ธต์ด ์ „๋‹ฌํ•œ ๋ฐ์ดํ„ฐ์— ๋ถ™์ด๋Š” ์ œ์–ด ์ •๋ณด์ด๋ฉฐ
    ๋ฉ”์‹œ์ง€ ID, ๋ฉ”์‹œ์ง€ ๊ธธ์ด, ๋ฉ”์‹œ์ง€ ์œ ํ˜• ๋“ฑ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.
    ํ•ด๋‹น ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ์˜ค๋ฅ˜ ๋ณต๊ตฌ, ํ๋ฆ„ ์ œ์–ด๋ฅผ ํ•˜์—ฌ Transport stream์ด ์†์ƒ๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.

๐Ÿšช CAN Gateway ๋ชจ๋‹ˆํ„ฐ๋ง

๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์€ CAN Gateway๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ํŠน์ • ๋ฉ”์‹œ์ง€๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ๋„คํŠธ์›Œํฌ ํ™œ์„ฑ
    ๋„คํŠธ์›Œํฌ๊ฐ€ ๋น„ํ™œ์„ฑ ์ƒํƒœ์ธ ๊ฒฝ์šฐ, ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ECU๊ฐ€ ์œ ํšจํ•ด์•ผํ•จ
     ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ECU๊ฐ€ ์˜คํ”„๋ผ์ธ ์ƒํƒœ์ธ ๊ฒฝ์šฐ, ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.

CAN without network management

CAN without network management๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์—†๋Š” CAN ์‹œ์Šคํ…œ์„ ๋งํ•˜๋ฉฐ
์ด ์‹œ์Šคํ…œ์—์„œ ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  1. ์ฐจ๋Ÿ‰์˜ ์ ํ™”๊ฐ€ ์ผœ์ง‘๋‹ˆ๋‹ค.
  2. ๋„คํŠธ์›Œํฌ๊ฐ€ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ€์žฅ ๋Š๋ฆฐ ECU๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
  4. Gateway๋Š” ECU์—์„œ ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.
  5. Gateway๋Š” ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

CAN with network management

CAN with network management๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” CAN ์‹œ์Šคํ…œ์„ ๋งํ•˜๋ฉฐ
์ด ์‹œ์Šคํ…œ์—์„œ ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  1. ์ฐจ๋Ÿ‰์˜ ์ ํ™”๊ฐ€ ์ผœ์ง‘๋‹ˆ๋‹ค.
  2. Gateway๊ฐ€ Sleep network๋ฅผ ๊นจ์›๋‹ˆ๋‹ค.
  3. ๋„คํŠธ์›Œํฌ๊ฐ€ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.
  4. ๊ฐ€์žฅ ๋Š๋ฆฐ ECU๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
  5. Gateway๋Š” ECU์—์„œ ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.
  6. Gateway๋Š” ๋ฉ”์‹œ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿšช CAN Gateway ์—๋Ÿฌ

CAN Gateway๋Š” CAN Bus์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ์—๋Ÿฌ์— ๋Œ€ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ์กฐ์น˜๋ฅผ ์ทจํ•œ๋‹ค.

  • Bus-Off handling
    1. bus-off๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ์ •๋ณด๋ฅผ ECU๋“ค์— ์ „์†กํ•œ๋‹ค.
    2. ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๋…ธ๋“œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ , ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ์˜คํ”„๋ผ์ธ์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค.
    3. CAN bus์˜ ์ „์••์„ ์ •์ƒ ๋ฒ”์œ„๋กœ ๋ณต์›ํ•œ๋‹ค.
  • CAN Error Handling
    Bit Error, Stuffing Error, Format Error, CRC Error(โ€ป CAN ํ†ต์‹  ์ด๋ก ์—์„œ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค.)
    ๋ฐœ์ƒ ์‹œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ํ•ด๋‹น ๋…ธ๋“œ์— ์˜ค๋ฅ˜ ์‹ ํ˜ธ๋ฅผ ์ „์†กํ•œ๋‹ค.
  • Data corruption
    ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋“ค๋กœ ์ธํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋˜๋Š” Data corruption์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์‹œํ•˜๊ณ  
    ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์†ก์‹ ํ•œ ๋…ธ๋“œ์— ์˜ค๋ฅ˜ ์‹ ํ˜ธ๋ฅผ ์ „์†กํ•œ๋‹ค.
  • Duplicate message
    CAN bus์— ๋™์ผํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‘ ๋ฒˆ ์ „์†ก๋  ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์‹œ ๋˜๋Š” ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•œ๋‹ค.
  • Error pin status
    ๋…ธ๋“œ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ƒํƒœ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ํ›„ ํ•„์š”ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•œ๋‹ค.
  • Invalid message
    CAN bus์—์„œ ์ž˜๋ชป๋œ ํ˜•์‹์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜์—ˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์‹œ ๋˜๋Š” ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•œ๋‹ค.
  • Lost messsage
    '๋„คํŠธ์›Œํฌ์—์„œ ์ „์†ก๋˜์—ˆ์ง€๋งŒ, ์ˆ˜์‹  ์ธก์—์„œ ์ˆ˜์‹ ๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์žฌ์ „์†ก ๋˜๋Š” ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์œ ์‹ค์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  • Network error strategy
    ์ด ๋ฐ–์— ๋‹ค์–‘ํ•œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋Œ€์‘ ๋ฐ ๋ณต๊ตฌ ๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜์—ฌ ์•ˆ์ •์„ฑ์„ ๋†’์ธ๋‹ค.

[์ฐธ์กฐ]

https://patents.google.com/patent/KR20090030765A/ko

profile

Toby's Study Blog

@Toby12

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!

๊ฒ€์ƒ‰ ํƒœ๊ทธ