Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:adin1300-and-adin1200:adin1300-ieee-compliance-test-mode-access [09 Feb 2022 13:14] – Initial Text Extry, Tables, formatting and Figures to follow Mark Bolgerresources:eval:user-guides:adin1300-and-adin1200:adin1300-ieee-compliance-test-mode-access [18 Feb 2022 13:18] (current) – Remove Prelim at top Mark Bolger
Line 2: Line 2:
 ====== Configuring the ADIN1300 for Ethernet PHY Compliance Test Modes ====== ====== Configuring the ADIN1300 for Ethernet PHY Compliance Test Modes ======
  
 +===== Overview =====
  
-<WRAP group> +The purpose of this application note is to describe the configuration of the ADIN1300 for the various Ethernet PHY compliance test modes as set out by IEEE802.3.
-<WRAP half column> +
-====== Overview ======+
  
-The purpose of this application note is to describe the configuration of the ADIN1300 for the various Ethernet PHY compliance test modes as set out by IEEE802.3.  
 The ADIN1300 supports the IEEE test modes, Test Mode 1, Test Mode 2, Test Mode 3 and Test Mode 4 used for 1000BASE-T IEEE compliance testing. The ADIN1300 has some additional test modes that are useful for 10BASE-T and 100BASE-TX compliance testing. Details of the registers, sequences of writes are captured in this document. Use this application note in conjunction with the product datasheet. The ADIN1300 supports the IEEE test modes, Test Mode 1, Test Mode 2, Test Mode 3 and Test Mode 4 used for 1000BASE-T IEEE compliance testing. The ADIN1300 has some additional test modes that are useful for 10BASE-T and 100BASE-TX compliance testing. Details of the registers, sequences of writes are captured in this document. Use this application note in conjunction with the product datasheet.
  
-===== Testing Equipment and Setup =====+==== Testing Equipment and Setup ====
  
 When performing this testing, user will need Ethernet compliance test fixture and associated Ethernet physical layer compliance software. There are a number of vendors provide Ethernet Compliance test equipment. For ADI in-house validation, we used Tektronix TDSET3 compliance software in addition to having UNH (University of New Hampshire perform compliance testing).  When performing this testing, user will need Ethernet compliance test fixture and associated Ethernet physical layer compliance software. There are a number of vendors provide Ethernet Compliance test equipment. For ADI in-house validation, we used Tektronix TDSET3 compliance software in addition to having UNH (University of New Hampshire perform compliance testing). 
 +
 Once equipment is in place and hardware powered and connected to the test fixture, configure the PHY through the MDIO interface to set the required test mode and use the compliance software to record and report the results.  Once equipment is in place and hardware powered and connected to the test fixture, configure the PHY through the MDIO interface to set the required test mode and use the compliance software to record and report the results. 
  
-===== Reset Between Tests =====+==== Reset Between Tests ====
  
 To ensure the device is in a known state, either start from a power cycle or alternatively, issue the following writes to reset the device with fresh read of the hardware configuration.  To ensure the device is in a known state, either start from a power cycle or alternatively, issue the following writes to reset the device with fresh read of the hardware configuration. 
  
-  * GE_SFT_RST_CFG_EN.Write(0b1) //Register 0xFF0D to ensure the hardware configuration is refreshed.  +  * GE_SFT_RST_CFG_EN.Write(0b1) Register 0xFF0D to ensure the hardware configuration is refreshed.   
-  * GE_SFT_RST. Write(0b1) //Register 0xFF0C subsystem reset  +  * GE_SFT_RST. Write(0b1) Register 0xFF0C subsystem reset 
  
-===== Extended Register Addressing =====+==== Extended Register Addressing ====
  
 The ADIN1300 supports a range of extended management interface registers which can be accessed using Clause 45 access or alternatively using Clause 22 access through the EXT_REG_PTR (address 0x0010) and EXT_REG_DATA (address 0x0011), these registers provide user ability to read/write to the extended register space (any register greater than 0x001F) indirectly.  The ADIN1300 supports a range of extended management interface registers which can be accessed using Clause 45 access or alternatively using Clause 22 access through the EXT_REG_PTR (address 0x0010) and EXT_REG_DATA (address 0x0011), these registers provide user ability to read/write to the extended register space (any register greater than 0x001F) indirectly. 
 If using Clause 22 access, write the 16-bit register address into the EXT_REG_PTR register and then read or write the EXT_REG_DATA register.  If using Clause 22 access, write the 16-bit register address into the EXT_REG_PTR register and then read or write the EXT_REG_DATA register. 
  
 +----
  
 ===== 1000BASE-T Testing ===== ===== 1000BASE-T Testing =====
