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.

AM2432: Profinet Link State deactivation on custom boards

Part Number: AM2432
Other Parts Discussed in Thread: DP83826E, SYSCONFIG

Tool/software:

Hi,

I am using AM2432 with the Industrial SDK 11.00.00.08.

I am using a custom board with custom ethernet PHYs. The first PHY is a 100BASE-TX and uses the CUST_PHY_dp83826e.c driver provided by the SDK, while the second PHY is a 100BASE-T1 and uses a custom driver CUST_PHY_tja1101.c that we implemented.
The Profinet certification laboratory has reported two problems that seem to be related to the deactivation of the BT1 port link:

  • Diagnosis Scenario 2: There is no alarm received for CheckLinkState and CheckPeers.

This is part of the log:

...
Diagnosis with CheckLinkState Test step 9: CheckLinkState: Set Link of Interface 2 to LinkState down.
Diagnosis with CheckLinkState Test step 10: CheckLinkState: Alarm validation.
Diagnosis with CheckLinkState Test step 11: Exactly one alarm shall occure. There was none
...

  • Pdev Records – Scenario 4: After Port deactivation, the partner Device d is still reachable.

This is part of the log:

Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 1: Adjust LinkState: Check Precondition
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 2: Adjust LinkState: Establishing IOC AR
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 3: CheckLinkState: Check accessibility of Device D.
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 4: Device D is still accessible

I suspect that our implementation of custom drivers for CUST_PHY_tja1101 is missing some parts, because, on the contrary, no problems are reported on the BTX port where the drivers provided by the SDK are used.
Are specific callbacks used to disable the port link in the custom drivers? Which functions should I check to verify whether we are actually disabling the link?

Thank you,

Best Regards,

Andrea

  • Hi, are there any updates?

    I attach the sysconfig file, the GSDML file and the custom driver CUST_PHY_tja1101 used.

    Thank you,

    Best regards,

    Andrea

    3857.Profinet.zip

  • Hi Andrea,

    since you're using a non-TI PHY in your system, a sort of custom support is required in your case. I'll keep you posted with the updates as soon as I have them. 

    Thanks.
    Kind regards,
    Kamil

  • Hi Andrea,

    I believe our sales team is in contact with ABB, however, I took a quick look at the folder you provided above and it seems to me that you did not implement all the functions inside your PHY driver. Is there a reason for this? Some functions like CUST_PHY_TJA1101_softwareReset are required by the stack.

    Thanks.
    Kind regards,
    Kamil

  • Hi Kamil,

    thank you for your reply.

    The PHY driver CUST_PHY_TJA1101 was copied from another similar project. Can you tell me exactly which functions are essential and in what situations they are used by the stack?

    Thank you,

    Best Regards,

    Andrea

  • Hi Andrea,

    the main functions that are required by the stack and missing in your implementation are:

    CUST_PHY_TJA1101_softwareReset: needed during initialization (we don't have hardware reset)
    CUST_PHY_TJA1101_setMIIMode: Set MII/RGMII mode
    CUST_PHY_TJA1101_setPowerMode: Set the PHY power up and down
    CUST_PHY_TJA1101_setLinkConfig: (auto-negotiation, speed, duplexity)
    CUST_PHY_TJA1101_getAutoNegotiation: verify the auto-negotiation configuration
    CUST_PHY_TJA1101_setMdixMode: MDI/MDIX config
    CUST_PHY_TJA1101_getMdixMode: verify the MDI/MDIX mode configured

    Thanks.
    Kind regards,
    Kamil

  • Hi Kamil,

    thank you for your reply.

    I have some doubts:

    - in CUST_PHY_dp83826e.c driver provided by the SDK the function CUST_PHY_TJA1101_setMIIMode is empty. Is it correct? Can I leave it empty in CUST_PHY_tja1101 too?

    - it seems that our PHY TJA1101 doesn't support auto-negotiation and supports only full duplex. Could this be a problem?

    - TJA1101 is a 100BaseT1 PHY, so MDI/MDIX does not apply. Could this be a problem?

    Thank you,

    Kind Regards,

    Andrea