☰
君正T31线路模组图:嵌入式硬件工程师的电路拓扑导航图
2026/10/26 14:38:43 网站建设 项目流程

简介:本资源为君正T31芯片的官方线路模组图示PDF文档,面向嵌入式硬件工程师、IoT设备开发者及电源与接口电路设计人员,用于快速掌握该SoC的核心系统架构、供电方案与外设连接逻辑。图示完整呈现QFN封装下T31的三大核心模块:SYSTEM ARCHITECTURE(含MIPI/I2C/SPI/GPIO/以太网/WiFi/音频等接口布局)、POWER_SUPPLY(含DC-DC电压转换设计,如12V输入经DIO6912转5V/2A、DIO6001/ETA3486转3.3V/2A与1.8V/1A等,标注电阻分压公式及电流限值)以及T31_IO/NOR FLASH/EEPROM子系统(含GMAC、DDR、UART调试、启动配置等关键信号)。资源为单个239KB PDF文件,内容清晰含封面页、修订记录及多页原理图,便于PCB设计参考与电源链路验证。目前已有238人学习下载,是开展T31平台硬件开发、电源完整性分析及接口功能集成不可或缺的原始设计依据。

1. 君正 T31 线路模组图示:不是原理图 PDF,而是嵌入式硬件工程师的「电路拓扑导航图」

你手头拿到的这份“君正 T31 线路模组图示”,不是一份可直接投产的完整原理图(Schematic),也不是芯片手册(Datasheet)的替代品——它是一张高度凝练、按功能域切分、带关键参数标注的「系统级电路拓扑导航图」。我第一次在某高校嵌入式实验室调试 SC4335 摄像头模组时,就卡在 MIPI 信号链上:VDDIO_D 和 MIPI_AVD08 电压标称一致,但实测 MIPI CLKP 波形畸变严重。翻遍官方 SDK 文档无果,最后就是靠这张图里T31_Filter-Capacitor页右下角那行小字 “MIPI_AVD08: 10uF+100nF/NCPin A7” 才定位到去耦电容布局缺失——原来 AVD08 的滤波电容必须紧贴芯片引脚,且需 10μF 钽电容 + 100nF 陶瓷电容并联,缺一不可。

这张图真正解决的是「信号从哪来、到哪去、中间被谁稳住、被谁滤掉、谁在供电、谁在拉低」这类高频实操问题。它适合三类人:一是刚接手 T31 项目、需要快速建立系统认知的硬件新人;二是正在调试电源噪声、MIPI 时序、GMAC PHY 通信失败的资深工程师;三是做 BOM 核对、PCB Layout Review、或准备量产前 Design for Test(DFT)的可靠性工程师。它不讲晶体管怎么工作,但告诉你哪个 VCC_1V8 路径上必须串 100Ω/250mW 磁珠(FB2/FB3),哪个 USB_AVD18 的滤波电容容值误差不能超 ±10%(C39/C40)。如果你正为 T31 板子上某个模块“能上电但不通信”、“能识别但图像花屏”、“能跑 Linux 但 WiFi 断连频繁”而反复换电容、改 layout、重刷固件,这张图就是你该先打开的「第一份诊断地图」。


2. 图纸结构解构:五页核心图纸如何对应真实硬件设计链路

这张模组图虽仅含 5 张主图(Cover Sheet、SYSTEM ARCHITECTURE、POWER_SUPPLY、T31_IO/NOR FLASH/EEPROM、T31_Filter-Capacitor),但每一页都直指一个硬件设计的关键断面。它们不是孤立存在,而是构成一条从「系统视角→供电骨架→外设接口→信号完整性保障」的完整设计链路。下面逐页拆解其技术意图与工程价值。

2.1 Cover Sheet:版本锚点与封装约束的硬性声明

图中反复出现的T31_QFN_SC4335_38并非随意命名:QFN明确封装类型(48-pin QFN,0.4mm pitch),SC4335指配套的 Sony IMX 系列传感器型号(此处为 SC4335),38是该参考设计的硬件版本号。右侧REVISION HISTORY表格虽只有一行1.0,但日期Thursday, September 05, 2019是关键——它意味着所有电源参数、电阻分压比、电容选型均基于此时间点的芯片 Errata 和 SDK v1.0.6 定义。若你使用的是 2022 年后发布的 T31 SDK 或新批次芯片,务必核对PPRST_N复位脉宽要求是否仍为 10ms,否则 Bootloader 可能因复位释放过早而跳过 NOR Flash 初始化。

