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.
Net each leg of each lane through its own capacitor with ordinary nets, give
each capacitor a BridgingPinModel between its two pins so the signal path
continues through it, and apply the constraint end to end with
constrain().
- 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]#
Bases:
object- 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)#
- Constraint(structure=None)[source]#
- Parameters:
standard (Standard)
structure (DifferentialRoutingStructure | None)
- class Version(*values)[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
- 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