ID de l'article: 000086267 Type de contenu: Dépannage Dernière révision: 23/03/2020

Pourquoi mon exemple de conception Nios® II Simple Socket Server ne parvient-il pas à négocier automatiquement à une vitesse de 1G ?

Environnement

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

    En raison de la période de temporisation par défaut du modèle Simple Socket Server, il est possible que la négociation automatique à une vitesse 1G échoue dans les périphériques Cyclone® V, Cyclone® 10 et Max® 10.

    Résolution

    Pour contourner ce problème, l’utilisateur doit modifier le code source BSP pour augmenter le délai d’expiration de la négociation automatique et recompiler pour générer le nouveau fichier ELF en suivant les instructions ci-dessous.

    Ouvrez le fichier suivant dans le répertoire du projet :

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

    Modifiez le délai d’expiration de « usleep(1000) » à « usleep(5000) » comme indiqué dans la partie suivante du code :

    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, « WARNING : PHY[%d.%d] - Auto-Negotiation FAILED\n », mac_group_index, mac_info_index);

    /* Restaurer l’adresse MDIO précédente */

    alt_tse_phy_wr_mdio_addr(Pphy, mdioadd_prev);

    retourner TSE_PHY_AN_NOT_COMPLETE;


    }


    sommeil (5000); Mis à jour de Usleep(1000)

    }

    Produits associés

    Cet article concerne 2 produits

    Intel® Cyclone®
    Intel® MAX®

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.