대학원/대회 준비 관련

[ZCU-104] Ethernet을 연결을 위한 기초적인 세팅

오비루 2024. 3. 5. 17:53
728x90
728x90

https://digilent.com/reference/programmable-logic/guides/zynq-servers

 

Getting Started with Zynq Servers - Digilent Reference

 

digilent.com

 

 

 

기초적인 Ethernet Block은 이렇게 생겼다.

먼저 여기서 크게 두 블록으로 이루어진 GEM MIO & TI DP8367 IR의 신호를 주고받는 RGMII & MDIO를 살펴보자

 

- RGMII (Reduced Gigabit Media Independent Interface)

https://dokkodai.tistory.com/176

 

Ethernet PHY(MAC) Interface 종류(MII, RMII, GMII, RGMI)

10/100Mbps 의 이더넷칩에는 의례희 MAC 과 PHY 가 하나의 칩에 들어간다. 하지만 Gigabit 이더넷이 되면 MAC 과 PHY 가 분리된다. MAC 은 순수한 1,0 데이타를 말하며 PHY 를 이비트들을 전기적이 신호성분으

dokkodai.tistory.com

 

[PHY 인터페이스 종류의 장단점]

그렇다면 PHY는 무엇인가?

→ 이는 이더넷의 물리층을 뜻하는 것으로 디바이스(PC)와 디바이스(FPGA)를 물리적으로 연결하기 위한 구리선(LAN cable; CAT5)을 사용할 수 있다.

PHY의 역할?

  • PHY의 디지털 영역이 FPGA, MCU, CPU 같은 MAC(Media Access Controller) 디바이스로 직접 인터페이스
  • PHY의 MDI(Medium Dependent Interface)가 물리 매체를 통해 디바이스와 디바이스 연결
728x90

⇒ 그럼 RGMII는 물리적 연결을 한 device간의 데이터 송수신을 위한 신호?

다음 빨간색 box는 ZCU104에서 사용중인 PHY를 나타내는 PHY transceiver이다.

=> 0/100/1000 Mbps의 Ethernet LAN을 손쉽게 실행할 수 있음

따라서, RGMII는 Ethernet을 물리적(PHY)으로 연결하는 TI DP83867 IR을 통해서 디바이스 간의 데이터 송수신을 도와주는 신호(?) 인터페이스이다.

 

  • MDIO (Management Data Input/Output)
  • 물리 계층 관리를 위한 것으로 GEM과 하나 이상의 PHY 사이를 오가는 단일 양방향 3-state signal이다. GEM 신호 (mdio_in, mdio_out, mdio_en)는 칩 레벨의 3-state 버퍼를 제어하기 위해 제공된다.

 

 

RJ45는 LAN선 연결 단자이고 Magnetics는 연결단임


대략적인 블록도의 흐름은 파악했으니, 다음과 같이 Crosscable을 이용해서 PC & FPGA를 D2D 연결해준다.

 

이후 기본 예제인 Etherent Echo를 이용해 연결 확인 결과 무난하게 동작했음을 확인했다.

이 과정은 다음과 같다.

 

VIVADO를 킨 후 znyq 블록 생성.

 
Vitis 에서 활용하기 위해 Export하여 xsa 파일 생성후 vitis 켜기
 

 

Platform Project 들어가서 앞서 만든 xsa 파일 위치로 찾아간 후 해당 파일 열기
 
320x100
 
 

 

파일을 정상적으로 만들었다면 좌측 빨간 box 같이 폴더가 생긴다.
여기서 .spr 을 클릭하면 Board Support Package를 확인 할 수 있음 > Modify BSP 클릭
Ethernet 사용을 위해서는 lwip 라이브러리를 활성화 해야함.
 

 

생성된 폴더 Build 후 예제 코드 실행을 위한 프로젝트 파일 만들기

이후 예제가 잘 됐는지 확인하기 위해 UART 정보를 보고자 terminal 창을 켠다.
이를 켜면 우측 하단과 같이 창이 활성화 된다.

 
 
이후 연결한 Ethernet network의 IP_v4에 대한 IP주소값을 수정해준다.
여기서 Board IP는 중복되지 않도록 10 외의 값을 PC와 연결된 이더넷 IP에 작성해줌
(2 ~ 255 사이의 아무 값이나 넣어도 됨)

 

이후 동작을 했을 때 완만히 연결이 되었다면 Link가 계속 연결되어 있을 것이다.
또한 cmd 창을 이용해서
ping 192.168.1.10
명령어를 실행하면 하단의 사진처럼 정상 동작 됨을 볼 수 있다.

 

 

ps) [글의 흐름은 필자가 공부하며 흘러간 의식의 흐름대로 적었음..]

728x90
반응형