R2:底板 / 刀片布局布线脚本、快照、截图与规划文档更新(含外壳、打印件、布线归档)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
zhou yang
2026-10-04 19:24:45 +08:00
共同撰写人 Claude Opus 5.5
父节点 cd01640c40
当前提交 cf7cc9cf90
共修改 759 个文件,包含 76962 行新增和 5299 行删除
+14 -9
查看文件
@@ -27,6 +27,7 @@ R1 `C5-J1401A` 的 `J71` **原样读回来的**(`_c5j1401a_live.json`),脚
1. **`U7` 是「1/6 内部同一个 I/O1、3/4 同一个 I/O2」的直通器件**,
原理图上天然是两段(skill §8b):手机侧 `USB_D*J`、上游侧 `USB_D*`。
⇒ PCB 上走线必然串在两个焊盘中间,不会偷偷从旁边绕过去只搭一个脚。
⛔ **2026-09-11 起上游侧接 1/3 脚、手机侧接 6/4 脚**(与 R1 相反,理由见 build() 第 2 节)。
2. **`R64` 这颗 Rp 不能省**:手机的 PMI8998 靠 CC 上看到 Rp 才判定「有 DFP 插入」。
R1 §23.2 的坑是「Rp 藏在 USB-A 转 C 线的 C 头里」,而这里没有那根线。
3. **`R62` 100k 是 `VBUS_EN` 的下拉**(datasheet 明令 ON 脚不得悬空):
@@ -213,17 +214,21 @@ def build():
assert len(left) == len([x for x in GND_PINS if int(x) <= 25]) + 1
# ── 2. U7 USBLC6:中间那个 GND 直着走,两边的信号朝相反方向拐开 ────
# ⛔ 2026-09-11 两侧对调:**1/3 脚(上排)= 金手指侧 USB_DM/DP,6/4 脚(下排)= 手机侧**。
# U7 在 B 面,从 4/6 那排流向 1/3 那排时 DP 永远在前进方向右手边(旋转不改手性),
# 而金手指(DP 在西、向北出线)和 J4(DPJ 在东、从北边进)两头都要 DP 在左手边 ——
# 旧接法前后各要交叉一次(旧版 DP/DM 各 6~7 个孔)。1↔6、3↔4 内部直通,电气等价。
ux, uy = U7
s.w('USB_DMJ', (ux + 10, uy + 45), (ux + 10, 505), (420, 505))
s.port('BI', 'USB_DMJ', 420, 505, 0)
s.w('USB_DPJ', (ux - 10, uy + 45), (ux - 10, 505), (240, 505))
s.port('BI', 'USB_DPJ', 240, 505, 180)
s.w('USB_DM', (ux + 10, uy + 45), (ux + 10, 505), (420, 505))
s.port('BI', 'USB_DM', 420, 505, 0)
s.w('USB_DP', (ux - 10, uy + 45), (ux - 10, 505), (240, 505))
s.port('BI', 'USB_DP', 240, 505, 180)
s.w('GND', (ux, uy + 45), (ux, 545))
s.gnd(ux, 545, 180)
s.w('USB_DM', (ux + 10, uy - 45), (ux + 10, 335), (420, 335))
s.port('BI', 'USB_DM', 420, 335, 0)
s.w('USB_DP', (ux - 10, uy - 45), (ux - 10, 335), (240, 335))
s.port('BI', 'USB_DP', 240, 335, 180)
s.w('USB_DMJ', (ux + 10, uy - 45), (ux + 10, 335), (420, 335))
s.port('BI', 'USB_DMJ', 420, 335, 0)
s.w('USB_DPJ', (ux - 10, uy - 45), (ux - 10, 335), (240, 335))
s.port('BI', 'USB_DPJ', 240, 335, 180)
s.w('VBUS', (ux, uy - 45), (ux, 295))
s.port('BI', 'VBUS', ux, 295, 0)
@@ -271,7 +276,7 @@ def build():
s.txt(60, 193, u'⚠ R64 56k 是 CC1 上拉到 VBUS 的 Rp:手机靠它判定「有主机插入」。', 10)
s.txt(60, 175, u' R1 里这颗藏在 USB-A 转 C 线的 C 头中,本方案没有那根线,必须自己放。', 10)
s.txt(60, 157, u'⚠ R62 100k:ON 脚不得悬空(datasheet),PCA9555 复位时高阻 ⇒ VBUS 默认断。', 10)
s.txt(60, 139, u'U7 的 1/6、3/4 内部各自短接,图上是两段:手机侧 *_DPJ/DMJ、上游侧 *_DP/DM。', 10)
s.txt(60, 139, u'U7 的 1/6、3/4 内部短接:1/3 = 上游 *_DP/DM,6/4 = 手机 *_DPJ/DMJ。', 10)
return s