deutsch  |  english  |  svenska

PCI Express - PCIe - Layers

Layer 1 - Physical Layer

Layer 1 spezifiziert die physikalische Übertragungsstrecke die bei PCIe aus differentiellen Leitungspaaren besteht. Die Minimalkonfiguration besteht aus zwei Paaren, ein Paar für jede Übertragungsrichtung. Dies entspricht einem PCI Express x1 Lane Link. Die Daten werden auf dem Leitungspaar unidirektional mit 2,5 Gbps (PCIe 1.x) oder 5,0 Gbps (PCIe 2.x) übertragen. Der Standard sieht außerdem ein mögliches Verknüpfen von mehreren Lanes zu einem logischen Link vor, wodurch über x4, x8, x16 oder x32 Lanes Daten übertragen werden können. Durch das Verknüpfen der Lanes zu einem Link kann die Bandbreite der Übertragunsstrecke theoretisch bis zu 160 Gbps (PCIe 2.x) betragen. Das Clock-Signal wird durch eine 8b/10b Kodierung mit dem Datensignal übertragen. Alle Zusatzdaten sowie Flußsteuerungsinformationen oder Interrupts werden ebenfalls über die Datenleitungen übertragen, so dass keine weiteren Leitungen notwendig sind.

Layer 2 - Data Link Layer

Das Data Link Layer sorgt durch Fehlererkennung und Korrekturmechanismen für eine fehlerfreie Datenübertragung und ist für die Flußsteuerung zuständig. Über das Data Link Layer wird auch das sogenannte Link Management durchgeführt, bei dem die Linkpartner Informationen austauschen und der Link aufgebaut wird. Die Fehlererkennung erfolgt durch CRC-Überprüfung und mittels ACK- und NACK-Paketen (DLLPs) übermittelt der Empfänger dem Sender Informationen über empfangene Datenpakete. Alle Datenpakete werden im Sender gespeichert bis sie vom Empfänger als korrekt empfangene Pakete durch ACK-DLLPs bestätigt worden sind. Sollte ein NACK-DLLP vom Empfänger empfangen werden oder ein Timeout für ein nicht bestätigtes Paket auftreten, wird das Datenpaket erneut gesendet.

Die Flußsteuerung sorgt mit einem sogenannten Credit Based Flow Control dafür, dass der Sender nicht mehr Daten schickt als der Empfänger verarbeiten kann. Bei der Initialisierung teilt die Empfängerseite der Senderseite mit, wie viele nicht bestätigte Daten ausstehen können.

Layer 3 - Transaction Layer

In dem Transaction Layer werden die Datenpakete mit Nutzdaten zusammengestellt. Für die höheren Schichten ist das PCI Express Interface rückwärtskompatibel zum konventionellen PCI. Dies bedeutet, dass Softwaretreiber für PCI Devices wiederverwendet werden können und das PCIe Device als PCI Device behandelt werden kann. Gängige PCIe IP-Cores bieten meistens ein Interface welches auf dem Transcation Layer arbeitet und müssen entsprechend an das FPGA-System adaptiert werden.

Zurück zu: