๋ฐ˜์‘ํ˜•

GigE๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„ Part 2.

๋ณธ๋ฌธ ๊ธ€์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•ด์ฃผ์„ธ์š”.

[GigE Interface] Gigabit Ethernet(GigE) ์ธํ„ฐํŽ˜์ด์Šค

 

[GigE Interface] Gigabit Ethernet(GigE) ์ธํ„ฐํŽ˜์ด์Šค

Gigabit Ethernet(GigE) ํšจ์œจ์ ์ด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค. ๋‚ฎ์€ ๋น„์šฉ, ํ–ฅ์ƒ๋œ ์‹œ์Šคํ…œ ์œ ์—ฐ์„ฑ, ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑํ’ˆ, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์‚ฐ์—… ํ‘œ์ค€ ์ •๋ฆฝ ๋“ฑ์˜ ์ด์œ ๋กœ Gigabit Ethernet์ด ๋จธ์‹  ๋น„

luckygg.tistory.com

GigE ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋“œ์›จ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋“œ๋ผ์ด๋ฒ„ ์„ค์ •๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๋„ ์ค€๋น„๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ค€๋น„ ์š”์†Œ๋กœ๋Š” ์•„๋ž˜ ๋„ค ๊ฐ€์ง€ ์ •๋„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์ค€๋น„ ์š”์†Œ

1. ๋„คํŠธ์›Œํฌ ๊ณ ๊ธ‰ ์†์„ฑ

GigE ์นด๋ฉ”๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„์—์„œ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๊ถŒ์žฅ ํ•ญ๋ชฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘  ์ ๋ณด ํ”„๋ ˆ์ž„ ๋˜๋Š” ํŒจํ‚ท(Jumbo Frame / Packet)

์ ๋ณด ํŒจํ‚ท์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋Š” MTU(Maximum Transmission Unit)๋ผ๊ณ ๋„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋Š ์ •๋„์˜ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด์„œ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ๊ฐ’์ด ๋‚ฎ์„์ˆ˜๋ก ์ฒ˜๋ฆฌ ๋Ÿ‰์ด ๋งŽ์•„์ ธ CPU ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ , ๊ฐ’์ด ๋†’์„์ˆ˜๋ก ์ฒ˜๋ฆฌ ๋Ÿ‰์ด ์ค„์–ด๋“ค์–ด CPU ๋ถ€ํ•˜๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์€ 1500 byte์ด๋ฉฐ ๊ถŒ์žฅ ๊ฐ’์€ 9KB์ž…๋‹ˆ๋‹ค.

โ‘ก ์ˆ˜์‹  ๋ฒ„ํผ(Receive Buffers)

์ˆ˜์‹  ํŒจํ‚ท์— ๋Œ€ํ•ด ์–ด๋Œ‘ํ„ฐ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฒ„ํผ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๋Š” ์„ค์ •์ด๋ฉฐ, ์นด๋ฉ”๋ผ์˜ ํŒจํ‚ท ๋ฐ์ดํ„ฐ ์†์‹ค์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ๋Œ€ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. Intel ์นฉ์…‹์˜ ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ 2048๊นŒ์ง€ ์ง€์›ํ•˜๋ฉฐ ๊ทธ ์™ธ์˜ ์นฉ์…‹์€ ๊ฐ’์ด ๋‚ฎ๋”๋ผ๋„ ํ•ญ์ƒ ์ตœ๋Œ€ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ‘ข ์ธํ„ฐ๋ŸฝํŠธ ์กฐ์ ˆ ์†๋„(Interrupt Moderation Rate)

์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฉด ์‹œ์Šคํ…œ ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ CPU์˜ ๋ฐ˜์‘ ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๊ฒŒ ๋˜์ง€๋งŒ, ์ž‘์—… ์ฒ˜๋ฆฌ ํšจ์œจ์ด ๋‚ฎ์•„์ง€๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ ๊ฒŒ ๋ฐœ์ƒํ•˜๋ฉด CPU์˜ ๋ฐ˜์‘ ์†๋„๋Š” ๋Š๋ ค์ง€์ง€๋งŒ ์ž‘์—… ์ฒ˜๋ฆฌ ํšจ์œจ์€ ๋†’์•„์ง‘๋‹ˆ๋‹ค. ์ด ์„ค์ • ๊ฐ’์„ '์ตœ๋Œ€(Extreme)'๋กœ ์„ค์ •ํ•˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ ์†๋„๊ฐ€ ๋‚ฎ์•„์ง€๋ฉฐ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

2. GigE SDK

์นด๋ฉ”๋ผ ์ œ์กฐ์‚ฌ๋Š” GigE SDK๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์›์น™์ ์œผ๋กœ๋Š” ํ•ด๋‹น ์ œ์กฐ์‚ฌ์˜ SDK๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, A์‚ฌ์˜ ์นด๋ฉ”๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹น์—ฐํžˆ A์‚ฌ์˜ SDK๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ , B์‚ฌ์˜ ์นด๋ฉ”๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด B์‚ฌ์˜ SDK๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ A์‚ฌ์˜ ์นด๋ฉ”๋ผ๋ฅผ B์‚ฌ์˜ SDK์— ๋˜๋Š” A์‚ฌ์˜ ์นด๋ฉ”๋ผ๋ฅผ 3rd party SDK์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ GenICam ๊ธฐ๋ฐ˜์˜ SDK๋ผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์–ด์•ผ๊ฒ ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ํ˜ธํ™˜์„ฑ์„ ๊ฒ€์ฆํ•˜๊ณ  ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ์‹œ์Šคํ…œ์— ํ•˜๋‚˜์˜ SDK๋งŒ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๋“ค์ด ํ…Œ์ŠคํŠธ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ SDK๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์„œ๋กœ ๋‹ค๋ฅธ ์ œ์กฐ์‚ฌ ๋“œ๋ผ์ด๋ฒ„๋“ค์ด ์˜ํ–ฅ์„ ์ฃผ์–ด ์นด๋ฉ”๋ผ์˜ ์„ฑ๋Šฅ์ด ์ œ๋Œ€๋กœ ๋ฐœํœ˜๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Filter Driver

์นด๋ฉ”๋ผ ์ œ์กฐ์‚ฌ๋งˆ๋‹ค GigE SDK ์ œ๊ณต ์‹œ ํ•„ํ„ฐ ๋“œ๋ผ์ด๋ฒ„๋„ ํฌํ•จํ•˜์—ฌ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•„ํ„ฐ ๋“œ๋ผ์ด๋ฒ„๋Š” ๋„คํŠธ์›Œํฌ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ์ฃผ๋ฉฐ, ์นด๋ฉ”๋ผ์˜ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ํ–ฅ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋‹ค๋ฅธ ์ด์œ ๊ฐ€ ์—†๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ•„ํ„ฐ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

4. Camera Packet Size

์นด๋ฉ”๋ผ์—๋„ ํŒจํ‚ท ์‚ฌ์ด์ฆˆ ์„ค์ • ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ๊ฐ’์€ ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ์˜ ์„ค์ •๋œ ๊ฐ’๋ณด๋‹ค ์ž‘์•„์•ผ ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„ 8KB~9KB ์ •๋„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์ด ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํŒจํ‚ท ์†์‹ค์ด ๋ฐœ์ƒํ•˜์—ฌ ์˜์ƒ ์ทจ๋“ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋œ ์ด๋ฏธ์ง€๊ฐ€ ์–ป์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•