Artikel-ID: 000086267 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 23.03.2020

Warum kann mein Nios® II Simple Socket Server-Designbeispiel bei 1G-Geschwindigkeit nicht automatisch aushandeln?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • Intel® Nios® II Embedded Design Suite (EDS)
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund der standardmäßigen Zeitüberschreitungsperiode in der Simple Socket Server-Vorlage besteht die Möglichkeit, dass die automatische Aushandlung mit 1G-Geschwindigkeit in Cyclone® V-, Cyclone® 10- und Max® 10-Geräten fehlschlägt.

    Lösung

    Um dieses Problem zu umgehen, muss der Benutzer den BSP-Quellcode ändern, um die Timeout-Verzögerung bei der automatischen Aushandlung zu erhöhen, und die neue ELF-Datei gemäß den folgenden Anweisungen neu kompilieren.

    Öffnen Sie die folgende Datei im Projektverzeichnis:

    .. /software/<project_name_bsp>/drivers/src/altera_avalon_tse.c

    Ändern Sie die Zeitüberschreitungsverzögerung von "usleep(1000)" in "usleep(5000)", wie im nächsten Teil des Codes gezeigt:

    alt_32 alt_tse_phy_restart_an(alt_tse_phy_info *pphy, alt_u32 timeout_threshold) {

    ........................................

    while(alt_tse_phy_rd_mdio_reg(pphy, TSE_PHY_MDIO_STATUS, TSE_PHY_MDIO_STATUS_AN_COMPLETE, 1) == 0 ){


    if(timeout > timeout_threshold) { tse_dprintf(4, "WARNUNG: PHY[%d.%d] - Automatische Aushandlung FEHLGESCHLAGEN\n", mac_group_index, mac_info_index);

    /* Vorherige MDIO-Adresse wiederherstellen */

    alt_tse_phy_wr_mdio_addr(Pphy, mdioadd_prev);

    TSE_PHY_AN_NOT_COMPLETE zurückgeben;


    }


    usleep(5000); Aktualisiert von uSleep(1000)

    }

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 2 Produkte

    Intel® Cyclone®
    Intel® MAX® CPLDs und FPGAs

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.