W5500 Power down mode 진입 문의

당사 고객사인 바이텔의 Application에서 Power Consumption관리 문제로 인하여
제품의 동작을 안할 경우 Power Down mode로 진입을 해야 한다고 합니다.

0x88로 설정하였으나 정상적으로 Power Down mode로 진입이 안된다고 합니다.
(제 생각엔 0x71로 설정해야 할것 같습니다.)

검토하시고 어떤식으로 reg를 설정해야 Power Down mode로 진입이 되는지 조언 부탁드리겠습니다.

안녕하세요

두가지 방법이 존재합니다.

  1. H/w pin(PMODE[2:0])
  2. PHYCFGR의 OPMDC[2:0]

1번과 2번의 차이는 PHYCFGR의 OPMDC를 사용하냐, or H/w pin 인 PMODE를 사용하냐의 차이입니다.

2번의 PHYCFGR의 OPMDC[2:0] 방법으로 설명드리겠습니다.

  • PHYCFGR(0x002E)의 값을 0x70으로 변경(reset enable/power down mode)
  • PHYCFGR(0x002E)의 값을 0xF0으로 변경(reset disable/power down mode)
  • PHYCFGR(0x002E)의 하위 3bit(link 관련) 값 or Link led 확인
  • 다음 동작 진행

감사합니다. :slight_smile:
irinakim

말씀하신것과 같이 적용해서 해 본 결과 PHY Power Down Mode로는 설정이 잘됩니다.
Register를 읽어서 확인해보면 Link down되었음을 알 수 있었습니다.
하지만, PHY Power Down Mode에서 Normal Mode로 전환이 안됩니다.

(1) PHY Power Down mode 설정

setPHYCFGR (0x70); //PHYCFGR(0x002E)의 값을 0x70

setPHYCFGR (0xf0); //PHYCFGR(0x002E)의 값을 0xf0

getPHYCFGR() = 0xf0  /* [0] = 0 : link down */

(2) PHY Power Down Mode → Normal Operation Mode

setPHYCFGR (0x70); //PHYCFGR(0x002E)의 값을 0x70
setPHYCFGR (0xb8); //PHYCFGR(0x002E)의 값을 0xb8

getPHYCFGR() = 0xba; /* [0] = 0 : link down */

위와같이 설정해도 여전히 link down상태입니다.

혹시 다른 방법이 있나요?

안녕하세요.
W5500의 PHY mode 설정은 다음과 같은 순서로 수행하시는 것이 용이합니다.
a와 b를 각각의 모드 진입 방법으로 두고 테스트 확인 부탁 드리겠습니다.

a. Power Down mode 진입 시

// Power down mode 설정
(1) setPHYCFGR() 함수를 이용하여 레지스터의 Power down mode 비트 설정 (set, 1)

// PHY reset 수행
(2) setPHYCFGR() 함수를 이용하여 Reset enable 비트 설정 (PHY reset 수행, 해당 비트 set, 1)
(2) setPHYCFGR() 함수를 이용하여 Reset enable 비트 클리어 (PHY reset 비트 clear, 0)

b. Power Down mode에서 Normal mode로 복귀 시

// Power down mode 설정
(1) setPHYCFGR() 함수를 이용하여 레지스터의 Power down mode 비트 클리어 (clear, 0)

// PHY reset 수행
(2) setPHYCFGR() 함수를 이용하여 Reset enable 비트 설정 (PHY reset 수행, 해당 비트 set, 1)
(2) setPHYCFGR() 함수를 이용하여 Reset enable 비트 클리어 (PHY reset 비트 clear, 0)

Regards,
Eric.

1 Like