1. 项目概述:为什么需要关注PHY芯片的高级功能?
在嵌入式网络设备开发中,我们常常把目光聚焦在协议栈、应用逻辑或者主控芯片的性能上,而网络通信的基石——以太网物理层(PHY)芯片,却容易被当成一个“黑盒”,配置好基础速率和双工模式后就很少再过问。然而,当你的项目从实验室走向工业现场、车载环境或者对功耗有严苛要求的物联网终端时,这个“黑盒”里的高级功能,往往就成了决定系统稳定性、可靠性和能效的关键。
DP83561-SP就是这样一款为严苛环境设计的工业级千兆以太网PHY芯片。它不仅仅是一个简单的“电平转换器”,其内部集成了诸如PLL锁相环监控、灵活的网络唤醒(WoL)机制以及可编程时钟输出等一系列高级特性。理解并善用这些功能,意味着你能在硬件层面为系统增加一层“保险”,比如在太空或高辐射环境中监测时钟是否因单粒子效应(SEU)而失锁,或者让设备在99%的闲置时间里以极低功耗“休眠”,仅被特定的网络管理报文唤醒。这些功能直接关系到产品的平均无故障时间(MTBF)和整体能耗,是区分普通设计与高可靠性设计的重要标志。
接下来的内容,我将结合手册说明与工程实践,为你深入拆解DP83561-SP这几项核心高级功能的原理、配置方法以及实际应用中的“避坑”要点。无论你是在设计下一代工业网关、车载信息娱乐系统,还是高可靠性的网络设备,这些细节都值得你仔细琢磨。
2. 核心功能深度解析与设计考量
2.1 PLL锁相环监控:不只是“锁住了没有”
锁相环(PLL)是PHY芯片的心脏,它负责产生或恢复与数据流同步的高质量时钟。在理想情况下,它一旦锁定就应保持稳定。但在复杂的电磁环境或存在辐射干扰的场景中,PLL可能发生瞬时失锁,导致数据采样错位,引发短暂的通信错误甚至链路中断。DP83561-SP的PLL锁相环监控功能,就是为了实时捕捉这种异常而设计的。
2.1.1 监控机制原理解析
该功能的精妙之处在于其可编程的“宽容窗口”和“确认周期”,这比简单的二值化“锁定/失锁”状态要实用得多。
失锁判定(Deassertion):监控器持续比较参考时钟与PLL输出时钟的相位差。当相位差超过一个可编程的延迟窗口时,才判定为失锁,并立即产生一个瞬时中断。这个“可编程窗口”是关键,它允许你根据系统对时钟抖动的容忍度来设定阈值。例如,在时钟要求极其严格的IEEE 1588精密时钟同步应用中,你可以将这个窗口设置得较小,以便更敏感地捕捉任何微小的时钟偏移;而在对瞬时抖动不敏感的数据传输场景,则可以适当放宽窗口,避免因正常的时钟抖动产生误报警。
锁定恢复判定(Assertion):当相位重新对齐后,监控器并不会立刻宣布锁定。它会等待一个可编程数量的参考时钟周期,确认相位差持续保持在窗口内,才会再次断言锁定信号。这个“去抖”机制有效避免了PLL在锁定边缘振荡时产生频繁的中断,确保了状态报告的稳定性。
2.1.2 工程配置与实操要点
根据手册,启用PLL锁中断需要两步操作:
- 在寄存器
0x01D7的 bit[11] 写入0,以解除该中断的掩码。 - 将任意一个GPIO引脚配置为
SEFI_INTERRUPT(系统错误中断)功能。
注意:这里的
SEFI_INTERRUPT是一个综合性的系统错误中断源,PLL失锁只是其触发条件之一。在实际编程中,当该中断触发后,你需要读取相应的状态寄存器(通常是0x01D7或其他指定的状态寄存器)来具体判断是否是PLL失锁事件,而不能假设所有SEFI_INTERRUPT都是PLL问题。这是一个常见的疏忽点。
2.1.3 应用场景与避坑指南
- 场景:此功能在航天、高海拔或核工业等存在单粒子效应(SEU)风险的环境中尤为重要。SEU可能导致芯片内部寄存器或锁相环状态翻转,监控中断能触发系统进行日志记录、链路重协商或故障切换。
- 避坑:
- 中断服务程序(ISR)设计:由于是瞬时中断,你的ISR必须足够快,及时读取并清除状态位。避免在ISR内进行复杂操作,可通过设置标志位由后台任务处理。
- 窗口值设置:盲目追求高灵敏度(设置过小的窗口)可能导致系统被噪声干扰频繁误报。建议初期参考芯片默认值,在目标环境中进行长时间压力测试(如温循、振动测试)后,再根据观察到的时钟抖动范围来微调。
- 与链路状态关联:PLL失锁通常会导致链路中断(Link Down)。在你的系统状态机设计中,应将PLL失锁中断与链路状态中断协同处理,可能先于链路中断告警,为诊断提供更精确的时间线索。
2.2 Wake-on-LAN (WoL):唤醒沉睡的巨兽
网络唤醒功能允许设备在网络端口处于低功耗状态时,监听特定的网络帧,并在收到匹配帧后唤醒整个系统。DP83561-SP的WoL实现非常全面,支持多种唤醒模式。
2.2.1 唤醒包类型详解
Magic Packet(魔术包):这是最经典、支持最广泛的WoL帧。其结构有一个固定模式:6字节的同步流(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF)后,连续重复16次目标设备的48位MAC地址。PHY芯片会在所有发往本机的帧中扫描这个特定序列。手册特别强调,这个序列必须是字节对齐的,且可以位于数据帧有效载荷(Payload)的任何位置,这给了上层协议一定的灵活性。
带SecureOn密码的Magic Packet:在基础魔术包序列之后,追加6字节的密码。这提供了基本的安全校验,防止恶意或错误的广播包误唤醒设备。只有密码匹配的魔术包才有效。
自定义模式匹配(Custom Pattern Match):这是非常强大的功能。你可以配置一个长达64字节的任意模式。PHY会像嗅探器一样,检查每个进入的帧中是否包含这个模式。这意味着你可以定义任何形式的“唤醒令牌”,比如一个特定的HTTP请求头、一个自定义的UDP报文,甚至是一段加密的指令。这为私有协议或需要更高安全性的应用场景打开了大门。
广播与单播唤醒的独立配置:你可以分别设置是否响应广播地址或单播地址的WoL帧。例如,在安全要求高的网络中,你可能只允许来自特定管理服务器的单播魔术包唤醒设备,而忽略所有广播魔术包。
2.2.2 配置流程与状态查询
WoL功能主要通过两个寄存器控制:
- 配置寄存器
RXFCFG(0x0134):用于使能不同的WoL模式(魔术包、安全魔术包、模式匹配),设置广播/单播过滤,以及选择唤醒事件输出方式(通过GPIO产生脉冲/电平变化,或置位状态中断标志)。 - 状态寄存器
RXFSTS(0x0135):当WoL事件发生时,相应的状态位会被置起。主控制器通过轮询或中断方式读取此寄存器,即可确认唤醒源。
2.2.3 实操心得与常见问题
- GPIO配置:如果你选择用GPIO引脚输出唤醒事件(如一个高电平脉冲),务必在初始化PHY时,将该引脚配置为正确的复用功能(WoL事件输出),并确保主控MCU端的对应引脚配置为输入模式,并能产生中断。
- 功耗考量:启用WoL后,PHY的接收电路必须保持部分活动以监听网络流量,因此功耗会比完全断电(Power Down)模式高,但远低于全速工作状态��需要根据设备电池容量和待机时长要求权衡。
- Magic Packet生成工具:许多网络工具和命令行程序(如
wakeonlan)可以生成魔术包。测试时,确保生成工具中填入的MAC地址与设备PHY的MAC地址完全一致,包括大小写格式(通常为冒号分隔的十六进制,如11:22:33:44:55:66)。 - 交换机与网络配置:WoL帧通常是二层广播帧(目的MAC为
FF:FF:FF:FF:FF:FF)或定向单播帧。确保网络中的交换机和路由器不会过滤掉这些帧。对于跨网段唤醒,可能需要配置路由器的“定向广播”或使用特定的中继服务。 - 模式匹配的局限性:64字节的模式匹配是从帧的起始(目的MAC地址之后)开始扫描吗?手册并未明确说明扫描起始点,这需要实验验证。稳妥起见,定义的唤醒模式应尽量独特,并考虑将其放在帧的固定偏移位置(如ARP报文结构固定),或确保其在帧中唯一。
2.3 时钟输出:系统同步的节拍器
DP83561-SP能够将其内部的多个关键时钟通过CLK_OUT引脚输出,这对于需要多芯片时钟同步或为其他外设提供参考时钟的系统设计极为有用。
2.3.1 时钟源选项
- 本地参考时钟(默认):与输入晶振(XI)同步。这是最稳定的时钟源,适合作为另一个PHY或需要相同参考时钟的外设的输入。
- 接收时钟(RX Clock):从接收数据流中恢复出来的125 MHz时钟(千兆模式)或其分频(如25 MHz)。这个时钟与远端发送设备同步,可用于需要与网络数据流严格同步的应用。
- 发送时钟(TX Clock):本地发送数据的时钟。
- 千兆模式下的各通道时钟:在1000BASE-T模式下,可以独立选择输出四个双工通道中任意一个的发送或接收时钟,为高级调试或特定同步需求提供可能。
2.3.2 关键配置步骤与警告
配置时钟输出需要操作两个寄存器,顺序很重要:
- 必须先向寄存器
0x00C6写入值0x0010。这是一个使能或解锁时钟输出相关配置的关键步骤,如果跳过,后续对I/O配置寄存器的设置可能无效。 - 然后,通过I/O配置寄存器
0x0170选择你想要的时钟源。
重要警告(手册明确提示):当使用DP83561-SP的时钟输出作为另一台设备(例如另一片DP83561-SP)的时钟输入时,主PHY不应通过硬件
RESET引脚进行复位。因为硬件复位会导致时钟输出瞬间停止或紊乱,可能引发从设备失锁。如果必须复位,应使用软件复位(通过设置控制寄存器的软件复位位),软件复位过程通常会更好地管理时钟状态。这是一个硬件设计时极易忽略的要点,可能造成级联设备开机时序的致命问题。
2.3.3 应用场景举例
- 多PHY时钟同步:在交换机或具有多个网口的设备中,使用一个主PHY的时钟输出驱动其他从PHY的时钟输入,可以确保所有端口的发送时钟同源,减少端口间的时钟漂移,对某些需要精确时序的应用有益。
- 为外部ADC/DAC提供采样时钟:如果网络数据流需要与外部数据转换器同步,可以使用恢复的RX时钟作为ADC的采样时钟,实现数据采集与网络接收的硬件级同步。
- 系统调试:将接收时钟输出,连接到逻辑分析仪,可以精确地观察和分析与数据流对齐的时序,对于调试复杂的物理层问题非常有帮助。
3. 高级诊断与链路管理功能实操
除了上述三大核心功能,DP83561-SP还集成了一系列用于链路质量诊断和管理的“利器”,这些功能在网络维护和故障排查中能发挥巨大作用。
3.1 电缆诊断(TDR - 时域反射计)
TDR功能堪称“网络电缆的X光机”。它通过向电缆发送一个测试脉冲并分析反射信号,来非侵入式地诊断电缆故障。
3.1.1 工作原理与能力
芯片向电缆的四个线对依次发送已知幅度的脉冲。脉冲在电缆中传播,遇到任何阻抗不连续点(如开路、短路、连接器损坏、线缆扭结)都会产生反射。通过测量反射脉冲的返回时间和幅度,芯片可以计算出故障点的距离和阻抗变化性质(如开路表现为高阻抗反射,短路表现为低阻抗反射)。其精度可达±1米,并能记录最多5个反射点。
3.1.2 配置与使用模式
TDR测量可以在以下场景触发:
- 链路伙伴断开时:这是最理想的测试环境,没有远端信号干扰。
- 链路伙伴静默时:例如对端设备处于关机或深度睡眠状态。
- 链路失效时自动触发:通过设置配置寄存器
CFG1(0x0009) 的 bit 7,可以在链路意外中断时自动运行一次TDR,并将结果保存在TDR结果寄存器中。这对于远程诊断网络突然中断是否由电缆物理损坏引起极其有用。
3.1.3 结果解读与注意事项
TDR测量的原始结果是反射点的时间延迟和幅度。要转换为物理距离,需要主机软件进行计算。计算公式依赖于电缆的标称传播速度(NVP),这个值因电缆类别(CAT5e, CAT6等)而异。因此,在你的设备管理软件中,需要内置一个电缆类别的查找表或让用户输入电缆类型。
注意:TDR在长电缆或复杂反射场景下,反射信号可能相互叠加,解读需要经验。对于检测到的第一个大反射点通常是最严重的故障点(如断点)。交叉故障(Cross Fault)的检测是更高级的功能,表明线对之间发生了短路。
3.2 快速链路检测与丢失(Fast Link Detect/Drop)
在工业实时控制或金融交易等场景,网络链路的微小中断都可能造成严重后果。DP83561-SP的快速链路机制优化了链路建立和断开的速度。
3.2.1 快速链路丢失(Fast Link Drop)
标准链路丢失检测有一个较长的确认时间窗口(T1,默认约1ms/100M或0.5ms/1000M),以避免因短暂干扰而频繁抖动。快速链路丢失模式则大幅缩短了这个窗口(可至10微秒以下),并引入多种苛刻的判定条件,如解扰器失步、接收错误、MLT3编码错误、均方误差(MSE)过高、能量丢失等。一旦满足任一使能的条件,链路立即宣告中断。
- 应用:适用于需要极高网络可用性、必须立即感知链路中断并进行冗余切换的系统。
- 风险:由于反应极其灵敏,在电磁环境嘈杂的现场,可能会因瞬时干扰导致不必要的链路抖动。启用此功能需谨慎,并建议结合硬件滤波和软件去抖逻辑。
3.2.2 快速链路检测(Fast Link Detect)
这是德州仪器(TI)的私有特性,用于加速链路的自动协商和建立过程,超越了IEEE 802.3标准的规定。注意:为了达到最佳效果,TI建议链路两端都使用DP83561-SP芯片。此功能通过配置寄存器CFG3(0x001E) 进行设置。
3.3 环回模式(Loopback Mode)全解析
环回测试是验证PHY芯片及外围电路是否正常工作的最基本、最重要的手段。DP83561-SP提供了从数字到模拟、从近端到远端的多种环回模式。
3.3.1 环回模式分类与选择
| 模式 | 环回点 | 测试范围 | 适用场景与说明 |
|---|---|---|---|
| MII Loopback | MAC与PHY的MII接口处 | 验证MAC与PHY之间的数字通信路径。 | 最浅层的环回,用于排除MAC驱动或PHY MII接口问题。数据不进入PHY的物理编码子层(PCS)。 |
| PCS Loopback | PCS层内部 | 测试PCS层的功能,不经过信号处理。 | 验证PCS编码/解码逻辑。 |
| Digital Loopback | 数字发送与接收路径之间,模拟电路之前 | 测试PHY内部完整的数字信号处理链(DSP)。 | 全面的数字功能自检,不涉及模拟前端(AFE)和外部电缆。 |
| Analog Loopback | 模拟发送与接收路径之间 | 测试包括数模/模数转换器(DAC/ADC)、驱动器、均衡器等完整的模拟通道。 | 需要在RJ-45接口端接100Ω电阻以模拟传输线特性阻抗,否则反射会干扰测试。这是验证AFE性能的关键。 |
| External Loopback | RJ-45连接器处(通过外部跳线) | 测试从PHY输出到连接器,再跳线回PHY输入的整个外部物理路径。 | 仅支持10/100M模式。千兆模式因使用4对线全双工,无法简单通过跳线实现,需用Analog Loopback替代。 |
| Far-End (Reverse) Loopback | 从对端设备接收,环回后发送回对端 | 由链路伙伴发起测试,验证本端PHY的完整收发通路。 | 一种远程诊断模式。在此模式下,本端PHY将忽略来自MAC的数据,专注于环回对端发来的数据。 |
3.3.2 配置环回的通用前置步骤
在配置大多数近端环回模式前,有两条重要规则:
- 禁用自动协商(Auto-Negotiation):环回模式需要固定速率和双工模式,因此必须先关闭自动协商,并手动设置所需的模式(10/100/1000M, 全/半双工)。
- 禁用自动MDIX(Auto-MDIX):环回时信号流向是确定的,需要手动指定使用MDI(直通)或MDIX(交叉)模式。通常,在芯片内部环回时,这个设置影响不大,但为了确保一致性,建议手动配置。
此外,手册建议在设置环回模式前,先将环回配置寄存器(LOOPCR, 0x00FE)的值设为0xE720。这是一个针对内部信号路径的优化配置,能确保环回测试更稳定可靠。
4. 低功耗模式与高级配置接口
4.1 精细化的电源管理模式
DP83561-SP提供了四种渐进的节能模式,满足不同场景下的功耗与唤醒速度需求。
- IEEE标准掉电模式:通过置位BMCR寄存器的bit 11或拉低PWDN引脚实现。PHY核心电路关闭,但管理接口(MDIO/MDC)保持可访问。唤醒方式灵活(软件清除位、复位、电源循环)。
- 深度掉电模式:在IEEE掉电基础上,进一步关闭了输入时钟(XI)电路,功耗最低。唤醒时,若通过引脚控制,需要先释放PWDN引脚再给一个有效的复位脉冲;若通过寄存器控制,则清除掉电位即可。特别注意:PWDN引脚与中断输出引脚复用,切换其功能时需要遵循特定序列:禁用所有中断→清除所有中断标志→等待5μs→切换寄存器配置。
- 主动睡眠模式:数字和模拟模块大部分关闭,但PHY会定期向链路伙伴发送NLP(正常链路脉冲)以维持链路感知。当检测到对端设备活动时自动快速唤醒。不能与Auto-MDIX功能同时启用。
- 被动睡眠模式:与主动睡眠类似,但不发送NLP,功耗可能更低,但链路伙伴无法感知其存在。同样不能与Auto-MDIX功能同时启用。
模式选择建议:对于需要远程网络唤醒(WoL)的设备,通常选择主动睡眠模式,因为它保持了最低限度的链路活动,能快速响应魔术包。如果对功耗有极致要求,且唤醒可通过其他方式(如GPIO按键)实现,则可以考虑深度掉电模式。
4.2 串行管理接口(SMI)与扩展寄存器访问
DP83561-SP通过标准的MDC/MDIO两线制串行管理接口进行配置。其寄存器空间分为两部分:
- 标准寄存器(地址0-31):可通过常规的Clause 22帧格式直接读写。
- 扩展寄存器空间:通过间接访问机制读写。这是访问芯片大量高级功能配置寄存器的关键。具体操作如下:
- 设定目标设备地址(DEVAD):向
REGCR(0x0D) 寄存器的低5位写入11111(这是DP83561-SP的厂商特定MMD地址)。 - 设定访问功能:通过
REGCR[15:14]选择操作类型:00为写地址,01为读写数据(无自动递增),10为读写数据(读写后地址自动加1),11为写数据后地址自增。 - 操作地址/数据寄存器:
ADDAR(0x0E) 寄存器在“地址”模式下用于写入要访问的扩展寄存器地址;在“数据”模式下,读写该寄存器即是对目标扩展寄存器的操作。
- 设定目标设备地址(DEVAD):向
编程示例(读取扩展寄存器0x1234的值):
// 步骤1: 设置DEVAD和访问功能为“写地址” write_mdio(PHY_ADDR, 0x0D, 0x001F); // DEVAD=11111, FUNC=00 (地址) // 步骤2: 将要读取的扩展寄存器地址写入ADDAR write_mdio(PHY_ADDR, 0x0E, 0x1234); // 步骤3: 切换访问功能为“读数据” write_mdio(PHY_ADDR, 0x0D, 0x401F); // DEVAD=11111, FUNC=01 (读数据,无自增) // 步骤4: 从ADDAR读取数据 uint16_t value = read_mdio(PHY_ADDR, 0x0E);这种间接访问方式虽然多了一步,但使得芯片能够管理远超32个的寄存器,保持了Clause 22接口的兼容性。
5. 实战配置清单与故障排查指南
5.1 关键功能配置速查表
| 功能 | 核心寄存器 | 关键配置位/值 | 注意事项 |
|---|---|---|---|
| PLL锁监控中断 | 0x01D7 | Bit[11] = 0 (解除掩码) | 需同时配置GPIO为SEFI_INTERRUPT功能。中断触发后需查具体状态源。 |
| WoL (魔术包) | RXFCFG(0x0134) | 使能对应模式位,配置GPIO输出或中断 | 确保MAC地址正确写入PHY。测试时关闭防火墙,使用广播或正确单播地址。 |
| 时钟输出 | 1.0x00C62. IO_CFG(0x0170) | 1. 写入0x00102. 选择时钟源 | 级联时,主PHY禁用硬件复位,用软件复位替代。 |
| 快速链路丢失 | CFG1等相关寄存器 | 使能快速链路丢失模式,选择判据 | 电磁环境恶劣时慎用,可能引起链路抖动。建议结合软件去抖。 |
| TDR电缆诊断 | CFG1(0x0009) | Bit 7 = 1 (链路失效时自动运行TDR) | 结果需主机根据电缆类型(CAT5e等)换算距离。最好在链路断开时手动触发测试。 |
| 环回测试 | 1.LOOPCR(0x00FE)2. BMCR(0x00) 或BIST_CTRL(0x16) | 1. 先写入0xE7202. 禁用自协商/Auto-MDIX,再使能对应环回模式 | Analog Loopback需在RJ-45端口接100Ω电阻。External Loopback仅限10/100M。 |
| 深度掉电模式 | 1.PHYCR(0x10)2. BMCR(0x00)3. 0x00C6 | 1. Bit[7]=1 2. Bit[11]=1 3. 写入 0x0010 | 若通过PWDN引脚唤醒,需先释放引脚再给复位脉冲。注意该引脚与中断复用。 |
| 扩展寄存器访问 | REGCR(0x0D),ADDAR(0x0E) | REGCR[4:0]=11111(DEVAD) | 遵循“写地址->切换模式->读写数据”的序列。 |
5.2 常见问题与排查思路
WoL功能不生效
- 检查PHY配置:确认
RXFCFG寄存器中WoL模式已正确使能,并且广播/单播过滤设置符合你的测试报文。 - 检查MAC地址:确认写入PHY的MAC地址寄存器(通常是一组扩展寄存器)的值与魔术包中的目标MAC地址完全一致,包括字节顺序。
- 检查电源状态:确保PHY未进入深度掉电等不监听网络的状态。WoL需要在低功耗但能监听链路的模式(如主动睡眠)下工作。
- 检查网络路径:确认WoL魔术包是广播帧或目的地址为本机的单播帧,且未被中间交换机或路由器过滤。
- 检查PHY配置:确认
时钟输出无信号或不稳定
- 确认使能步骤:是否遗漏了向寄存器
0x00C6写入0x0010这一关键步骤? - 检查引脚配置:确认
CLK_OUT引脚未被复用作其他功能。 - 测量负载:用示波器测量时钟输出引脚,观察波形。如果负载过重(如驱动太多设备),可能导致波形畸变。考虑增加时钟缓冲器。
- 级联复位问题:在级联应用中,检查是否误触发了主PHY的硬件复���。
- 确认使能步骤:是否遗漏了向寄存器
环回测试失败
- 模式冲突:确保已关闭自动协商和Auto-MDIX,并手动设置了正确的速率和双工模式。
- LOOPCR寄存器:尝试在使能环回前,先写入
LOOPCR = 0xE720。 - Analog Loopback特殊要求:进行模拟环回时,必须在网络变压器之后、RJ-45接口之前,在TX+/-和RX+/-之间连接100Ω电阻以匹配阻抗,否则信号反射会导致测试失败。
- 检查MAC端环回:有些MAC控制器也有环回模式。确保MAC处于正常发送状态,而不是其内部的环回模式。
链路频繁Up/Down(抖动)
- 检查电缆与连接器:使用TDR功能诊断电缆是否存在间歇性故障。
- 评估快速链路丢失设置:如果启用了快速链路丢失,尝试禁用或放宽其判据,观察是否改善。可能是环境噪声触发了快速断开。
- 检查电源完整性:用示波器测量PHY的电源和地,看是否有大的噪声或跌落。不稳定的电源是导致PHY工作异常常见原因。
- 查看中断状态:读取PHY的中断状态寄存器,看是否有大量的错误计数(如CRC错误、符号错误)增加,这有助于定位是物理层问题还是数据问题。
通过系统性地理解这些高级功能,并利用好芯片提供的诊断工具,你不仅能充分发挥DP83561-SP在复杂应用中的潜力,还能在出现问题时快速定位根因,从被动应对变为主动管理。记住,好的硬件设计,一半在于原理图,另一半则藏在这些寄存器的配置细节里。