YuzukiNezha D1s 上电后能启动吗:从电源树到 Linux 引导

2026-10-021

有些核心板看起来像“把 SoC、Flash 和一个插座放到同一块 PCB 上”。真正决定它能不能稳定启动的,往往藏在几条不显眼的电源网络、启动介质和复位线上。YuzukiNezha D1s 是一个很适合拿来做板级审查的例子:它采用 Mini PCIe 外形,板上同时放了电源树、SPI Flash、TF 卡、USB、触摸、音频和可替换 Wi-Fi 模组。

本文不照抄项目页的介绍,而是把同一版本的嘉立创 EDA 工程重新打开,沿着“输入电源—SoC 供电—启动介质—扩展接口”的顺序核对一遍,并给出一个可以重复运行的小检查脚本。文章中的结论只覆盖图纸和源码检查,不把项目页中的实物照片当作本次实测。

先看它解决什么问题

单独做一块 D1s 最小系统,读者很难判断哪些接口是 SoC 的硬需求,哪些只是底板扩展。这个项目把板子做成 Mini PCIe 形态,核心板可以插到底板,也可以只接 USB、TF 卡和调试接口工作。对于想做 Allwinner D1s/F133 Linux 底板的人,价值在于可以从一块完整工程里学习:

  • 多路电源如何从 VBUS 分到 3V3、1V8 和 0V9;
  • SPI0 Flash 与 SDC0 TF 卡怎样分配启动资源;
  • Mini PCIe、显示、触摸、音频和 Wi-Fi 的引脚如何共存;
  • 在没有上电仪器时,怎样先用工程文件排除明显的网络遗漏。

项目页更新时间为 2026-09-28,GitHub 仓库仍能访问,所以本文把它视为仍有维护价值的工程,而不是因为项目创建时间较早就直接淘汰。

同一版本的 EDA 图纸

下面三张图来自嘉立创 EDA Standard 中的同一工程,工程 ID 为 09b1378b783f4482908c168441ce45df。原理图和 PCB 的版本分别对应 1a739783e560446faf75898a5b1f3230 与 ab7378d29c584ef2a2d4ff56f83fb667。图像只做了裁剪和保真放大,保留了编辑器边界,方便读者确认取图来源。

YuzukiNezha D1s Sheet_1 原理图

图 1:Sheet_1 原理图。左侧是 D1s 主芯片,右侧按电源、SPI、Card、USB、音频、RTC 和扩展接口分区。

YuzukiNezha D1s PCB 顶层

图 2:PCB 顶层视图。红色走线集中在顶层,绿色为丝印或其他可见层;图中没有把顶层画面误称为已经焊接完成的实物。

YuzukiNezha D1s PCB 底层

图 3:PCB 底层视图。蓝色走线可以看到底层回流和连接器区域的布线密度,这也是检查高速接口和电源回路时不能只看顶层的原因。

第一关:电源树有没有闭环

原理图中可以看到 VBUS、3V3、1V8 和 0V9 四组关键电源网络。对 D1s 这类 SoC,最容易犯的错误不是“少画一个电容”,而是把电源域接到了错误的电压,或者只在芯片附近放了去耦,却没有确认每一路由哪个稳压器产生。

从图 1 的 POWER 区可以按下面的顺序读:输入先落在 VBUS,再经过三路 EA3036A 开关电源得到核心和外设所需的电压;每一路反馈脚旁边都有分压电阻,输出端分布着 0.1 uF 与 10 uF 去耦。图纸中的 L1、L2、L3 都标成 1.5 uH,R2/R4/R8/R9/R10 等电阻参与反馈网络。这里能得到一个可迁移的审查方法:先找电源标签,再找稳压器的 VIN/SW/FB,最后沿着电感和反馈电阻回到负载,而不是凭颜色猜电源方向。

需要注意的是,图纸核对只能证明网络存在,不能证明上电时序和纹波满足芯片手册。实际打样时,0V9 与 1V8 的上电先后、EA3036A 的软启动配置和负载瞬态仍应使用示波器确认。

第二关:启动介质与引脚命名

这份工程同时出现 SPI Flash 和 TF 卡接口。SPI 区的 Flash 使用 SPI0_CS、SPI0_CLK、SPI0_D0、SPI0_D1 等网络;Card 区则引出 SDC0_CMD、SDC0_CLK、SDC0_D0 至 SDC0_D3。源码里的 SPI 数据线使用 D0/D1 命名,而项目页文字有时会写成 MOSI/MISO。两者不能只靠文字替换判断,应该回到 SoC 引脚和实际网络名核对。

文章配套的检查脚本会直接扫描导出的 EasyEDA JSON,确认这些标签确实存在:

from pathlib import Path
import sys

