์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

CAN-FD ๋ฒ„์Šค ํ† ํด๋กœ์ง€ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ์™€ ๋น„ํŠธ ์—๋Ÿฌ ๊ทน๋ณต์„ ์œ„ํ•œ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ๋™์  ์ตœ์ ํ™” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

๊ฒŒ์ž„๊ต์ˆ˜ 2026. 9. 5. 01:01
๋ฐ˜์‘ํ˜•

๐ŸŒ English Abstract

This article provides an in-depth troubleshooting guide for resolving signal reflections and bit errors caused by impedance mismatch in CAN-FD bus topologies. As data bitrates increase up to 5โ€“8 Mbps, stub lines and dynamic topology variations induce critical ringing phenomena during the data phase. We explore the implementation of Dynamic Sampling Point Optimization along with Transmitter Delay Compensation (TDC) and Secondary Sampling Point (SSP) tuning to ensure reliable automotive ECU communication under complex physical layer constraints.

์ฐจ๋Ÿ‰์šฉ ๋„คํŠธ์›Œํฌ ๋ฐ ์‚ฐ์—…์šฉ ์ œ์–ด ์‹œ์Šคํ…œ์ด ๊ณ ๋„ํ™”๋จ์— ๋”ฐ๋ผ ๊ธฐ์กด ํด๋ž˜์‹ CAN(Classical Controller Area Network)์˜ ๋Œ€์—ญํญ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด CAN-FD(CAN Flexible Data-rate) ๋„์ž…์ด ํ•„์ˆ˜์ ์œผ๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค. CAN-FD๋Š” ์ค‘์žฌ ํŒŒํŠธ(Arbitration Phase)์—์„œ๋Š” ๊ธฐ์กด์˜ 500kbps~1Mbps ์†๋„๋ฅผ ์œ ์ง€ํ•˜๋‹ค๊ฐ€, ๋ฐ์ดํ„ฐ ํŒŒํŠธ(Data Phase)์— ์ง„์ž…ํ•˜๋ฉด 2Mbps, 5Mbps, ํ˜น์€ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ์ตœ๋Œ€ 8Mbps ์ด์ƒ๊นŒ์ง€ ๋น„ํŠธ ์ „์†ก๋ฅ (Bitrate)์„ ๋Œ€ํญ ๋Œ์–ด์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ฆฌ์ธต(Physical Layer)์—์„œ ๋ฐ์ดํ„ฐ ํŒŒํŠธ์˜ ๋น„ํŠธ ์‹œ๊ฐ„(Bit Time)์ด ๊ทน๋‹จ์ ์œผ๋กœ ์ค„์–ด๋“ฆ์— ๋”ฐ๋ผ, ๊ธฐ์กด ๋ฒ„์Šค ํ† ํด๋กœ์ง€(Bus Topology) ํ™˜๊ฒฝ์—์„œ๋Š” ๊ด€๋Œ€ํ•˜๊ฒŒ ๋„˜์–ด๊ฐ”๋˜ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜(Impedance Mismatch) ๋ฌธ์ œ๋“ค์ด ์น˜๋ช…์ ์ธ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ(Signal Reflection) ๋ฐ ๋ง์ž‰(Ringing) ํ˜„์ƒ์œผ๋กœ ํ‘œ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํŠธ๋žœ์‹œ๋ฒ„๊ฐ€ ์ˆ˜์‹ ํ•˜๋Š” ์ฐจ๋™ ์ „์••(Differential Voltage)์˜ ์ž„๊ณ„๊ฐ’์ด ํ”๋“ค๋ฆฌ๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋น„ํŠธ ์—๋Ÿฌ(Bit Error)์™€ ๋ฒ„์Šค ์˜คํ”„(Bus-Off)๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๋‚œ์ œ์— ์ง๋ฉดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” CAN-FD ๋ฒ„์Šค ํ† ํด๋กœ์ง€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌผ๋ฆฌ์  ์‹ ํ˜ธ ์™œ๊ณก ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ „์†ก์„ ๋กœ ์ด๋ก (Transmission Line Theory) ๊ด€์ ์—์„œ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํŠธ๋žœ์‹œ๋ฒ„ ๋ ˆ๋ฒจ์—์„œ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ๋™์  ์ตœ์ ํ™”(Dynamic Sampling Point Optimization) ๊ธฐ๋ฒ•๊ณผ ํ˜„์—… ์ค‘์‹ฌ์˜ ํ•ด๊ฒฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งค์šฐ ์ƒ์„ธํžˆ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.



