NINTENDO GAME CUBE / EXI
GAME CUBE / EXI
0
Project description
๐ฎ ๊ฒ์ํ๋ธ์ W5500: ์ฃฝ์ ๊ธฐ๊ธฐ์ ์๋ช ์ ๋ถ์ด๋ฃ๋ ๋ฒ
1. ๊ฒ์ํ๋ธ(GameCube)๋ผ๋ ๋ฌด๋: ์จ๊ฒจ์ง ํต๋ก 'EXI'
2001๋ ์ถ์๋ ๋ํ ๋ ๊ฒ์ํ๋ธ๋ ๋จ์ํ ๊ฒ์๋ง ๋๋ฆฌ๋ ๊ธฐ๊ธฐ๊ฐ ์๋์์ต๋๋ค. ๋ณธ์ฒด ์ ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ์นด๋ ์ฌ๋กฏ๊ณผ ํ๋จ์ **ํ์ฅ ํฌํธ(Serial Port 1)**๋ ๋ชจ๋ **EXI(Expansion Interface)**๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ณ ์ ์ง๋ ฌ ํต์ ๋ฒ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด EXI ํฌํธ๋ ๊ฒ์ํ๋ธ์ ์ค๊ณ์๊ฐ ๋ฏธ๋์ ํ์ฅ์ฑ์ ์ํด ๋จ๊ฒจ๋ '๋น๋ฐ ํต๋ก'์์ต๋๋ค. ํ์ง๋ง ์ ์ ์ด ํต๋ก๋ฅผ ์ ๋๋ก ํ์ฉํ ์ ์๋ ์์ '๋ธ๋ก๋๋ฐด๋ ์ด๋ํฐ(BBA)'๋ ๋จ์ข ๋์ด ํ์ฌ๋ ๊ตฌํ๊ธฐ์กฐ์ฐจ ํ๋ ํฌ๊ทํ์ด ๋์์ต๋๋ค.

2. W5500์ด ์ ํ๋ ๊ฒฐ์ ์ ์ด์ : SPI์ EXI์ '์ด๋ช ์ ๋ง๋จ'
์ ์๋ง์ ์ด๋๋ท ์นฉ ์ค WIZnet W5500์ด ๊ฒ์ํ๋ธ ๋ชจ๋ฉ์ ์ฃผ์ธ๊ณต์ด ๋์์๊น์?
ํ๋กํ ์ฝ์ ์ผ์น (SPI โ EXI): ๊ฒ์ํ๋ธ์ ์ธ๋ถ ํต์ ๊ท๊ฒฉ์ธ EXI๋ ํ๋ ํ๋์จ์ด์์ ๋๋ฆฌ ์ฐ์ด๋ SPI(Serial Peripheral Interface)์ ๋งค์ฐ ํก์ฌํฉ๋๋ค. W5500์ SPI ํต์ ์ ๋ค์ดํฐ๋ธ๋ก ์ง์ํ๊ธฐ ๋๋ฌธ์, ๋ณ๋์ ๋ณต์กํ ๋ณํ ํ๋ก(FPGA๋ MCU) ์์ด๋ ์ ์ ๋ช ๊ฐ๋ง ์ฐ๊ฒฐํ๋ฉด ๊ฒ์ํ๋ธ์ CPU์ ์ง์ ๋ํํ ์ ์๋ ์ต์ ์ ๊ถํฉ์ ์๋ํฉ๋๋ค.
ํ๋์จ์ด TCP/IP ์คํ์ ์๋ ฅ: ๊ฒ์ํ๋ธ์ CPU(PowerPC)๋ ์ค์ง ๊ฒ์ ์ฐ์ฐ์๋ง ์ง์คํด์ผ ํฉ๋๋ค. ๋ง์ฝ ์ํํธ์จ์ด๋ก ๋คํธ์ํฌ ํจํท์ ์ฒ๋ฆฌํ๋ค๋ฉด ํ๋ ์ ๋๋์ด ๋ฐ์ํ ์๋ฐ์ ์์ต๋๋ค. W5500์ **TCP/IP ์ฒ๋ฆฌ๋ฅผ ์นฉ ๋ด๋ถ์์ ์ค์ค๋ก ์ํ(Hardwired Offloading)**ํ๋ฏ๋ก, ๊ฒ์๊ธฐ์ ๋ถ๋ด์ ์ฃผ์ง ์๊ณ ๋ ์์ ์ ์ธ ๊ณ ์ ๋ฐ์ดํฐ ์ ์ก์ ์คํํฉ๋๋ค.

