Commsdesign Home Register About Commsdesign Feedback Online Opportunities SpecSearch GlobalSpec




















eLibrary

EE TIMES NETWORK
 Online Editions
 EE TIMES
 EE TIMES ASIA
 EE TIMES CHINA
 EE TIMES FRANCE
 EE TIMES GERMANY
 EE TIMES INDIA
 EE TIMES JAPAN
 EE TIMES KOREA
 EE TIMES TAIWAN
 EE TIMES UK

 EE TIMES EUROPE
 ANALOG EUROPE
 INDUSTRIAL EUROPE
 AUTOMOTIVE DL EUROPE

 POWER DL EUROPE

 Web Sites
 • Audio DesignLine
 • Automotive DesignLine
 • Career Center
 • CommsDesign
 • Microwave
    Engineering
 • Deepchip.com
 • Design & Reuse
 • Digital Home DesignLine
 • DSP DesignLine
 • EDA DesignLine
 • Embedded.com
 • Elektronik i Norden
 • Green SupplyLine
 • Industrial Control
    DesignLine
 • Planet Analog
 • Mobile Handset
    DesignLine
 • Power Management
    DesignLine
 • Programmable Logic
    DesignLine
 • RF DesignLine
 • RFID-World
 • Techonline
 • Video | Imaging
    DesignLine
 • Wireless Net
    DesignLine

ELECTRONICS GROUP SITES

 • eeProductCenter
 • Electronics Supply &
    Manufacturing
 • Conferences
    and Events
 • Electronics Supply &
    Manufacturing--China
 • Electronics Express
 • Webinars


09 February 2010



Reverse Media Independent Interface (RevMII) Block Architecture

By Dmitriy Gusev
TechOnline
Jun 18, 2003
Print This Story Send As Email Reprints
 


This article describes a design of a simple digital device able to connect two Ethernet MACs with configurable point-to-point link (Reverse MII Interface block). This link is proposed to be a simple and low-cost alternative to using Ethernet PHY in the system. The block might be used either inside an ASIC or on the system board (FPGA). The device described emulates two Ethernet PHY-level blocks connected together and is completely transparent to Ethernet MACs. RevMII is fully compatible with IEEE Std. 802.3u. Management interface (SMI) and Basic Register Set (Control and Status registers, defined in IEEE 802.3) along with MII test capabilities (such as Loopback, Power Down, and Isolate modes) are supported.

