본문 바로가기

전자 공학/소자

이더넷 스위치 IC

반응형

안녕하세요. 취업한 공대누나입니다.

매번 USB통신만 하다 이번에는 이더넷 통신을 구현해보게 되었습니다.

오늘은 제가 사용하고자 하는 이더넷 스위치의 개념과 함께 제가 사용하고자 하는 IC에 대한 간단한 소개를 해보려고 합니다.

아무래도 처음 사용해보는 소자이기도 하고 개념에 대해 아직도 완벽하게 숙지된 것은 아니지만 그래도 경험해가면서 차차 늘어날 것이라고 생각합니다.

저도 아직은 공부 중이기 때문에 틀리거나 잘못된 내용이 있을 수 있습니다. 지적해주시면 고치도록 하겠습니다.


1. 이더넷 스위치란?

 

스위치는 노드간 패킷의 흐름을 선택적으로 전달할 수 있도록 제어해주는 연동 장치입니다.

특정 노드간의 데이터 흐름을 연결하거나 절단할 수 있는 것이지요.

즉 입력포트로 들어온 데이터를 특정 출력 포트로 선택적으로 보낼 수 있는 기술을 말합니다.

 

그렇다면 이더넷 스위치는 대략 어떤 것인지 감이 잡히실텐데요.

이더넷 프레임을 전달하는 스위치라고 생각하시면 됩니다.

이더넷 스위치는 MAC주소를 기반으로 이더넷 프레임을 필요한 포트에게만 선택적으로 전달해주는 것입니다.

이와 비교할만한 것으로는 리피터 허브가 있는데요. 리피터 허브의 경우는 데이터를 수신하게 되면 다른 모든 단말로 데이터를 전달해주게 됩니다.

 

Learing이란?

최초 스위치의 MAC 주소 테이블은 비어있는 상태입니다.  스위치가 이더넷 프레임을 수신하게 되면 해당 프레임의 출발지 MAC 주소를 스스로 학습해서 자신의 MAC 주소 테이블에 등록합니다. 해당 주소가 테이블에 이미 있으면 주기(Aging Time)를 갱신하는데요. 이러한 동작을 MAC 주소 학습이라고 합니다.

나중에 통신을 하게 될 때 자신의 MAC 주소 테이블을 참고해서 패킷을 전달하게 됩니다.

 

Flooding이란?

수신된 이더넷 프레임의 종착지 주소를 자신의 MAC 주소 테이블에서 검색을 합니다.

만일 종착지 MAC 주소가 없는 경우 수신된 포트를 제외한 모든 포트로 해당 프레임을 전송합니다. 

즉, Broadcasting을 한 것과 동일하다고 볼 수 있습니다.

 

Forwarding이란?

수신된 이더넷 프레임의 종착지 주소가 MAC 주소 테이블에 있을 때 그 주소가 있는 포트로만 프레임을 전송하는 것을 말합니다.

 

Filtering이란?

반대로 다른 포트로는 프레임 전달을 차단시키는 것을 말합니다.

 

저는 이번에 총 3개의 장비?를 이더넷이라는 인터페이스를 이용해서 연결을 하려는 상황입니다.

한 개는 메인 컨트롤러 IC, 다른 한 개는 PC, 그리고 마지막 한개는 이더넷 통신을 하는 Device입니다.

PC는 메인 컨트롤러와 Device 모두와 통신을 해야합니다.


2. KSZ8873 

우선 제가 사용하고자 하는 이더넷 스위치 IC는 Microchip사의 KSZ8873MLL입니다.

보통 사용하고자 하는 IC를 고를 때 Mouser에서 검색을 많이 하는 편인데요.

원하는 스펙을 필터링하기가 쉽고 다양한 칩들이 많이 있어서 좋습니다.

우선 외관과 핀맵은 이렇습니다. 

KSZ8873MLL KSZ8873MLL 핀맵

3Port이며 MII 인터페이스를 지원하는 IC입니다.

핀맵을 보니 왼쪽(1~16)에 물리 계층과 연결하는 핀들이 구성되어 있고 아래와 오른쪽에 MCU와 통신하기 위한 MII인터페이스가 있는 것을 알 수 있습니다.

 

 

저는 개인적으로 속도는 크게 중요하지는 않은 상황입니다. 

위의 IC의 Data Rate는 10Mb/s, 100Mb/s입니다.

 

 

내부 레지스터의 경우 I2C 통신 또는 SPI 통신을 이용해서 제어할 수 있습니다.

아마 디폴트 상태에서 사용해도 크게 문제가 없을 것으로 생각되긴 합니다.

 

 

 

반응형

'전자 공학 > 소자' 카테고리의 다른 글

이더넷 스위치IC(2)  (0) 2022.03.22
이더넷 스위치 IC (1)  (1) 2022.03.20
사이리스터, SCR, 트라이악이란?  (1) 2021.02.17
[CMOS] CMOS란?  (0) 2020.12.10
[IGBT] IGBT란?  (2) 2020.11.11