안녕하세요. 취업한 공대누나입니다.
지난번까지는 통신 계층에 대해서 공부를 해보았습니다.
이번에는 이더넷 스위치 IC에 대해 공부해보고 이후에 회로 설계를 어떻게 진행하는지에 대해서 한 번 살펴보도록 하겠습니다.
이전까지는 USB 허브 IC 정도만 다뤄봤었기 때문에 이더넷에 대한 개념과 회로 설계를 어떻게 해야하는지 감도 잡히지 않았습니다. 인터넷에 자료도 많이 나와있지 않은 것 같아서 더욱 어려웠지만 현재는 제가 원하는대로 동작을 하도록 보드를 설계 해놓은 상태입니다. 차근차근 용어들과 개념에 대해 공부해보도록 하겠습니다.
1. 이더넷 스위치란?
이더넷 스위치는 이더넷 프레임을 전달하는 스위칭 장비입니다.
이더넷 MAC 주소를 기반으로 이더넷 프레임을 필요한 포트에게만 선택적으로 전달을 해줍니다.
이더넷 인터페이스를 갖는 장비간 이더넷 프레임의 흐름을 선택적으로 제어해주는 플러그-앤-플레이 기능을 갖습니다.
2. 이더넷 스위치 동작 방식
이더넷 스위치의 동작 방식을 간단하게만 보도록 하겠습니다.
1) MAC 주소 학습
스위치가 이더넷 프레임을 수신하면 해당 프레임의 출발지 MAC 주소를 스스로 학습하여 자신의 MAC 주소 테이블에 등록합니다. 해당 주소가 테이블에 이미 있으면 주기(Aging Time)를 갱신합니다.
2) 플러딩(Unknown frame broadcasting)
수신된 이더넷 프레임의 종착지 주소를 자신의 MAC 주소 테이블에서 검색을 합니다.
만일 종착지 MAC 주소가 없는 경우 수신된 포트를 제외한 모든 포트로 해당 프레임을 전송합니다.
이를 플러딩 과정이라고 합니다.
3) 선택적 전달(Selective forwarding) & 필터링(Filtering)
수신한 이더넷 프레임의 종착지 주소가 MAC 테이블에 있다면, 해당 포트로만 선택해서 프레임을 전달하게 됩니다.
이것을 선택적 전달이라고 합니다. 그러나 출발지와 목적지가 같은 포트 상에 존재하는 경우 해당 포트에서 프레임을 전송하지 않고 해당 포트에만 머물도록 걸러냅니다. 이것을 필터링이라고 합니다.
3. 구현 시켜야 했던 동작
제가 구현해야 동작은 겉으로 보기에는 아주 간단?했습니다.
보드에 1) PC, 2) 이더넷 통신을 하는 장비 3) 메인 컨트롤러
가 연결되고 PC와 장비가 통신을 하고 PC와 메인 컨트롤러가 통신을 하면 됩니다.
사실 뭐 말만 들어서는 굉장히 쉬워보입니다.
하지만 찾아보면 소스도 별로 없고(검색 능력이 뛰어나지 않은 것일 수도 있음) 회사에서 누가 해본 적이 있는 것도 아니고 스위치 IC를 사용해 본 사람이 주변에 있는 것도 아니었으니 좀 막막했습니다. (심지어 데이터 통신 관련 교과목도 수강하지 않았어서 네트워크에 대한 개념 거의 없는 상태였습니다.)
당연히 연구하고 개발하는 사람이니 모르는 걸 계속 공부하고 도전하는 건 당연하다고 생각합니다.
하지만 항상 '쉽게 구현할 수 있다'고 보는 사람들이 존재하고 알지도 못하면서 저거랑 같은 방식 아니야?라고 보는 사람들이 있기 때문에 스트레스를 많이 받았었지요
특히 저는 대리나 과장이 아닌 사원일 뿐이 연구원인데.. 심지어 제 사수로 계셨던 분은 이미 퇴사하셨기 때문에 물어볼 사람도 거의 없었기 때문에 더 힘들었습니다.
그렇다면 나름 고군분투하며 알아냈던 IC와 회로에 대해서 한 번 봐보도록 하겠습니다.
4. IC 선정 조건
우선 IC를 선택할 때 고려해야 할 사항이 몇 가지 있었습니다.
저의 경우에는 아래의 경우들을 중심으로 봤습니다.
1) 통신 속도
통신하고자 하는 장비가 10M/100Mbps로 하면 되는지 1G로는 해야하는지, 아니면 10G로 해야 하는지에 따라 구분될 수 있습니다.
저는 1G로 동작을 하면 됐기 때문에 해당하는 IC를 선택했습니다.
2) 포트 수
몇 가지의 장비들을 통신할 것인지에 따라서 구분될 수 있습니다.
저는 3개를 연결하기 때문에 3Port IC를 선정했습니다만 7Port IC도 많이 있습니다.
3) 인터페이스
저는 PC끼리만 통신한거나 그런 것이 아니라 MCU와 PC가 통신을 해야 했습니다.
그래서 이러한 MAC Device와 어떠한 인터페이스를 제공하는지도 중요했습니다.
제가 사용하고자 하는 MCU는 MII 인터페이스를 지원하기 때문에 해당 인터페이스를 지원하는 IC를 선택했습니다.
다음 시간부터는 본격적으로 어떤 IC를 선택했는지와 해당 IC의 데이터시트를 보면서 차근차근 리뷰해보도록 하겠습니다.
'전자 공학 > 소자' 카테고리의 다른 글
DAC 데이터시트 살펴보기 (0) | 2022.04.24 |
---|---|
이더넷 스위치IC(2) (0) | 2022.03.22 |
이더넷 스위치 IC (1) | 2021.09.24 |
사이리스터, SCR, 트라이악이란? (1) | 2021.02.17 |
[CMOS] CMOS란? (0) | 2020.12.10 |