1. CAN-FD ๋ฌผ๋ฆฌ์ธต์˜ ํŠน์„ฑ๊ณผ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜

CAN-FD ์‹œ์Šคํ…œ์—์„œ ์‹ ํ˜ธ ํ’ˆ์งˆ ๋ฌธ์ œ์˜ ๊ทผ๋ณธ์ ์ธ ์›์ธ์€ ๊ณ ์† ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„์™€ ๋ฒ„์Šค ๊ตฌ์กฐ์˜ ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„ ๊ฐ„์˜ ์ถฉ๋Œ์—์„œ ๋น„๋กฏ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๋ ค๋ฉด ํŠน์„ฑ ์ž„ํ”ผ๋˜์Šค์™€ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ ํŒŒ๋™์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1.1. ํŠน์„ฑ ์ž„ํ”ผ๋˜์Šค์™€ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ ๊ณ„์ˆ˜

ํ‘œ์ค€ CAN ๋ฒ„์Šค๋Š” $120\Omega$์˜ ํŠน์„ฑ ์ž„ํ”ผ๋˜์Šค(Characteristic Impedance, $Z_0$)๋ฅผ ๊ฐ€์ง€๋Š” ๊ผฌ์ž„์Œ์„ (Twisted Pair Cable)์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ฒ„์Šค์˜ ์–‘์ชฝ ๋๋‹จ์—๋Š” ์ฐจ๋™ ์‹ ํ˜ธ์˜ ๋ฐ˜์‚ฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด $120\Omega$์˜ ์ข…๋‹จ ์ €ํ•ญ(Termination Resistor, $R_T$)์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์‹ ํ˜ธ ๋ฐ˜์‚ฌ ๊ณ„์ˆ˜(Reflection Coefficient, $\Gamma$)๋Š” ์•„๋ž˜ ๊ณต์‹์œผ๋กœ ์‚ฐ์ถœ๋ฉ๋‹ˆ๋‹ค:

$\Gamma = \frac{Z_L - Z_0}{Z_L + Z_0}$

์—ฌ๊ธฐ์„œ $Z_L$์€ ์‹ ํ˜ธ๊ฐ€ ๋„๋‹ฌํ•˜๋Š” ์ง€์ ์˜ ๋ถ€ํ•˜ ์ž„ํ”ผ๋˜์Šค์ž…๋‹ˆ๋‹ค. ะธะดะตะฐ์ ์ธ ์„ ํ˜• ๋ฒ„์Šค์—์„œ $Z_L = Z_0$์ด๋ฉด ๋ฐ˜์‚ฌ ๊ณ„์ˆ˜ $\Gamma = 0$์ด ๋˜์–ด ์‹ ํ˜ธ ๋ฐ˜์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ํ•˜๋„ค์Šค ์„ค๊ณ„์—์„œ๋Š” ๋‹ค์Œ ์š”์ธ๋“ค๋กœ ์ธํ•ด ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜(Impedance Mismatch)๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค:

  • ์Šคํ… ๋ผ์ธ(Stub Line)์˜ ์กด์žฌ: ECU ๋…ธ๋“œ๋ฅผ ๋ฉ”์ธ ๋ฒ„์Šค์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๊ธฐ๋˜๋Š” ๊ฐ€์ง€ ์„ ๋กœ(Stub)๋Š” localized ์ž„ํ”ผ๋˜์Šค ๊ธ‰๊ฐ ํ˜„์ƒ์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  • ๋…ธ๋“œ ์—ฐ๊ฒฐ ์ปค๋„ฅํ„ฐ ๋ฐ ๊ธฐ์ƒ ์ปคํŒจ์‹œํ„ด์Šค(Parasitic Capacitance): ํŠธ๋žœ์‹œ๋ฒ„ ๋‚ด๋ถ€ ESD ๋ณดํ˜ธ ๋‹ค์ด์˜ค๋“œ ๋ฐ EMC ์–ต์ œ์šฉ ์ปคํŒจ์‹œํ„ฐ์— ์˜ํ•ด ์ฐจ๋™ ๋ผ์ธ์˜ ์ž„ํ”ผ๋˜์Šค๊ฐ€ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.
  • ๋ณต์žกํ•œ ๋ฒ„์Šค ํ† ํด๋กœ์ง€: ์Šคํƒ€(Star) ํ˜•์ด๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ(Cluster) ํ˜•์ด ํ˜ผํ•ฉ๋œ ํ† ํด๋กœ์ง€์—์„œ๋Š” ๋ฐ˜์‚ฌํŒŒ์˜ ์ค‘์ฒฉ(Superposition)์ด ์‹ฌํ™”๋ฉ๋‹ˆ๋‹ค.

