displayport module#
DisplayPort Protocol
DisplayPort is a serial protocol supporting high speed links for video+audio https://en.wikipedia.org/wiki/DisplayPort
The functions and definitions in this file support defining DisplayPort connections between sources and receivers on a printed circuit board.
## DisplayPort Blocking Capacitors
The DisplayPort specification calls for AC coupling for the data lanes. This is typically achieved using a blocking capacitor.
The best way to achieve this is to use the
constrain_topology() mechanism.
- class DisplayPort[source]#
Bases:
Port- aux = DiffPair()#
Auxiliary channel pair
- lane = (DiffPair(), DiffPair(), DiffPair(), DiffPair())#
Four data transfer pairs
- hpd = Port()#
Hot-Plug Detect
- class Standard(pair_to_pair_skew)[source]#
- Parameters:
pair_to_pair_skew (Toleranced)
- skew = Toleranced(0, 2e-11, 2e-11)#
Allowed intra-pair skew
- loss = 15.0#
Allowed loss
-
pair_to_pair_skew:
Toleranced# Allowed inter-pair skew
- impedance = Toleranced(100, 10, 10)#
- class Version(pair_to_pair_skew)[source]#
-
Different DP versions and accompanying standard values. To tweak, use py:func:dataclasses.replace.
>>> tweak_DP1p0 = dataclasses.replace(DisplayPort.Version.DP1p0, impedance=Toleranced.percent(100, 5))
- DP1p0 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 8e-10, 8e-10))#
10.80 Gbit/s / 4 lanes => 2.7 Gbit/s / 10 UI => 270 MHz clk
- DP1p1 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 7.42e-10, 7.42e-10))#
10.80 Gbit/s / 4 lanes => 2.7 Gbit/s / 10 UI => 270 MHz clk
- DP1p2 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 6.74e-10, 6.74e-10))#
21.60 Gbit/s / 4 lanes => 5.4 Gbit/s / 10 UI => 540 MHz clk
- DP1p2a = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 6.74e-10, 6.74e-10))#
21.60 Gbit/s / 4 lanes => 5.4 Gbit/s / 10 UI => 540 MHz clk
- DP1p3 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 4.62e-10, 4.62e-10))#
32.40 Gbit/s / 4 lanes => 8.1 Gbit/s / 10 UI => 810 MHz clk
- DP1p4 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 4.62e-10, 4.62e-10))#
32.40 Gbit/s / 4 lanes => 8.1 Gbit/s / 10 UI => 810 MHz clk
- DP1p4a = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 4.62e-10, 4.62e-10))#
32.40 Gbit/s / 4 lanes => 8.1 Gbit/s / 10 UI => 810 MHz clk
- DP2p0 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 2e-10, 2e-10))#
80.00 Gbit/s / 4 lanes => 20.0 Gbit/s / 10 UI => 2000 MHz clk
- DP2p1 = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 2e-10, 2e-10))#
80.00 Gbit/s / 4 lanes => 20.0 Gbit/s / 10 UI => 2000 MHz clk
- DP2p1a = DisplayPort.Standard(pair_to_pair_skew=Toleranced(0, 2e-10, 2e-10))#
80.00 Gbit/s / 4 lanes => 20.0 Gbit/s / 10 UI => 2000 MHz clk
- Constraint(structure: DifferentialRoutingStructure | None = None)[source]#
- Parameters:
standard (Standard)
structure (DifferentialRoutingStructure | None)
- class DisplayPortConnector[source]#
Bases:
Port- dp = DisplayPort()#
DisplayPort bundle for data communication
- gnd = Port()#
Ground connection
There are five ground signals in the connector, but for simplicity we only have one in the bundle. Once on the board, there’s no need for separated ground signals.
- power = Power()#
- config = (Port(), Port())#
Two configuration pins