VLSI Wiki
Contents:
  1. CAN IP
    1. 1. Definition: What is CAN IP?
    2. 2. Components and Operating Principles
    3. 3. Related Technologies and Comparison
    4. 4. References
    5. 5. One-line Summary

CAN IP

1. Definition: What is CAN IP?

CAN IP (Controller Area Network Intellectual Property)๋Š” VLSI ์‹œ์Šคํ…œ ์„ค๊ณ„์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” IP ๋ธ”๋ก์œผ๋กœ, ์ฐจ๋Ÿ‰ ๋ฐ ์‚ฐ์—… ์ž๋™ํ™” ์‹œ์Šคํ…œ์˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ธ CAN (Controller Area Network)์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CAN IP๋Š” ๋‹ค์–‘ํ•œ ์ „์ž ์žฅ์น˜ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ํŠนํžˆ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ค‘์š”ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๋‹ค์–‘ํ•œ ์ „์ž ์žฅ์น˜๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํ”„๋กœํ† ์ฝœ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

CAN IP๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์˜ค๋ฅ˜ ๊ฐ์ง€. ๋ฐ์ดํ„ฐ ์ „์†ก ๊ธฐ๋Šฅ์€ CAN ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ  ์ˆ˜์‹ ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜๋ฉฐ, ์˜ค๋ฅ˜ ๊ฐ์ง€ ๊ธฐ๋Šฅ์€ ์ „์†ก ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์ฐจ๋Ÿ‰ ๋‚ด ๋‹ค์–‘ํ•œ ์„ผ์„œ์™€ ์•ก์ถ”์—์ดํ„ฐ ๊ฐ„์˜ ์›ํ™œํ•œ ํ†ต์‹ ์„ ๋ณด์žฅํ•˜๋ฉฐ, ์‹œ์Šคํ…œ์˜ ์ „๋ฐ˜์ ์ธ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

CAN IP์˜ ์ค‘์š”์„ฑ์€ ํŠนํžˆ ์ž๋™์ฐจ ์‚ฐ์—…์—์„œ ๋‘๋“œ๋Ÿฌ์ง€๋ฉฐ, ํ˜„๋Œ€์˜ ์ฐจ๋Ÿ‰์€ ์ˆ˜์‹ญ ๊ฐœ์˜ ECU (Electronic Control Unit)๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. CAN IP๋Š” ์ด๋Ÿฌํ•œ ECU ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐ์ •ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•˜๋ฏ€๋กœ, ์ž๋™์ฐจ์˜ ์„ฑ๋Šฅ๊ณผ ์•ˆ์ „์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, CAN IP๋Š” ๋‹ค์–‘ํ•œ ์‚ฐ์—… ์ž๋™ํ™” ์‹œ์Šคํ…œ์—์„œ๋„ ์‚ฌ์šฉ๋˜์–ด, ๊ธฐ๊ณ„ ๊ฐ„์˜ ์›ํ™œํ•œ ํ†ต์‹ ๊ณผ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

2. Components and Operating Principles

CAN IP๋Š” ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. CAN Controller: CAN ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ๋กœ, ๋ฐ์ดํ„ฐ ํŒจํ‚ท์˜ ์ƒ์„ฑ, ์ „์†ก, ์ˆ˜์‹  ๋ฐ ์˜ค๋ฅ˜ ๊ฐ์ง€๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. CAN Controller๋Š” ๋ฉ”์‹œ์ง€ ์šฐ์„  ์ˆœ์œ„, ๋ฐ์ดํ„ฐ ๊ธธ์ด ๋ฐ ์‹๋ณ„์ž๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ, ๋„คํŠธ์›Œํฌ์—์„œ์˜ ๋ฐ์ดํ„ฐ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

  2. Transceiver: CAN Controller์™€ ๋ฌผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋ฅผ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. Transceiver๋Š” ์ „์†ก๋œ ์‹ ํ˜ธ์˜ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ์ „๊ธฐ์  ํŠน์„ฑ์„ ์กฐ์ •ํ•˜์—ฌ ์‹ ํ˜ธ ์™œ๊ณก์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  3. Message Buffer: CAN Controller ๋‚ด๋ถ€์— ์œ„์น˜ํ•˜๋ฉฐ, ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„ํผ๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ, ์‹œ์Šคํ…œ์˜ ์‘๋‹ต์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

  4. Error Handling Mechanism: CAN ํ”„๋กœํ† ์ฝœ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์œผ๋กœ, ์ „์†ก ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์žฌ์ „์†ก ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํฌํ•จํ•˜์—ฌ, ์‹œ์Šคํ…œ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ์„œ๋กœ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, CAN IP์˜ ์ „์ฒด์ ์ธ ์„ฑ๋Šฅ์„ ๊ฒฐ์ •์ง“์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, CAN Controller๋Š” ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ Message Buffer์— ์ €์žฅํ•œ ํ›„, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Transceiver๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜ ๊ฐ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ž‘๋™ํ•˜์—ฌ, ์ „์†ก ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