3. Swiss: ๊ฒ์ํ๋ธ์ ๊ธฐ๋ฅ์ ํด๋ฐฉํ๋ ๋ง๋ฅ ์ด์ (์ํํธ์จ์ด)
**Swiss(Swiss-gc)**๋ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ์ฐธ์ฌํ๋ ์คํ์์ค ํ๋ก์ ํธ๋ก, ๊ฒ์ํ๋ธ์ ์ ์ฌ๋ ฅ์ ํ๊ณ๊น์ง ๋์ด์ฌ๋ฆฌ๋ ๋น๊ณต์ ์ด์์ฒด์ ์ญํ ์ ํฉ๋๋ค.
Swiss ๊ฐ๋ฐํ์ W5500์ ๋ฐ์ด๋ ์ฑ๋ฅ๊ณผ ์ ๊ทผ์ฑ์ ์ฃผ๋ชฉํ์ฌ, W5500 ๋ชจ๋์ ์์ BBA๋ก ์ธ์ํ๊ฒ ๋ง๋๋ ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ณ ์ด๋ฅผ ๊ณต์ ๊ธฐ์ ๋ฌธ์์ ๋ฐ์ ํ์ต๋๋ค. ์ด๋ก์จ ์ฌ์ฉ์๋ค์ ๊ฐ๋น์ผ ๊ณจ๋ํ ๋์ , ํ๋์ W5500 ์นฉ์ผ๋ก ๊ฒ์๊ธฐ ๋ณธ์ฒด์ ์ธํฐ๋ท ๋ ๊ฐ๋ฅผ ๋ฌ ์ ์๊ฒ ๋์์ต๋๋ค.
[Performance] ๋คํธ์ํฌ ๋์ญํญ ๋ฐ ์ค์ฌ์ฉ ์ฒด๊ฐ
W5500์ ํตํ ์ฐ๊ฒฐ์ ๋จ์ํ '์ฐ๊ฒฐ'์ ๋์ด, ์ค์ ๊ฒ์ ํ๊ฒฝ์์ ์์ BBA๋ฅผ ์ํํ๊ฑฐ๋ ๋๋ฑํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค.
์ด๋ก ์ ์ต๋ ์๋: W5500์ SPI ์ธํฐํ์ด์ค๋ ์ต๋ 80MHz ํด๋ญ๊น์ง ์ง์ํ์ง๋ง, ๊ฒ์ํ๋ธ EXI ๋ฒ์ค์ ์์ ์ ์ธ ๋์ ๋ฒ์ ๋ด์์ ๋ณดํต 10~15Mbps์ ์คํจ ์๋๋ฅผ ์ ์งํฉ๋๋ค.
์ค์ ๊ฒ์ ๊ตฌ๋ (Remote Loading):
๊ฒ์ํ๋ธ์ ์ ํ ๊ด๋์คํฌ(๋ฏธ๋ DVD) ์ฝ๊ธฐ ์๋๋ ์ฝ 16~25Mbps์ ๋๋ค.
W5500์ ํตํ ๋คํธ์ํฌ ์คํธ๋ฆฌ๋ฐ์ ์ด์ ๊ทผ์ ํ ์๋๋ฅผ ์ ๊ณตํ๋ฉฐ, ํ๋์จ์ด TCP/IP ์คํ ๋๋ถ์ ๋ ์ดํด์(Latency)๊ฐ ๊ทน๋๋ก ๋ฎ์ ์ค์๊ฐ ์ก์ ๊ฒ์์ด๋ ๋ ์ด์ฑ ๊ฒ์(๋ง๋ฆฌ์ค ์นดํธ ๋ฑ) ๊ตฌ๋ ์ ๋ก๋ฉ ์ง์ฐ์ด๋ ๋๊น์ด ๊ฑฐ์ ์์ต๋๋ค.
์์ ์ฑ: ์ํํธ์จ์ด ๋ฐฉ์(ENC28J60 ๋ฑ) ๋๋น CPU ์ ์ ์จ์ด 0%์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์, ๋คํธ์ํฌ ํต์ ์ค์๋ ๊ฒ์์ ํ๋ ์์ํฌ๊ฐ ๋ฌด๋์ง์ง ์๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ์ ๋๋ค.
![[Performance] ๋คํธ์ํฌ ๋์ญํญ ๋ฐ ์ค์ฌ์ฉ ์ฒด๊ฐ](/upload/_thumb/1280/ckeditor5/1122520%5F1767967635%2Epng.jpg)
๐ ๏ธ ์ค์ ๊ตฌํ ์ฌ๋ก: 3๋จ๊ณ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ
1๋จ๊ณ: ์ฐ๊ฒฐ ํต๋ก (WizNet-Card-Slot-Adapter) ๊ฒ์ํ๋ธ ๋ณธ์ฒด ์ ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ์นด๋ ์ฌ๋กฏ ์ญ์ EXI ํฌํธ์ ๋๋ค. ์ด ํ๋ก์ ํธ๋ W5500 ๋ฏธ๋ ๋ชจ๋์ ๋ฉ๋ชจ๋ฆฌ์นด๋ ์ฌ๋กฏ์ ๊ฝ์ ์ ์๋ ํํ๋ก ๋ณํํ์ฌ, ๋ณธ์ฒด ๋ถํด ์์ด๋ ์ด๋๋ท์ ์ฐ๊ฒฐํ๋ ๋ง๋ฒ์ ๋ณด์ฌ์ค๋๋ค.

