La carte d'interface réseau (NIC en abrégé), également appelée carte réseau, est un périphérique qui connecte un ordinateur et un réseau local. Une carte réseau est requise chaque fois que vous êtes connecté à un réseau local. Une carte réseau comprend principalement les deux couches inférieures d’OSI, la couche physique et la couche liaison de données. La puce de la couche physique est appelée PHY et la puce de la couche liaison de données est appelée contrôleur MAC.
PHY est l'émetteur-récepteur d'interface physique, qui implémente la couche physique. Comprend la sous-couche MII/GMII (Media Independent Interface), la sous-couche PCS (Physical Coding Sublayer), la sous-couche PMA (Physical Medium Attachment), la sous-couche PMD (Physical Medium Dependent) et la sous-couche MDI. Il définit les signaux électriques et optiques, l'état de la ligne, la référence d'horloge, le codage des données et les circuits requis pour la transmission et la réception des données, et fournit des interfaces standard aux équipements de couche liaison de données. La puce de la couche physique est appelée PHY.
MAC est l'abréviation de Media Access Control, qui est le protocole de sous-couche de contrôle d'accès aux médias. Ce protocole est situé dans la moitié inférieure de la couche liaison de données dans le protocole OSI à sept couches et est principalement responsable du contrôle et de la connexion des supports physiques de la couche physique.
Lors de l'envoi de données, le protocole MAC peut déterminer à l'avance si les données peuvent être envoyées. Si elles peuvent être envoyées, il ajoutera des informations de contrôle aux données, et enfin enverra les données et les informations de contrôle à la couche physique dans le format spécifié. ; lors de la réception des données, le protocole MAC détermine d'abord s'il y a une erreur de transmission dans les informations d'entrée. S'il n'y a pas d'erreur, les informations de contrôle sont supprimées et envoyées à la couche LLC. Ethernet MAC est défini par la norme Ethernet IEEE-802.3.
MII signifie Media Independent Interface, également appelé Media Independent Interface. Il s'agit de la norme industrielle Ethernet définie par IEEE-802.3. Il comprend une interface de données, ainsi qu'une interface de gestion entre le MAC et le PHY. L'interface de données se compose de deux canaux indépendants pour l'émetteur et le récepteur. Chaque canal possède ses propres signaux de données, d'horloge et de contrôle.
L'interface de données MII nécessite un total de 16 signaux. L'interface de gestion est une interface à double signal : l'un est un signal d'horloge et l'autre est un signal de données. Grâce à l'interface de gestion, la couche supérieure peut surveiller et contrôler le PHY.

On peut voir que MAC et PHY, l'un est la couche liaison de données et l'autre est la couche physique, transmettent tous deux des données via MII ;
D'un point de vue matériel, l'interface du circuit Ethernet se compose généralement d'un CPU, d'un contrôleur MAC (Media Access Control) et d'une interface de couche physique PHY :

Pour les trois parties ci-dessus, ce ne sont pas forcément des puces indépendantes. On retrouve principalement les situations suivantes :
(1) Le CPU intègre MAC et PHY, ce qui est difficile ;
(2) Le MAC est intégré à l'intérieur du CPU et le PHY utilise une puce indépendante (solution grand public) ;
(3) Le CPU n'intègre pas MAC et PHY. MAC et PHY utilisent des puces indépendantes ou intégrées (haut de gamme).
Le PHY intègre une grande quantité de matériel analogique et le MAC est un dispositif entièrement numérique typique. La raison de la zone de puce et de l'architecture hybride analogique/numérique est d'intégrer le MAC dans le microcontrôleur et de laisser le PHY en dehors de la puce. Une technologie de puce plus flexible et de plus haute densité permet déjà de réaliser une intégration monopuce de MAC et PHY.
Prenons comme exemple le CPU couramment utilisé avec MAC et PHY intégrés en utilisant une solution de puce indépendante. La ligne pointillée indique que le CPU et le MAC sont intégrés ensemble et que la puce PHY est interconnectée avec le MAC sur le CPU via l'interface MII.