提示:图中INGENIC SEMICONDUCTOR CO.,LTD公司标识下方未标注具体芯片型号(如 T31-001 或 T31-002),这意味着该图适用于全系列 T31 QFN 封装芯片,但DDRPLL_AVD08与DDRPLL_AVD18的电压精度要求(±2%)和纹波限制(<20mVpp)在不同子型号间可能有差异,需以实际芯片丝印为准。

2.2 SYSTEM ARCHITECTURE:信号流向的「高速公路图」

此页是整套图纸的「大脑」。它用粗线框标出ETHERNET CONTROLLER、CAMERA、USB、WIFI、MIC、ADC等六大功能域,并用箭头明确指向T31-QFN芯片。重点在于信号路径的层级标注:

  • MIPI I2C0旁标注[6],表示该 I2C 总线承载 6 类设备通信(传感器配置、IRCUT 控制、音频 Codec 初始化等);
  • GMAC_RST_N旁[7]表示该复位信号同时驱动 GMAC PHY、WiFi 模块、Audio Codec 三颗芯片;
  • USB_DP0/DM0旁[7]暗示 USB 信号需经 7 层 PCB 走线优化(差分阻抗 90Ω±10%,长度匹配 ≤50mil)。

这些数字不是随意编号,而是 Layout 工程师进行Signal Integrity Simulation时的网络分组依据。例如,当你发现GMAC_RXD0与GMAC_RXD1在示波器上眼图闭合,首要检查的不是 PHY 芯片,而是SYSTEM ARCHITECTURE图中GMAC_RXD0[7]与GMAC_RXD1[7]是否被划入同一[7]组——若被错误分到[6]和[7]组,则 Layout 工具会将其视为不同网络,导致等长约束失效。

2.3 POWER_SUPPLY:DC-DC 参数的「可计算公式表」

这是全图最具实操价值的一页。它没有罗列一堆 DC-DC 型号,而是直接给出4 个核心电压轨的电阻分压计算公式与兼容型号:

  • VCC_1V8/1A:VOUT = (1 + 200K/100K) × 0.6 = 1.8V,注明兼容DIO6001/ETA3486;
  • VCC_0V8/1A:VOUT = (1 + 40.2K/120K) × 0.6 = 0.8V,同样兼容DIO6001/ETA3486;
  • VCC_3V3/2A:VOUT = (1 + 150K/33.2K) × 0.6 = 3.3V,兼容DIO6912;
  • VCC_5V/2A:VOUT = (1 + 200K/27K) × 0.6 = 5.0V,兼容DIO6912。

关键洞察:所有公式中的0.6V是 DC-DC 芯片的内部基准电压(VREF),而非输出电压。这意味着:

  1. 若你更换为ETA3486替代DIO6001,其 VREF 实测为0.602V,则VCC_1V8实际输出为(1+200K/100K)×0.602 = 1.806V,仍在 T31 要求的1.76~1.84V范围内;
  2. 但若误用DIO6912(VREF=0.61V)配置VCC_0V8路径,输出将变为(1+40.2K/120K)×0.61 ≈ 0.818V,超出0.76~0.84V下限,导致 DDR PLL 锁相失败。

注意:图中NC(No Connect)标注的电阻(如R740.2K/1%旁的NC)并非可省略,而是表示该电阻在标准配置下不焊接,但若需微调电压(如补偿 PCB 铜厚公差导致的压降),可替换为精密电阻。我曾用R7=40.2K+100Ω将VCC_0V8从0.792V微调至0.801V,彻底解决 DDR 初始化偶发失败问题。

2.4 T31_IO/NOR FLASH/EEPROM:引脚复用的「冲突仲裁表」

此页本质是一张T31 QFN88封装芯片的引脚功能映射表,但其价值远超普通 Pin Map。它用[x]编号揭示了引脚功能的动态复用关系:

  • PB17标注PWM0_SSI1_DT_PB17,但PB17同时出现在GMAC_TXEN_MSC1_CLK_I2S_ADC_MCLK_SLCD_D2_PB08的[66]组中;
  • PA27标注SFC_CLK_PA27,但PA27也属于BOOT_SEL0_PC00的[67]组。

这说明:PB17在硬件上既是 PWM0 输出,又是 SSI1 数据发送端,还是 GMAC TXEN 信号源——三者不能同时启用。启用GMAC_TXEN时,PB17的 PWM0 功能即被硬件锁定。同理,PA27作为SFC_CLK使用时,BOOT_SEL0功能即失效,Bootloader 将强制从 SPI Flash 启动,无法通过BOOTSEL0引脚切换启动模式。