2๋จ๊ณ: ์ธ๊ฐ ์ ์ (Ethernet-remixes-GameCube) ํ๋์จ์ด์ ์์ฑ๋๋ ๊ฒฌ๊ณ ํจ์์ ๋์ต๋๋ค. W5500 ๋ชจ๋์ด ๋ณธ์ฒด ํ๋จ ํ์ฅ ํฌํธ(Serial Port 1)์ ์์ ๋ถํ์ฒ๋ผ ์ผ์ฒดํ์ผ๋ก ๊ณ ์ ๋๋๋ก 3D ํ๋ฆฐํฐ๋ก ์ ์ฉ ์ผ์ด์ค๋ฅผ ์ ์ํ๋ ์ค๊ณ์ ๋๋ค.

3๋จ๊ณ: ์์คํ ๊ตฌ๋ (Swiss-gc) ํ๋์จ์ด๊ฐ ์ค๋น๋๋ฉด Swiss ์ํํธ์จ์ด๊ฐ EXI ํฌํธ๋ฅผ ํตํด W5500์ ์ ์ดํฉ๋๋ค. ์ด๋ฅผ ํตํด PC์ ์ ์ฅ๋ ๊ฒ์ ISO ํ์ผ์ ์ค์๊ฐ์ผ๋ก ๋ถ๋ฌ์ค๊ฑฐ๋(Remote Loading), ์ ์ธ๊ณ ์ ์ ์ ๋ฉํฐํ๋ ์ด๋ฅผ ์ฆ๊ธฐ๋ '์จ๋ผ์ธ ๊ฒ์ํ๋ธ'๊ฐ ์์ฑ๋ฉ๋๋ค.
์ํฐํด์ ๋๋ฏธ๋ฅผ ์ฅ์ํ ๋ง๋ฌด๋ฆฌ ๋ฉํธ๋ฅผ ์ ๋ฆฌํด ๋๋ฆฝ๋๋ค. W5500๊ณผ ๊ฒ์ํ๋ธ์ ์ฌ๋ก๊ฐ ๋จ์ํ '๊ฒ์๊ธฐ ๊ฐ์กฐ'๋ฅผ ๋์ด, ํ๋ ์๋ฒ ๋๋ ์ค๊ณ์์ ์ด๋ค ํต์ฐฐ์ ์ฃผ๋์ง ๊ฐ์กฐํ๋ฉฐ ๋ง๋ฌด๋ฆฌํ๋ฉด ์ข์ต๋๋ค.
๐ W5500์ด ์ ์ํ๋ '๋ ๊ฑฐ์ ํ๋์จ์ด์ ๋ฏธ๋'
๊ฒ์ํ๋ธ์ W5500์ ๋ง๋จ์ ๋จ์ํ ์ถ์ต ๋ณด์กด์ ๋์ด, ํ๋์ ์ด๋๋ท ์ปจํธ๋กค๋ฌ๊ฐ ๊ตฌํ ์์คํ ์ ํ๊ณ๋ฅผ ์ด๋ป๊ฒ ํ๊ดดํ ์ ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์๋ฒฝํ ์ฌ๋ก์ ๋๋ค.
์ด๋ฌํ ํ๋์จ์ด TCP/IP ์คํ๋ก๋ฉ ๊ธฐ์ ๊ณผ SPI ๊ธฐ๋ฐ์ ๋ฒ์ฉ์ฑ์ ํ์ฉํ๋ฉด, ๊ฒ์๊ธฐ ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ฐ์ ์ฉยท์ฐ๊ตฌ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ์ด ๊ฐ๋ฅํด์ง๋๋ค.
๋ ๊ฑฐ์ ์ฐ์ ๊ธฐ๊ธฐ์ ๋คํธ์ํฌํ: ์ธํฐ๋ท ์ฐ๊ฒฐ ๊ธฐ๋ฅ์ด ์๋ ๊ตฌํ ๊ณต์ ์ ์ด ์ฅ์น๋ ์ธก์ ์ฅ๋น์ W5500์ ์ด์ํ์ฌ, ๋ณ๋์ ๋๊ท๋ชจ ์์คํ ๊ต์ฒด ์์ด ์ค๋งํธ ํฉํ ๋ฆฌ ํ๊ฒฝ(์๊ฒฉ ๋ชจ๋ํฐ๋ง)์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ ์ ๋ ฅ IoT ๊ฒ์ดํธ์จ์ด: ๋ฉ์ธ CPU์ ๋ฆฌ์์ค๊ฐ ๊ทนํ ์ ํ๋ ํ๊ฒฝ(8๋นํธ, 16๋นํธ MCU)์์๋ W5500์ ํ๋์จ์ด ์คํ์ ์ด์ฉํด ์์ ์ ์ธ ํด๋ผ์ฐ๋ ์ฐ๊ฒฐ ๋ฐ ๋ฐ์ดํฐ ์ ์ก ์์คํ ์ ๊ตฌํํ ์ ์์ต๋๋ค.
๋ณด์ ์ ์ฉ ํต์ ๋ ธ๋: ์ํํธ์จ์ด ์คํ์ ์ทจ์ฝ์ ์ ์ต์ํํด์ผ ํ๋ ๋ณด์ ์ฅ๋น์์, ํ๋์จ์ด์ ์ผ๋ก ๊ณ ์ฐฉํ๋ TCP/IP ๋ก์ง์ ๊ฐ์ง W5500์ ํตํด ๋์ฑ ๊ฒฌ๊ณ ํ ํต์ ์ฑ๋์ ์ค๊ณํ ์ ์์ต๋๋ค.
๊ฒฐ๊ตญ, W5500์ ๊ตฌํ๊ณผ ์ ํ, ์ ์ฌ์๊ณผ ๊ณ ์ฌ์์ ๊ฒฝ๊ณ๋ฅผ ํ๋ฌด๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋๋ค. 20๋ ์ ์ ๊ฒ์๊ธฐ์ ์๋ช ์ ๋ถ์ด๋ฃ์๋ฏ, ์ฌ๋ฌ๋ถ์ ์์๋ ฅ์ ๋ฐ๋ผ W5500์ ์๋ง์ ํ๋์จ์ด์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค ๊ฒ์ ๋๋ค.