YuzukiNezha D1s 上电后能启动吗:从电源树到 Linux 引导
有些核心板看起来像“把 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。图像只做了裁剪和保真放大,保留了编辑器边界,方便读者确认取图来源。

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

图 2: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 或附件前,应先向原作者确认适用协议,并按确认结果保留必要的版权和署名信息。
复现前的检查清单
- 下载与文章对应的硬件 ZIP,确认导入的是原理图和 PCB 同一版本。
- 先检查 VBUS → 3V3/1V8/0V9 的反馈电阻和输出去耦,再检查 SoC 每个电源脚是否落在正确电压域。
- 对照 D1s/F133 数据手册确认 SPI0、SDC0、USB 和 Wi-Fi 的复用关系,特别是 SPI0_D0/D1 这类命名差异。
- 首次上电只接限流电源,分阶段测量各路电压和上电顺序;没有示波器时不要把“网络存在”写成“时序通过”。
- 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、温升或高速信号实测。
技术交流,欢迎关注微信公众号:美男子玩编程。