Line 42: Line 42:
 This address corresponds to the MASTER-SLAVE Control register specified in clause 40.5.1.1 of IEEE Std 802.3. Only Test mode bits are show in table below, refer to datasheet register map for further detail.  This address corresponds to the MASTER-SLAVE Control register specified in clause 40.5.1.1 of IEEE Std 802.3. Only Test mode bits are show in table below, refer to datasheet register map for further detail. 
  
-ADD TABLE +{{ :resources:eval:user-guides:adin1300-and-adin1200:1_-1000baset_master_slave_register.png |}}
  
  
Line 52: Line 52:
   - To verify the PHY transmitter output voltage droop is in range   - To verify the PHY transmitter output voltage droop is in range
 To configure the device in Test Mode 1, issue the following writes over MDIO To configure the device in Test Mode 1, issue the following writes over MDIO
-MII_CONTROL.SFT_PD. Write(0b1) //Register 0x0000, bit 11: Place the device into Software Power Down +  * MII_CONTROL.SFT_PD. Write(0b1) Register 0x0000, bit 11: Place the device into Software Power Down 
-MSTR_SLV_CONTROL.TST_MODE.Write(1) // Register 0x0009, bit 15:13: Enable Test Mode 1 +  MSTR_SLV_CONTROL.TST_MODE.Write(1) Register 0x0009, bit 15:13: Enable Test Mode 1 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000, bit 11: Bring PHY out of Software  Power Down+  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000, bit 11: Bring PHY out of Software  Power Down
  
 ==== TEST MODE 2 & 3 ==== ==== TEST MODE 2 & 3 ====
Line 61: Line 61:
 Note the ADIN1300 does not expose TX_TCLK directly.  Note the ADIN1300 does not expose TX_TCLK directly. 
 To configure the device in Test Mode 2, issue the following writes over MDIO To configure the device in Test Mode 2, issue the following writes over MDIO
-MII_CONTROL.SFT_PD. Write(0b1) //Register 0x0000, bit 11: Place the device into Software Power Down +  * MII_CONTROL.SFT_PD. Write(0b1) Register 0x0000, bit 11: Place the device into Software Power Down 
-MSTR_SLV_CONTROL.TST_MODE.Write(2) // Register 0x0009, bits 15:13: Enable Test Mode 2 +  MSTR_SLV_CONTROL.TST_MODE.Write(2) Register 0x0009, bits 15:13: Enable Test Mode 2 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000, bit 11: Bring PHY out of Software Power Down+  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000, bit 11: Bring PHY out of Software Power Down
 To configure the device in Test Mode 3, issue the following writes over MDIO To configure the device in Test Mode 3, issue the following writes over MDIO
-MII_CONTROL.SFT_PD. Write(0b1) //Register 0x0000, bit 11: Place the device into Software Power Down +  * MII_CONTROL.SFT_PD. Write(0b1) Register 0x0000, bit 11: Place the device into Software Power Down 
-MSTR_SLV_CONTROL.TST_MODE.Write(3) // Register 0x0009, bits 15:13: Enable Test Mode 3 +  MSTR_SLV_CONTROL.TST_MODE.Write(3) Register 0x0009, bits 15:13: Enable Test Mode 3 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000, bit 11:  Bring PHY out of Software Power Down+  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000, bit 11:  Bring PHY out of Software Power Down
  
  
Line 73: Line 73:
  
 This test mode is used  This test mode is used 
-To ensure the peak distortion is within the specified range.  +  - To ensure the peak distortion is within the specified range.  
-To verify the return loss is above the specified attenuation.  +  To verify the return loss is above the specified attenuation.  
-To verify the PHYs common-mode rejection ratio is in range+  To verify the PHYs common-mode rejection ratio is in range
 To configure the device in Test Mode 4, issue the following writes over MDIO To configure the device in Test Mode 4, issue the following writes over MDIO
-MII_CONTROL.SFT_PD. Write(0b1) //Register 0x0000, bit 11: Place the device into Software Power Down +  * MII_CONTROL.SFT_PD. Write(0b1) Register 0x0000, bit 11: Place the device into Software Power Down 
-MSTR_SLV_CONTROL.TST_MODE.Write(4) //Register 0x0009, bits 15:13. Enable Test Mode 4 +  MSTR_SLV_CONTROL.TST_MODE.Write(4) Register 0x0009, bits 15:13. Enable Test Mode 4 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000 bit 11: Bring PHY out of Software Power Down+  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000 bit 11: Bring PHY out of Software Power Down
  
 +----
  