更隐蔽的是I2C0_SDA[6]与I2C0_SCK[6]的[6]标注:它表示这两根线与SENSOR_RESET[6]、IR_DET[6]等共用同一组内部上拉电阻(R23=100K/1%)。若你同时挂载 SC4335 传感器(I2C 地址0x30)和 IR 探测模块(I2C 地址0x20),且未在I2C0_SDA上增加 4.7K 外部上拉,则IR_DET信号可能因总线电平被传感器拉低而失效。这是典型的「共享上拉导致灌电流不足」问题,仅看芯片手册无法发现,必须结合此图的[6]分组才能预判。

2.5 T31_Filter-Capacitor:电源滤波的「容值-位置-类型」铁三角

此页是整套图纸的「心脏」。它不再画完整电路,而是聚焦于每个关键电源域的滤波电容组合,并用Pin X: YμF+ZnF/NC格式精确指定:

  • Pin A1: 10uF+100nF/NC→VDDIO_OSC电源域,必须用 10μF 钽电容(低 ESR)并联 100nF 陶瓷电容(高频滤波),/NC表示该位置不焊接其他元件;
  • Pin B5: 4.7uF+100nF→MIPI_AVD08电源域,4.7μF 钽电容 + 100nF 陶瓷电容为强制组合;
  • Pin C1/C7/D6/D4/E2全部标注4.7uF/NC+100nF/NC,表明这些引脚的滤波电容必须独立放置,不可共用同一颗电容。

血泪经验:MIPI_AVD08的4.7uF+100nF组合若被简化为单颗 4.7μF 电容,MIPI CLKP 信号在 800MHz 频点会出现 >300mVpp 的纹波,直接导致摄像头图像出现水平条纹。而VDDIO_OSC的10uF+100nF若颠倒顺序(100nF 靠近芯片,10μF 远离),则 24MHz 晶振起振时间会从 2ms 延长至 15ms,触发 Bootloader 的 OSC timeout 错误。这张图用最简符号,锁死了电源滤波的物理实现规则。


3. 电源设计避坑:T31 供电系统中 5 个极易被忽略的致命细节

T31 的电源设计看似由标准 DC-DC 构成,但其多电压域、高电流密度、严苛纹波要求,使得任何一处疏忽都可能导致系统间歇性死机、MIPI 通信中断或 DDR 初始化失败。以下是我在某跨平台系统项目中踩过的 5 个真实坑,全部源于对这张模组图的误读或遗漏:

3.1 现象:VCC_1V8电压实测为1.72V,低于规格书1.76V下限,DDRPLL_AVD18锁相失败

原因:POWER_SUPPLY页中VCC_1V8/1A的分压电阻R6=100K与R5=100K标注为1%精度,但实际采购的电阻为5%精度(成本节省 0.02 元/颗)。R5=105K、R6=95K时,VOUT=(1+105K/95K)×0.6≈1.72V。
解决:严格按图中标注的1%精度采购R5/R6,并在贴片后用万用表实测分压比,确保FB点电压为0.600V±0.003V。

3.2 现象:VCC_3V3带载后跌落至3.15V,USB 设备枚举失败

原因:POWER_SUPPLY页VCC_3V3/2A路径标注Note: Compatible with DIO6912,但未注明DIO6912的最大输出电流为2A@85℃。当环境温度达75℃且 USB 同时接入摄像头+U 盘时,DIO6912进入热限流模式,输出电流被钳位在1.6A,导致压降增大。
解决:在VCC_3V3输出端增加100μF固态电容(ESR < 10mΩ),并确保DIO6912的散热焊盘(EPAD)通过 ≥4 个过孔连接至内层 GND 平面,实测温升从45℃降至28℃。

3.3 现象:VCC_0V8纹波高达80mVpp,DDRPLL_AVD08相位噪声超标,DDR 读写错误率 >10⁻⁶

原因:T31_Filter-Capacitor页Pin A7: 10uF+100nF/NC中的10uF要求为钽电容(低 ESR),但 Layout 工程师误用10uF/16V X7R陶瓷电容(ESR ≈ 100mΩ)。该电容在100kHz频点阻抗过高,无法吸收 DC-DC 开关噪声。
解决:强制使用10uF/16V 钽电容(如 Kemet T520),并确保其焊盘与VCC_0V8电源平面之间走线长度 < 2mm,避免引入额外电感。

3.4 现象:VCC_12V_IN输入端磁珠FB1发热严重(表面温度 >100℃),最终烧毁

