Fill Type-C VBUS and CC holes from CabCon R2.5 and R2.0 (2.76.0).
R2.5 keeps Rp/Rd/Ra, charger 4.75/4.0 V, zOPEN, tCCDebounce, tVBUSON. R2.0 August 2019 Table 4-32 fills Source CC shall-detect only. vSafe5V stays UNKNOWN.
This commit is contained in:
@@ -564,6 +564,7 @@ DOC_USBC_FTS = (
|
|||||||
REV_USBC_FTS = "Revision 0.91, March 3, 2024"
|
REV_USBC_FTS = "Revision 0.91, March 3, 2024"
|
||||||
DOC_USBC_CABCON = "USB Type-C Cable and Connector Specification"
|
DOC_USBC_CABCON = "USB Type-C Cable and Connector Specification"
|
||||||
REV_USBC_CABCON = "Release 2.5, March 2026"
|
REV_USBC_CABCON = "Release 2.5, March 2026"
|
||||||
|
REV_USBC_CABCON_R20 = "Release 2.0, August 2019"
|
||||||
ORG_USB30PG = "USB 3.0 Promoter Group"
|
ORG_USB30PG = "USB 3.0 Promoter Group"
|
||||||
DOC_DVI_10 = "Digital Visual Interface (DVI)"
|
DOC_DVI_10 = "Digital Visual Interface (DVI)"
|
||||||
REV_DVI_10 = "Revision 1.0, 02 April 1999"
|
REV_DVI_10 = "Revision 1.0, 02 April 1999"
|
||||||
@@ -581,7 +582,8 @@ DOC_USB_LSFS = (
|
|||||||
)
|
)
|
||||||
DOC_USB_PD_VSAFE = (
|
DOC_USB_PD_VSAFE = (
|
||||||
"USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V "
|
"USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V "
|
||||||
"without restating the volt range)"
|
"and tVBUSON as the minimum vSafe5V threshold without restating the volt range. "
|
||||||
|
"Type-C Current charger 4.75–5.5 V is not vSafe5V)"
|
||||||
)
|
)
|
||||||
DOC_IEEE_8023 = "IEEE 802.3 (clause for this variant; not on file)"
|
DOC_IEEE_8023 = "IEEE 802.3 (clause for this variant; not on file)"
|
||||||
DOC_IEEE_2012 = "IEEE Std 802.3-2012 IEEE Standard for Ethernet"
|
DOC_IEEE_2012 = "IEEE Std 802.3-2012 IEEE Standard for Ethernet"
|
||||||
@@ -989,16 +991,92 @@ def build_m0_catalog() -> dict[str, Any]:
|
|||||||
conditions=["powered cable VCONN", "Ra minimum 800 Ω", "maximum 1.2 kΩ"],
|
conditions=["powered cable VCONN", "Ra minimum 800 Ω", "maximum 1.2 kΩ"],
|
||||||
))
|
))
|
||||||
continue
|
continue
|
||||||
|
if p == "voltage":
|
||||||
|
out.append(_num(
|
||||||
|
pid, p, 4.75, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON, section="4.8.1.2",
|
||||||
|
table="Figure 4-39", page="233",
|
||||||
|
source_type="CABLE",
|
||||||
|
conditions=[
|
||||||
|
"USB Type-C Current charger (non-PD)",
|
||||||
|
"no-load output minimum 4.75 V (maximum 5.5 V)",
|
||||||
|
"measured at charger captive-cable plug / charger output",
|
||||||
|
"not USB PD vSafe5V",
|
||||||
|
"not a PCB trace voltage",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
continue
|
||||||
|
if p == "vbus_requirements":
|
||||||
|
out.append(_num(
|
||||||
|
pid, p, 4.0, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON, section="4.8.1.2",
|
||||||
|
table="Figure 4-39", page="233",
|
||||||
|
source_type="CABLE",
|
||||||
|
conditions=[
|
||||||
|
"USB Type-C Current charger (non-PD)",
|
||||||
|
"at 3 A: 4.0–5.5 V",
|
||||||
|
"measured at charger captive-cable plug / charger output",
|
||||||
|
"not USB PD vSafe5V",
|
||||||
|
"not a PCB trace voltage",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
continue
|
||||||
|
if p == "electrical_thresholds":
|
||||||
|
out.append(_num(
|
||||||
|
pid, p, 1.50, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON_R20, section="4.11.3",
|
||||||
|
table="Table 4-32", page="240",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=[
|
||||||
|
"Source shall-detect Sink (vRd), Default USB Type-C Current",
|
||||||
|
"vRd 0.25–1.50 V; detect threshold 1.60 V",
|
||||||
|
"R2.5 §4.11.3.2 tables are variance examples, not this shall-detect table",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
continue
|
||||||
|
if p == "timing":
|
||||||
|
out.append(_num(
|
||||||
|
pid, p, 100.0, "ms",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON, section="4.11.2",
|
||||||
|
table="Table 4-34", page="250",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=[
|
||||||
|
"tCCDebounce minimum (maximum 200 ms)",
|
||||||
|
"time a port shall wait before it can determine it is attached",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
continue
|
||||||
|
if p == "termination":
|
||||||
|
out.append(_num(
|
||||||
|
pid, p, 126000.0, "ohm",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON, section="4.11.1",
|
||||||
|
table="Table 4-30", page="246",
|
||||||
|
source_type="CONNECTOR",
|
||||||
|
conditions=[
|
||||||
|
"zOPEN minimum impedance to GND",
|
||||||
|
"Disabled / ErrorRecovery / unpowered Source",
|
||||||
|
"not Rp / Rd / Ra",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
continue
|
||||||
doc = DOC_USB_CABLE
|
doc = DOC_USB_CABLE
|
||||||
if p == "usb2_channel_requirements":
|
if p == "usb2_channel_requirements":
|
||||||
doc = DOC_USB_ELEC
|
doc = DOC_USB_ELEC
|
||||||
if p in {"vbus_requirements", "voltage"}:
|
|
||||||
doc = DOC_USB_PD_VSAFE
|
|
||||||
if p == "current_advertisement":
|
if p == "current_advertisement":
|
||||||
doc = (
|
doc = (
|
||||||
"USB Type-C Cable and Connector Specification Release 2.5 Table 4-27 "
|
"USB Type-C Cable and Connector Specification Release 2.5 Table 4-27 "
|
||||||
"(Default USB Power / 1.5 A @ 5 V / 3.0 A @ 5 V — not a single ampere)"
|
"(Default USB Power / 1.5 A @ 5 V / 3.0 A @ 5 V — not a single ampere)"
|
||||||
)
|
)
|
||||||
|
if p == "cc":
|
||||||
|
doc = (
|
||||||
|
"USB Type-C Cable and Connector Specification Release 2.0 Table 4-32 "
|
||||||
|
"(Source CC shall-detect packed as electrical_thresholds; CC is not a single ohm)"
|
||||||
|
)
|
||||||
out.append(_c(pid, p, "UNKNOWN", needed_document=doc))
|
out.append(_c(pid, p, "UNKNOWN", needed_document=doc))
|
||||||
out.append(_num(
|
out.append(_num(
|
||||||
pid, "rp_1a5", 22000.0, "ohm",
|
pid, "rp_1a5", 22000.0, "ohm",
|
||||||
@@ -1028,6 +1106,52 @@ def build_m0_catalog() -> dict[str, Any]:
|
|||||||
mandatory="OPTIONAL", source_type="CABLE",
|
mandatory="OPTIONAL", source_type="CABLE",
|
||||||
conditions=["cable IR drop for VBUS; not a receptacle PCB ohm"],
|
conditions=["cable IR drop for VBUS; not a receptacle PCB ohm"],
|
||||||
))
|
))
|
||||||
|
out.append(_num(
|
||||||
|
pid, "vopen_source_default", 1.65, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON_R20, section="4.11.3",
|
||||||
|
table="Table 4-32", page="240",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=[
|
||||||
|
"Source CC no-connect (vOPEN) Default USB advertisement",
|
||||||
|
"R2.5 does not restate this shall-detect table",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
out.append(_num(
|
||||||
|
pid, "vra_source_default_max", 0.15, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON_R20, section="4.11.3",
|
||||||
|
table="Table 4-32", page="240",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=[
|
||||||
|
"Source shall-detect powered cable/adapter (vRa) Default USB",
|
||||||
|
"vRa 0.00–0.15 V; threshold 0.20 V",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
out.append(_num(
|
||||||
|
pid, "vrd_detect_threshold_default", 1.60, "V",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON_R20, section="4.11.3",
|
||||||
|
table="Table 4-32", page="240",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=["Source vRd detect threshold, Default USB Type-C Current"],
|
||||||
|
))
|
||||||
|
out.append(_num(
|
||||||
|
pid, "t_vbuson_max", 275.0, "ms",
|
||||||
|
document=DOC_USBC_CABCON, organization=ORG_USB30PG,
|
||||||
|
revision=REV_USBC_CABCON, section="4.11.2",
|
||||||
|
table="Table 4-32", page="247",
|
||||||
|
source_type="PCB",
|
||||||
|
conditions=[
|
||||||
|
"tVBUSON maximum (minimum 0 ms)",
|
||||||
|
"from Attached.SRC until VBUS reaches the minimum vSafe5V threshold at the source receptacle",
|
||||||
|
"vSafe5V volt range is USB PD, not restated here",
|
||||||
|
],
|
||||||
|
))
|
||||||
|
out.append(_c(
|
||||||
|
pid, "vsafe5v", "UNKNOWN",
|
||||||
|
needed_document=DOC_USB_PD_VSAFE,
|
||||||
|
))
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def _eth_cons(pid: str, lid: str) -> list[dict[str, Any]]:
|
def _eth_cons(pid: str, lid: str) -> list[dict[str, Any]]:
|
||||||
|
|||||||
@@ -2543,22 +2543,34 @@
|
|||||||
"conditions": [],
|
"conditions": [],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false,
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
"needed_document": "USB Type-C Cable and Connector Specification Release 2.0 Table 4-32 (Source CC shall-detect packed as electrical_thresholds; CC is not a single ohm)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-vbus_requirements",
|
"id": "usb-c-receptacle-vbus_requirements",
|
||||||
"parameter": "vbus_requirements",
|
"parameter": "vbus_requirements",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "CABLE",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 4.0,
|
||||||
"unit": null,
|
"unit": "V",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.8.1.2",
|
||||||
|
"table": "Figure 4-39",
|
||||||
|
"page": "233"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"USB Type-C Current charger (non-PD)",
|
||||||
|
"at 3 A: 4.0\u20135.5 V",
|
||||||
|
"measured at charger captive-cable plug / charger output",
|
||||||
|
"not USB PD vSafe5V",
|
||||||
|
"not a PCB trace voltage"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V without restating the volt range)"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-current_advertisement",
|
"id": "usb-c-receptacle-current_advertisement",
|
||||||
@@ -2578,62 +2590,103 @@
|
|||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-voltage",
|
"id": "usb-c-receptacle-voltage",
|
||||||
"parameter": "voltage",
|
"parameter": "voltage",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "CABLE",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 4.75,
|
||||||
"unit": null,
|
"unit": "V",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.8.1.2",
|
||||||
|
"table": "Figure 4-39",
|
||||||
|
"page": "233"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"USB Type-C Current charger (non-PD)",
|
||||||
|
"no-load output minimum 4.75 V (maximum 5.5 V)",
|
||||||
|
"measured at charger captive-cable plug / charger output",
|
||||||
|
"not USB PD vSafe5V",
|
||||||
|
"not a PCB trace voltage"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V without restating the volt range)"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-timing",
|
"id": "usb-c-receptacle-timing",
|
||||||
"parameter": "timing",
|
"parameter": "timing",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "PCB",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 100.0,
|
||||||
"unit": null,
|
"unit": "ms",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.11.2",
|
||||||
|
"table": "Table 4-34",
|
||||||
|
"page": "250"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"tCCDebounce minimum (maximum 200 ms)",
|
||||||
|
"time a port shall wait before it can determine it is attached"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-electrical_thresholds",
|
"id": "usb-c-receptacle-electrical_thresholds",
|
||||||
"parameter": "electrical_thresholds",
|
"parameter": "electrical_thresholds",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "PCB",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 1.5,
|
||||||
"unit": null,
|
"unit": "V",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source shall-detect Sink (vRd), Default USB Type-C Current",
|
||||||
|
"vRd 0.25\u20131.50 V; detect threshold 1.60 V",
|
||||||
|
"R2.5 \u00a74.11.3.2 tables are variance examples, not this shall-detect table"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-termination",
|
"id": "usb-c-receptacle-termination",
|
||||||
"parameter": "termination",
|
"parameter": "termination",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "CONNECTOR",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 126000.0,
|
||||||
"unit": null,
|
"unit": "ohm",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.11.1",
|
||||||
|
"table": "Table 4-30",
|
||||||
|
"page": "246"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"zOPEN minimum impedance to GND",
|
||||||
|
"Disabled / ErrorRecovery / unpowered Source",
|
||||||
|
"not Rp / Rd / Ra"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-receptacle-connector_requirements",
|
"id": "usb-c-receptacle-connector_requirements",
|
||||||
@@ -2760,6 +2813,117 @@
|
|||||||
],
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-receptacle-vopen_source_default",
|
||||||
|
"parameter": "vopen_source_default",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 1.65,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source CC no-connect (vOPEN) Default USB advertisement",
|
||||||
|
"R2.5 does not restate this shall-detect table"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-receptacle-vra_source_default_max",
|
||||||
|
"parameter": "vra_source_default_max",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 0.15,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source shall-detect powered cable/adapter (vRa) Default USB",
|
||||||
|
"vRa 0.00\u20130.15 V; threshold 0.20 V"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-receptacle-vrd_detect_threshold_default",
|
||||||
|
"parameter": "vrd_detect_threshold_default",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 1.6,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source vRd detect threshold, Default USB Type-C Current"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-receptacle-t_vbuson_max",
|
||||||
|
"parameter": "t_vbuson_max",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 275.0,
|
||||||
|
"unit": "ms",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.11.2",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "247"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"tVBUSON maximum (minimum 0 ms)",
|
||||||
|
"from Attached.SRC until VBUS reaches the minimum vSafe5V threshold at the source receptacle",
|
||||||
|
"vSafe5V volt range is USB PD, not restated here"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-receptacle-vsafe5v",
|
||||||
|
"parameter": "vsafe5v",
|
||||||
|
"value_kind": "UNKNOWN",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "STANDARD",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": null,
|
||||||
|
"unit": null,
|
||||||
|
"source": null,
|
||||||
|
"conditions": [],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false,
|
||||||
|
"needed_document": "USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V and tVBUSON as the minimum vSafe5V threshold without restating the volt range. Type-C Current charger 4.75\u20135.5 V is not vSafe5V)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"notes": "USB Type-C connector/interface system. Not USB 2.0/3.x/USB4 protocol. Rp/Rd/Ra from CabCon R2.5 Tables 4-27/4-28/4-29. VBUS volts still USB PD vSafe5V.",
|
"notes": "USB Type-C connector/interface system. Not USB 2.0/3.x/USB4 protocol. Rp/Rd/Ra from CabCon R2.5 Tables 4-27/4-28/4-29. VBUS volts still USB PD vSafe5V.",
|
||||||
@@ -3418,7 +3582,7 @@
|
|||||||
"conditions": [],
|
"conditions": [],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false,
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
"needed_document": "USB Type-C Cable and Connector Specification Release 2.0 Table 4-32 (Source CC shall-detect packed as electrical_thresholds; CC is not a single ohm)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-current_advertisement",
|
"id": "usb-c-usb2-receptacle-current_advertisement",
|
||||||
@@ -3438,47 +3602,78 @@
|
|||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-voltage",
|
"id": "usb-c-usb2-receptacle-voltage",
|
||||||
"parameter": "voltage",
|
"parameter": "voltage",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "CABLE",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 4.75,
|
||||||
"unit": null,
|
"unit": "V",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.8.1.2",
|
||||||
|
"table": "Figure 4-39",
|
||||||
|
"page": "233"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"USB Type-C Current charger (non-PD)",
|
||||||
|
"no-load output minimum 4.75 V (maximum 5.5 V)",
|
||||||
|
"measured at charger captive-cable plug / charger output",
|
||||||
|
"not USB PD vSafe5V",
|
||||||
|
"not a PCB trace voltage"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V without restating the volt range)"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-timing",
|
"id": "usb-c-usb2-receptacle-timing",
|
||||||
"parameter": "timing",
|
"parameter": "timing",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "PCB",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 100.0,
|
||||||
"unit": null,
|
"unit": "ms",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.11.2",
|
||||||
|
"table": "Table 4-34",
|
||||||
|
"page": "250"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"tCCDebounce minimum (maximum 200 ms)",
|
||||||
|
"time a port shall wait before it can determine it is attached"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-electrical_thresholds",
|
"id": "usb-c-usb2-receptacle-electrical_thresholds",
|
||||||
"parameter": "electrical_thresholds",
|
"parameter": "electrical_thresholds",
|
||||||
"value_kind": "UNKNOWN",
|
"value_kind": "NUMERIC",
|
||||||
"mandatory": "MANDATORY",
|
"mandatory": "MANDATORY",
|
||||||
"source_type": "STANDARD",
|
"source_type": "PCB",
|
||||||
"source_class": "NORMATIVE",
|
"source_class": "NORMATIVE",
|
||||||
"value": null,
|
"value": 1.5,
|
||||||
"unit": null,
|
"unit": "V",
|
||||||
"source": null,
|
"source": {
|
||||||
"conditions": [],
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source shall-detect Sink (vRd), Default USB Type-C Current",
|
||||||
|
"vRd 0.25\u20131.50 V; detect threshold 1.60 V",
|
||||||
|
"R2.5 \u00a74.11.3.2 tables are variance examples, not this shall-detect table"
|
||||||
|
],
|
||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false,
|
"typical": false
|
||||||
"needed_document": "USB Type-C Cable and Connector Specification Release 2.5, March 2026"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-usb2_channel_requirements",
|
"id": "usb-c-usb2-receptacle-usb2_channel_requirements",
|
||||||
@@ -3591,6 +3786,117 @@
|
|||||||
"value_origin": "SPEC",
|
"value_origin": "SPEC",
|
||||||
"typical": false
|
"typical": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-usb2-receptacle-vopen_source_default",
|
||||||
|
"parameter": "vopen_source_default",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 1.65,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source CC no-connect (vOPEN) Default USB advertisement",
|
||||||
|
"R2.5 does not restate this shall-detect table"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-usb2-receptacle-vra_source_default_max",
|
||||||
|
"parameter": "vra_source_default_max",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 0.15,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source shall-detect powered cable/adapter (vRa) Default USB",
|
||||||
|
"vRa 0.00\u20130.15 V; threshold 0.20 V"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-usb2-receptacle-vrd_detect_threshold_default",
|
||||||
|
"parameter": "vrd_detect_threshold_default",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 1.6,
|
||||||
|
"unit": "V",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.0, August 2019",
|
||||||
|
"section": "4.11.3",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "240"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"Source vRd detect threshold, Default USB Type-C Current"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-usb2-receptacle-t_vbuson_max",
|
||||||
|
"parameter": "t_vbuson_max",
|
||||||
|
"value_kind": "NUMERIC",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "PCB",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": 275.0,
|
||||||
|
"unit": "ms",
|
||||||
|
"source": {
|
||||||
|
"document": "USB Type-C Cable and Connector Specification",
|
||||||
|
"organization": "USB 3.0 Promoter Group",
|
||||||
|
"revision": "Release 2.5, March 2026",
|
||||||
|
"section": "4.11.2",
|
||||||
|
"table": "Table 4-32",
|
||||||
|
"page": "247"
|
||||||
|
},
|
||||||
|
"conditions": [
|
||||||
|
"tVBUSON maximum (minimum 0 ms)",
|
||||||
|
"from Attached.SRC until VBUS reaches the minimum vSafe5V threshold at the source receptacle",
|
||||||
|
"vSafe5V volt range is USB PD, not restated here"
|
||||||
|
],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "usb-c-usb2-receptacle-vsafe5v",
|
||||||
|
"parameter": "vsafe5v",
|
||||||
|
"value_kind": "UNKNOWN",
|
||||||
|
"mandatory": "MANDATORY",
|
||||||
|
"source_type": "STANDARD",
|
||||||
|
"source_class": "NORMATIVE",
|
||||||
|
"value": null,
|
||||||
|
"unit": null,
|
||||||
|
"source": null,
|
||||||
|
"conditions": [],
|
||||||
|
"value_origin": "SPEC",
|
||||||
|
"typical": false,
|
||||||
|
"needed_document": "USB Power Delivery specification vSafe5V (not on file; Type-C CabCon R2.5 names vSafe5V and tVBUSON as the minimum vSafe5V threshold without restating the volt range. Type-C Current charger 4.75\u20135.5 V is not vSafe5V)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "usb-c-usb2-receptacle-cc_rd_rp",
|
"id": "usb-c-usb2-receptacle-cc_rd_rp",
|
||||||
"parameter": "cc_rd_rp",
|
"parameter": "cc_rd_rp",
|
||||||
|
|||||||
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
What's new in Periscope.
|
What's new in Periscope.
|
||||||
|
|
||||||
|
## 2.76.0 — 2026-09-22 — Type-C CabCon R2.0 hole-fill (CC shall-detect; VBUS from R2.5)
|
||||||
|
|
||||||
|
USB Type-C Cable and Connector Specification Release 2.0 (August 2019) fills Source CC shall-detect voltages that R2.5 only illustrates as variance examples (Table 4-32 p.240: vRd 1.50 V, vOPEN 1.65 V, vRa 0.15 V). Type-C Current charger VBUS 4.75–5.5 V no-load / 4.0–5.5 V at 3 A, zOPEN 126 kΩ, tCCDebounce 100–200 ms, and tVBUSON 275 ms stay on newer CabCon R2.5 (Figure 4-39 / Tables 4-30, 4-32, 4-34). Rp/Rd/Ra unchanged. vSafe5V volt range still needs USB PD.
|
||||||
|
|
||||||
|
- [Changed] `protocol_catalog.py` + `catalog.json`.
|
||||||
|
- [Changed] pytest `tests/pcb/test_protocol_pdf_pack.py`.
|
||||||
|
|
||||||
## 2.75.0 — 2026-09-22 — Protocol packs from USB 2.0 Rev 2.0 and Type-C CabCon R2.5
|
## 2.75.0 — 2026-09-22 — Protocol packs from USB 2.0 Rev 2.0 and Type-C CabCon R2.5
|
||||||
|
|
||||||
USB 2.0 Base Specification (April 27, 2000) fills LS 1.50 Mb/s, FS 12 Mb/s, HS 480 Mb/s, pull-up/down, VBUS 4.75–5.25 V, LS/FS edges. Cable Z0 90 Ω is `source_type=CABLE`; HS PCB traces *should* 90 Ω is RECOMMENDED PCB — L2 `differential_impedance` stays UNKNOWN so 45/50 Ω fixtures are not treated as Zdiff. Type-C Cable and Connector Specification Release 2.5 fills Rp/Rd/Ra from Tables 4-27/4-28/4-29. VBUS volts still need USB PD vSafe5V. IEEE 802.3 Section One/Three and HDMI Adopter remain missing.
|
USB 2.0 Base Specification (April 27, 2000) fills LS 1.50 Mb/s, FS 12 Mb/s, HS 480 Mb/s, pull-up/down, VBUS 4.75–5.25 V, LS/FS edges. Cable Z0 90 Ω is `source_type=CABLE`; HS PCB traces *should* 90 Ω is RECOMMENDED PCB — L2 `differential_impedance` stays UNKNOWN so 45/50 Ω fixtures are not treated as Zdiff. Type-C Cable and Connector Specification Release 2.5 fills Rp/Rd/Ra from Tables 4-27/4-28/4-29. VBUS volts still need USB PD vSafe5V. IEEE 802.3 Section One/Three and HDMI Adopter remain missing.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "periscope-web",
|
"name": "periscope-web",
|
||||||
"version": "2.75.0",
|
"version": "2.76.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"sync-version": "node scripts/sync-version.mjs",
|
"sync-version": "node scripts/sync-version.mjs",
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ def test_type_c_rp_rd_from_cabcon_r25_vbus_volts_unknown():
|
|||||||
_cite_ok(by["rp"])
|
_cite_ok(by["rp"])
|
||||||
assert by["rp"].value == 56000.0
|
assert by["rp"].value == 56000.0
|
||||||
assert by["rp"].source.table == "Table 4-27"
|
assert by["rp"].source.table == "Table 4-27"
|
||||||
|
assert by["rp"].source.revision == "Release 2.5, March 2026"
|
||||||
assert by["rp"].source_type == "CONNECTOR"
|
assert by["rp"].source_type == "CONNECTOR"
|
||||||
_cite_ok(by["rd"])
|
_cite_ok(by["rd"])
|
||||||
assert by["rd"].value == 5100.0
|
assert by["rd"].value == 5100.0
|
||||||
@@ -84,8 +85,45 @@ def test_type_c_rp_rd_from_cabcon_r25_vbus_volts_unknown():
|
|||||||
_cite_ok(by["ra"])
|
_cite_ok(by["ra"])
|
||||||
assert by["ra"].value == 800.0
|
assert by["ra"].value == 800.0
|
||||||
assert by["ra"].source_type == "CABLE"
|
assert by["ra"].source_type == "CABLE"
|
||||||
assert by["voltage"].value_kind == "UNKNOWN"
|
_cite_ok(by["voltage"])
|
||||||
assert "vSafe5V" in (by["voltage"].needed_document or "")
|
assert by["voltage"].value == 4.75
|
||||||
|
assert by["voltage"].unit == "V"
|
||||||
|
assert by["voltage"].source.table == "Figure 4-39"
|
||||||
|
assert by["voltage"].source.page == "233"
|
||||||
|
assert "2.5" in by["voltage"].source.revision
|
||||||
|
assert by["voltage"].source_type == "CABLE"
|
||||||
|
assert any("not USB PD vSafe5V" in x for x in by["voltage"].conditions)
|
||||||
|
_cite_ok(by["vbus_requirements"])
|
||||||
|
assert by["vbus_requirements"].value == 4.0
|
||||||
|
assert by["vbus_requirements"].source.table == "Figure 4-39"
|
||||||
|
_cite_ok(by["electrical_thresholds"])
|
||||||
|
assert by["electrical_thresholds"].value == 1.50
|
||||||
|
assert by["electrical_thresholds"].source.table == "Table 4-32"
|
||||||
|
assert by["electrical_thresholds"].source.page == "240"
|
||||||
|
assert "August 2019" in by["electrical_thresholds"].source.revision
|
||||||
|
assert by["electrical_thresholds"].source_type == "PCB"
|
||||||
|
_cite_ok(by["vopen_source_default"])
|
||||||
|
assert by["vopen_source_default"].value == 1.65
|
||||||
|
_cite_ok(by["vra_source_default_max"])
|
||||||
|
assert by["vra_source_default_max"].value == 0.15
|
||||||
|
_cite_ok(by["vrd_detect_threshold_default"])
|
||||||
|
assert by["vrd_detect_threshold_default"].value == 1.60
|
||||||
|
_cite_ok(by["termination"])
|
||||||
|
assert by["termination"].value == 126000.0
|
||||||
|
assert by["termination"].source.table == "Table 4-30"
|
||||||
|
assert "2.5" in by["termination"].source.revision
|
||||||
|
assert by["termination"].source_type == "CONNECTOR"
|
||||||
|
_cite_ok(by["timing"])
|
||||||
|
assert by["timing"].value == 100.0
|
||||||
|
assert by["timing"].source.table == "Table 4-34"
|
||||||
|
assert "2.5" in by["timing"].source.revision
|
||||||
|
_cite_ok(by["t_vbuson_max"])
|
||||||
|
assert by["t_vbuson_max"].value == 275.0
|
||||||
|
assert by["t_vbuson_max"].source.table == "Table 4-32"
|
||||||
|
assert by["t_vbuson_max"].source.page == "247"
|
||||||
|
assert "2.5" in by["t_vbuson_max"].source.revision
|
||||||
|
assert by["vsafe5v"].value_kind == "UNKNOWN"
|
||||||
|
assert "vSafe5V" in (by["vsafe5v"].needed_document or "")
|
||||||
_cite_ok(by["gnd_ir_drop_cable"])
|
_cite_ok(by["gnd_ir_drop_cable"])
|
||||||
assert by["gnd_ir_drop_cable"].value == 250.0
|
assert by["gnd_ir_drop_cable"].value == 250.0
|
||||||
assert by["gnd_ir_drop_cable"].source_type == "CABLE"
|
assert by["gnd_ir_drop_cable"].source_type == "CABLE"
|
||||||
|
|||||||
Reference in New Issue
Block a user