-</WRAP> 
- 
-<WRAP half column> 
- 
-{{:resources:eval:user-guides:adin1300-and-adin1200:figure2_isolating_using_discrete_magnetics_dp83867.png|}} 
  
-==== 100BASE-TX ====+===== 100BASE-TX =====
  
 For 100BASE-TX operation there are a variety of tests. There are two main test modes main register involved here is the B_100_TX_TST_MODE register at address 0xB413 (available via Clause 45 access) For 100BASE-TX operation there are a variety of tests. There are two main test modes main register involved here is the B_100_TX_TST_MODE register at address 0xB413 (available via Clause 45 access)
Line 98: Line 94:
 This register provides the ability to transmit a 100BASE-TX test signal. This register provides the ability to transmit a 100BASE-TX test signal.
  
 +{{ :resources:eval:user-guides:adin1300-and-adin1200:2_-_b100tx_tst_mode_register.png |}}
  
 To configure the device for 100BASE-TX VOD measurements, issue the following writes over MDIO To configure the device for 100BASE-TX VOD measurements, issue the following writes over MDIO
-MII_CONTROL.Write(0x2900) //Register 0x0000 to place the device into Software PD, configure 100BASE-TX full duplex, autoneg disabled +  * MII_CONTROL.Write(0x2900) Register 0x0000 to place the device into Software PD, configure 100BASE-TX full duplex, autoneg disabled 
-PHY_CTRL_1.AUTO_MDI_EN.Write(0b) // Register 0x0012, bit 10: Disable Auto MDI/MDIX +  PHY_CTRL_1.AUTO_MDI_EN.Write(0b) Register 0x0012, bit 10: Disable Auto MDI/MDIX 
-PHY_CTRL_1.MAN_MDIX.Write(0b0) // Register 0x0012, bit 9: Operate in MDI configuration +  PHY_CTRL_1.MAN_MDIX.Write(0b0) Register 0x0012, bit 9: Operate in MDI configuration 
-B_100_TX_TST_MODE.Write(1/2/3/4) // Register 0xB413 bits 2:0: Configure required test mode on Dim 0 or 1 +  B_100_TX_TST_MODE.Write(1/2/3/4) Register 0xB413 bits 2:0: Configure required test mode on Dim 0 or 1 
-PHY_CTRL_3. LINK_EN.Write(0b1) // Register 0x0017, bit 13: Enable linking +  PHY_CTRL_3. LINK_EN.Write(0b1) Register 0x0017, bit 13: Enable linking 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000 bit 11: Bring PHY out of Software Power Down +  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000 bit 11: Bring PHY out of Software Power Down
  
 +----
  
-=== 10BASE-TE/10BASE-T TRANSMIT TEST SIGNAL ===+===== 10BASE-TE/10BASE-T TRANSMIT TEST SIGNAL =====
  
 When operating in 10 Mbps speeds, the PHY is configured for 10BASE-Te transmit levels by default. 10BASE-T provides larger transmit levels and can be configured by clearing the B_10_E_EN register.  When operating in 10 Mbps speeds, the PHY is configured for 10BASE-Te transmit levels by default. 10BASE-T provides larger transmit levels and can be configured by clearing the B_10_E_EN register. 
 The 10BASE-Te/T compliance tests are: The 10BASE-Te/T compliance tests are:
-Link Pulse Testing +  * Link Pulse Testing 
-Medium Attachment Unit (MAU) +  Medium Attachment Unit (MAU) 
-TP_IDL +  TP_IDL 
-Jitter +  Jitter 
-Differential Voltage +  Differential Voltage 
-Harmonics +  Harmonics 
-Transmitter Return Loss +  Transmitter Return Loss 
-Receiver Return Loss +  Receiver Return Loss 
-Common-Mode Voltage+  Common-Mode Voltage
 The B_10_TX_TST_MODE register is used to select transmit test signals useful for 10BASE-T compliance testing.  The B_10_TX_TST_MODE register is used to select transmit test signals useful for 10BASE-T compliance testing. 
  
  
-=== 10BASE-T Transmit Test Mode Register ===+==== 10BASE-T Transmit Test Mode Register ====
  
  
 Address: 0xB412, Reset: 0x0000, Name: B_10_TX_TST_MODE Address: 0xB412, Reset: 0x0000, Name: B_10_TX_TST_MODE
 This register provides the ability to transmit a 10BASE-T test signal. This register provides the ability to transmit a 10BASE-T test signal.
 +
 +{{ :resources:eval:user-guides:adin1300-and-adin1200:3_-_b10tx_tst_mode_register.png |}}
  
 To configure the device for 10BASE-T transmit test mode, consisting of 5MHz square wave on desired dimension, issue the following writes over MDIO To configure the device for 10BASE-T transmit test mode, consisting of 5MHz square wave on desired dimension, issue the following writes over MDIO
