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.


我们期待您的反馈!
喜欢?不喜欢?有待改善?或为我们提供建议?请与我们联系 — 我们将根据您的意见或建议改善我们的工作。 网页评价或提供建议


自动更新
需要自动接收最新发布的应用笔记吗?请订阅EE-Mail™ (English only)。



更多信息  APP 2155: Jul 14, 2003
DS80C400 网络微控制器 完整的数据资料
(PDF, 1.8MB)
免费样品
DSTINIS400 DSTINIs400/DSTINIx-00x插座板 完整的数据资料
(PDF, 496kB)
 

下载,PDF格式下载,PDF格式 (20kB)
 AN2155, AN 2155, APP2155, Appnote2155, Appnote 2155

        •         •         •     隐私权政策     •     法律声明

    © 2009 Maxim Integrated Products版权所有