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.

TLK110 Function of Collison LED (LED Mode 2) with a full duplex link

Other Parts Discussed in Thread: TLK110, TLK110CUSEVM

Hy,

When we configure the PHY to use LED mode 2,  the LED on Pin 26 is supposed to indicate collisions.

However in full duplex mode when the transceiver is connected to a switch supporting full duplex there cannot be any collisions. After all that is the whole point of full duplex.

So why when we stress testing our UDP implementation does the RED light occasionally come on?

What does this indicate when in full duplex?

 In the TLK110 manual I can’t find any reference to how this LED is used in full duplex.

Thank you and best regards

Ueli

  • Ueli,

    Could you provide some basic details of your test platform?  Specifically, are you using the TLK110CUSEVM board or a board of your design or some other platform?  Do you have the ability to read and write the registers during your testing?

    Patrick

  • Ueli seems to have forgotten to reply.

    So let me continue...

    It is a board of our own design.

    We connect the tlk110 to a Freescale MCF5235

    Yes we are able to read and write registers during testing.

    I know that it is connected full duplex because our switches tell us so and so does the TLK110 itself.

    We can't have collisions because we have full duplex so what is this LED telling us?

    Best wishes,

    Ahlan

  • A little bit more information.

    We are trying to run in LED mode 3 (not 2 as stated in the original question).

    In this mode Led_Link is on for a good link and blinks for activity.

    This it does so we must be either in mode 2 or mode 3.

    When I read PHYCR i get a value of 0xA211which doesn't match the documentation. (Revision June 2013, page 70) in which bit 11 is supposed to be MII link status. As we have 100 FD this shoud be set whereas for us it appears to be bit 9 which is documented as reserved. Bits 5 and 6 indicate the mode which according to the table indicate we are in mode 1 which we know we aren't. We know because the activity LED blinks on activity that we are in either mode 2 or 3. As mode 2 =0 by guess is that we are in mode 3 (which is what we want) and that the table has bits 5 and 6 swapped.

    I have tried setting PHYCR bits 5 and 6 the other way around and we then enter mode 1 so I am confident that we are in mode 3. In which case Led_Act should be on to indicate FD. It shouldn't blink. either we have FD or we don't. However it blinks. But only when there is a lot of activity - ie it isn't indicating activity per se.

    Has anyone any idea what this LED is telling us?

    Best wishes

    Ahlan

  • Could you provide a complete dump of the registers?  We would want to see registers 0x00 through 0x1F on register page 0x0.  Some registers latch their values and need to be read twice so please make sure that the registers are read twice and both reads are reported.  We would want to see these register reads for a device when the described LED functionality occurs.

    Could you post the schematic of the board?  It would probably be worthwhile to review the schematic as well to confirm the connections. 

    Patrick

  • Dear Patrick

    Here is the register dump in response to the link-up interrupt.

    Ueli should post the schematic ASAP.

    1st read

    BMCR = 0x3100
    BMSR = 0x786D
    PHYIDR1 = 0x2000
    PHYIDR2 = 0xA211
    ANAR = 0x01E1
    ANLPAR = 45E1
    ANER = 0x0005
    ANNPTR = 0x2001
    ALNNPTR = 0x0000
    SWSCR1 = 0xF801
    SWSCR2 = 0x0104
    SWSCR3 = 0x0000
    Reserved1 = 0x0000
    REGCR = 0x0000
    ADDR = 0x0000
    Reserved2 = 0x0000
    PHYSTS = 0x0615
    PHYSCR = 0x010B
    MISR1 = 0x0020
    MISR2 = 0x2000
    FCSCR = 0x0000
    RECR = 0x0000
    BISCR = 0x0100
    RBR = 0x0009
    LEDCR = 0x0424
    PHYCR = 0x8801
    BT10SCR = 0x0000
    BICSR1 = 0x007D
    BICSR2 = 0x05EE
    Reserved3 = 0x0000
    CDCR = 0x0102
    PHYRCR = 0x0000

    2nd read

    BMCR = 0x3100
    BMSR = 0x786D
    PHYIDR1 = 0x2000
    PHYIDR2 = 0xA211
    ANAR = 0x01E1
    ANLPAR = 45E1
    ANER = 0x0005
    ANNPTR = 0x2001
    ALNNPTR = 0x0000
    SWSCR1 = 0xF801
    SWSCR2 = 0x0104
    SWSCR3 = 0x0000
    Reserved1 = 0x0000
    REGCR = 0x0000
    ADDR = 0x0000
    Reserved2 = 0x0000
    PHYSTS = 0x0615
    PHYSCR = 0x010B
    MISR1 = 0x0020
    MISR2 = 0x0000
    FCSCR = 0x0000
    RECR = 0x0000
    BISCR = 0x0100
    RBR = 0x0001
    LEDCR = 0x0424
    PHYCR = 0x8801
    BT10SCR = 0x0000
    BICSR1 = 0x007D
    BICSR2 = 0x05EE
    Reserved3 = 0x0000
    CDCR = 0x0102
    PHYRCR = 0x0000

    Note LEDCR = 0x0424 because we set the yellow speed light ourselves to indicate 100FD
    because  LED_ACT does not show FD/HD

    Ahlan

  • Hi Ahlan,

    1. the status of the PHY (with regards to link) is read through register PHYSTS reg 0x10. your PHY register 0x10 reads 0x0615 --> this translates to
      1. link established
      2. speed 100
      3. full duplex
      4. autoneg complete
    2. reg PHYCR is reg 0x19 both readings for this register are  PHYCR = 0x8801 --> bit 11 is MI_link not MII link and it is 1 on both your readings (you mention reading 0xA211(h) but this is PHYIDR2) meaning Link Status: 1 = 100BT Full-duplex Link is active and it was established using Auto-Negotiation.
    3. PHYCR = 0x8801 -->  bits 6:5 are "00" --> this is mode 2. so for this mode you should see:
      1. led link: blink on activity or on for link but no activity
      2. led speed: on
      3. led act: on 

    Thanks,

    Aviad

  • Dear Aviad,


    Ok I seem to have misread PHYCR - we seem to be in mode 2.

    Which according to my documentation means that LED_ACT is on for collision and off for no-collision.

    However we have full duplex so how can we have collisions?

    The FEC and theswitch to which we are connect both report (unsurprisingly) no collisions.

    LED_ACT seems to blink according to traffic load. If there is little traffic it is off, light load it blinks, heavy load it is full on. The original question remains therefore what is this LED telling us?

    Best wishes

    Ahlan

  • Dear Patrik, Aviad and Ahlan

    Below i have posted the schematic details of the phy and related parts.
    As Ahlan has written, the phy is connected to a Freescale MCF5235 processor.

    Thank you, for supporting us.

    Ueli

    8103.Ausschnitt Ethernet Schema.pdf

  • Hi Ahlan,

    1. for  led mode  = 2--> led_act is on for collision and off for no collision.
      1. collision is actually only defined in the spec for 10BT HD (half duplex) for a scenario were both Transmit and Receive functions are active.
      2. for FD (full duplex) whether at 10 or 100BT speeds configured, the behaviour of colision is unspecified in the spec.
      3. for TLK device led_act at led_mode = 2 will be on when both transmit and receive are active irrespective of the speed or duplex.

    Thanks,

    Aviad

  • Dear Aviad,


    Thank you for supplying us with the answer.

    In Mode 2 the Act_Led shows when receiving and transmitting occur simultaneously. Ie would cause a collision if half duplex.

    I suggest that someone at Texas update the TLK110 manual to document this.

    Many thanks,

    Ahlan

  • Hi Ahlan,

    Apreciate your comment !

    we will edit the next DS version to better explain the behaviour of led_act.

    Thanks !

    Aviad