Files
pqAutomationApp/docs/UCD-API文档/examples/work_with_link_tx.py

101 lines
2.4 KiB
Python
Raw Normal View History

2026-07-02 17:16:18 +08:00
#
# Import UniTAP module.
#
import UniTAP
#
# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.
#
lUniTAP = UniTAP.TsiLib()
#
# For opening device, please, put serial number of the device as 8 symbol str or put index of device.
#
# dev = lUniTAP.open("NNNNNNNN")
dev = lUniTAP.open(0)
# After opening device as in UCD Console device role should be selected.
role = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)
# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)
#
# Read current Link Status
#
# Read status of lane 0
lane_status = role.dptx.link.status.lane(0)
print(lane_status)
# Read status of VCP (stream 0)
vcp_table_status = role.dptx.link.status.vcp(0)
print(vcp_table_status)
# Read current status of link configuration
link_config = role.dptx.link.config.get()
print(link_config)
# Get current stream status (VM, CRC, DSC CRC)
stream = role.dptx.link.status.stream(0)
print(stream)
# Also, you can print all status
print(role.dptx.link.status)
# Configure Link 8b/10b
config = UniTAP.LinkConfig.DP8b10b()
# Set new lane count and bit rate
config.lane_count = 2
config.bit_rate = 6.75
# Configure Link 128b/132b
# config = UniTAP.LinkConfig.DP128b132b()
# Set new lane count and bit rate
# config.lane_count = 2
# config.bit_rate = 5
# config.force_dp_128_132 = True
# config.try_dp_128_132 = True
# config.enhanced_framing_mode = True
# Enable MST mode and configure mst stream count
config.mst = True
config.mst_stream_count = 2
# Enable/Disable Enhanced framing mode
config.enhanced_framing_mode = True
# Configure SSC
ssc_config = UniTAP.SSCConfig()
ssc_config.enabled = True
ssc_config.amplitude = 34
ssc_config.frequency = 59000
config.ssc = ssc_config
# Configure Scrambler Seed
# If you do not want to setting scrambler seed value, you can activate 'auto seed'
# config.auto_seed = True
# role.dptx.link.scrambler_seed = 0xFFFF
role.dptx.link.config.set(config)
role.dptx.link.start_link_training()
edp_conf = role.dptx.link.config.get(UniTAP.LinkConfig.eDP)
print(edp_conf)
edp_conf.force_edp = True
edp_conf.lane_count = 2
edp_conf.eDp_cur_rate = 2.43
#
# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.
# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().
# Clean up will close all opened devices and block ability to open any devices
# with same TsiLib object.
#
lUniTAP.close(dev)
lUniTAP.cleanup()