1.2. ๋ง์ž‰(Ringing) ํ˜„์ƒ์ด ๋น„ํŠธ ์ „์†ก์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

๋ฐ์ดํ„ฐ ํŒŒํŠธ์˜ ๋น„ํŠธ ์ „์†ก๋ฅ ์ด 5Mbps์ธ ๊ฒฝ์šฐ, 1 ๋น„ํŠธ์˜ ์ง€์† ์‹œ๊ฐ„์ธ ๋น„ํŠธ ์‹œ๊ฐ„(Bit Time)์€ ๋‹จ 200ns์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ์‹ ํ˜ธ ๋ง์ž‰(Signal Ringing)์˜ ๊ฐ์‡„ ์‹œ๊ฐ„(Decay Time)์ด 100ns~150ns ๋™์•ˆ ์ง€์†๋œ๋‹ค๋ฉด, ๋น„ํŠธ์˜ ์•ˆ์ •์ ์ธ ๋…ผ๋ฆฌ ์ƒํƒœ ๋ ˆ๋ฒจ(Dominant / Recessive)์„ ์œ ์ง€ํ•˜๋Š” ๊ตฌ๊ฐ„์ด ์‚ฌ๋ผ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ํ‘œ๋Š” ๋น„ํŠธ ์†๋„์— ๋”ฐ๋ฅธ ๋น„ํŠธ ์‹œ๊ฐ„๊ณผ ๋ง์ž‰ ์˜ํ–ฅ์„ฑ์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค:

๊ตฌ๋ถ„ (Phase) ์ „์†ก ์†๋„ (Bitrate) 1 ๋น„ํŠธ ์‹œ๊ฐ„ (Bit Time) ๋ง์ž‰ ํ—ˆ์šฉ ์‹œ๊ฐ„ ์˜์—ญ ๋น„ํŠธ ์—๋Ÿฌ ์œ„ํ—˜๋„
Arbitration Phase 500 kbps 2,000 ns ์ƒ๋Œ€์ ์œผ๋กœ ๋„‰๋„‰ํ•จ (> 1,500ns) ๋งค์šฐ ๋‚ฎ์Œ
Data Phase (Low) 2 Mbps 500 ns ์ œํ•œ์  (์•ฝ 200~300ns) ๋ณดํ†ต
Data Phase (High) 5 Mbps 200 ns ๊ทน๋„๋กœ ํ˜‘์†Œํ•จ (< 50ns) ๋งค์šฐ ๋†’์Œ (Critical)

์ฐจ๋™ ์ „์•• $V_{DIFF} = V_{CANH} - V_{CANL}$์ด ํŠธ๋žœ์‹œ๋ฒ„์˜ ์ˆ˜์‹  ์ž„๊ณ„๊ฐ’(Threshold Voltage, ์•ฝ 0.9V ๋ฐ 0.5V)์„ ๋„˜๋‚˜๋“ค๋ฉฐ ์ง„๋™ํ•  ๋•Œ, CAN ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ž˜๋ชป๋œ ์ƒ˜ํ”Œ๋ง์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋น„ํŠธ ์—๋Ÿฌ(Bit Error), ์Šคํ„ฐํ•‘ ์—๋Ÿฌ(Stuff Error), CRC ์—๋Ÿฌ๋ฅผ ๋‚ด๋ฟœ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2. CAN ๋น„ํŠธ ํƒ€์ด๋ฐ ๊ตฌ์กฐ์™€ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ์˜ ํ•œ๊ณ„

CAN ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ 1 ๋น„ํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋“ค์ด๋Š” ์ •๋ฐ€ํ•œ ์‹œ์ ์„ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ(Sampling Point, SP)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ์˜ ์œ„์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ ์ €ํ•ญ์„ฑ์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

2.1. ๋น„ํŠธ ์„ธ๊ทธ๋จผํŠธ(Bit Segment)์˜ ๊ตฌ์„ฑ

