简介:Jetson AGX Xavier 开发者套件载体板规格说明书(SP-09778-001_v2.0,2020年1月版)面向机器人控制器、边缘人工智能与嵌入式计算方向的硬件工程师、算法部署人员及高校研究者,用于解决底板接口定义、供电分配与外设扩展的设计参考问题,适合具备一定硬件基础的中高阶读者查阅。整份资料为单个 PDF 文件,约 1.2MB,篇幅紧凑,便于设计调试时随查随用。内容以官方修订记录与接口示意图为主线,覆盖 USB 与 HDMI_DP、DP_AUX 连接细节,UFS 与 Micro SD、eSATA/USB 复用口、M.2 Key E 与 Key M 模块的上下拉电阻和电平转换调整,以及摄像头、音频面板头、40 针扩展头、自动化头的引脚方向与命名变更。文中还给出千兆以太网、PCIe 与 SLVS 标准连接器说明、模块与载板的 I2C 使用表以及 5V_AO 供电分配表,可对照排查无线模块唤醒、存储链路与视频输入环节的稳定性问题。已有 3540 人学习下载。
1. 一块自制载板点不亮时,这本 32 页的规格书比十篇帖子管用
某实验室的 A 同学把 Jetson AGX Xavier 的转接板焊完,19V 电源一插,串口一片空白,风扇不转,指示灯不亮。他先怀疑电源芯片,又怀疑模块坏了,换了两块板子还是一样。最后翻到《JETSON AGX XAVIER 学习资料.pdf》第 1 章那句全大写的警告——先把所有外设接好,再给 AC 口或 Type-C 口上电——才发现是自己热插拔了相机排线。这份 SP-09778-001_v2.0 的载板规格书,2020 年 1 月版,讲的不是怎么跑模型,而是这块载板上每一个座子、每一根信号、每一路电源的边界在哪里。它适合三类人:要自己画载板的硬件工程师、要在 40-pin 和 M.2 上接外设的机器人控制器开发者、以及被"接口能用但跑不满"折磨过的系统集成者。看懂它,能省掉很多块报废的板子。
2. 手册的适用边界:699 针板对板连接器划出的分界线
2.1 它写的是载板这一侧,不是模块内部
Jetson AGX Xavier 模组和开发者套件载板是两块独立的板,中间靠一个 699 针(11×65)的板对板连接器咬合。这本规格书从头到尾讲的是载板侧:连接器怎么分配、每根信号落到哪个座子、电源怎么从 DC Jack 一路分到各个接口。模组内部的 256-bit LPDDR4x、eMMC 5.1、动态调频调压这些,只在 1.1 节的功能列表里各占一行,没有时序图,没有电气参数。
这个边界要先认清。有人在群里问"CSI 带宽到底够不够接四路 4K",或者"PCIe 能不能跑 Gen4",答案不在这本手册里——手册给的是载板能承载什么、走线允许多长、电源能给多少。真正决定能不能跑满的,是模组侧的规格加载板侧的走线预算,两边都得查。我自己踩过的坑是拿着一份载板手册去算相机帧率,算到最后发现漏了模组侧 ISP 通路的上限,白折腾两天。
另一个容易误读的地方是 1.2 节那张载板功能清单。它列了 MicroSD + UFS 组合座、两个 USB Type-C、千兆以太网 RJ45、PCIe x16(实际用到低 x8)、HDMI Type A、两路走 Type-C 的 VESA DisplayPort、120 针相机扩展头、M.2 Key E、M.2 Key M、40-pin 扩展头、JTAG、风扇座、自动化头、音频排针。看起来是"全都有",但每一路都有前置条件:PCIe x16 座子有 Root Port 和 EndPoint 两种用法,40-pin 上有些引脚方向在 v2.0 里被改过,相机头的 56/57/58/101 四根被保留给数字相机供电。清单只能当目录用,真要接线得翻到对应章节的引脚表。
工作温度 0 到 50 摄氏度这条也值得单独拎出来。做机器人控制器的场景里,机箱内部温度很容易超过这个区间,而载板上的 5V、3.3V、1.8V 三路主电源芯片都有各自的降额曲线。手册不会告诉你"超温会怎样",它只告诉你范围,剩下的靠自己在结构上留风道。
2.2 三张表决定你能不能动手:引脚表、电源表、延时表
整本手册的信息密度集中在三类表格上,其余段落基本是这三类表的解释。第一类是引脚描述表,从表 2-1 的 USB 2.0 Micro B 一路排到表 3-6 的自动化头,每一张都给出针号、信号名、方向、备注。第二类是电源分配表,表 5-1 是接口电源分配,表 5-2 是各路电源的电流能力,表 5-3 是按 P2822 电源树拆到"每个座子每一路能出多少"的粒度。第三类是走线延时表,表 2-7 管 PCIe 卡、表 2-8 管 SLVS 适配卡、表 2-12 管 M.2 Key E、表 2-14 管 M.2 Key M(到 Gen3)、表 3-2 管相机 CSI 的 D-PHY 走线、表 3-4 管 40-pin 相关走线。
动手之前先想清楚要查哪张表,比通读一遍效率高得多。做一块新载板,顺序一般是:先用引脚表把连接器定义抄下来,再用电源表核对每一路的负载能力,最后用延时表约束 PCB 布局。反过来做,画完再查,多半要改板。
| 表号 | 管什么 | 什么时候必须查 |
|---|---|---|
| 表 2-6 | PCIe 8-lane 连接器引脚 | 决定 Root Port / EndPoint 接线前 |
| 表 2-11 | M.2 Key E 引脚 | 接无线模块、核对唤醒与告警脚前 |
| 表 2-13 | M.2 Key M 引脚 | 接 NVMe 前 |
| 表 3-1 | 相机扩展连接器引脚 | 选 D-PHY 还是 C-PHY 前 |
| 表 3-3 | 40-pin 扩展头引脚 | 接任何第三方 40-pin 模块前 |
| 表 4-4 / 4-5 | 模组与载板的 I2C 使用归属 | 分配 I2C 地址前 |
| 表 5-3 | 每个座子每路电源的电流能力 | 算总功耗、选保险丝前 |
这张索引表本身不算手册内容,是我自己贴在工位上的。它的价值在于:出问题时能三秒内定位到该翻哪一页,而不是从目录开始一页页找。
2.3 版本历史当成变更清单读,比正文还实用
手册前面三页的 Document History 记录了从 v1.0(2018 年 8 月 9 日首发)到 v1.7(2019 年 7 月 24 日)、再到 v2.0(2020 年 1 月 14 日)的全部改动。很多人直接跳过,其实这是最省时间的一份"已知问题清单"——官方不会无缘无故改一根线的上拉电阻。
v1.7 的改动里,UFS/Micro SD 部分去掉了 UFS TX 线上的 AC 耦合电容,去掉了 SD_POWER_SW_ON(GPIO21)上的上拉,却在 SD Detect 线上加了上拉。M.2 Key E 部分加了 WLAN disable(pin 56)的开漏缓冲器和上拉,去掉了 PEX_WAKE_N 的上拉,把 GPIO3_AP_WAKE_BT_M2 从 pin 61 挪到 pin 38,把 GPIO30_M2_E_ALERT_R* 的上拉轨改成 VDD_1V8,还给 I2S3 和 BT_WAKE_AP 加了电平转换。eSATA 那段明确写了接口本身是 GEN3,但桥上 PCIe 那一侧只有 GEN2。
v2.0 改动更值得看:表 2-4 去掉了 Signal Name 列,换成 Module Pin # 列;PCIe 连接器明确支持 EndPoint 和 Root Port 两类卡;图 2-1 里补上了 SLVS 控制信号接 PCIe reset、wake、clock request,并画出内部 3.3V 上拉;表 2-6 补了 LSVS 相关信息和 PCIe 接收 lane 描述;3.2 节删掉了 I2S 和 DMIC 的描述,加了 3x4 lane 到 CSI;图 3-1 删掉了 C-PHY 连接示例;相机扩展头的连接器在 v2.0 换过一次料号;电源部分基于 P2822 电源树新增了表 5-3。
把这些改动按"信号完整性""电源""文档准确性"归类,能反推出设计意图。比如"UFS TX 去掉 AC 电容"多半是眼图过不了,"SD Detect 加上拉"是避免检测脚浮空误判。"AP_WAKE_BT 从 61 挪到 38"这种引脚搬家,说明原来那根脚有别的用途冲突。拿到旧版载板的人,尤其要检查自己是不是还停在 v1.7 之前的接法上。
3. 接口落地:PCIe x16、M.2 与 40-pin 怎么按表接线
3.1 PCIe x16 座子:Root Port 和 EndPoint 是两种完全不同的接法
载板上那个 PCIe x16 物理座子,实际只用了低 x8。v2.0 明确写了它既支持 EndPoint 卡也支持 Root Port 卡,这是很容易被忽略的一句——同一个座子,主从方向不同,参考时钟和复位信号的走向也不同。
图 2-1 在 v2.0 里补了三件事:SLVS 控制信号接到 PCIe 的 reset、wake 和 clock request 引脚上;内部 3.3V 上拉画出来了;删掉了没用到的那段 lower x8。SLVS 是给串行低电压差分信号用的,工业相机和部分采集卡会走这套控制线。如果你接的是标准 NVMe 或网卡,SLVS 那几根可以悬空;接 SLVS 适配卡,就必须按表 2-8 的走线延时约束来画。
验证链路有没有协商到预期宽度,不用拆机箱,系统里两条命令就够:
# 列出所有 PCIe 设备,只看拓扑和链路状态 lspci -vv | grep -E "LnkCap|LnkSta|DevSta" -A1 # 从内核日志看枚举过程和错误 dmesg | grep -iE "pcie|link up|link down" | tail -30LnkSta那行会写明当前协商速率和宽度,比如Speed 8GT/s, Width x4。如果显示Width x1而卡是 x4 的,先怀疑三件事:座子供电没到位、参考时钟没送过去、或者卡被识别成 EndPoint 但主机侧没配置成 Root Port。dmesg里出现link down反复重试,多半是走线超了表 2-7 的预算,这时候改软件没用,得回去看 PCB。
参数上要盯的是表 2-7 给的最大走线延时。这个数值手册按卡类型分开列,做板时把它当成硬约束,别当成参考值。我见过把 PCIe 差分对绕了一大圈的板子,跑 Gen3 时灵时不灵,降速到 Gen2 就正常——典型的延时不达标,降速掩盖了问题。
3.2 M.2 Key E 与 Key M:唤醒、告警和电平转换的引脚改动
M.2 Key E 槽走的是 PCIe x1 加 USB 2.0,另有 I2S、UART、I2C 和控制信号。它的引脚定义是这本手册里改动最频繁的一块,v1.7 一口气改了七八处,每一处都对应一个实际会翻车的场景。
第一个是 WLAN disable(pin 56)。v1.7 加了开漏缓冲器和上拉,原因是这跟脚如果直接由模组 GPIO 驱动,电平域不匹配会导致无线模块被误关。第二个是 PEX_WAKE_N 的上拉被移除,因为已经有外部上拉,重复上拉会让唤醒脚在低功耗态漏电。第三个是 GPIO3_AP_WAKE_BT_M2 从 pin 61 挪到 pin 38——如果你的底板还是按旧图接的,蓝牙唤醒功能会彻底失效,而且从现象上看只是"蓝牙能连但唤不醒主机",极难往引脚上想。
第四个是 GPIO30_M2_E_ALERT_R* 的上拉轨从原来的轨改成 VDD_1V8。这个改动说明该信号的 IO 电平是 1.8V 域,挂到 3.3V 上拉会长期倒灌。第五个是 I2S3 和 BT_WAKE_AP 加了电平转换器,pin 32 和 36(UART5_TX 和 RTS)加了缓冲器。这两处的共同点是:模组侧和模块侧的工作电压不一样,直连会烧模块或者收不到数据。
M.2 Key M 走 PCIe x4 加控制信号,v1.7 的改动是给 pin 44(ALERT*)补了上拉。这个脚浮空时,NVMe 盘的温度告警会随机触发,表现为"跑一会儿就掉盘",重插又好。表 2-14 给了到 Gen3 的最大走线延时,做 M.2 底板时按这张表约束长度匹配。
在系统里确认 M.2 设备有没有正常枚举,除了lspci,还可以直接看块设备和温度节点:
# 确认 NVMe 是否挂在预期的 PCIe 控制器下 ls -l /sys/class/nvme/ # 读 NVMe 温度,验证 ALERT 通路和传感器是否正常 for d in /sys/class/nvme/nvme*/device/hwmon*/temp1_input; do echo "$d: $(($(cat $d)/1000)) C" done # 列出所有 I2C 适配器,Key E 上的 I2C 设备要在这里能找到总线号 i2cdetect -l第一段输出能看到nvme0、nvme1这样的设备节点;第二段把毫摄氏度换算成摄氏度,正常空闲应该在 30 到 50 之间,如果读不到温度,说明盘的管理通路没通,别急着怪散热;第三段列出的总线号要跟表 4-5 里载板 I2C 的归属对上,对不上就说明设备树或者硬件接线有问题。
3.3 CSI 相机与 40-pin 扩展头:先算走线预算再画板
相机扩展头是 120 针(2×60)的板对板连接器,支持 CSI 6 组 x2 或 8 组 x4,可用 D-PHY 也可用 C-PHY,另外带相机时钟、I2C 和控制信号。v2.0 在图 3-1 里删掉了 C-PHY 的连接示例,但在 3.2 节加了 3x4 lane 的 CSI 说明——意思是 C-PHY 依然支持,只是不再给参考图,得自己按 lane 数算。
表 3-2 是相机模组侧 CSI PCB 走线允许多少,注意它只覆盖 D-PHY。走 C-PHY 的话这张表不适用,得按 C-PHY 的三线一组特性重新算。表 3-1 里 pin 56、57、58、101 被明确保留给数字相机供电,这四根不要挪作他用,很多自带补光或者 ToF 的模组要靠这几路供电。
40-pin 扩展头是 2×20,物理排布沿用了 40-pin 惯例,信号覆盖 I2C、SPI、UART、I2S、CAN 和数字麦克风。v2.0 改了两处:pin 7(MCLK05)的模组引脚名更新了,pin 18 的方向更新了。方向这一项最容易被忽略——表 3-3 里标的是从载板看过去的方向,如果按模组侧的方向理解,会把输出接成输入,表现为"信号有电平但读不到"。
表 3-4 给的是 40-pin 相关载板走线延时。这个头上面经常挂 SPI 屏和 CAN 收发器,SPI 时钟一高,走线长了就丢包。我一般会在画板前把最高 SPI 时钟定下来,再反查允许的走线长度,留 20% 余量。
40-pin 上还挂着 CAN。CAN 收发器需要外部供电和终端电阻,手册给的是引脚定义,不给你收发器型号。常见做法是用 3.3V 供电的收发器,终端电阻 120 欧姆放在总线两端。这里有个血泪经验:40-pin 的 3.3V 输出能力有限,如果同时挂了屏、CAN 收发器和几个传感器,最好单独从 DC Jack 引一路,别全压在扩展头上。
3.4 电源通路:9 到 20V 输入、5V_AO 与外设上电顺序
DC Jack 支持 9V 到 20V 输入,套件里配的是 19V 适配器。板上主 5V 用 NCP81239,主 3.3V 用 TPS53015,主 1.8V 降压用 APW7307,USB VBUS 用 RT9715 和 APL3511 做负载开关,PCIe 需要 12V 时再用一颗 NCP81239 做升压。SD、HDMI、Display、Camera 各有自己的负载开关或 LDO。
v1.7 改过 5V_AO 稳压器,v2.0 补了表 5-3,把 P2822 电源树拆到"每个连接器每一路能出多少电流"。这张表是做功耗预算的唯一依据。很多人算总功耗时把各路标称值直接相加,得到的数字远超实际,然后选了个巨大无比的适配器;正确做法是按表 5-3 逐座子累加,再考虑同时系数。
手册第 1 章那句警告必须当成硬规矩:先把模组和所有外设都接好,再给 AC 口或 Type-C 口上电。载板上有大量 ESD 敏感器件,热插拔相机排线、风扇线、40-pin 模块,都可能通过信号线把静电打进模组。官方写得很直白,静电损坏不在更换范围内。我自己现在的习惯是:任何接线动作之前先断电,接完再摸一下机壳放电,这套流程走了三年没出过事。
上电顺序还有个隐性约束:Type-C 口本身能供电,DC Jack 也能供电,两个同时接会怎样,手册没明说,但供电轨是并联关系,稳妥做法是只用一种。做机器人控制器时如果要从电池组取电,记得确认电压落在 9 到 20V 之间,低于 9V 时 5V 主轨可能起不来,表现为"插上电风扇转一下又停"。
4. 避坑清单:五个把载板做废的现场
4.1 上电与静电相关的三个坑
第一个坑:热插拔外设后模组直接不启动。现象是插着电接相机排线,屏幕一黑,再上电就没反应。原因在于相机排线上带供电针脚,带电插拔瞬间的浪涌和静电会打到模组的 IO 上,手册第 1 章明确写了这种损坏不在更换范围。解决办法只有一个,养成断电再接线的习惯,包括风扇、40-pin 模块、M.2 卡。这条没有技术手段能绕过,属于流程问题。
第二个坑:只接 DC Jack 不接外设,上电正常;接上外设就掉电重启。现象很有迷惑性,看起来像电源功率不够。真正的原因往往是某一路外设的负载超过了表 5-2 和表 5-3 给的电流能力,触发保护。解决方式是拿万用表逐路量电流,把超标的挪到独立供电,或者换更大功率的适配器。别急着换电源芯片,先量。
第三个坑:板子放桌上调了一下午都正常,装进金属机箱就随机死机。原因是机箱没做等电位,载板和机箱之间存在电位差,插拔 USB 或者碰到外壳时放电。解决方式是把载板的固定孔可靠接地,机箱内所有金属件用导线连起来。这个坑的特点是"玄学",因为现象跟操作动作强相关,跟代码完全无关。
4.2 高速接口相关的坑
第四个坑:M.2 无线模块能识别,但蓝牙唤醒主机失败。现象是蓝牙键鼠配对正常,休眠后怎么按都唤不醒,只能按电源键。原因基本可以锁定在 AP_WAKE_BT 的引脚位置上——v1.7 把这根信号从 Key E 的 pin 61 挪到了 pin 38,底板如果按旧版图接,信号根本到不了模组。解决办法是对着 v2.0 的表 2-11 逐针核一遍,重点看 pin 38、56、58、60、61 这几根。
第五个坑:NVMe 盘跑压力测试十几分钟就掉盘,重启又能认。现象像是过热降速,但摸上去温度并不高。原因多半是 pin 44(ALERT*)没有上拉,信号浮空导致控制器误判告警。v1.7 专门为这根脚加了上拉,说明这是量产前就发现的共性问题。解决办法是补一颗上拉到规定电源轨,同时用smartctl或者 hwmon 节点确认温度读数是否正常。
补充一条不算坑但经常被问:PCIe 座子插了 x16 的显卡为什么只跑 x8。这不是故障,手册 1.2 节写得很清楚,这个座子物理上是 x16,实际只引出低 x8。别去翻 BIOS 设置,没有可调项。
5. 把表格变成检查单:走线预算与 I2C 地址核对
5.1 走线延时预算怎么落成具体数字
手册给的是"最大走线延时",不是"最大走线长度",这两个不能混。延时的计算跟板材介电常数有关,常见 FR4 内层走线的信号传播速度大约每纳秒 15 厘米量级,具体数值要按叠层和阻抗算。做预算的流程是:先从表 2-7、2-8、2-12、2-14、3-2、3-4 里查出目标接口允许的最大延时,再按自己的叠层换算成允许的物理长度,最后在布局时给每条高速线留出余量。
我自己用的检查顺序是:先算差分对,再算单端时钟,最后算普通控制线。差分对最敏感,PCIe 和 CSI 都要做长度匹配,匹配精度按接口要求来,一般控制在几个 mil 以内。时钟线单独走,避免和高速数据线平行过长。控制线最后走,走不通就换层。
这里没有通用数值可以抄,因为叠层一变全都变。手册给的是约束的"上限",你的任务是把设计压在上限之下。留多少余量看经验,我一般留 20%,因为打样回来的板子实际介电常数和仿真值总有偏差。
5.2 I2C 总线归属与地址冲突怎么查
表 4-4 列的是模组侧 I2C 接口的使用情况,表 4-5 列的是载板侧。两张表要对照着看,因为同一个物理总线在模组和载板上的编号不一定一致。做外设扩展时最常见的故障是地址冲突:两个传感器都用了默认地址,挂同一条总线上,表现为其中一个读出来全是 0xFF 或者直接超时。
排查靠命令行就够,前提是知道设备挂在哪个总线号上:
# 列出系统里所有 I2C 适配器及其编号 i2cdetect -l # 扫描指定总线上的所有地址(-y 跳过确认,-r 用读方式探测更稳) i2cdetect -y -r 1 # 确认某个地址上设备的寄存器可读,以 0x40 为例 i2cget -y 1 0x40 0x00第一段输出的表格里,i2c-1到i2c-N对应不同的物理总线,要跟表 4-5 的归属对上。第二段输出一张 0x00 到 0x7F 的地址图,UU表示该地址被内核驱动占用,数字表示探测到设备但没驱动。如果两个设备都该出现却只看到一个,八成是地址冲突,改其中一个的地址跳线或者换总线。第三段读寄存器,返回0xFF通常意味着设备没应答,检查供电和上拉电阻——I2C 必须有上拉,很多自制底板忘了这个。
I2C 上拉电阻的取值也有讲究。总线电容大、设备多的时候,上拉太小会导致低电平拉不下去,太大又上升沿太慢。常见做法是 2.2k 到 4.7k 之间,具体按总线速率和设备数量调。手册不给这个值,因为它取决于你的布线。
5.3 引脚表交叉核对:三个必须核的字段
拿到任何一份第三方底板或者模块的引脚定义,都要跟手册的表做交叉核对,重点核三个字段:针号、信号名、方向。针号决定物理位置,信号名决定功能,方向决定驱动关系。三个里错任何一个都会出问题,而且故障现象各不相同。
针号错,表现为功能整体不存在或者接到了别的功能上。信号名错,表现为"看着接对了但不工作",因为同一个针号在不同版本手册里可能改过名字——v2.0 就更新了 40-pin 上 pin 7 的模组引脚名。方向错,表现为电平能测到但通信失败,因为输出接了输出。
我的做法是把手册里相关的引脚表抄成一个 CSV,加一列"我的设计",逐行比对。这个动作很枯燥,但比改板便宜。核对完再让第二个人独立核一遍,两个人的错不会完全重合。
| 核对项 | 出错时的典型现象 | 怎么快速确认 |
|---|---|---|
| 针号 | 功能整体缺失或错位 | 万用表通断测到连接器 |
| 信号名 | 接对了但不工作 | 对照当前版本手册的表 |
| 方向 | 电平正常但通信失败 | 示波器看驱动侧波形 |
| 电源轨 | 上电即保护或发热 | 查表 5-3 的电流能力 |
| 上拉 | 时好时坏、随机丢包 | 查信号完整性相关章节 |
这张表可以贴在调试台上。它的作用不是替代手册,而是让你在出问题时有个固定的排查顺序,不至于东摸一下西摸一下。
6. 进阶:用 v1.7 到 v2.0 的差异反推设计意图
6.1 三类改动对应三类风险
把版本历史里的每一条改动归到"信号完整性""电源""文档准确性"三类,能看出一套规律。信号完整性类的改动集中在阻抗、上拉、电平转换、AC 耦合电容上——UFS TX 去电容、SD Detect 加上拉、I2S3 加电平转换、pin 44 加上拉,都属于这一类。这类改动一旦发生在你已经投产的板子上,意味着你的板子有概率性故障,而不是必然故障,因为信号完整性问题天生跟温度、批次、走线长度相关。
电源类的改动是 5V_AO 稳压器调整和表 5-3 的新增。前者说明早期版本的待机功耗或者纹波有问题,后者说明原文档的电流能力描述太粗,做不了预算。文档准确性类的改动最多,比如表 2-4 去掉 Signal Name 列换成 Module Pin # 列、多处引脚方向更新、图里补 pin 1 标识。这类改动不影响硬件,但影响你抄表的正确率。
按这个分类看自己的板子:如果停在 v1.7 之前的版本,信号完整性那几条必须逐条核;如果只是抄表抄错,那属于第二类,改文档就行。
6.2 我自己的上电前检查清单
每次新板回来,我会按固定顺序过一遍,不跳步。第一步断电量通断,把所有电源轨对地测一遍,确认没有短路;第二步只接 DC Jack 上电,测 5V、3.3V、1.8V 三路是否正常;第三步接串口看启动日志,确认模组能被识别;第四步逐个接外设,每接一个测一次;第五步跑压力测试,让 PCIe 和 CSI 同时工作半小时。
这套流程的价值在于"一次只变一个变量"。前面那个 A 同学的教训就是一次接了相机、风扇和 40-pin 模块,出问题后无法定位是哪一路。从那以后我每次上电前都强制走一遍这个五步,宁可慢半小时,也不要在几百根线里猜。
# 上电后第一件事:确认模组型号、L4T 版本和电源状态 cat /etc/nv_tegra_release cat /sys/devices/soc0/machine # 看热区温度,确认散热是否到位 for z in /sys/class/thermal/thermal_zone*/; do echo "$(cat $z/type): $(($(cat $z/temp)/1000)) C" done第一段确认平台版本,避免拿错文档;第二段把各个热区温度打出来,空闲状态超过 60 度说明散热结构有问题,先解决散热再谈性能。这两条命令加起来不到十秒,但能挡掉后面一大半莫名其妙的降频问题。
如果你手上正好有这块板子,或者正准备照着它画一版自己的载板,建议把这份 SP-09778-001_v2.0 的 PDF 存一份在本地,按第 2 章那三张表的索引方式做几个书签。硬件调试这件事,能查到的确定信息越多,玄学就越少。希望帮到你。
本文还有配套的精品资源,点击获取