Asymmetric_Reliable_Serial_.../attach/LVDS封装与解析示意图.svg

78 lines
9.5 KiB
XML
Raw Normal View History

2026-09-29 21:37:18 +08:00
<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>