ํ•˜๋‚˜์˜ ๋น„ํŠธ ์‹œ๊ฐ„(Nominal/Data Bit Time)์€ ์ตœ์†Œ ๋‹จ์œ„ ์‹œ๊ฐ„์ธ ์‹œ๊ฐ„ ํ€€ํ…€(Time Quantum, $T_q$)์˜ ์ •์ˆ˜ ๋ฐฐ๋กœ ๋ถ„ํ• ๋˜๋ฉฐ, ๋‹ค์Œ 4๊ฐ€์ง€ ์„ธ๊ทธ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

  1. Sync_Seg (Synchronization Segment): ๋ฒ„์Šค ์ „ํ™˜(Edge) ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ๊ฐ„ (ํ•ญ์ƒ $1 T_q$).
  2. Prop_Seg (Propagation Segment): ๋„คํŠธ์›Œํฌ ๋ฌผ๋ฆฌ์  ์ „ํŒŒ ์ง€์—ฐ(Cable delay, Transceiver delay)์„ ๋ณด์ƒํ•˜๋Š” ๊ตฌ๊ฐ„.
  3. Phase_Seg1 (Phase Buffer Segment 1): ์—์ง€ ์ •๋ ฌ ์˜ค์ฐจ๋ฅผ ํก์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ์ด์ „์— ์œ„์น˜ํ•˜๋Š” ๋ณด์ƒ ๊ตฌ๊ฐ„.
  4. Phase_Seg2 (Phase Buffer Segment 2): ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ์ดํ›„์— ์œ„์น˜ํ•˜๋ฉฐ, ๋‹ค์Œ ๋น„ํŠธ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์ •๋ฐ€๋„๋ฅผ ์กฐ์ •ํ•˜๋Š” ๊ตฌ๊ฐ„.

์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ์˜ ์œ„์น˜๋Š” ๋น„ํŠธ ์‹œ๊ฐ„ ์ „์ฒด์— ๋Œ€ํ•œ ๋น„์œจ(%)๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ์‚ฐ์ถœ ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

$\text{Sampling Point (\%)} = \frac{\text{Sync\_Seg} + \text{Prop\_Seg} + \text{Phase\_Seg1}}{\text{Total Bit } T_q} \times 100$

2.2. ๊ณ ์ • ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ(Fixed Sampling Point)์˜ ๋ฌธ์ œ์ 

์ผ๋ฐ˜์ ์œผ๋กœ ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ๋ฅผ ๋น„ํŠธ์˜ 75% ~ 80% ์ง€์ ์— ๊ณ ์ •(Fixed) ํ˜•ํƒœ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์‹ ํ˜ธ๊ฐ€ ์•ˆ์ •ํ™”๋  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ณต์žกํ•œ ๋ฒ„์Šค ํ† ํด๋กœ์ง€ ๋ฐ ์Šคํ… ๋ผ์ธ ๋ฐ˜์‚ฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญ์„ค์  ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค:

  • ์‹ ํ˜ธ ๋ง์ž‰์˜ 2์ฐจ, 3์ฐจ ๋ฐ˜์‚ฌ ํ”ผํฌ(Peak) ์ง€์ ์ด ํ•˜ํ•„์ด๋ฉด 80% ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ์ง€์ ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŠธ๋žœ์‹œ๋ฒ„ ์ž์ฒด์˜ ์ „์†ก ์ง€์—ฐ(Loop Delay) ํ˜„์ƒ์ด ๊ณ ์˜จ ์ƒํƒœ๋‚˜ ์ปดํฌ๋„ŒํŠธ ํŽธ์ฐจ์— ์˜ํ•ด ์ด๋™ํ•˜๋ฉด, ์ˆ˜์‹ ๋œ ๋น„ํŠธ ์—์ง€๊ฐ€ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ๋’ค๋กœ ๋ฐ€๋ ค๋ฒ„๋ฆฌ๋Š” Timing Drift๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ •์ ์ธ(Static) ๋น„ํŠธ ํƒ€์ด๋ฐ ์„ค์ •๋งŒ์œผ๋กœ๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฌผ๋ฆฌ์ธต ์ž„ํ”ผ๋˜์Šค ๋ณ€ํ™”์™€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.



3. ํ•ด๊ฒฐ์ฑ…: ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ๋™์  ์ตœ์ ํ™” ๋ฐ ์‹ค๋ฌด ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜๋กœ ์ธํ•œ ๋ง์ž‰๊ณผ ์‹ ํ˜ธ ์ง€์—ฐ์„ ์™„๋ฒฝํ•˜๊ฒŒ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ํ˜„์—…์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ตœ์ ํ™”์™€ ๋ฌผ๋ฆฌ์ธต ๊ฐœ์„  ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์„ ๋ณ‘ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3.1. ์ „์†ก ์ง€์—ฐ ๋ณด์ƒ(TDC: Transmitter Delay Compensation) ๋ฐ SSP ๋™์  ๊ณ„์‚ฐ

