i.MX RT1160硬件设计实战:从数据手册到SD/eMMC、以太网时序与启动配置

发布时间:2026/6/9 22:18:10
i.MX RT1160硬件设计实战:从数据手册到SD/eMMC、以太网时序与启动配置
1. 项目概述从数据手册到硬件设计实战在嵌入式硬件开发中最考验工程师功力的往往不是写代码而是如何把一份动辄上千页的芯片数据手册Datasheet里那些冰冷的参数和表格变成一块能稳定跑起来的电路板。我接触过不少工程师面对像NXP i.MX RT1160这类高性能跨界处理器的数据手册时常常感到无从下手尤其是第四章的“电气特性”和第五章的“启动模式配置”里面充斥着各种时序图、参数表和引脚复用矩阵看得人眼花缭乱。实际上这些内容正是硬件稳定性的基石。以SD/eMMC接口为例你选用了HS400模式以期获得最高的读写带宽但如果在PCB布局时没有处理好时钟与数据线的等长或者IO驱动强度配置不当轻则传输速率上不去重则系统频繁出现数据校验错误根本没法用。再比如以太网RGMII接口的时序余量非常紧张如果对数据手册里TskewT发送端时钟-数据偏移和TskewR接收端时钟-数据偏移的理解不到位板子打回来可能就是百兆能通、千兆断线。启动模式配置更是如此BOOT_CFG引脚的上拉下拉电阻没焊对芯片可能连第一步的BootROM都跑不出来直接“变砖”。这篇文章我就以i.MX RT1160的数据手册Rev. 4为蓝本结合我过去在多个工业控制项目中的踩坑经验带你深入解读SD/eMMC、以太网ENET的接口时序以及启动模式的引脚配置。我的目标不是复述手册内容而是告诉你这些参数在真实的硬件设计、PCB布局和软件初始化中到底怎么用如何规避那些手册里没明说、但实际一定会遇到的坑。无论你是正在评估RT1160还是已经画好了板子正在调试相信这些从实战中提炼出的细节都能给你带来直接的帮助。2. 核心设计思路理解时序与配置的底层逻辑在动手画原理图或写配置代码之前我们必须建立起一个核心认知数据手册里的时序参数和引脚配置表本质上是一份“芯片与外部世界通信的协议”。处理器厂商NXP通过这份协议告诉我们“只要你满足我列出的这些条件电压、时序、引脚连接我就能保证芯片内部模块正常工作。” 我们的设计任务就是创造一个满足所有这些条件的外部环境。2.1 接口时序设计的核心建立时间与保持时间几乎所有数字接口时序的分析最终都会归结到两个最基础的概念建立时间Setup Time, t_SU和保持时间Hold Time, t_HD。这是时序分析的“第一性原理”。你可以把它想象成一场精心安排的会议。时钟信号的边沿上升沿或下降沿就是会议开始的“铃声”。数据信号就是要在会议上被读取的“报告”。建立时间t_SU要求“报告”数据必须在“铃声”时钟边沿响起之前的一段时间例如2.4 ns就已经准备就绪并保持稳定。这给了接收方一个准备和识别数据的时间窗口。保持时间t_HD要求“铃声”响起之后“报告”数据还必须继续稳定一段时间例如1.2 ns确保数据被可靠地锁存。数据手册里所有复杂的参数如tOD输出延迟、tISU输入建立时间、tIH输入保持时间以及以太网部分的各种Tskew偏移都是围绕如何满足芯片引脚处对于处理器是输入或输出的建立和保持时间要求而定义的。我们的PCB走线长度、负载电容、串扰都会影响信号最终到达芯片引脚时的时序。设计的目标就是通过控制这些外部因素让信号满足芯片的t_SU和t_HD要求。2.2 引脚配置与复用的系统思维i.MX RT1160拥有海量的GPIO但每个GPIO引脚都是“多功能复用”的。例如GPIO_SD_B1_00这个引脚既可以作为普通的GPIO_MUX4_IO3也可以配置为usdhc1.CMDSD1的命令线还可以作为flexspi1.B_DATA[3]。这种灵活性带来了设计的便利但也带来了选择的纠结和潜在的风险。启动模式的配置是引脚复用中优先级最高、也最需要谨慎对待的部分。芯片上电复位时会采样特定的BOOT_MODE[1:0]和BT_CFG[11:0]引脚电平来决定从哪个外部设备FlexSPI NOR Flash, SD卡 NAND等加载最初的启动代码。这个阶段芯片内部的IOMUXIO复用控制器和引脚上下拉电阻会按照数据手册中“Default setting”一栏的配置来工作。一个常见的致命错误是工程师在原理图上为某个启动配置引脚例如GPIO_DISP_B1_06即BT_CFG[0]添加了错误的上拉或下拉电阻或者PCB布局时让这根线受到严重干扰导致芯片采样到了错误的电平从而尝试从一个不存在或未初始化的设备启动结果就是系统毫无反应。因此我们的设计思路必须是系统性的首先确定启动方案根据产品需求成本、速度、升级便利性选择主启动设备如QSPI Flash。仔细查阅数据手册表99确定对应的BOOT_MODE和BT_CFG引脚配置并在原理图上严格按照“Default setting”配置上下拉电阻。对于标注为“HighZ”高阻的引脚务必确保其电路环境稳定避免浮空引入不确定电平。其次规划关键高速接口确定SD卡、以太网、显示屏等关键外设所用的接口模块如USDHC1, ENET。查阅表105-113等“Boot device interface allocation”表格找到这些接口模块在启动时固定分配的引脚。这些引脚在启动阶段已被硬件锁定功能我们在后续应用中也应优先使用这些引脚以避免冲突。最后分配剩余通用功能在满足前两点的基础上将剩余的GPIO分配给UART、I2C、SPI、普通GPIO等低速或功能可灵活移动的接口。此时需要仔细核对芯片的引脚复用表IOMUXC Table通常在参考手册中确保无冲突。实操心得启动引脚配置的“防呆”设计对于BOOT_MODE和BT_CFG这类决定生死的引脚我习惯在原理图上其网络标号旁边用注释框醒目地标注出目标电平如BT_CFG[0] Pull-Down to GND for FlexSPI1 boot。在PCB布局时这些引脚的上下拉电阻要尽可能靠近芯片引脚放置走线短而粗远离时钟、电源等噪声源。在贴片后的首板调试阶段第一件事就是用万用表或示波器测量这些引脚在按下复位键瞬间的电平确保与设计意图完全一致。这个简单的检查步骤能避免至少50%的“不上电”或“不启动”问题。3. SD/eMMC接口时序深度解析与设计要点i.MX RT1160的USDHCUltra Secured Digital Host Controller模块功能非常强大支持从传统的3.3V SD1.0/2.0到高速的1.8V SDR104、HS200乃至eMMC 5.1的HS400模式。模式越高时钟频率越高对时序的要求也越苛刻。3.1 关键时序参数解读与设计计算我们以最常用的eMMC HS400模式和SD卡 SDR104模式为例拆解手册中的参数如何指导我们的硬件设计。1. eMMC HS400模式时序分析HS400是eMMC 5.0及以上版本支持的双倍数据速率DDR、8位数据总线、1.8V信号电平的模式时钟频率最高可达200MHz周期5ns。其核心挑战在于引入了数据选通信号Strobe。查看数据手册表90我们需要关注几个关键参数SD1 (Clock period): 5.0 ns (Min)。这意味着时钟周期不能小于5ns对应最高频率200MHz。SD4/SD5 (Output skew from data to edge of SCK / from edge of SCK to data): 0.45 ns (Min)。这是控制器发送时序。它定义了在时钟SCK边沿附近数据DAT[7:0]必须稳定的窗口。SD4和SD5共同约束了数据相对于时钟边沿的偏移必须控制在±0.45ns以内。这要求PCB上数据线与时钟线必须严格等长误差最好控制在50mil约1.27mm以内。SD6/SD7 (SDHC input skew / hold skew): 0.45 ns (Max)。这是控制器接收时序。它定义了来自eMMC芯片的选通信号Strobe与数据信号DAT[7:0]之间的最大允许偏移。同样这约束了eMMC器件数据输出到控制器引脚之间的走线等长要求。设计计算示例 假设我们设计一个运行在200MHz5ns周期的HS400接口。时钟信号在PCB上的传输延时约为150 ps/inch约6 ps/mm。如果我们有一根数据线比时钟线长了10mm那么就会引入约60ps0.06ns的延时偏移。这个值小于0.45ns的SD4/SD5要求从控制器发送角度看是满足的。但是我们必须同时考虑eMMC芯片本身的数据/选通输出偏移通常在其数据手册中给出可能为±0.2ns以及PCB上数据线与选通线之间的不等长比如又差了0.1ns。这些偏移会累积。保守的设计要求是控制器到eMMC的所有数据线、时钟线、选通线之间的长度匹配误差应控制在±0.1ns约±15mm以内为芯片内部偏移和噪声留出足够余量。2. SD卡 SDR104模式时序分析SDR104是SD卡3.0协议支持的最高速模式时钟频率可达208MHz手册中tCLK最小为5.0ns即200MHz实际芯片可能支持更高采用1.8V信号电平。查看数据手册表88SD5 (uSDHC Output Delay in SDR104): -1.6 ns (Min) to 1 ns (Max)。这是控制器发送时序。tOD为负值-1.6ns是一个关键信息它意味着在SDR104模式下控制器的数据/命令输出可以领先于时钟边沿最多1.6ns。这是一种“时钟后置”的时序策略目的是补偿PCB走线延时让数据和时钟能更同步地到达SD卡引脚。SD8 (Card Output Data Window): 0.5 x tCLK (Min)。这是控制器接收时序。它要求SD卡输出的数据有效窗口至少为半个时钟周期。在200MHz下tCLK5ns则数据窗口需≥2.5ns。这约束了SD卡本身的数据输出保持能力以及我们的PCB走线不能引入过大的抖动否则会缩小有效采样窗口。设计计算与策略 对于SDR104发送时序tOD范围是[-1.6ns, 1ns]。假设PCB走线给时钟和数据带来了相同的延时比如1ns。那么数据相对于芯片内部时钟边沿的实际输出时间点会因为走线延时而在接收端SD卡被推后1ns。如果控制器内部配置为tOD -1ns数据提前1ns发出加上1ns的走线延时后数据在SD卡引脚处相对于时钟边沿的偏移就接近0达到了最佳采样点。这就是为什么在驱动强度DSE和时序配置寄存器中通常需要根据PCB情况调整DATOUT_TAP或类似参数的原因它就是在调整这个tOD值。3.2 信号完整性设计与PCB布局实战要点理解了时序参数下一步就是通过PCB设计来实现它。以下是针对SD/eMMC高速接口的布局布线黄金法则阻抗控制与参考平面SD/eMMC的1.8V信号线尤其是HS400/SDR104必须做50Ω单端阻抗控制。信号线正下方必须有完整、不间断的GND参考平面通常是L2层。严禁跨分割区布线。严格的等长匹配对于eMMC HS400将CLK、CMD、DAT0-7、DQS选通所有信号分为一组。组内所有走线的长度误差控制在±50mil±1.27mm以内。DQS与CLK的等长要求尤其严格。对于SD卡 SDR104将CLK、CMD、DAT0-3所有信号分为一组。组内等长误差控制在±100mil±2.54mm以内。SD卡座到控制器之间的走线应尽可能短直。去耦电容的摆放eMMC芯片的电源引脚VCC, VCCQ附近必须放置多个容值递减的陶瓷电容如10uF, 1uF, 0.1uF且必须紧贴芯片引脚过孔直接打至电源/地平面。这是保证瞬间电流供应、抑制电源噪声的关键噪声会直接导致时序抖动Jitter超标。走线间距信号线之间应保持至少3倍线宽的间距3W原则以减少串扰。对于并排走线的数据线必要时可采用“地线隔离”策略。ESD保护器件选择如果接口需要ESD保护如SD卡座是暴露的必须选择低电容通常1pF的TVS阵列或ESD保护二极管。高电容的防护器件会严重劣化高速信号边沿导致眼图闭合。踩坑记录eMMC HS400模式下的“神秘”数据错误我曾在一个项目中eMMC在HS400模式下运行数小时后会偶发数据错误。排查发现问题根源是eMMC芯片的VCCQ1.8V IO电源去耦电容0.1uF的接地过孔距离芯片稍远且与数字地平面连接阻抗略高。在高速读写时电源噪声增大影响了eMMC内部输出驱动器的稳定性导致tODW数据输出窗口变窄。解决方法是将0.1uF和1uF的电容直接放在芯片背面通过盲埋孔连接并确保接地回路极短。此后故障消失。教训是对于高速接口电源完整性PI和信号完整性SI同等重要去耦电容的布局是PI设计的重中之重。4. 以太网ENET接口时序与引脚配置实战i.MX RT1160的以太网控制器支持MII、RMII和RGMII三种常用接口模式。其中RGMII因其引脚少、支持10/100/1000Mbps而最为常用但其时序也最严格。4.1 RGMII时序详解与PCB延迟补偿RGMII接口在千兆模式1000Mbps下时钟频率为125MHz但数据在时钟的上升沿和下降沿都采样实现了双倍数据速率。数据手册表96和图51/52定义了其关键时序。核心参数解读TskewT(Data to clock output skew at transmitter): -500ps to 500ps。这是处理器作为发送端时数据信号TXD[3:0], TX_CTL与时钟信号GTX_CLK之间的偏移要求。理想情况下数据与时钟应对齐允许有±500ps的偏差。TskewR(Data to clock input skew at receiver): 1.0ns to 2.6ns。这是处理器作为接收端时要求PHY芯片发送过来的数据信号RXD[3:0], RX_CTL与时钟信号RX_CLK之间必须有1.0ns到2.6ns的延迟。这是一个非常特殊且关键的要求为什么接收端要求时钟延迟这是为了补偿PCB走线延时确保数据在处理器引脚处被采样时有足够的建立和保持时间。RGMII规范v2.0之前要求PCB设计上RX_CLK走线要比RXD[3:0]和RX_CTL走线长以人为引入这个1.0-2.6ns的延迟。很多硬件设计失败就是因为忽略了这一点将时钟和数据线做了等长处理。PCB设计实施计算延迟线长度假设FR4板材的信号传播速度约为150ps/inch6ps/mm。要产生2.0ns的延迟延迟线需要比数据线长2.0ns / 6ps/mm ≈333mm。这是一个非常长的蛇形走线实际设计技巧由于直接绕333mm的蛇形线不现实通常采用以下两种方案方案A传统适用于旧版PHY在RX_CLK线上串联一个小的电感如几nH或一个专门的延迟线芯片来增加延时。同时精细计算并绕制蛇形线使延迟落在1.0-2.0ns范围内。方案B现代推荐利用i.MX RT1160内部集成的RGMII时钟延迟功能。数据手册脚注3提到“For all versions of RGMII prior to 2.0”而许多现代PHY芯片如KSZ8081, LAN8720A和RT1160的ENET模块都支持RGMII v2.0它允许在芯片内部MAC或PHY侧对时钟进行延迟补偿从而免除外部PCB延迟线的要求。这是最重要的设计选择务必查阅你选用的PHY芯片数据手册确认其是否支持“RGMII Internal Clock Delay”或“RX Clock Internal Delay”模式。如果支持则在原理图和PCB上将RX_CLK与RXD等长处理即可大大简化了设计。4.2 MII/RMII模式设计要点对于百兆及以下应用MII和RMII是更简单可靠的选择。MII需要14根信号线TX/RX各4数据1时钟1使能1错误指示时钟频率25MHz。时序要求宽松建立/保持时间5nsPCB走线几乎无特殊要求只要连通即可。适合对成本不敏感、引脚丰富的板卡。RMII仅需7根信号线共用50MHz REF_CLK大大节省引脚。时序要求见手册表95如M20输入建立时间为2nsM21输入保持时间为2ns。虽然比MII严格但相比RGMII仍宽松很多。REF_CLK需要是50MHz ±50ppm的高质量时钟通常由PHY或外部晶振提供。需要确保REF_CLK到处理器和PHY的走线等长且抖动小。引脚配置注意事项 以太网接口的引脚通常是固定的。例如查阅数据手册表105-113你可能找不到一个名为“ENET”的独立启动接口表因为以太网通常不作为启动设备。但以太网相关的引脚如GPIO_AD_xx系列在启动时可能被用作BOOT_CFG或其他功能。务必核对你计划用于RGMII的引脚例如GPIO_AD_xx是否与启动配置引脚BT_CFG[x]冲突。如果冲突你必须修改启动配置电阻或者更换以太网所用的引脚如果芯片支持多组引脚复用的话需查IOMUXC表。实操心得RGMII设计检查清单确认PHY支持模式首选支持“RGMII with Internal Clock Delay”的PHY芯片如Microchip KSZ8081/90xx系列TI DP838xx系列。在原理图中将PHY的对应配置引脚如RX_Delay拉高或拉低以启用内部延迟。配置处理器端在RT1160的ENET模块初始化代码中配置ENET_MMFR或MAC_CONFIG寄存器启用接收时钟延迟例如设置RGMII_RX_DELAY位。PCB等长处理如果使用内部延迟方案B则对TXD[3:0]、TX_CTL、GTX_CLK一组和RXD[3:0]、RX_CTL、RX_CLK另一组分别做组内等长。组间不需要等长。等长误差控制在±200mil5mm内通常足够。阻抗控制RGMII信号线需做50Ω单端阻抗控制。隔离与滤波在处理器和PHY的MDI网口变压器侧之间建议串联33Ω-49.9Ω的匹配电阻靠近发送端并预留共模电感CMC和电容的位置以通过EMC测试。PHY的模拟电源AVDD要用磁珠与数字电源DVDD隔离。5. 启动模式配置从引脚到第一行代码系统能否成功启动完全取决于上电瞬间那几十毫秒内的引脚状态。i.MX RT1160的启动配置是一个两级解码系统理解它才能灵活运用。5.1 BOOT_MODE与BT_CFG引脚详解启动配置分为两个层次BOOT_MODE[1:0]GPIO_LPSR_02, GPIO_LPSR_03这两个引脚决定最顶层的启动行为。最常见的是设置为00从FUSE启动或01从内部BootROM的串行下载模式启动用于通过USB/UART初始编程。出厂时这些引脚内部有35K下拉电阻见表113即默认00。通常我们会通过外部电阻将其固定为00让芯片读取后续的BT_CFG或Fuse来决定具体设备。BT_CFG[11:0]GPIO_DISP_B1_06 ~ GPIO_DISP_B2_05当BOOT_MODE[1:0]00且BT_FUSE_SEL熔丝为0出厂默认时芯片采样这12个引脚的电平。这12个位构成一个编码指向表99中定义的特定启动设备如FlexSPI1 NOR Flash, SD1, SD2, NAND等。例如BT_CFG[11:0] 0x2A0可能对应从FlexSPI1启动。关键点这些BT_CFG引脚在复位时的默认状态是“HighZ”高阻见表113。高阻意味着引脚电平极易受外界干扰绝对不能悬空你必须根据你选择的启动设备在原理图上为每一个BT_CFG引脚明确地添加上拉至NVCC_GPIO通常是3.3V或下拉至GND电阻阻值推荐4.7KΩ - 10KΩ。5.2 启动设备引脚分配与硬件设计确定了启动设备编码例如FlexSPI1后你需要查阅数据手册中对应的“Boot through ...”表格如表101. Boot through FlexSPI1。这张表列出了BootROM在初始化该接口时硬件固定映射的引脚。这些映射是死的你不能随意更改。以FlexSPI1启动为例GPIO_SD_B2_00被固定映射为flexspi1.B_DATA[3](ALT 1)GPIO_SD_B2_01被固定映射为flexspi1.B_DATA[2](ALT 1)... 以此类推包括时钟B_SCLK、片选B_SS0_B、数据选通B_DQS等。硬件设计铁律你的Flash芯片如QSPI NOR必须严格按照这张表连接到对应的处理器引脚。即使芯片的IOMUX支持将这些FlexSPI功能复用到其他引脚但在启动阶段BootROM只认这张表里的映射。接错了芯片就无法从Flash读取最初的启动映像。其他启动设备同理如果你选择从SD1启动那么SD1的CMD、CLK、DATA0-3引脚就必须连接到表105指定的GPIO_SD_B1_00至GPIO_SD_B1_05不能接到其他GPIO上。5.3 启动流程与后续初始化成功的硬件连接只是第一步。完整的启动流程如下上电/复位芯片采样BOOT_MODE和BT_CFG引脚。BootROM运行根据采样结果BootROM初始化对应的外设接口如FlexSPI1并按照预定义的格式IVT, Boot Data, DCD等从设备起始地址读取映像。加载用户程序将用户程序通常是你的固件加载到指定的RAM中。跳转执行BootROM跳转到用户程序入口开始执行你的代码。软件重新配置在你的程序如ARM Cortex-M7的启动文件中通常需要重新初始化IOMUX。因为BootROM可能为了兼容性使用了较保守的驱动强度DSE和上下拉设置。你应根据实际外设和PCB情况在代码中重新配置这些引脚的复用模式、驱动强度、压摆率等以获得最佳性能。例如对于高速QSPI Flash你可能需要将驱动强度设置为最大并启用压摆率控制。常见问题排查芯片不启动的“三板斧”测量启动引脚用万用表或示波器在按下复位键时测量所有BOOT_MODE和BT_CFG引脚的电平。确保与你的原理图设计完全一致。这是排查的第一步也是解决大多数问题的一步。检查启动设备连接确认Flash/SD卡等启动设备的电源、地、所有信号线特别是片选、时钟、数据线已正确连接且没有短路/开路。用示波器看时钟脚在复位后是否有波形输出可以判断BootROM是否在尝试访问设备。验证启动映像使用NXP提供的工具如MCUBootUtility, blhost确保烧写到Flash中的映像格式正确包含有效的IVTImage Vector Table。一个常见的错误是直接用编程器烧录二进制文件而没有添加RT1160 BootROM所需的头部信息。正确的做法是生成包含IVT的.bin或.hex文件或者使用工具通过UART/USB下载模式先进行初始编程。6. 通用引脚配置原则与电源设计考量除了上述高速接口和启动引脚RT1160还有大量通用GPIO和模拟引脚它们的配置同样需要遵循一些基本原则。6.1 引脚复用IOMUX配置策略芯片的引脚复用功能是通过IOMUXCIO Multiplex Controller模块配置的。在软件中你需要为每个用到的引脚设置复用模式MUX_MODE选择ALT0-ALT9中的一种决定这个引脚当前是GPIO、UART_TX还是其他外设功能。数据手册表113的“Default modes”列给出了复位后的默认状态通常是ALT5GPIO功能。电气属性PAD Control驱动强度DSE选择输出电流能力。对于高速信号如FlexSPI, RGMII或长线驱动需要设置为高驱动强度如7最大。对于低速I2C设置为低驱动强度以减少过冲。压摆率SRE控制信号边沿的陡峭程度。高速信号需要快压摆率低SRE值以保证边沿质量低速信号或需要抑制EMI时可使用慢压摆率高SRE值。上下拉电阻PUS配置内部上拉/下拉电阻。对于开漏总线如I2C必须启用上拉对于输入引脚为避免悬空通常也建议启用上拉或下拉。滞后效应HYS施密特触发器输入提高抗噪声能力通常使能。配置示例基于MCUXpresso SDK风格// 配置 GPIO_AD_24 为 LPUART1_TX 高驱动强度快压摆率使能滞后 IOMUXC_SetPinMux(IOMUXC_GPIO_AD_24_LPUART1_TX, 0U); // MUX Mode ALT0 IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_24_LPUART1_TX, IOMUXC_PAD_DSE(7) | /* 驱动强度: R0/7 */ IOMUXC_PAD_SPEED(2) | /* 速度: 200MHz */ IOMUXC_PAD_SRE(0) | /* 压摆率: 快 */ IOMUXC_PAD_HYS(1) | /* 滞后: 使能 */ IOMUXC_PAD_PUE(0) | /* 上下拉使能: 关闭 (由外部电阻处理) */ IOMUXC_PAD_PUS(0) | /* 上下拉选择: 100K下拉 (未使能则无效) */ IOMUXC_PAD_PKE(0) /* 上下拉保持器: 关闭 */ );6.2 电源与接地设计稳定的基石再好的信号设计也离不开一个干净的电源。数据手册表112列出了所有的电源轨Supply Rail必须认真对待核心电源VDD_SOC_IN为处理器核心和大部分数字逻辑供电。需要大容量如10uF陶瓷100uF POSCAP和高频去耦多个0.1uF陶瓷电容组合。电容必须靠近芯片的电源/地引脚放置。模拟电源VDDA_1P0, VDDA_1P8, VDDA_ADC_3P3等为ADC、DAC、PLL等模拟模块供电。必须与数字电源隔离通常通过磁珠或电感如FB10, FB11进行隔离。去耦电容要使用高质量、低ESR的陶瓷电容X7R, X5R并且这些电源的走线要尽量短、粗避免被数字噪声污染。IO电源NVCC_GPIO, NVCC_SD1, NVCC_EMC1等为对应Bank的GPIO供电。注意不同Bank的IO电压可能不同如1.8V, 3.3V。需要确保连接到该Bank上所有外设的电压与此一致。例如如果你的SD卡是3.3V电平那么NVCC_SD1就必须接3.3V。接地VSS芯片有大量的接地引脚见表112必须全部连接到PCB的接地平面。这些引脚是芯片内部噪声泄放的主要路径任何一个悬空或连接不良都可能导致工作不稳定。在PCB布局时每个电源引脚附近都应有对应的地过孔形成局部的去耦环路。一个实用的检查方法在完成PCB布局后对照数据手册的引脚分配图Ball Map逐一检查每一个电源引脚是否都有至少一个去耦电容通常是0.1uF在3mm范围内并且有低阻抗的路径连接到电源平面和地平面。对于高速接口如eMMC, RGMII所在的IO Bank其对应的NVCC电源的去耦尤为重要。