EXPECTED = {
    "power": ("VBUS", "3V3", "1V8", "0V9", "GND"),
    "boot": ("SPI0_CS", "SPI0_CLK", "SPI0_D0", "SPI0_D1"),
    "sd": ("SDC0_CMD", "SDC0_CLK", "SDC0_D0", "SDC0_D1", "SDC0_D2", "SDC0_D3"),
    "usb": ("D0+", "D0-", "D1+", "D1-"),
}

text = Path(sys.argv[1]).read_text(encoding="utf-8")
missing = {
    group: [name for name in names if name not in text]
    for group, names in EXPECTED.items()
}
missing = {group: names for group, names in missing.items() if names}
if missing:
    raise SystemExit(f"FAIL: {missing}")
print("PASS: power, SPI0, SDC0 and USB net labels are present")

在同一版本的原理图 JSON 和 PCB JSON 上运行,结果都是:PASS: power, SPI0, SDC0 and USB net labels are present。这只是网络标签的静态检查,不等于 Flash 已经能启动 Linux,也不等于 TF 卡槽方向已经验证。

第三关:扩展接口的边界

图 1 的右侧能看到 USB1/USB2、TPC、Audio、Mini PCIE FULL、RTC 和 WIFI-BT 等分区。USB 差分线在图纸中以 D0+ / D0- 和 D1+ / D1- 出现,底层和顶层的布线都要同时观察,不能只看连接器符号。Wi-Fi 模组通过一组 WL_* 和 BT_* 网络与主控相连,项目 README 也提醒配置电阻尚未完整给出,因此不能把“能放某个模组”写成“所有模组即插即用”。

Mini PCIe 插座是机械和电气的共同边界:卡边尺寸、螺丝孔和插拔方向属于结构约束,+3.3V、USB、串口或 SDIO 等网络属于电气约束。底板设计时应以实际使用的插卡和 D1s 数据手册为准,未使用的引脚不要因为“接口上有脚位”就自动接出。

项目页没有说清楚的地方

源码压缩包中的 README 记录了几个必须在复刻前处理的问题:TF 卡槽当时还没有验证,Audio 部分没有完整画完,Wi-Fi 配置电阻只支持特定模块,丝印和 LOGO 也存在遗留问题。这些内容比“接口很多”更值得写进工程记录,因为它们直接影响第一次打样的返工风险。

许可信息也存在差异:立创开源项目页面当前标注 CC0 1.0,而 GitHub 硬件包 README 写的是 CERN-OHL-P。本文按页面可见信息如实记录两者,没有把其中一个协议擅自覆盖另一个。准备发布修改后的原理图、PCB 或附件前,应先向原作者确认适用协议,并按确认结果保留必要的版权和署名信息。

复现前的检查清单

  1. 下载与文章对应的硬件 ZIP,确认导入的是原理图和 PCB 同一版本。
  2. 先检查 VBUS → 3V3/1V8/0V9 的反馈电阻和输出去耦,再检查 SoC 每个电源脚是否落在正确电压域。
  3. 对照 D1s/F133 数据手册确认 SPI0、SDC0、USB 和 Wi-Fi 的复用关系,特别是 SPI0_D0/D1 这类命名差异。
  4. 首次上电只接限流电源,分阶段测量各路电压和上电顺序;没有示波器时不要把“网络存在”写成“时序通过”。
  5. TF 卡槽、音频和 Wi-Fi 模组先按 README 的遗留问题做风险标记,确认器件封装和配置电阻后再下单。

来源与复用说明

  • 项目名称:YuzukiNezha D1s RISC-V Linux 核心板
  • 原作者/团队:YuzukiHD / YuzukiHD Hardware
  • 立创项目:https://oshwhub.com/100askteam/yuzukif133_transfer
  • GitHub 源码:https://github.com/YuzukiHD/YuzukiNezha-D1s
  • EDA 工程:项目页公开的 09b1378b783f4482908c168441ce45df,原理图 1a739783e560446faf75898a5b1f3230,PCB ab7378d29c584ef2a2d4ff56f83fb667
  • 图像:从上述 EDA 工程重新打开后截取,裁剪编辑器留白并做等比例保真放大;未使用项目页文章中的低清原理图作为 EDA 母图。
  • 代码:本文的 net_audit.py 是围绕公开 EasyEDA JSON 编写的独立静态检查脚本,运行结果和限制记录在 work/oshwhub-daily/2026-10-01/verification.md。
  • 许可:项目页标注 CC0 1.0;硬件包 README 写有 CERN-OHL-P,二者存在差异,复用前请向原作者确认。
  • 本文实际完成:同版本 EDA 图纸取图、网络标签静态核对和源码包完整性核对;未完成实体上电、Linux 启动、DRC、温升或高速信号实测。

技术交流,欢迎关注微信公众号:美男子玩编程。

创作许可协议

本项目采用 CC BY(署名) 进行许可。

评论(0)
- 没有更多了 -