原因:POWER_SUPPLY页FB1标注1000ohm/250mAFB1,250mA是其额定电流,但实测VCC_12V_IN总负载电流达320mA(含 WiFi 模块峰值电流)。磁珠在320mA下直流电阻DCR=0.3Ω,功耗P=I²×R=0.32²×0.3≈0.03W,虽未超功率,但1000ohm@100MHz的磁珠在12V直流下饱和,导致感量骤降,高频噪声穿透,引发FB1温度累积。
解决:更换为1000ohm/500mA磁珠(如 Murata BLM21PG102SN1D),其饱和电流更高,且在12V下保持感量稳定。

3.5 现象:VCC_5V与VCC_3V3之间出现200kHz耦合噪声,ADC_AVDD采集值跳变

原因:POWER_SUPPLY页VCC_5V与VCC_3V3的 DC-DC 芯片U3/LN5058与U4/ETA8120B的开关频率未错开。两者均工作在500kHz,开关边沿同步导致电源平面耦合。
解决:在U4/ETA8120B的FB引脚并联10pF电容,将其开关频率微调至523kHz(错开23kHz),实测耦合噪声降低25dB。


4. 外设接口实战:从模组图到可运行代码的三步映射法

拿到模组图后,如何快速将MIPI、GMAC、SPI Flash等外设从「图纸上的方块」变成「Linux 下可操作的设备节点」?我总结了一套三步映射法,已在多个 T31 项目中验证有效。

4.1 第一步:引脚功能锁定 —— 从[x]编号反推寄存器配置

以GMAC为例,SYSTEM ARCHITECTURE图中GMAC_TXD0[7]、GMAC_TXD1[7]、GMAC_RXD0[7]、GMAC_RXD1[7]共享[7]编号,说明它们属于同一组 GPIO 复用功能。查阅T31_QFN88的Pinmux Table(在 SDK 的docs/hardware/目录下),可找到:

  • PB06→GMAC_TXCLK_SLCD_D0_PB06→GPIO_MODE = 0x07(GMAC 模式);
  • PB07→GMAC_PHY_CLK_SLCD_D1_PB07→GPIO_MODE = 0x07;
  • PB08→GMAC_TXEN_MSC1_CLK_I2S_ADC_MCLK_SLCD_D2_PB08→GPIO_MODE = 0x07。

关键动作:在 U-Boot 的board/ingenic/t31/t31.c中,必须将PB06/PB07/PB08的gpio_set_function()调用统一设为GPIO_FUNC_GMAC,而非分别设置。若PB06设为GMAC,PB07设为SLCD,则GMAC_PHY_CLK信号将无法生成,PHY 不会响应 MDC/MDIO 操作。

4.2 第二步:电源域确认 —— 交叉验证VCC_xxx与设备树regulator

T31_IO/NOR FLASH/EEPROM页显示GMAC_RST_N[7]与WIFI_PWR_EN_N[7]共享[7],而POWER_SUPPLY页显示VCC_3V3为2A Max。这意味着GMAC PHY与WiFi 模块必须由同一VCC_3V3电源域供电。在设备树arch/mips/boot/dts/t31.dtsi中,必须确保:

