ENGLISH 简体中文 日本語 한국어  

    로그인 | 회원가입 


   
 
키워드나 부품번호를 입력해주세요    




애플리케이션 노트 2155

DS80C400 Software PHY Reset

Abstract: There is a potential timing issue causing problems with the Ethernet receiver when a physical interface (PHY) such as the Intel® LXT972ALC is connected to the reset output (RSTOL) of the DS80C400. The solution is to not connect the reset line and perform a software reset of the PHY instead. This application note describes the code necessary to perform a software reset of the PHY.

Introduction

The DS80C400 high-speed microcontroller has a built-in Ethernet media-access controller (MAC) with an industry-standard media-independent interface (MII). Please refer to the DS80C400 data sheet and the High-Speed Microcontroller User's Guide: Network Microcontroller Supplement.

There is a potential timing issue causing problems with the Ethernet receiver when a physical interface (PHY) such as the Intel LXT972ALC is connected to the reset output (RSTOL) of the DS80C400. The solution is to not connect the reset line but instead perform a software reset of the PHY. This application note describes the code necessary to perform a software reset of the PHY.

DS80C400 MAC Software Library

Code to access the DS80C400 MAC and external PHYs is available on our ftp site at http://files.dalsemi.com/tini/ds80c400/ethdriver/ and documented in application note 712, "DS80C400 Ethernet Drivers."

PHY Software Reset Procedure

The IEEE® Standard 802.3 defines bit 15 in the MII control register (0.15) as the reset bit. The bit is self-clearing. Using the aforementioned library, a PHY can be reset with the following code:
mov b, #0 ; PHY number
mov a, #MII_CONTROL ; Control register
call ETH_ReadMII
orl 1, #80h ; Set reset bit (0.15) in r1
call ETH_WriteMII
reset_wait:
call ETH_ReadMII
mov a, r1
jb acc.7, reset_wait ; Loop while in reset
Equivalent code can be written for Java™ programs running on the TINI® Firmware 1.12 and later. com.dalsemi.tininet.TININet contains the readMII and writeMII methods:
import com.dalsemi.tininet.*;
...
int val = TININet.readMII(0, 0); /* PHY 0, register 0 */
val |= 0x8000; /* Set reset bit */
TININet.writeMII(0, 0, val); /* Perform reset */
do {
val = TININet.readMII(0, 0);
} while ((val & 0x8000) != 0);



IEEE is a registered service mark of the Institute of Electrical and Electronics Engineers.

Intel is a registered trademark of Intel Corporation.

Java is a trademark of Sun Microsystems, Inc.

TINI is a registered trademark of Maxim Integrated Products, Inc.


관련 부품  APP 2155: Jul 14, 2003
DS80C400 네트워크 마이크로컨트롤러 전체 데이터 시트
(PDF, 1.8MB)
무료 샘플
DSTINIS400 DSTINIs400/DSTINIs-00x 소켓 EV 보드 전체 데이터 시트
(PDF, 496kB)

자동 업데이트
관심 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트를 원하십니까? 그렇다면 EE-Mail™을 신청하십시오.


We Want Your Feedback!



의견을 보내주세요!
위 내용이 도움이 되셨나요?
여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다. 이 페이지를 평가하고 의견을 보내주십시오.

 

다운로드, PDF 형식다운로드, PDF 형식 (20kB)
 AN2155, AN 2155, APP2155, Appnote2155, Appnote 2155

        •         •         •     개인정보보호 정책     •     법적 고지

    Copyright © 2009 by Maxim Integrated Products