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ソケットの評価ボード フルデータシート
(PDF, 496kB)

自動アップデート
お客様が関心のある分野でアプリケーションノートが新規に掲載された際に自動通知Eメールの受信を希望する場合は、EE-Mail™にご登録ください。


We Want Your Feedback!



フィードバックをお寄せください。
内容に満足されましたか、あるいは満足されていませんか?もっと良いページにできると思いますか?あるいは、単なるコメントでも結構です。フィードバックをお待ちしています。—マキシムはお客様からいただく訂正、提案を元に改善していきます。 このページを評価し、フィードバックを送信する。

 

ダウンロード、PDFフォーマットダウンロード、PDFフォーマット(20kB)
 AN2155, AN 2155, APP2155, Appnote2155, Appnote 2155

        •         •         •     プライバシーポリシー     •     法的お知らせ

    Copyright © 2009 by Maxim Integrated Products