Overview
Many home network devices today (bridges, routers, and so on) use Ethernet as a backbone and many system building blocks (such as the Wireless 802.11b Access Point chip Intersil ISL3856) have Ethernet MAC as their primary data interface. To connect an external device to such chip, a designer needs to use an analog Ethernet PHY. But if Ethernet link is required to connect two devices only (such as a router and a Wireless MAC), in other words provide point-to-point Ethernet connection, media sharing is no longer necessary and use of an Ethernet PHY can be avoided. The purpose of Reverse Media Independent Interface Block (RevMII, the name comes from the fact that MII interface is "reversed" from its normal direction) is to provide such direct connection between two Ethernet MACs with similar MII interfaces. The RevMII solution was used to provide a simple and cost-effective communication solution between an ADSL CPE router (designed by ST Microelectronics' Wireline Access group) and Intersil's Wi-Fi chip ISL3856 mentioned above.

The link provided by RevMII is configurable via Serial Management Interface (SMI). The following standard features are supported:

  • SMI support (refer to Clause 22.2.4, IEEE Std. 802.3, 2000 Ed.)
  • Basic Register Set included:
    • Control and Status registers (separate control register on each side)
  • Loopback mode
  • Isolate mode
  • Speed/Duplex mode selection by each side
  • Collision Test
  • Power Down support.

Further additions and customizations, such as a SMI communication link between MACs using Extended Register Set are also possible. The main application for RevMII would be network routers and gateway ASICs. FPGA implementation is also possible due to low-speed and complexity requirements.

Architecture
The purpose of RevMII interface is to connect two Ethernet devices (two "sides" of communication link) in a simple, cost effective, and fully standard compliant way. Therefore, the following considerations should be taken into account when designing the RevMII block. First, the block should be invisible for both sides that feed data through the interface and behave exactly like Ethernet PHY. Second, RevMII should be symmetric and controllable from either side (accept standard management instructions from either side). These considerations lead to the architecture described below.

RevMII block is placed between two Ethernet MAC modules. Figure 1 shows the block diagram of the block and connection diagram that is used with RevMII. Data lines cannot be shared between Ethernet MACs on either side because MII does not support bus sharing from the MAC side—only one MAC may be the master at given time moment. The block diagram of RevMII (Figure 1) shows the following main components:

  • Data multiplexers (Data Mux 0, 1)
  • Management multiplexers (Mgmt Mux 0, 1)
  • Management Entity containing Control and Status Registers (Mgmt) and Control Logic
  • Collision/Carrier Sense Control Logic.


Figure 1:  RevMII block diagram

The MII Data Interface consists of three signals: TxD[3:0] (Data), TxEn (Data Enable), and TxEr (Data Error) for transmit direction and RxD[3:0], RxDv, and RxEr for receive direction respectively (those data interfaces will be referred to as TX and RX buses, these buses are 7 bits wide).

RevMII is controlled via the Serial Management Interface (SMI) as defined in IEEE Std. 802.3. Two Control Registers (for each side) and one Status Registers are implemented. In MII communication, Ethernet MAC always serves as a master and Ethernet PHY as a slave. RevMII is designed as two MII slaves connected to each other with shared control logic. Each side has a Data Mux, a Management Mux, and a Control Register. Status Register is shared by both management interfaces. Both Control Registers control Data multiplexers on each side, therefore both MACs have the same rights for controlling the link between them. Control Registers are independent from each other and they both affect bits in Status Register.

Collision/Carrier Sense Control Logic generates COL and CRS signals (which are used by MAC to observe a link status) as defined in IEEE Std. 802.3, Clause 22.1.

Clocks and Resets
MII data clocks (TxClk and RxClk) are not used in RevMII block (unless TX and RX buses are to be registered on block boundaries because of timing considerations). Management Clocks (MDC) are the real clocks in design, they clock Control and Status registers. Management Clocks are generated by Ethernet MACs and could be completely independent from each other. Separate reset signals (to be synchronized with management clocks) on each side are required.

RevMII Operation
As noted earlier, the RevMII block acts like two Ethernet PHYs connected together via a dedicated link (therefore the medium access mechanism is unnecessary). For both MACs the block is seen as Ethernet PHY with minimum functionality: it accepts basic management commands from either side (and configures the link accordingly), is able to return status information and pass data through. Because the link is dedicated (no other devices compete for medium), no collision might occur during transmission (unless programmed by a MAC for testing purposes) and the medium is always idle if no transmission is in progress. RevMII block can be in one of the following modes of operation:

  1. Power Down Mode
    Activated by setting Power Down bit in any Control Register. Link is down and Data multiplexers are switched to port 2 (Figure 1, MACs read all zeros).

  2. Isolate Mode
    Activated by setting Isolate bit in any Control Register. Link is down and Data multiplexers are switched to port 2 (exactly as in Power Down Mode).

  3. Loopback Mode
    Activated by setting Loopback bit in any Control Register. Link is down and Data multiplexers are switched to port 1 (Figure 1), MAC receives the same data it transmits. This mode is used for testing purposes.

  4. Collision Test
    If CollTest bit is activated in any Control Register, COL signal on that side will become high. This mode is also used for test purposes. Link Down bit in Status Register will show to the other side that transmission is impossible.

  5. Data Transfer Mode
    If none of those modes is activated, Data Transfer can occur. Data muxes are switched to port 0 (so TX bus from MAC 0 goes to RX inputs of MAC 1 and vice versa). This is a default mode of operation.

Modes 1 through 4 will be referred to as Test Modes. If any side is switched to any of the test modes, LinkDown signal becomes active and shuts down the link. Also, CRS signals on both sides will become logic '1' (indicating that link is down), so the other side cannot transmit (see below).

Collision/Carrier Sense Logic
Figure 2 shows how the Collision (COL) and Carrier Sense (CRS) signals are generated. Collision Test signals are Collision Test bits in corresponding Control Registers. Collisions cannot occur in peer-to-peer connection (provided that both MACs support full-duplex mode), so in Data Transfer mode Collision signals are active only when the corresponding Collision Test bit in Control Register is set for testing purposes.


Figure 2:  Collision/Carrier Sense logic block diagram

In Data Transfer mode, the data multiplexers are switched to port 0 (Figure 1) meaning active link. In this case, if the link is idle (Data Enable signals on both sides are inactive) Carrier Sense signals are '0'. If data transmission is going on from any side, Carrier Sense signal on that side will indicate that by switching to logic '1'. In any test mode, both Carrier Sense signals become logic '1', indicating that link is not available (Clause 22.2.2). Collision and Carrier Sense signals are not required to transition synchronously to any clock, therefore simple combinatorial logic is used for their generation.

Management Interface
The Basic Regsiter Set (IEEE Std. 802.3 term) consisting of two Control Registers (one on each side) and a common Status Register accessible for read from any side. Control Registers can be both read and written and they have the same format. These registers constitute SMI Basic Register Set. Standard SMI access procedure and management frame format requirements were implemented in RevMII design without changes (Clause 22.2.4). Tables 1 and 2 show the Control and Status registers' formats. It should be noted that in order to ensure PHY-like behavior on RevMII side (and therefore software driver portability), the Basic Register Set should be fully supported.

RevMII block may share SMI connection with other devices such as Ethernet PHY or other RevMII blocks and PHY address is used to distinguish SMI transactions directed to different devices. 5-bit PHY address used by RevMII is set up either at chip top level or at external pins (Clause 22.2.4).

The following are details on using the registers.

Control Register
  • Bits 0-5: Reserved.
    Any values written there are ignored.

  • Bits 6 and 13: Speed selection.
    Used to indicate maximum speed set by corresponding Ethernet MAC. Lesser of the two Speed values will become Speed Indicator in Status Register (bits 9-15).

  • Bit 7: Collision Test, asserts COL signal (see previous section, Collision Test mode).
    Default value is '0'.

  • Bit 8: Duplex mode, '0' = Half duplex, '1' = Full duplex.
    Default value is zero. Lesser of the two Duplex mode will affect Status Register bits 9-15 (like Speed Selection).

  • Bit 9: Auto Negotiation restart.
    There is no Auto Negotiation necessary for point-to-point connection, this bit is not used.

  • Bit 10: Isolate mode.
    Brings in RevMII module into Isolate mode (see previous section for details).

  • Bit 11: Power Down mode.
    Brings in RevMII module into Power Down mode (see previous section for details).

  • Bit 12: Auto Negotiation On.
    Not used.

  • Bit 14: Loopback mode.
    Brings in RevMII module into Loopback mode (see previous section for details).

Status Register
  • Bit 0: Extended Register Set.
    RevMII doesn't have Extended registers, this bit is always read as '0'.

  • Bit 1: Jabber Detection.
    Obsolete feature from 10 Mbps Ethernet standard, this bit is always '0'.

  • Bit 2: Link Status.
    '1' means link is active, '0' means the other side has closed connection (entered Isolate/Power Down/Loopback mode).

  • Bit 3: Auto Negotiation ability.
    Always '0'.

  • Bit 4: Remote Fault condition detected.

  • Bit 5: Auto Negotiation complete.
    Always '0'.

  • Bit 6: No Preamble.

  • Bit 7: Reserved.

  • Bit 8: Extended Status register present.
    No extra registers are necessary for basic functionality although they may be added for additional communication between MACs. See below for details.

  • Bits 9-15: Current Speed/Duplex mode indicator.

Control and Status Registers described above are part of the Basic Register Set. Additional control or status registers can also be implemented as part of the Extended Register Set. The only requirements imposed by the standard on additional registers are the following. The length of any register should not exceed 16 bits and they should be accessible by standard SMI protocol. The Extended Register Set can be used to control extra features such as speed/size of packets requested by one side from another or as additional asynchronous channel of communication between Ethernet MACs. This channel may work as follows. One of the MACs writes data to be transmitted to the other MAC to Extended Set Register(s) and the data are being transferred to Status Register accessible from the other side inside RevMII module. The other MAC will read the data when it initiates next SMI transfer. It should be noted that one MAC cannot force the other to read the data (in other words, send an interrupt) therefore only simple communication such as semaphores can be accomplished via the SMI interface.

Conclusion
The RevMII Interface Module described represents a simple, digital-only solution allowing to connect two Ethernet MACs directly while ensuring IEEE Std. 802.3 compliance. This module was designed as part of the new STMicroelectronics' ASSP (ADSL router) and with the purpose to connect 802.11b-compatible wireless networks to the rest of home LAN in a cost-effective way. The architecture can easily be described using HDL (original version was written using VHDL) and the module was synthesized (no special synthesis provisions are necessary). The total size was 8192 equivalent gates for TSMC 0.18 library. The RevMII architecture also provides capability to implement additional shared registers accessible via management interface. This feature allows Ethernet devices to communicate directly via semaphores inside RevMII module. Because of simplicity and lack of strict timing requirements, the architecture described can be easily implemented as part of an ASIC or programmed inside a FPGA.


About the Author
Dmitriy Gusev graduated from the Moscow Institute of Physics and Technology(Russia) in 2000. He currently works at STMicroelectronics Multimedia Technology Center (MMTC)developing next generation portable multimedia platforms. His research interests include system-level modeling and verification technologies.




EE Times TechCareers
Search Jobs

Enter Keyword(s):


Function:


State:
  

Post Your Resume
-----------------
Employers Area
Most Recent Posts
Ascension Health seeking Solutions Development Analyst in St. Louis, MO

National Semiconductor seeking Principal IC Design Engineer in Santa Clara, CA

Taylor Guitars seeking Sr. Web Designer in El Cajon, CA

Covidien seeking Hardware Manager in Boulder, CO

Sierra Nevada seeking Software Engineer in Hagerstown, MD

More career-related news, resources and job postings for technology professionals

Related Products
  • Industrial server has 4 PCI Express x4/x16 expansion slots
  • Altium adds Altera Cyclone III to NanoBoard club
  • IBM back in network processor game
  • Bosch unveils integrated MEMS automotive sensor
  • Intel rolls Tukwilla, nixes fully buffered DIMMs

    eeProductCenter



    Home  |  Register  |  About  |  Feedback  |  Contact   |  Site Map
    All materials on this site Copyright © 2010 TechInsights, a Division of United Business Media LLC All rights reserved.
    Privacy Statement ¦ Terms of Service