CAN-FD ๊ณ ์† ๋ฐ์ดํ„ฐ ํŒŒํŠธ์—์„œ๋Š” ์ „์†ก ๋ฃจํ”„ ์ง€์—ฐ(Transceiver Loop Delay)์ด ๋น„ํŠธ ์‹œ๊ฐ„(200ns)์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณด์ƒํ•˜๊ธฐ ์œ„ํ•ด CAN-FD ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ „์†ก ์ง€์—ฐ ๋ณด์ƒ(Transceiver Delay Compensation, TDC) ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ **๋ณด์กฐ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ(Secondary Sampling Point, SSP)**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์†ก์‹  ๋…ธ๋“œ๊ฐ€ Tx ํ•€์œผ๋กœ Dominant๋ฅผ ๋‚ด๋ณด๋‚ธ ํ›„ Rx ํ•€์œผ๋กœ ํ•ด๋‹น Dominant๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„($t_{loop}$)์„ ๋‚ด๋ถ€ ํƒ€์ด๋จธ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ SSP์˜ ์œ„์น˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ ์œผ๋กœ ์‚ฐ์ถœํ•ฉ๋‹ˆ๋‹ค:

$\text{SSP Position} = t_{loop} + \text{TDCO (Transmitter Delay Compensation Offset)}$

์‹ค๋ฌด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ ๊ฐ€์ด๋“œ:

  • TDCO(TDC ์˜คํ”„์…‹) ์„ค์ •: ๋‹จ์ˆœ ์˜คํ”„์…‹ ์„ค์ •์— ๊ทธ์น˜์ง€ ์•Š๊ณ , ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„๋กœ ์ธก์ •ํ•œ ๋ง์ž‰ ๊ฐ์‡„ ์ข…๋ฃŒ ์‹œ์ (Ringing Settle Time)์„ ๊ณ ๋ คํ•˜์—ฌ $Prop\_Seg + Phase\_Seg1$์˜ ์ค‘์•™์— SSP๊ฐ€ ์˜ค๋„๋ก TDCO๋ฅผ ๋™์ ์œผ๋กœ ์žฌ๊ณ„์‚ฐ(Dynamic Re-calculation)ํ•ฉ๋‹ˆ๋‹ค.
  • TDC Filter Window (TDCF) ์ตœ์ ํ™”: ๋ฒ„์Šค์˜ ์ˆœ๊ฐ„์ ์ธ ๋ง์ž‰ ์ŠคํŒŒ์ดํฌ(Glitch)๋กœ ์ธํ•ด TDC ํŠœ๋‹ ํƒ€์ด๋จธ๊ฐ€ ์ž˜๋ชป ์œ ๋ฐœ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋„๋ก TDC Filter Window ๊ฐ’์„ ๋ง์ž‰ ์ŠคํŒŒ์ดํฌ ํญ ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

3.2. ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„ ๋ฐ CAN Analyzer ๊ธฐ๋ฐ˜ ์‹ ํ˜ธ ๋ถ„์„ ๋‹จ๊ณ„