Pour cette solution, la solution matérielle est plus simple que la solution indépendante. Il existe les deux interfaces matérielles importantes suivantes entre PHY et MAC :
(1) interface de bus MDIO, principalement pour compléter la configuration du registre du CPU pour la puce PHY ;
(2) MII est l'interface indépendante du média, également appelée interface indépendante du média. Les plus courants incluent MII, RMII, GMII, RGMII, etc. « Indépendant du support » signifie que tout type de périphérique PHY fonctionnera sans refonte ni remplacement du matériel MAC. L'interface de données MII nécessite un total de 16 signaux, dont :
transmettre des données-TXD[3:0]
transmettre stroboscope-TX_EN
transmettre l'horloge-TX_CLK
erreur de transmission-TX_ER/TXD4
recevoir des données-RXD[3:0]
recevoir strobe-RX_DV
recevoir l'horloge-RX_CLK
recevoir l'erreur-RX_ER/RXD4
indication de collision-COL
détection de porteuse-CRS
D'une manière générale, il comprend un ensemble de signaux utilisés par le CI pour lire et écrire sur le PHY : MDC (horloge), MDIO (données). Deux ensembles d'horloges utilisés comme référence d'échantillonnage de données, la fréquence doit être de 25 MHz (TX_CLK, RX_CLK). ) 4 bits de sortie et de bus d'entrée (TX[0:3],RX[0:3]) ; (TX_ER,RX_ER ) ; obtenir le signal de notification des données d'entrée valides (RX_DV) ;
En tant que signal de récupération de porteuse (CRS), le potentiel peut être de +5 V ou +3,3 V.
MII transmet les données de manière bidirectionnelle en mode 4 bits demi-octet, avec une fréquence d'horloge de 25 MHz et un taux de fonctionnement allant jusqu'à 100 Mb/s. MII transfère toutes les données et le contrôle des données du réseau, et le MAC détermine l'état de fonctionnement du PHY et contrôle le PHY en lisant et en écrivant les registres PHY à l'aide de l'interface SMI (Serial Management Interface). Certains registres du PHY sont définis par l'IEEE, de sorte que le PHY reflète son état actuel dans les registres. Le MAC lit en permanence le registre d'état du PHY via le bus SMI pour connaître l'état actuel du PHY, tel que la vitesse de connexion et. capacité duplex attendez. Bien entendu, vous pouvez également définir le registre PHY via SMI pour atteindre des objectifs de contrôle, tels que l'ouverture et la fermeture de la masse de contrôle de flux, le mode d'auto-négociation ou le mode forcé, etc.
Qu'il s'agisse du bus MII et du bus SMI physiquement connectés ou du registre d'état et du registre de contrôle du PHY, ils ont tous des spécifications IEEE, de sorte que les MAC et les PHY de différentes entreprises peuvent fonctionner en harmonie. Bien entendu, afin de correspondre aux fonctions uniques des PHY de différentes entreprises, le pilote doit être modifié en conséquence.
SMI est l'interface de registre PHY d'accès au noyau MAC. Elle se compose de deux lignes et est duplex. MDC est l'horloge et MDIO est une communication de données bidirectionnelle. En principe, elle est très similaire au bus I2C. Plusieurs PHY différents sont également accessibles. Le bus.
Système à deux fils : MDC (ligne d'horloge) et MDIO (ligne de données).
Fréquence d'horloge : 2,5 MHz
Méthode de communication : système de bus, le nombre de PHY pouvant être connectés en même temps est de 32.
Grâce à l'interface SMI, la puce MAC interroge activement la puce de la couche PHY pour obtenir des informations d'état et émettre des informations de commande.
Plus tard, afin de prendre en charge les ports Gigabit Ethernet, les interfaces Gigabit Ethernet MII, également connues sous le nom d'interfaces GMII, ont commencé à apparaître. Le plus couramment utilisé est désormais RGMII, qui réduit le nombre de broches entre MAC et PHY. Le signal de données et le signal de commande sont mélangés et échantillonnés simultanément sur le front montant et le front descendant de l'horloge de travail. La relation correspondante est la suivante :
Une bande passante de 10 M correspond à 2,5 MHz, car 4 bits * 2,5 M = 10 Mbps
Une bande passante de 100 M correspond à 25 MHz, car 4 bits * 25 M = 100 Mbps
Une bande passante de 1 000 M correspond à 125 MHz, 4 bits * 125 M = 1 000 Mbps. Parce que la fréquence de 250 MHz est trop élevée, la technologie d'échantillonnage à double bord est utilisée (ce qui apportera une complexité de conception).