This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83869HM: How to configure as a slave device?

Part Number: DP83869HM
Other Parts Discussed in Thread: DP83869

I used DP83869 as a 1000M media-converter, and I need configure it as master or slave manually. But it did not works as what I wanted. The device state as a master or slave seems random.

The connection is as follows:

Master equipemt -->twisted-pair cable -->1st DP83869 media converter-->fiber -->2nd DP83869 media converter-->twisted-pair cable-->slave equipemt.
The 1st converter should works as a slave, and the 2nd one should be a master.

The strap pins are configured as follows:

Fiber forced and Copper : Auto Negotiation ( 1000 Advertised), Auto MDIX, i.e that pin[45:47] are pulled up with resistors. I tried to left pin 47 float to enable fiber auto-negotiation. But the fiber can not establish link. The value of reg[0xC1] is 0x6149.

I wrote reg[9] of the two converters with value 0x1200 and 0x1A00 respectively, then reset PHY with reg[0]=0x9140. After that, I read reg[0x0A], the return value would be 0x3800 or 0x7800 randomly. And the value of reg[0x09] returns 0x300, the default value. It did not say clearly if I should reset PHY in the datasheet. In general, It should be reset. But the reg[0x09] remains the value I wrote in if I didn't reset the PHY after the write.

It did not establish a link(reg[0x01]=0x7949) if I disable auto-negotiation(reg[0x00] = 0x0140).
Now I need to make clear:

(1) Do I need to reset PHY when I modify some bits of register, for example, the bit[12] of reg[0x09]?

(2) Why tihe link can not be up when fiber auto-negotiation enbaled?

(3) How can I force the device to work as slave or master?

And another question, the default value of bit[6] of reg[0x01] is 1, PHY will accept management frames with preamble suppressed. But It returns 0xFFFF when I read a registers if I did not write preamble before reading.

  • Hi,

    1. You have to restart the auto-negotiation procedure.

    2. did you try disabling link loss pass thru feature of media convertor

    3. What is the configuration on your Master device ? Is it also forced to broadcast as Master ? 

    Regards,

    Geet

  • Hi,

    1. OK, I can  try to restart auto-negotiation. And if I set reg[0x10] to manual MDI configuration, i.e bit[6:5]=00. How can it take effect? Reset the PHY?(but reseting will return regs to their default value). 

    2. I didn't have a pull up LINK_LOSS strap-pin, so it is enabled by default. I got this function can be disabled by register 0x1EC. Please confirm how can I disable it? Write '1' to bit[0] of reg 0x1EC? And if it is, do I need to reset or restart PHY as the question above?

    3. I don't know much about the configuration of the Master device, which is an  industry equipment and not a standard switch-liking network device. The exactly testing pattern is as follows:

    PDA testing device --> network device #1 --> twisted pair --> media-converter #1--> fiber --> media-converter #2 -> twisted pair --> network device #2

    In this pattern, the network devices and media-converters are totally symmetrical with the same structure and the same function, i.e. PDA tester can connect to device #1 or device #2.

    Each network device can directly access media-converter's PHY registers. So I can know that network device#1 sets command to configure media-converter #1 as slave and network device #2 configures media-converter #2 as master. But I don't know about master-broadcasting.

    The protocol of network devices is etherCAT. So it is MUST that there's 7-byte preamble and  1-byte SFD.

    Testing commands from PDA pass through the link to the remote device. When the fiber-side is in forced-1000M mode, the link is up normally. In this case, the commands can be passed down to the remote side successfully, remote device configures the media-convter#2 and then begins network testing.  In a VERY low probability, PDA can receive successful response from the remote side, but in most cases, it receives nothing. If the auto-negotiation is enabled at fiber-side, the link will not be up at all. But it is very confused that the link is OK when I connect two PCs with two media-converters and the throughput can be over 850Mbps with iperf testing, regardless of auto-negotiation is enabled or not at fiber-side.

    So I can have a try with your advice. I will response you very soon. Thanks.

  • Tahere's another confused matter.

    No matter how long I wait after power-up, bit[2] of reg[1] and reg[0xC01] is always 0 at the first time reading, but will return back 1 for the next reading.  The following register values are two reading in succession.

    The first reading, waiting for at least 5 minutes after power-up.

    reg[0x00] = 11 40

    reg[0x01] = 79 69

    reg[0xC00] = 01 40

    reg[0xC01] = 61 49

    reg[0x4F] = 01 36

    reg[0x6E] = 08 3E

    reg[0x1DF] = 00 44

    The second reading, less than 1 second after the first reading.

    reg[0x00] = 11 40

    reg[0x01] = 79 6D

    reg[0xC00] = 01 40

    reg[0xC01] = 61 4D

    reg[0x4F] = 01 36

    reg[0x6E] = 08 3E

    reg[0x1DF] = 00 44

    Then, what's the matter? Thanks.

  • Hello,

    Thanks for the follow up. Replies on E2E are delayed due to end of year holidays. We will get back to you by Jan 7.

    -Regards

    Aniruddha

  • OK!

    I noticed in datasheet that it is need to be read a second time for bit[2] of reg[1]. So it's not a problem.

    Today, I have some tests for my testing topology which is as follows:

    PDA testing device --> network device #1 --> twisted pair --> media-converter #1--> fiber --> media-converter #2 -> twisted pair --> network device #2

    In this pattern, the testing command, issued by PDA, will be passed down to network device #2 along the link. So  all links should be up at power-on except the link between network #1 and converter #1, which we named copper-link #1, is down at power-up and will be waked up when testing command.

    I found that if the fiber is configured as auto-negotiated, the fiber link is up, but all copper links are down. And it will be what I wanted if the fiber is in forced mode. So is that the link-loss-pass-thru matter? How to disable the link-loss-pass-thru function by register if I can not disable it by strap (I did not route the pin out on PCB board, so it is not easy to pull up this pin)? I explore all the E2E today, but I can not  find  an  exact reply. I need to make clear:

    (1) Which bit, bit[0] and bit[3], is to disable link-loss-pass-thru function?  Is a value '0' or '1' to disable it?

    (2) Can  link-loss-pass-thru be disabled by register if PIN 32 is left open?

    Thanks!

  • Hello,

    To answer your previous questions:

    • After setting manual MDI through register 10, you may perform a soft reset by setting register 0x1F = 0x4000. This will perform a soft reset of the PHY without resetting the registers.
    • Link loss pass through can be disabled by setting 0x1EC[0] = 1. 
    • Manual configuration of master or slave mode can be set through register 0x9

    After configuring the registers of the PHY, I suggest performing a soft reset at the end of the script (0x1F = 0x4000). Please let me know if this solves the issue.

    Thank you,

    Nikhil

  • Yes, I can configure the PHY as what I wanted.

    Thanks.