์‹ค์ œ ์ฐจ๋Ÿ‰ ์‹œํ—˜ ๋˜๋Š” HILs(Hardware-in-the-Loop Simulation) ํ™˜๊ฒฝ์—์„œ ์—๋Ÿฌ๋ฅผ ์ถ”์ ํ•˜๋Š” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ์ฐจ๋™ ํŒŒํ˜• ์ธก์ • (Differential Waveform Measurement):
    ๊ณ ์„ฑ๋Šฅ ์ฐจ๋™ ํ”„๋กœ๋ธŒ(Differential Probe, ์ตœ์†Œ 500MHz ์ด์ƒ ๋Œ€์—ญํญ)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ ๋ฐœ์ƒ ECU ํ•€ ๋ฐ”๋กœ ์ง์ „์˜ $V_{DIFF}$ ํŒŒํ˜•์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ง์ž‰ ์ฃผํŒŒ์ˆ˜ ๋ฐ ๊ฐ์‡„ ์‹œ๊ฐ„ ๋ถ„์„:
    ํŒŒํ˜•์—์„œ ๋ง์ž‰์ด ๋ฐœ์ƒํ•˜๋Š” ์ฃผํŒŒ์ˆ˜($f_{ring}$)์™€ ์‹ ํ˜ธ๊ฐ€ $V_{DIFF} > 0.9V$(Dominant) ๋˜๋Š” $V_{DIFF} < 0.5V$(Recessive) ๋ฒ”์œ„ ๋‚ด๋กœ ์™„์ „ํ•˜๊ฒŒ ์ˆ˜๋ ดํ•˜๋Š” ์‹œ๊ฐ„($t_{settle}$)์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ์œˆ๋„์šฐ ์Šค์บ” (Sampling Point Sweep):
    CAN-FD ์ปจํŠธ๋กค๋Ÿฌ ๋ ˆ์ง€์Šคํ„ฐ์˜ $Data\_Phase\_Seg1$๊ณผ $Data\_Phase\_Seg2$ ๋น„์œจ์„ 50%๋ถ€ํ„ฐ 90%๊นŒ์ง€ 2.5% ๋‹จ์œ„๋กœ ๋งคํ•‘ ์กฐ์ •ํ•˜๋ฉฐ ๋น„ํŠธ ์—๋Ÿฌ์œจ(BER: Bit Error Rate)์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
  4. ์•ˆ์ „์ง€๋Œ€(Clean Zone)๋กœ SP ์ด๋™:
    ๋ง์ž‰ ๋ฐ˜์‚ฌํŒŒ์˜ ๊ณจ(Trough) ๋ฐ ๋งˆ๋ฃจ(Peak) ์ง€์ ์„ ๋ฌด์กฐ๊ฑด ํ”ผํ•˜๊ณ , ํŒŒํ˜•์ด ํ‰ํƒ„ํ™”๋œ ๊ตฌ๊ฐ„(Clean Zone)์— ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ๊ฐ€ ์ •๋ ฌ๋˜๋„๋ก $Phase\_Seg1$๊ณผ $Phase\_Seg2$๋ฅผ ๋ถ„ํ•  ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

3.3. ๋ฒ„์Šค ํ† ํด๋กœ์ง€ ๋ฐ ํ•˜๋“œ์›จ์–ด ํšŒ๋กœ ๋ณด์™„ (Split Termination)

์†Œํ”„ํŠธ์›จ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ๋ฅผ ์กฐ์ •ํ•˜๋”๋ผ๋„, ์‹ ํ˜ธ ์™œ๊ณก ์ž์ฒด๊ฐ€ ์‹ฌ๊ฐํ•˜๋‹ค๋ฉด ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌผ๋ฆฌ์ธต ํšŒ๋กœ ์ˆ˜์ •์„ ํ†ตํ•œ ๋ง์ž‰ ์ €๊ฐ ๊ธฐ๋ฒ•์„ ๋ณ‘ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์Šคํ”Œ๋ฆฟ ์ข…๋‹จ(Split Termination)์˜ ์ ์šฉ:
    ๊ธฐ์กด์˜ ๋‹จ์ผ $120\Omega$ ์ €ํ•ญ ๋Œ€์‹ , $60\Omega$ ์ €ํ•ญ ๋‘ ๊ฐœ๋ฅผ ์ง๋ ฌ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ทธ ์ค‘์•™ ์ง€์ ์— $4.7nF \sim 10nF$ ์ปคํŒจ์‹œํ„ฐ๋ฅผ ์ง€์ƒ(GND)์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์Šคํ”Œ๋ฆฟ ์ข…๋‹จ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ณ ์ฃผํŒŒ ๋ง์ž‰ ์„ฑ๋ถ„์„ GND๋กœ ๋ฐ”์ดํŒจ์Šค(Bypass) ์‹œ์ผœ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ ์ง„ํญ์„ ํ˜„๊ฒฉํžˆ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.
  • ์Šคํ… ๋ผ์ธ(Stub Line) ๊ธธ์ด ์ œํ•œ ๋ฐ ์ธ๋•ํ„ด์Šค ์ œ๊ฑฐ:
    ๊ณ ์† Data Phase(5Mbps) ๊ตฌ๊ฐ„์—์„œ๋Š” ๊ฐ ECU ๋…ธ๋“œ์˜ ์Šคํ… ๋ผ์ธ ๊ธธ์ด๊ฐ€ **30cm ์ดํ•˜**๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ณตํ†ต ๋ชจ๋“œ ์ดˆํฌ(Common Mode Choke, CMC)์˜ ๊ธฐ์ƒ ์ธ๋•ํ„ด์Šค์— ์˜ํ•œ ๊ณต์ง„(Resonance) ์—ฌ๋ถ€๋ฅผ ๊ฒ€์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

4. ํ˜„์—…์—์„œ ๋งˆ์ฃผ์น˜๋Š” ์—ฃ์ง€ ์ผ€์ด์Šค(Edge Cases) ๋Œ€์‘๋ฒ•

