This commit is contained in:
zhoushuang 2026-09-29 21:37:18 +08:00
commit 10e753e91e
9 changed files with 3231 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
*
!/.gitignore
!/*.md
!/attach/
!/attach/**

View File

@ -0,0 +1,29 @@
flowchart TB
subgraph TX[发送端:封装]
direction TB
T0[DATA / CFG / CTRL:字段及长度检查] --> T1[形成明文 SOF、字段和载荷]
T1 --> T2[CRC32 覆盖 SOF、字段和载荷;追加 CRC]
T2 --> TS[SOF 原样发送]
T2 --> TB[SOF 后的主体逐帧加扰:字段、载荷、CRC]
TB --- TN[每帧加载 58 个 1;帧内连续推进状态]
TS --> TM[串接为完整帧;帧内不可插入 IDLE]
TB --> TM
TF[TRAIN / TRAIN_ACK / SYNC / SYNC_ACK / SYNC_RESET:SOF + PRBS7_128] --> TM
TI[IDLE32:完整固定码字] --> TM
end
TM --> W[750 Mbps 连续串行流;4-byte 对齐;每字节 bit0 先发]
subgraph RX[接收端:解析]
direction TB
R0[在已有字对齐基础上,仅在帧边界匹配原始标记]
R0 --> RB[DATA / CFG / CTRL:记录 SOF,初始化解扰状态]
RB --> RD[解扰主体;检查 LEN 并按长度计数;CTRL 为固定长度]
RD --> RC[CRC32:原始 SOF + 解扰字段和载荷;比较收到的 CRC]
RC --> RV[CRC 与字段格式均通过:输出完整候选帧]
RC --> RE[校验 / 字段失败:报告错误,不提交]
R0 --> RF[固定同步帧:比较完整 160 bit;IDLE:比较完整 32 bit]
RF --> RP[输出匹配结果;不执行同步状态切换]
R0 --> RU[未知边界标记:报告 boundary_error]
end
W --> R0
RV --> EXT[外部控制逻辑:决定序号接受和动作执行]
RP --> EXT

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

View File

@ -0,0 +1,78 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1760" height="825" viewBox="20 350 1760 825"><defs><marker id="arrow" markerWidth="9" markerHeight="9" refX="8" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="#73859A"/></marker><marker id="arrowPurple" markerWidth="9" markerHeight="9" refX="8" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="#7554A5"/></marker><marker id="arrowOrange" markerWidth="9" markerHeight="9" refX="8" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="#A65D08"/></marker></defs><g font-family="Microsoft YaHei, Noto Sans CJK SC, Arial, sans-serif">
<rect x="0" y="0" width="1800" height="1440" rx="0" fill="#F6F8FC" stroke="#F6F8FC" stroke-width="1.5"/>
<rect x="40" y="370" width="830" height="785" rx="14" fill="#FFFFFF" stroke="#D8E1EB" stroke-width="1.5"/>
<rect x="930" y="370" width="830" height="785" rx="14" fill="#FFFFFF" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="65" y="413" font-size="29" fill="#2163AA" font-weight="700" text-anchor="start">发送端 TX|封装</text>
<text x="955" y="413" font-size="29" fill="#107E78" font-weight="700" text-anchor="start">接收端 RX|解析</text>
<rect x="70" y="450" width="475" height="90" rx="14" fill="#F2F7FD" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="90" y="482" font-size="23" fill="#2163AA" font-weight="700" text-anchor="start">① 形成逻辑帧</text>
<text x="90" y="512" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">校验类型、长度和字段;确保整帧可连续发送</text>
<rect x="590" y="450" width="250" height="335" rx="14" fill="#F6F1FA" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="610" y="482" font-size="23" fill="#7554A5" font-weight="700" text-anchor="start">固定模式旁路</text>
<text x="610" y="512" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">TRAIN / TRAIN_ACK</text>
<text x="610" y="539" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">SYNC / SYNC_ACK</text>
<text x="610" y="566" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">SYNC_RESET</text>
<text x="610" y="593" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">→ SOF + PRBS7_128</text>
<text x="610" y="620" font-size="20" fill="#172B43" font-weight="400" text-anchor="start"></text>
<text x="610" y="647" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">IDLE → IDLE32</text>
<text x="610" y="674" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">均原样发送</text>
<text x="610" y="701" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">不推进扰码状态</text>
<path d="M307 540 V578" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<rect x="70" y="580" width="475" height="110" rx="14" fill="#F2F7FD" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="90" y="612" font-size="23" fill="#2163AA" font-weight="700" text-anchor="start">② 计算明文 CRC32</text>
<text x="90" y="642" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">覆盖:SOF + 字段 + 载荷</text>
<text x="90" y="669" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">不包含 CRC 字段自身;将结果追加到帧尾</text>
<path d="M307 690 V716 H180 V748" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<path d="M307 716 H425 V748" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<rect x="70" y="750" width="205" height="115" rx="14" fill="#F6F1FA" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="90" y="782" font-size="23" fill="#7554A5" font-weight="700" text-anchor="start">SOF 旁路</text>
<text x="90" y="812" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">原始 32 bit</text>
<text x="90" y="839" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">不加扰</text>
<rect x="300" y="750" width="245" height="170" rx="14" fill="#F2F7FD" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="320" y="782" font-size="23" fill="#2163AA" font-weight="700" text-anchor="start">③ 加扰帧主体</text>
<text x="320" y="812" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">SOF 后加载 58 个 1</text>
<text x="320" y="839" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">字段 → 载荷 → CRC</text>
<text x="320" y="866" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">帧内连续推进状态</text>
<text x="320" y="893" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">逐帧重新初始化</text>
<path d="M173 865 V957 H350 V997" fill="none" stroke="#7554A5" stroke-width="2.6" marker-end="url(#arrowPurple)"/>
<path d="M422 920 V997" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<path d="M715 785 V957 H620 V997" fill="none" stroke="#7554A5" stroke-width="2.6" marker-end="url(#arrowPurple)"/>
<rect x="70" y="1000" width="760" height="112" rx="14" fill="#FFF6E8" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="90" y="1032" font-size="23" fill="#A65D08" font-weight="700" text-anchor="start">④ 串接与串行发送</text>
<text x="90" y="1062" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">业务帧:原始 SOF → 加扰主体;固定帧 / IDLE:全部原样</text>
<text x="90" y="1089" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">所有帧 4-byte 对齐;低字节先发,每字节 bit0 先发</text>
<path d="M830 1055 H900 V495 H960" fill="none" stroke="#A65D08" stroke-width="2.6" marker-end="url(#arrowOrange)"/>
<text x="891" y="819" transform="rotate(-90 891 819)" text-anchor="middle" font-size="18" fill="#A65D08">750 Mbps 连续串行流</text>
<rect x="960" y="450" width="770" height="90" rx="14" fill="#EDF8F5" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="980" y="482" font-size="23" fill="#107E78" font-weight="700" text-anchor="start">① 接收并组成 32-bit 字</text>
<text x="980" y="512" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">以已有字对齐为前提;只在允许的帧边界比较原始标记</text>
<path d="M1345 540 V578" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<rect x="960" y="580" width="770" height="80" rx="14" fill="#EDF8F5" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="980" y="612" font-size="23" fill="#107E78" font-weight="700" text-anchor="start">② 精确匹配 SOF / IDLE</text>
<text x="980" y="642" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">选择帧类型和长度规则;未知标记 → 边界错误</text>
<path d="M1345 660 V686 H1170 V708" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<path d="M1345 686 H1585 V708" fill="none" stroke="#7554A5" stroke-width="2.6" marker-end="url(#arrowPurple)"/>
<rect x="960" y="710" width="420" height="130" rx="14" fill="#EDF8F5" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="980" y="742" font-size="23" fill="#107E78" font-weight="700" text-anchor="start">③ 业务帧解扰 / 长度计数</text>
<text x="980" y="772" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">识别 SOF 后加载 58 个 1</text>
<text x="980" y="799" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">解扰主体;DATA/CFG 按 LEN 接收</text>
<text x="980" y="826" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">CTRL 固定 12 B;帧内不检测 SOF / IDLE</text>
<rect x="1410" y="710" width="320" height="200" rx="14" fill="#F6F1FA" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="1430" y="742" font-size="23" fill="#7554A5" font-weight="700" text-anchor="start">原始固定模式比较</text>
<text x="1430" y="772" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">同步类:比较完整 160 bit</text>
<text x="1430" y="799" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">IDLE:比较完整 32 bit</text>
<text x="1430" y="826" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">不经过解扰和 CRC</text>
<text x="1430" y="853" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">只报告类型与匹配结果</text>
<text x="1430" y="880" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">不在此执行同步动作</text>
<path d="M1170 840 V866" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<rect x="960" y="868" width="420" height="122" rx="14" fill="#EDF8F5" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="980" y="900" font-size="23" fill="#107E78" font-weight="700" text-anchor="start">④ CRC32 与字段合法性</text>
<text x="980" y="930" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">原始 SOF + 解扰头部 / 载荷 → CRC</text>
<text x="980" y="957" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">与收到并解扰的 CRC 字段比较</text>
<text x="980" y="984" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">检查长度、对齐、FLAGS、WIN</text>
<path d="M1170 990 V1023" fill="none" stroke="#73859A" stroke-width="2.6" marker-end="url(#arrow)"/>
<path d="M1570 910 V1023" fill="none" stroke="#7554A5" stroke-width="2.6" marker-end="url(#arrowPurple)"/>
<rect x="960" y="1026" width="770" height="86" rx="14" fill="#EDF8F5" stroke="#D8E1EB" stroke-width="1.5"/>
<text x="980" y="1058" font-size="23" fill="#107E78" font-weight="700" text-anchor="start">⑤ 输出解析结果</text>
<text x="980" y="1088" font-size="20" fill="#172B43" font-weight="400" text-anchor="start">校验通过 → 完整帧 / 字段事件;失败 → 错误事件,不产生有效动作</text>
</g></svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -0,0 +1,27 @@
flowchart LR
C["公共 12 GHz 时钟源"]
HC["主机侧分频与分配<br/>/32 → 375 MHz;/64 → 187.5 MHz"]
SC["从机侧分频与分配<br/>每个从机 /16 → 750 MHz"]
M["主机 Master FPGA<br/>375 MHz DDR 串行<br/>187.5 MHz × 4 bit"]
S1["从机 1 · Slave ASIC<br/>750 MHz SDR<br/>1 个 RX + 1 个 TX"]
S2["从机 2 · Slave ASIC<br/>750 MHz SDR<br/>1 个 RX + 1 个 TX"]
SN["… 更多从机<br/>每台同样 1 个 RX + 1 个 TX"]
C --> HC --> M
C --> SC
SC --> S1
SC --> S2
SC --> SN
M -- "TX_1 → RX · 1 对 LVDS · 750 Mbps" --> S1
S1 -- "TX → RX_1 · 1 对 LVDS · 750 Mbps" --> M
M -- "TX_2 → RX · 1 对 LVDS · 750 Mbps" --> S2
S2 -- "TX → RX_2 · 1 对 LVDS · 750 Mbps" --> M
M <-->|"每台同样两对 LVDS"| SN
classDef clock fill:#e9effb,stroke:#6d84ba,color:#244475;
classDef master fill:#e6f4f4,stroke:#087f8c,color:#175660;
classDef slave fill:#fff0e3,stroke:#d7722d,color:#84502d;
class C,HC,SC clock;
class M master;
class S1,S2,SN slave;

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

View File

@ -0,0 +1,71 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="980" viewBox="0 0 1280 980" role="img" aria-labelledby="title desc">
<title id="title">一个主机连接多个从机的 750 Mbps LVDS 物理环境</title>
<desc id="desc">公共 12 GHz 时钟源向主机 FPGA 和多个从机 ASIC 分配时钟。每个从机只有一个 LVDS 接收端口和一个 LVDS 发送端口,与主机之间使用两对独立差分线。</desc>
<defs>
<marker id="tx-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="9" markerHeight="9" orient="auto"><path d="M0 0 L10 5 L0 10 Z" fill="#07848c"/></marker>
<marker id="rx-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="9" markerHeight="9" orient="auto"><path d="M0 0 L10 5 L0 10 Z" fill="#d7742d"/></marker>
<marker id="clk-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto"><path d="M0 0 L10 5 L0 10 Z" fill="#5972ae"/></marker>
<filter id="shadow" x="-10%" y="-10%" width="125%" height="130%"><feDropShadow dx="0" dy="5" stdDeviation="6" flood-color="#223444" flood-opacity="0.10"/></filter>
</defs>
<rect width="1280" height="980" fill="#f6f8fb"/>
<text x="640" y="47" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="28" font-weight="700" fill="#17344c">多从机 LVDS 物理连接与时钟关系</text>
<text x="640" y="79" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" fill="#537084">每个从机仅有一个 RX 和一个 TX,分别使用一对单向 LVDS 差分线</text>
<rect x="475" y="102" width="330" height="71" rx="17" fill="#263f72" filter="url(#shadow)"/>
<text x="640" y="130" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" fill="#d0ddf4">公共时钟源</text>
<text x="640" y="158" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="26" font-weight="700" fill="#ffffff">12 GHz</text>
<path d="M640 173 V196 H250 V216" stroke="#5972ae" stroke-width="3" fill="none" marker-end="url(#clk-arrow)"/>
<path d="M640 196 H1000 V216" stroke="#5972ae" stroke-width="3" fill="none" marker-end="url(#clk-arrow)"/>
<rect x="105" y="220" width="290" height="71" rx="13" fill="#e8eefb" stroke="#b0bee2"/>
<text x="250" y="247" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" font-weight="600" fill="#304d81">主机时钟分频与分配</text>
<text x="250" y="275" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="15" fill="#304d81">/32 → 375 MHz /64 → 187.5 MHz</text>
<rect x="855" y="220" width="290" height="71" rx="13" fill="#e8eefb" stroke="#b0bee2"/>
<text x="1000" y="247" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" font-weight="600" fill="#304d81">从机时钟分频与分配</text>
<text x="1000" y="275" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="18" fill="#304d81">每个从机 /16 → 750 MHz</text>
<path d="M250 291 V341" stroke="#5972ae" stroke-width="3" fill="none" marker-end="url(#clk-arrow)"/>
<path d="M950 291 V341" stroke="#5972ae" stroke-width="3" fill="none" marker-end="url(#clk-arrow)"/>
<path d="M1100 291 H1240 V641 H1050 V659" stroke="#5972ae" stroke-width="3" fill="none" marker-end="url(#clk-arrow)"/>
<rect x="47" y="348" width="400" height="560" rx="20" fill="#ffffff" stroke="#b5d0d2" stroke-width="2" filter="url(#shadow)"/>
<rect x="47" y="348" width="400" height="91" rx="20" fill="#e3f3f3"/>
<rect x="47" y="420" width="400" height="19" fill="#e3f3f3"/>
<text x="247" y="385" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="25" font-weight="700" fill="#155d66">主机 Master FPGA</text>
<text x="247" y="417" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" fill="#2f7078">375 MHz DDR · 187.5 MHz × 4 bit</text>
<rect x="855" y="348" width="367" height="238" rx="20" fill="#ffffff" stroke="#e0c8b5" stroke-width="2" filter="url(#shadow)"/>
<rect x="855" y="348" width="367" height="82" rx="20" fill="#fff0e3"/>
<rect x="855" y="412" width="367" height="18" fill="#fff0e3"/>
<text x="1038" y="382" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="24" font-weight="700" fill="#85512e">从机 1 · Slave ASIC</text>
<text x="1038" y="412" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" fill="#a0693d">750 MHz SDR · 1 RX + 1 TX</text>
<rect x="855" y="667" width="367" height="238" rx="20" fill="#ffffff" stroke="#e0c8b5" stroke-width="2" filter="url(#shadow)"/>
<rect x="855" y="667" width="367" height="82" rx="20" fill="#fff0e3"/>
<rect x="855" y="731" width="367" height="18" fill="#fff0e3"/>
<text x="1038" y="701" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="24" font-weight="700" fill="#85512e">从机 2 · Slave ASIC</text>
<text x="1038" y="731" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="17" fill="#a0693d">750 MHz SDR · 1 RX + 1 TX</text>
<text x="70" y="479" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" font-weight="700" fill="#58737d">到从机 1</text>
<text x="383" y="511" text-anchor="end" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#164f55">TX_1</text>
<text x="885" y="511" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#164f55">RX</text>
<path d="M450 503 H847" stroke="#07848c" stroke-width="5" fill="none" marker-end="url(#tx-arrow)"/>
<text x="650" y="491" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" fill="#07848c">主机发送 · 1 对 LVDS · 750 Mbps</text>
<text x="383" y="557" text-anchor="end" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#995b2b">RX_1</text>
<text x="885" y="557" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#995b2b">TX</text>
<path d="M852 549 H455" stroke="#d7742d" stroke-width="5" fill="none" marker-end="url(#rx-arrow)"/>
<text x="650" y="537" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" fill="#be672c">从机发送 · 1 对 LVDS · 750 Mbps</text>
<path d="M90 615 H405" stroke="#d7e2e8" stroke-width="2"/>
<text x="70" y="680" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" font-weight="700" fill="#58737d">到从机 2</text>
<text x="383" y="830" text-anchor="end" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#164f55">TX_2</text>
<text x="885" y="830" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#164f55">RX</text>
<path d="M450 822 H847" stroke="#07848c" stroke-width="5" fill="none" marker-end="url(#tx-arrow)"/>
<text x="650" y="810" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" fill="#07848c">主机发送 · 1 对 LVDS · 750 Mbps</text>
<text x="383" y="875" text-anchor="end" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#995b2b">RX_2</text>
<text x="885" y="875" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="19" fill="#995b2b">TX</text>
<path d="M852 867 H455" stroke="#d7742d" stroke-width="5" fill="none" marker-end="url(#rx-arrow)"/>
<text x="650" y="855" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="16" fill="#be672c">从机发送 · 1 对 LVDS · 750 Mbps</text>
<text x="640" y="948" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="18" fill="#526c7e">图示 2 个从机;可扩展为 N 个。每个从机对应主机 1×TX 差分对 + 1×RX 差分对。</text>
<text x="640" y="974" text-anchor="middle" font-family="Microsoft YaHei, Noto Sans CJK SC, sans-serif" font-size="15" fill="#647e8f">各链路独立校准 · 每条单向链路 750 Mbps · UI ≈ 1.333 ns</text>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

File diff suppressed because it is too large Load Diff