-GE_SFT_RST_CFG_EN.Write(0b1) //Register 0xFF0D to ensure the hardware configuration is refreshed.  +  * GE_SFT_RST_CFG_EN.Write(0b1) Register 0xFF0D to ensure the hardware configuration is refreshed.  
-GE_SFT_RST. Write(0b1) //Register 0xFF0C subsystem reset  +  GE_SFT_RST. Write(0b1) Register 0xFF0C subsystem reset  
-MII_CONTROL.SFT_RST. Write(0b1) // Register 0x0000 Issue a software reset, this bit is self clearing +  MII_CONTROL.SFT_RST. Write(0b1) Register 0x0000 Issue a software reset, this bit is self clearing 
-MII_CONTROL.Write(0x0900) // Register 0x0000 Enter Software Power Down and configure 10M FD, disable AutoNegotiation +  MII_CONTROL.Write(0x0900) Register 0x0000 Enter Software Power Down and configure 10M FD, disable AutoNegotiation 
-B_10_TX_TST_MODE.Write(0b100) // Register 0xB412 Choice of 100: Enable Transmit 5MHz square wave on Dim 1; 011: 5MHz on Dim0; 010 10MHz on Dim1; 001: 10MHz on Dim0.  +  B_10_TX_TST_MODE.Write(0b100) Register 0xB412 Choice of 100: Enable Transmit 5MHz square wave on Dim 1; 011: 5MHz on Dim0; 010 10MHz on Dim1; 001: 10MHz on Dim0.  
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000 Bring PHY out of Software  PD+  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000 Bring PHY out of Software  PD
  
 An alternative configuration, where the device is configured in 10BASE-T forced mode in loopback with Tx suppression disabled, with transmission of frames with random payloads using the frame generator as follows:  An alternative configuration, where the device is configured in 10BASE-T forced mode in loopback with Tx suppression disabled, with transmission of frames with random payloads using the frame generator as follows: 
-GE_SFT_RST_CFG_EN.Write(0b1) //Register 0xFF0D to ensure the hardware configuration is refreshed.  +  * GE_SFT_RST_CFG_EN.Write(0b1) Register 0xFF0D to ensure the hardware configuration is refreshed.  
-GE_SFT_RST. Write(0b1) //Register 0xFF0C subsystem reset  +  GE_SFT_RST. Write(0b1) Register 0xFF0C subsystem reset  
-MII_CONTROL.SFT_RST. Write(0b1) // Register 0x0000 bit 15, Issue a software reset, this bit is self clearing +  MII_CONTROL.SFT_RST. Write(0b1) Register 0x0000 bit 15, Issue a software reset, this bit is self clearing 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000 bit 11, Bring PHY out of Software  PD +  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000 bit 11, Bring PHY out of Software  PD 
-PHY_CTRL_1.DIAG_CLK_EN.Write(0b1) // Register 0x0012 bit 2, Enable the Diagnostic Clock +  PHY_CTRL_1.DIAG_CLK_EN.Write(0b1) Register 0x0012 bit 2, Enable the Diagnostic Clock 
-MII_CONTROL.LOOPBACK.Write(0b1) // Register 0x0000 bit 14, Enable Loopback +  MII_CONTROL.LOOPBACK.Write(0b1) Register 0x0000 bit 14, Enable Loopback 
-PHY_CTRL_1.MAN_MDIX.Write(0b0) // Register 0x0012 bit 9, Operate in MDI configuration +  PHY_CTRL_1.MAN_MDIX.Write(0b0) Register 0x0012 bit 9, Operate in MDI configuration 
-PHY_CTRL_STATUS_1.LB_TX_SUP.Write(0b0) // Register 0x0013 bit 6, Stop suppressing the transmit signal at the MDI pins in all digital loopback +  PHY_CTRL_STATUS_1.LB_TX_SUP.Write(0b0) Register 0x0013 bit 6, Stop suppressing the transmit signal at the MDI pins in all digital loopback 
-PHY_CTRL_STATUS_1.LB_ALL_DIG_SEL.Write(0b1) // Register 0x0013 bit12 Enable all digital loopback +  PHY_CTRL_STATUS_1.LB_ALL_DIG_SEL.Write(0b1) Register 0x0013 bit12 Enable all digital loopback 
-PHY_CTRL_3. LINK_EN.Write(0b1) // Register 0x0017 bit 13, Enable linking +  PHY_CTRL_3. LINK_EN.Write(0b1) Register 0x0017 bit 13, Enable linking 
-MII_CONTROL.SFT_PD.Write(0b0) // Register 0x0000 bit 11, Bring PHY out of Software  PD +  MII_CONTROL.SFT_PD.Write(0b0) Register 0x0000 bit 11, Bring PHY out of Software  PD 
-Wait for Link up +  Wait for Link up 
-FG_CONT_MODE_EN.Write(0b1) // Register 0x9417 Enable the frame generator into continuous mode +  FG_CONT_MODE_EN.Write(0b1) Register 0x9417 Enable the frame generator into continuous mode 
-FG_CNTRL_RSTRT.FG_CNTRL.Write(1) // Register 0x9416, bits 2:0: Enable random number in the MAC client data frame field, options of decrementing, alternative 0x55, all ones, all zeroes, random number +  FG_CNTRL_RSTRT.FG_CNTRL.Write(1) Register 0x9416, bits 2:0: Enable random number in the MAC client data frame field, options of decrementing, alternative 0x55, all ones, all zeroes, random number 
-FG_EN.FG_EN.Write(1) // Enable Frame Generator+  FG_EN.FG_EN.Write(1) Enable Frame Generator
 Setup for 10BASE-T forced mode in loopback with Tx suppression disabled, with transmission of frames with random payloads using the frame generator,  configure as follows in sequence above Setup for 10BASE-T forced mode in loopback with Tx suppression disabled, with transmission of frames with random payloads using the frame generator,  configure as follows in sequence above
