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.

USB-2-MDIO: USB-2-MDIO and MSP430LaunchPad to configure DP83848KSQ's registers via MDC/MDIO interface

Part Number: USB-2-MDIO

HI,Friends,

        I operate USB-2-MDIO and MSP430G2 LaunchPad to configure DP83848KSQ's registers via MDC/MDIO interface,

MSP430G2 LaunchPad pin configurations are as follows:
• MDIO (EVM) Connect to P1.5 (LaunchPad)
• MDC (EVM) Connect to P1.4 (LaunchPad)
• GND (EVM) Connect to GND (LaunchPad)

USB-2-MDIO can find my PHY‘s ID correctly,but it can’t read and write data to PHY‘s registers,

for example,I write 0x0110 to register 0x0016,but  the read data is 0x0000,

other registers performance are the same.

please give me some advice to configure DP83848KSQ's registers correctly.

         THANKS!

  Teck. 

  • Hello,

    There are a few items I would like to check:

    1) Is your PHY active and operational? Is the power pins it is expecting getting their intended voltage level? If the PHY is connected to a link partner, are you getting the link LED's on?

    2) If you are connecting a MSP430G2 launchpad, is it flashed with the correct firmware? Please refer to section 2.3.1 of the USB-2-MDIO user's guide.

    3) Have you tried switching the COM ports to see if another port will yield the correct result? A good rule of thumb for a working setup is checking register 0x0001 for a non-0x0 and non-0xFFFF value. 

    Sincerely,

    Gerome

  • Hello,Gerome,

    1.When I connected EVM to my PC,they can  communicate with each other through PING mode,without connecting LaunchPad to my EVM;Also,the  USB-2-MDIO  can identify my PHY address when POWER is on.

    2.After I runed Flash_MSP430_G2.bat, the MSP430G2 launchpad's yellow and red LED is fully illuminated without blinking.

    3.The COM port is correct.

    Sincerely,

    Teck

  • Hello,

    On the USB2MDIO options, there should be an option for extended registers. I believe that the default is "Yes". Can you try switching the field there to "No" and try reading and writing the registers you would like?

    Sincerely,

    Gerome

  • Hello,

        I try it many times, but the problem is not solved.

    figure 1

    figure 2

    figure 3

    In the figure 1, PC can detect the PHY's ID correctly;

    In the figure 2, I click the write button to write data 0x5008 into register 0x0010;

    In the figure 3,after the above operations,I click the read button to read  data,but the data is not 0x5008.

    So What should I do to solve the problem? please give me some supports or documents.

    Sincerely,

    Teck

  • Hello Teck,

    Register 0x10 is a read-only register, so writing values to it will not yield an intended read-back result. Regarding your initial write command to register 0x16, you are also writing to a bit field that is reserved which may be causing some issues. Can you try writing to register 0 by just toggling the Auto-Negotiation Enable bit? Make sure you read this value (with extended register off) to see what the status is prior to writing.

    Sincerely,

    Gerome

  • Hello Gerome,

          In fact,I want to configure the DP83848KSQ into test mode;But I do not know how to Configure DP83848KSQ for Ethernet Compliance Testing. Some documents indicate I can configure the DP83848KSQ into test mode via USB-2-MDIO and MSP430G2 LaunchPad; But, as you know, I failed.

         Could you tell me what registers and  values should I write for my purpose? or provide me with some doucments about this operation?

    Sincerely,

    Teck 

  • Hi Teck,

    https://e2e.ti.com/support/interface/f/interface-forum/491013/dp83848-bit-stream-for-compliance-mode has the modes for DP83848 compliance testing. I would still like to verify if you can read/write the auto-negotiation bit of register 0x0 with extended register setting on "No", and see if that fixes your read/write issue. 

    Steps:

    1) Set Extended Register Setting to No (Default Yes)

    2) Read 0x0001 (should be a non-zero value) and should match datasheet default (or atleast be close to) at 0x7849.

    If you are reading this value, or close to this value depending on your configuration, move to step 3.

    3) Read 0x0000.

    4) Off of that value in step 3, write a value that only toggles bit 12. You should be able to read it back.

    Please let me know if you are able to complete this procedure, or if you are getting stuck at a certain step.

    Sincerely,

    Gerome

  • Hello,Gerome,

    As you see in the below picture,I can read data from 0x0001 and 0x0000.

    I write a value that only toggles bit 12 in register 0x0000, I can be able to read it back.

    The written value is 0x2100,then I can read it back.

  • Hi Teck,

    So it looks like setting the Extended Register option to "No" fixed your read/write issue. And it seems like you have all the relevant information needed for compliance testing with the DP83848. Is there any other pending item, or can I close this thread?

  • Hi,Gerome

         Your reply is very helpful to me. 

         Thank you very much and you can close this thread.

    Teck.