Table of contents
IEEE802.1 Clause 22에 따르면, Ethernet PHY는 32개의 레지스터를 제어할 수 있습니다.
하지만, 가끔 32개 이상의 레지스터를 제어할 수 있다고, Datasheet에 적혀있는 PHY들이 있습니다.
자료조사한 바에 따르면, 이 개념은 Extended Register 라고 많이 표현합니다.
혹은 Page 라고 표현하기도 하는데, Page라는 용어는 이미 쓰이고 있는 부분들이 많아서 이 글에서는 Extended Register라고 표현하겠습니다.
Extended Register 개념
https://ww1.microchip.com/downloads/en/DeviceDoc/VMDS-10494.pdf
위 링크의 Datasheet를 보면 아래와 같은 설명이 있습니다.
확장 페이지 1 레지스터(17E1–30E1)에 액세스하려면 레지스터 31에 0x0001을 써서 확장 레지스터 액세스를 활성화합니다.
레지스터 31에 0x0000을 쓰면 주 레지스터 액세스가 복원됩니다.
확장 페이지 1 레지스터 액세스가 활성화되면 레지스터 16-30에 대한 읽기 및 쓰기가 IEEE 지정 레지스터 공간의 동일한 레지스터 대신 확장 레지스터 17E1-30E1에 영향을 줍니다.
레지스터 0-15는 확장 페이지 레지스터 액세스 상태의 영향을 받지 않습니다.
요약을 해보면, 확장 레지스터에 접근하려면, 레지스터 주소 31에 0x0001을 써서 활성화 하라는 겁니다.
활성화가 된 이후에는 기존과 동일한 방식으로 레지스터 주소 16~30에 접근하면 레지스터 주소 17E1~30E1에 접근하는 것처럼 동작한다는 것입니다.
Extended Register 예

Pseudo-code
아래는 간단하게 Pseudo-code로 정리했습니다.
개념을 이해하기 어렵지만, 코드로는 간단하네요.
//Read
Write_mii(0, 0x1f, 0x0001) //Set Extended
Read_mii(0, addr, data)
Write_mii(0, 0x1f, 0x0000) //Reset
//Write
Write_mii(0, 0x1f, 0x0001) //Set Extended
Write_mii(0, addr, data)
Write_mii(0, 0x1f, 0x0000) //Reset
'데이터통신/네트워크 > Ethernet' 카테고리의 다른 글
| TCP Keepalive 개념과 주요 설정값 (0) | 2022.04.04 |
|---|---|
| TCP Out-of-order(OOO)와 Out-of-band(OOB) (0) | 2022.04.04 |
| NLP(Normal Link Pulse), FLP(Fast Link Pulse) 개념 (0) | 2022.03.04 |
| MDC, MDIO (Management Data Clock, Management Data Input/Ouput) clause 22 정리 (0) | 2022.03.04 |
| MTU(Maximum Transmission Unit)와 MSS(Maximum Segment Size) 이해 및 관계 (0) | 2021.12.30 |