-FG_CNTRL_RSTRT.FG_CNTRL.Write(0b011) // 0xFF repeating payloads +  * FG_CNTRL_RSTRT.FG_CNTRL.Write(0b011) 0xFF repeating payloads 
-FG_CNTRL_RSTRT.FG_CNTRL.Write(0b010) // 0x00 repeating payloads +  FG_CNTRL_RSTRT.FG_CNTRL.Write(0b010) 0x00 repeating payloads 
-FG_CNTRL_RSTRT.FG_CNTRL.Write(0b100) // alternative 0x55 payloads +  FG_CNTRL_RSTRT.FG_CNTRL.Write(0b100) alternative 0x55 payloads 
-FG_CNTRL_RSTRT.FG_CNTRL.Write(0b101) // data field decrementing from 255 to 0(decimal)+  FG_CNTRL_RSTRT.FG_CNTRL.Write(0b101) data field decrementing from 255 to 0(decimal)
  
 10BASE-T is configured by writing the following register – include it in the sequence above if 10BASE-T operation is required.  10BASE-T is configured by writing the following register – include it in the sequence above if 10BASE-T operation is required. 
-B_10_E_EN.Write(0x0)// 10BASE-Te is enabled by default, write 0 to configure 10BASE-T. +  * B_10_E_EN.Write(0x0) 10BASE-Te is enabled by default, write 0 to configure 10BASE-T. 
  
  
 +----
  
-</WRAP> 
-</WRAP> 
-  
  
----- +===== Testing Using ADI Evaluation GUI =====
-<WRAP group> +
-<WRAP half column> +
- +
-==== TESTING USING ADI EVALUATION GUI ====+
  
 The ADI evaluation board uses small MDIO dongle board for USB to MDIO communications and the accompanying GUI provides access to the various Test modes from the “Test Mode” tab. Select the relevant test mode to configure and “Execute Test”. In the “Activity log” the register writes can be observed.   The ADI evaluation board uses small MDIO dongle board for USB to MDIO communications and the accompanying GUI provides access to the various Test modes from the “Test Mode” tab. Select the relevant test mode to configure and “Execute Test”. In the “Activity log” the register writes can be observed.  
  
- +{{ :resources:eval:user-guides:adin1300-and-adin1200:4_-_gui_screenshot.png |}}
-</WRAP> +
-</WRAP>+
  
 ---- ----
- 
- 
- 
-<WRAP group> 
-<WRAP half column> 
- 
- 
-</WRAP> 
- 
-<WRAP half column> 
- 
- 
- 
- 
- 
- 
-</WRAP> 
-</WRAP> 
- 
-  
-<WRAP group> 
-<WRAP half column> 
- 
- 
-</WRAP> 
- 
-<WRAP half column> 
- 
- 
- 
- 
-</WRAP> 
-</WRAP> 
  
resources/eval/user-guides/adin1300-and-adin1200/adin1300-ieee-compliance-test-mode-access.1644408873.txt.gz · Last modified: 09 Feb 2022 13:14 by Mark Bolger