์‹ค์ œ ์–‘์‚ฐ ๋ฐ ํ•„๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” ํ†ต์ œ๋œ ์‹คํ—˜์‹ค ์กฐ๊ฑด์—์„œ๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋˜ ์˜ˆ์™ธ์ ์ธ ์—ฃ์ง€ ์ผ€์ด์Šค๋“ค์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

4.1. ์˜จ๋„ ๋ณ€ํ™”์— ๋”ฐ๋ฅธ ์ˆ˜์‹  ํŠธ๋žœ์‹œ๋ฒ„ ์ „ํŒŒ ์ง€์—ฐ ๋ณ€๋™

์ฐจ๋Ÿ‰ ์—”์ง„๋ฃธ์— ๋ฐฐ์น˜๋œ ECU ํŠธ๋žœ์‹œ๋ฒ„๋Š” $-40^\circ C$์—์„œ $+125^\circ C$ ์ด์ƒ์˜ ๊ทน๋‹จ์ ์ธ ์˜จ๋„ ๋ณ€ํ™”๋ฅผ ๊ฒช์Šต๋‹ˆ๋‹ค. ์˜จ๋„๊ฐ€ ์ƒ์Šนํ•จ์— ๋”ฐ๋ผ ๋ฐ˜๋„์ฒด ๋‚ด๋ถ€ ํŠธ๋žœ์ง€์Šคํ„ฐ์˜ ์ „ํŒŒ ์ง€์—ฐ(Propagation Delay)์ด ๋Œ€ํญ ์ปค์ง‘๋‹ˆ๋‹ค.

  • ์ฆ์ƒ: ์ƒ์˜จ์—์„œ๋Š” ๋น„ํŠธ ์—๋Ÿฌ๊ฐ€ ์ „ํ˜€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋‹ค๊ฐ€, ๊ณ ์˜จ ์ฑ”๋ฒ„ ์‹œํ—˜ ์ค‘ ํŠน์ • ECU์—์„œ CRC ์—๋Ÿฌ ๋ฐ Form Error ํญ์ฆ.
  • ํ•ด๊ฒฐ์ฑ…: staticํ•œ TDCO ๊ฐ’์„ ๊ณ ์ •ํ•˜์ง€ ์•Š๊ณ , **์ดˆ๊ธฐํ™” ๊ณผ์ • ๋ฐ ์ฃผ๊ธฐ์  ๋Ÿฐํƒ€์ž„(Runtime) ์‹œ์ ์— TDC ์ง€์—ฐ์„ ์žฌ์ธก์ •ํ•˜๋„๋ก Firmware ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„**ํ•˜๊ฑฐ๋‚˜, ์˜จ๋„ ๋ณ€ํ™”์— ์œ ์—ฐํ•œ Wide Phase_Seg2 ๊ตฌ๊ฐ„์„ ํ™•๋ณดํ•˜์—ฌ SJW(Synchronization Jump Width)์˜ ๊ฐ€๋ณ€ ๋ฒ”์œ„๋ฅผ ํ™•์žฅ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

4.2. ๋…ธ๋“œ ํƒˆ๋ถ€์ฐฉ ์‹œ ๋ฒ„์Šค ์ „์ฒด ์ž„ํ”ผ๋˜์Šค ๋™์  ๋ณ€๋™

ํŠธ๋Ÿญ, ํŠธ๋ ˆ์ผ๋Ÿฌ, ๋˜๋Š” ํŠน์žฅ์ฐจ ์‹œ์Šคํ…œ์ด๋‚˜ ์˜ต์…˜์— ๋”ฐ๋ผ ECU ๋…ธ๋“œ๊ฐ€ ๊ฐ€๋ณ€์ ์œผ๋กœ ์ถ”๊ฐ€/์‚ญ์ œ๋˜๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ์—์„œ๋Š” ์ „์ฒด ๋ฒ„์Šค์˜ ์ž„ํ”ผ๋˜์Šค๊ฐ€ ์ˆ˜์‹œ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

  • ์ฆ์ƒ: ํŠน์ • ์˜ต์…˜ ๋…ธ๋“œ๊ฐ€ ํƒˆ์ฐฉ๋˜์—ˆ์„ ๋•Œ, ๋ฉ”์ธ ๋ฒ„์Šค์˜ ์ข…๋‹จ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉฐ ์ž”์—ฌ ๋…ธ๋“œ๋“ค ์‚ฌ์ด์—์„œ ๋ฐ˜์‚ฌํŒŒ ์ง„ํญ์ด ์ƒ์ดํ•˜๊ฒŒ ์ฆ๊ฐ€.
  • ํ•ด๊ฒฐ์ฑ…: ๊ฐ ๋…ธ๋“œ๊ฐ€ ํ”„๋ ˆ์ž„ ์ˆ˜์‹  ์ค‘ ๋™๊ธฐํ™” ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๋ฉด, CAN-FD ์ปจํŠธ๋กค๋Ÿฌ์˜ Bit Timing Register๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ์–ต์…‰ํ„ด์Šค ๋ฆฌ์…‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. dynamic SSP adjustment ๋ชจ๋“ˆ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ˆ˜์‹  ์‹คํŒจ์œจ์ด ๋†’์•„์งˆ ๋•Œ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ๋ฅผ Step-by-Step์œผ๋กœ shifting ์‹œํ‚ค๋Š” ์ž์œจ ์น˜์œ (Self-Healing) ๊ธฐ๋ฒ•์„ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค.