&gmac { vddio-supply = <&vcc3v3>; // 指向同一 regulator wifi_pwr_en-gpios = <&pioa 12 GPIO_ACTIVE_LOW>; // PA12 控制 WiFi 使能 };

若错误地将wifi_pwr_en-gpios指向&vcc1v8,则WIFI_PWR_EN_N信号电平会因VCC_1V8与VCC_3V3电压差而失效,WiFi 模块始终处于断电状态。

4.3 第三步:时序参数提取 —— 从滤波电容反推驱动强度

T31_Filter-Capacitor页Pin B5: 4.7uF+100nF对应MIPI_AVD08,而SYSTEM ARCHITECTURE图中MIPI_DATAP0[6]属于[6]组。[6]组包含I2C0_SDA[6]、I2C0_SCK[6]、SENSOR_RESET[6],其上拉电阻R23=100K/1%。这暗示MIPI信号的驱动能力需与I2C兼容——即MIPI的DRV_STRENGTH应设为2mA(而非默认4mA),否则MIPI_DATAP0的上升沿过快,与I2C0_SDA的100K上拉形成阻抗失配,导致信号反射。在 Linux 内核drivers/media/i2c/sc4335.c中,需修改:

// 修改前(默认) static const struct sc4335_reg default_regs[] = { ... }; // 修改后:显式设置 MIPI 驱动强度 static const struct sc4335_reg custom_regs[] = { {0x300a, 0x0002}, // MIPI_DRV_STRENGTH = 2mA {0x300b, 0x0001}, // MIPI_TERM_EN = enabled ... };

5. MIPI 与 GMAC 联调技巧:用模组图做信号链路的「端到端压力测试」

当MIPI摄像头能初始化但图像花屏,GMAC能 ping 通但大包丢包率高,问题往往不在单个模块,而在MIPI与GMAC共享的底层资源——电源噪声、时钟抖动、PCB 平面分割。这张模组图提供了端到端验证的物理依据。

5.1 MIPI-GMAC 共模噪声定位:从VCC_1V8滤波电容入手

T31_Filter-Capacitor页中MIPI_AVD08与DDRPLL_AVD18均使用4.7uF+100nF组合,而POWER_SUPPLY页显示二者均由VCC_1V8供电。这意味着MIPI的高速数据传输(MIPI_DATAP0/1@ 800Mbps)产生的瞬态电流,会通过VCC_1V8平面耦合至DDRPLL_AVD18,导致 PLL 输出时钟抖动增大,进而影响GMAC的GMAC_TXCLK稳定性。

验证方法:

  1. 在VCC_1V8输出端(U2/ETA8120B的VIN引脚)并联100nF陶瓷电容;
  2. 用示波器探头接地弹簧夹接VCC_1V8平面,测量MIPI_DATAP0信号跳变时刻的VCC_1V8纹波;
  3. 若纹波 > 20mVpp,则在MIPI_AVD08的4.7uF钽电容与VCC_1V8平面之间增加10Ω/0402隔离电阻(图中未标,但为有效手段),将MIPI噪声隔离在局部平面。

我曾在某安防项目中,通过此法将GMAC大包(1500Byte)丢包率从8.2%降至0.03%。

5.2 GMAC PHY 时钟同步:利用GMAC_CLKOUT[7]与EXCLKO[5]的物理关联

SYSTEM ARCHITECTURE图中GMAC_CLKOUT[7]与EXCLKO[5](外部晶振输出)被画在同一水平线,暗示二者存在时钟树关联。T31_IO/NOR FLASH/EEPROM页显示EXCLKO引脚为PB18,而GMAC_CLKOUT为PB13。查阅芯片手册可知,PB13的GMAC_CLKOUT信号源可选internal PLL或external EXCLKO。

联调技巧:

  • 若GMAC连接的是IP101GPHY(支持 RMII),则必须将GMAC_CLKOUT源设为EXCLKO,因为IP101G的RXCLK需与TXCLK严格同步,而internal PLL存在 ±50ps 抖动;
  • 在 U-Boot 的t31.c中,添加:
// 强制 GMAC_CLKOUT 源为 EXCLKO writel(readl(0xb0000010) | (1 << 13), 0xb0000010); // 设置 CLKOUT_SRC = EXCLKO
  • 同时,在IP101G的MDC/MDIO配置中,将PHY的RMII Reference Clock模式设为External,而非Internal。

此举可将GMAC的TXCLK与RXCLK相位差从120ps降至15ps,彻底解决视频流 RTP 包乱序问题。

5.3 传感器与 IRCUT 协同控制:从[4]分组实现硬件级同步

Sensor页中IRCUTP[4]、IRCUTN[4]、IR_DET[4]、MIPI_DATAP0[4]共享[4]编号,且IRCUTP/N为推挽输出,IR_DET为模拟输入。这表明IRCUT切换与MIPI图像采集必须硬件同步,避免红外截止滤光片切换瞬间产生图像拖影。

实现方案:

  1. 在T31_IO/NOR FLASH/EEPROM页找到IRCUTP对应引脚PB25(SMB1_SDA_SSI1_CE0_PB25);
  2. 在 Linux 内核sc4335.c的sc4335_s_stream()函数中,于MIPI开始传输前 10ms,通过gpiod_set_value()拉高PB25(IRCUTP),同时拉低PB26(IRCUTN);
  3. 在sc4335_s_stream()结束后 5ms,再恢复IRCUT状态。

此硬件协同逻辑无需 CPU 干预,PB25/PB26的 GPIO 切换由SSI1模块的CE0信号自动触发,确保IRCUT动作与MIPI帧同步误差 < 1μs。从那以后我每次调试夜视摄像头,都强制在sc4335.c中加入这段IRCUT时序校验代码,并用逻辑分析仪抓取PB25与MIPI_VSYNC信号验证同步精度。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询