CAN IP๋Š” ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๋ฐ ๊ธฐ์ˆ ๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ LIN (Local Interconnect Network)์™€ FlexRay๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค ๊ธฐ์ˆ ์€ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์ด ์žˆ์œผ๋ฉฐ, ํŠน์ • ์‘์šฉ ๋ถ„์•ผ์— ๋”ฐ๋ผ ์„ ํƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • LIN: LIN์€ ์ €์† ํ†ต์‹ ์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ, ์ฃผ๋กœ ์ €๋น„์šฉ์˜ ์„ผ์„œ ๋ฐ ์•ก์ถ”์—์ดํ„ฐ ์—ฐ๊ฒฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CAN์— ๋น„ํ•ด ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋น„์šฉ์ด ๋‚ฎ๊ณ  ๊ตฌํ˜„์ด ์šฉ์ดํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„์™€ ์‹ ๋ขฐ์„ฑ ๋ฉด์—์„œ๋Š” CAN์— ๋ฏธ์น˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

  • FlexRay: FlexRay๋Š” ๊ณ ์† ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ, CAN๋ณด๋‹ค ๋” ๋†’์€ ๋Œ€์—ญํญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ FlexRay๋Š” ๋” ๋ณต์žกํ•œ ๊ตฌ์กฐ์™€ ๋†’์€ ๊ตฌํ˜„ ๋น„์šฉ์„ ์š”๊ตฌํ•˜๋ฏ€๋กœ, ๊ณ ๊ธ‰ ์ฐจ๋Ÿ‰ ์‹œ์Šคํ…œ ๋ฐ ์•ˆ์ „ ๊ด€๋ จ ์‘์šฉ ๋ถ„์•ผ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋น„๊ต๋ฅผ ํ†ตํ•ด CAN IP๋Š” ์ค‘๊ฐ„ ์ •๋„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„์™€ ์‹ ๋ขฐ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, CAN IP๋Š” ์ž๋™์ฐจ์˜ ์—”์ง„ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, ABS (Anti-lock Braking System), ์—์–ด๋ฐฑ ์‹œ์Šคํ…œ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ๋“ค์€ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก๊ณผ ๋†’์€ ์‹ ๋ขฐ์„ฑ์„ ํ•„์š”๋กœ ํ•˜๋ฏ€๋กœ, CAN IP์˜ ํŠน์„ฑ์ด ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

4. References

  • Bosch, R. (1991). CAN Specification 2.0. Robert Bosch GmbH.
  • ISO 11898: Road vehicles - Controller area network (CAN).
  • SAE International. (2003). J2284: Controller Area Network (CAN) Protocol.
  • Various automotive manufacturers and semiconductor companies involved in CAN IP development.

5. One-line Summary

CAN IP๋Š” ์ฐจ๋Ÿ‰ ๋ฐ ์‚ฐ์—… ์ž๋™ํ™” ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์œ„ํ•œ ํ•„์ˆ˜์ ์ธ ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„ ๋ธ”๋ก์œผ๋กœ, ๋†’์€ ์‹ ๋ขฐ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.