5. ๊ฒฐ๋ก  ๋ฐ ๊ณ ์‹ ๋ขฐ์„ฑ CAN-FD ๋„คํŠธ์›Œํฌ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ์ œ์–ธ

CAN-FD ํ†ต์‹  ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„์Šค ํ† ํด๋กœ์ง€ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ์— ๋”ฐ๋ผ ํ”ผํ•  ์ˆ˜ ์—†๋Š” ๋ฌผ๋ฆฌ์  ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ์‹ ํ˜ธ ๋ฐ˜์‚ฌ์™€ ๋ง์ž‰์— ์˜ํ•ด ์œ ๋ฐœ๋˜๋Š” ๋น„ํŠธ ์—๋Ÿฌ๋Š” ๋‹จ์ˆœํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ์ „์†ก์ด๋‚˜ ๋ฌด๋ถ„๋ณ„ํ•œ ์ข…๋‹จ ์ €ํ•ญ ๊ต์ฒด๋งŒ์œผ๋กœ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณธ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ฃฌ ํ•ต์‹ฌ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ์ „์†ก์„ ๋กœ ์ด๋ก ์— ์˜๊ฑฐํ•œ ๋ฌผ๋ฆฌ์  ํ•˜๋„ค์Šค ์Šคํ… ๊ธธ์ด ์ตœ์†Œํ™” ๋ฐ Split Termination ํšŒ๋กœ๋ฅผ ํ†ตํ•œ ์‹ ํ˜ธ ๋ฐ˜์‚ฌ ์ง„ํญ ์ฐจ๋‹จ.
  2. ๊ณ ์† ๋ฐ์ดํ„ฐ ํŒŒํŠธ์—์„œ์˜ TDC(Transmitter Delay Compensation) ๋ฐ SSP(Secondary Sampling Point) ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ •ํ™•ํ•œ ์ดํ•ด์™€ ๋™์  ์˜คํ”„์…‹ ์ตœ์ ํ™”.
  3. ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„ ๋ถ„์„์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ง์ž‰ ์˜์—ญ์„ ์™„์ „ํžˆ ํšŒํ”ผํ•˜๋Š” ๋น„ํŠธ ์„ธ๊ทธ๋จผํŠธ($Prop\_Seg, Phase\_Seg1, Phase\_Seg2$) ๋ฐ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ์˜ ์ „๋žต์  ์žฌ๋ฐฐ์น˜.
  4. ์˜จ๋„ ๋ฐ ๋™์  ํ† ํด๋กœ์ง€ ๋ณ€ํ™”์— ๋Œ€์‘ํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ์ƒ˜ํ”Œ๋ง ํฌ์ธํŠธ ๋™์  ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์ถ•.

๋ฌผ๋ฆฌ์ธต์˜ ํ•˜๋“œ์›จ์–ด ์ •๋ฐ€๋„์™€ ์ œ์–ด๊ธฐ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋™์  ์ตœ์ ํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์กฐํ™”๋ฅผ ์ด๋ฃฐ ๋•Œ, ์–ด๋– ํ•œ ๊ฐ€ํ˜นํ•œ ํ•„๋“œ ํ™˜๊ฒฝ์—์„œ๋„ ์—๋Ÿฌ ์—†๋Š” ๊ฒฌ๊ณ ํ•œ(Robust) ์ตœ์ƒ์œ„ ํ’ˆ์งˆ์˜ CAN-FD ์ฐจ๋Ÿ‰์šฉ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•