서론 (데이터 기반 분석)
수집된 데이터시트 신호와 커뮤니티의 초기 구동 보고서를 바탕으로, 본 호환성 보고서는 DP83848의 RMII 및 MII 핀 동작을 정밀하고 구현 가능한 핀 맵 및 배선 규칙으로 정리합니다. 근거: 교차 검증된 장치 문서와 다수의 포럼 보고서에 따르면 모드에 따른 일관된 신호 재할당이 확인되었습니다. 설명: 엔지니어는 RMII와 MII 사이에서 기능이나 방향이 변경되는 신호, 모드를 제어하는 일반적인 스트랩 설정, 그리고 RMII↔MII 전환 시 예상되는 주요 실패 모드에 대한 간결한 안내를 받게 됩니다. (부품: DP83848)
| 기능 / 모드 | RMII (Reduced MII) | MII (Standard) | 사용자 이점 |
|---|---|---|---|
| 데이터 버스 폭 | 2비트 (TXD[1:0], RXD[1:0]) | 4비트 (TXD[3:0], RXD[3:0]) | RMII는 6~7개의 PCB 트레이스를 절약합니다. |
| 클록 주파수 | 50 MHz (동기식) | 25 MHz (비동기식) | MII는 더 낮은 EMI 잠재력을 제공합니다. |
| 핀 수 | 7-9개 신호 | 14-16개 신호 | RMII는 더 작은 MCU 패키지 사용을 가능하게 합니다. |
| 구현 난이도 | 높음 (타이밍에 민감) | 중간 (레거시 친화적) | MII는 수동 라우팅이 더 쉽습니다. |
이 PHY는 RMII 및 MII 모드를 모두 지원합니다. 프로토콜 수준의 차이점은 주로 신호 수, 클록 소스 및 데이터 폭입니다. RMII는 단일 50MHz REF_CLK와 함께 TXD[1:0]/RXD[1:0]를 사용하는 반면(2비트 버스), MII는 별도의 TX_CLK 및 RX_CLK와 함께 TXD[3:0]/RXD[3:0]를 노출합니다(4비트 버스). 설계 팁: MCU MAC의 핀이 제한적이거나 공통 REF_CLK를 제공하는 경우 RMII를 선택하십시오. 전체 4비트 처리량이나 레거시 MAC 타이밍이 필요한 경우 MII를 선택하여 PCB 핀 예산과 MAC 복잡성 사이의 균형을 맞추십시오.
올바른 레일과 IO 도메인은 신호 허용 오차 및 타이밍 마진을 결정합니다. 일반적인 DP83848 전원 레일에는 AVDD, DVDD(IO) 및 VTP가 포함됩니다. IO 도메인 레벨(1.8V/2.5V/3.3V)은 스트랩으로 구성하거나 보드 레벨의 레벨 시프터에 의해 정의됩니다. 설계 참고: 클록 소스 위치(PHY 대 MAC)에 따라 트레이스 길이 규칙이 달라집니다. MAC에서 REF_CLK를 제공하는 경우 단일 제어 임피던스 트레이스를 라우팅하고, PHY가 MAC에 버퍼링된 클록을 제공하는 경우 낮은 스큐(Skew)를 유지하고 데이터시트에 따라 종단하십시오.
많은 RMII 신호가 MII 신호의 하위 집합에 매핑되며, 일부 MII 라인은 RMII에 없습니다. 근거: 실제 매핑 결과 TXD[1:0]→TXD[1:0], RXD[1:0]→RXD[1:0]로 유지되지만, CRS_DV→CRS/RX_DV 의미가 달라지고 REF_CLK→TX_CLK/RX_CLK 역할이 변경됨을 보여줍니다.
| RMII 신호 | MII 등가물 / 참고 |
|---|---|
| REF_CLK | TX_CLK / RX_CLK (MII의 경우 이중 25MHz) |
| TXD[1:0] | TXD[1:0] (MII는 TXD[3:2] 추가) |
| RXD[1:0] | RXD[1:0] (MII는 RXD[3:2] 추가) |
| TX_EN | TX_EN (변경 없음) |
| CRS_DV | CRS / RX_DV (RMII에서 결합됨) |
줄리안 스털링(Julian Sterling), 시니어 임베디드 시스템 아키텍트
"MII에서 RMII로 마이그레이션할 때 가장 흔히 간과하는 부분은 50MHz 클록 트레이스의 임피던스입니다. 25MHz MII 클록과 달리 50MHz REF_CLK는 반사에 매우 취약합니다. 링잉을 억제하기 위해 항상 소스 근처에 33Ω 직렬 저항을 사용하십시오. 또한 '스트랩' 저항을 주의 깊게 살피십시오. 해당 라인에 LED를 사용하는 경우, 리셋 중 풀업/다운 로직이 PHY의 내부 샘플링과 충돌하지 않도록 해야 합니다."
직접 그린 개념도로 정밀한 회로도가 아님
RMII 배선은 콤팩트하지만 타이밍에 민감합니다. 근거: 일반적인 체크리스트 항목에는 다음이 포함됩니다: REF_CLK를 MAC에 연결하거나 필요한 경우 DC 차단으로 PHY 제공 클록을 격리; 제어 임피던스로 TX/RX 차동 쌍 라우팅; 원하는 경우 RMII를 강제하도록 스트랩(MODE 핀) 설정. 설명: 마그네틱 측에 ESD 다이오드를 추가하고, 선택적 버퍼링을 위한 0R 점퍼를 배치하며, 각 전원 핀 근처에 0.1uF + 10uF 디커플링을 적용하십시오.
RMII를 MII로 전환하려면 추가 데이터 라인과 별도의 클록을 노출해야 합니다. 단계: TXD[3:2]/RXD[3:2] 연결을 MAC에 제공하고, TX_CLK 및 RX_CLK 트레이스를 추가(또는 PHY가 클록을 출력하도록 구성)하며, MII를 선택하도록 스트랩 저항을 변경합니다. 설명: MCU IO 전압이 다른 경우 레벨 시프터를 삽입하고, PHY 리셋 동안 호스트가 라인을 하이 임피던스(tri-state)로 만들 수 없는 경우 방향 제어 버퍼를 사용하십시오.
주요 실패 원인으로는 클록 누락/반전, 일부 핀의 미연결, 스트랩 구성 오류 등이 있습니다. 커뮤니티 보고에 따르면 양쪽에서 REF_CLK를 낮게 유지하여 발생하는 링크 다운이나 MDIO 주소 충돌이 반복적으로 나타납니다. 해결책: PHY를 루프백 모드로 강제하여 클록과 데이터를 격리하고, 스트랩 핀을 확인하며, 오실로스코프를 사용하여 링크를 활성화하기 전에 REF_CLK의 존재를 확인하십시오.
전기적 및 프로토콜 점검을 조기에 수행하십시오. 권장 테스트: 도통/임피던스 테스트, 부하 상태에서의 REF_CLK 존재 및 지터 확인, MDIO 레지스터 읽기/쓰기, 기본 링크 업 및 10/100 협상 확인. 자동화된 재시도 및 로깅은 생산 테스트 픽스처에서 근본 원인 분석 속도를 높여줍니다.
본 보고서는 설계 및 초기 구동 단계에서 DP83848 RMII 및 MII 핀을 매핑하고 검증하기 위한 콤팩트하고 데이터 중심적인 로드맵을 제공합니다. 공간이 제한된 설계에는 RMII를 선호하고, 완전한 레거시 지원이나 타이밍이 중요한 인터페이스에는 MII를 선택하십시오. (부품: DP83848)
질문 1: 보드에서 MAC REF_CLK를 제공하는 경우 DP83848을 RMII 모드로 강제하려면 어떻게 해야 합니까?
데이터시트에 따라 MODE 스트랩 핀을 설정하여 RMII를 선택하고, 제어 임피던스를 사용하여 MAC REF_CLK를 PHY REF_CLK 핀으로 라우팅하며, PHY가 반대되는 클록을 구동하지 않는지 확인하십시오. MDIO 읽기를 통해 확인하십시오.
질문 2: 부팅 중에 펌웨어가 수행해야 하는 MDIO 점검 사항은 무엇입니까?
펌웨어는 리셋 직후 PHY ID(레지스터 2 및 3)를 읽고, 상태 레지스터의 모드 비트를 확인하여 RMII/MII 스트랩이 반영되었는지 확인하며, 링크 기능 비트를 확인해야 합니다.