Zynq/DDR/HDMI 面试题很难?直接抄作业,面试官都点头
虽然我一直认为国内的ai和百度检索答案没有本质区别,这类弱人工智能是没有思考的,整理的内容重复、出错的概率甚至超过80%。但是对于面经来说,整理面试题,确实是一把好手!我自己花1个小时做的事情,豆包20s给我 干完了,而且没有啥大毛病,不得不服!面试考察的其实不完全是正确率,一个是知识的广度,还有就是简历项目的真实性,哪怕是错的, 面试官可能也不一定能立马看出来。1. Zynq芯片的供电方案是怎样设计的?
2. 摄像头的数据采集协议与传输协议分别是什么?
3. DCDC与LDO的核心区别有哪些?
4. DCDC选型需关注哪些关键参数?
5. 如何减小电路中的纹波?
6. 项目中的电源树设计及具体DCDC的分布情况?
7. ADC选型要点及不同工作方式的区别?
8. Zynq ZU系列与7020系列的区别是什么?选型原因是什么?
9. 以太网传输功能是如何实现的?
10. Zynq的时钟供应方案是什么?单个模块如何分配时钟?
11. Linux补丁是如何实现对应功能的?
12. LVCOMS伪差分传输的速率是多少?为什么不使用LVDS?
13. HDMI的电平转换如何设计?
14. HDMI物理层芯片的选型依据是什么?
15. DDR信号存在哪些信号完整性(SI)问题?如何优化?
--------------分割线-------------
答案:
1. Zynq 芯片的供电方案设计
Zynq 是异构多核架构(ARM+FPGA),不同模块功耗和电压需求差异大,供电需分域设计,核心原则是 先供电低电压核心,再供电外围 IO,避免上电顺序错误损坏芯片。
供电分域
核心电压VCC_PSINT_FP(典型 0.85V 左右,随型号变化)、IO 电压VCC_PS_IO(1.8V/3.3V 可选)、辅助电压VCC_PS_AUX(1.8V)。核心电压VCC_INT(0.9V 左右)、IO 电压VCC_IO(按 Bank 配置,1.2V/1.5V/1.8V/2.5V/3.3V)、辅助电压VCC_AUX(1.8V)。供电方案选型
- 核心低电压大电流部分(如 PS/PL 核心):用DCDC,效率高、带载能力强。
- 外围小电流部分(如 IO、辅助电压):用LDO,纹波小、电路简单。
上电顺序要求
必须满足芯片手册的上电时序,一般是 核心电压 → 辅助电压 → IO电压,可通过电源管理芯片(PMIC) 或时序控制电路实现,比如 Xilinx 推荐的 TPS650250 这类专用 PMIC。
2. 摄像头的数据采集协议与传输协议
这两类协议的作用不同,采集协议管 “芯片内部怎么读数据”,传输协议管 “芯片怎么把数据传给外部设备”。
| | | |
|---|
| 采集协议 | | | 低速、两线制,用来配置摄像头参数(分辨率、曝光时间),不传输图像数据 |
| | | 高速串行协议,专门传输图像数据,支持多 lane 并发,速率高 |
| 传输协议 | | | 即插即用,传输距离短(1-5 米),适合 PC 端外设 |
| | | 传输距离远(100 米),支持多设备组网,适合工业现场 |
| | | |
3. DCDC 与 LDO 的核心区别
DCDC 和 LDO 都是直流降压电源芯片,核心区别在于是否带电感,这直接决定了效率、纹波和应用场景。
| DCDC(开关电源) | LDO(线性稳压) |
|---|
| | |
| | 低((输出电压 / 输入电压)× 效率,压差越大效率越低) |
| | |
| | 要求小压差(一般需要输入比输出高 0.5-1V 以上) |
| | |
| | |
| 大电流、大压差场景(如 CPU、FPGA 核心供电) | 小电流、对纹波敏感场景(如运放、ADC 参考电压供电) |
4. DCDC 选型需关注的关键参数
输入输出参数
- 输入电压范围:需覆盖实际输入波动(比如电池供电要考虑满电和亏电电压)。
- 输出电压精度:核心器件(如 FPGA/MCU)对电压敏感,一般要求 ±1%-±2% 以内。
- 最大输出电流:必须留 20%-30% 余量,避免满载时发热或保护。
效率与散热
- 封装与热阻:大电流场景选散热好的封装(如 QFN、DCDC),避免高温降额。
纹波与噪声
- 开关频率:频率越高,外围电感电容体积越小,但纹波可能越大;需平衡体积和纹波。
- 输出纹波峰峰值:核心供电一般要求≤50mV,敏感电路需≤20mV。
功能特性
- 稳压类型:降压(Buck)、升压(Boost)、升降压(Buck-Boost),根据需求选。
- 控制模式:PWM(效率高)、PFM(轻载效率高)、PWM/PFM 自动切换(兼顾全负载效率)。
5. 如何减小电路中的纹波
纹波是电源输出的周期性波动电压,主要来自 DCDC 开关动作或 LDO 噪声,减小纹波要从源头抑制 + 后端滤波双管齐下:
选对电源芯片
- 优先选低纹波型号,比如开关频率高的 DCDC,或噪声抑制比(PSRR)高的 LDO。
优化外围电路设计
- DCDC 输出端:并联大容量电解电容 / 钽电容(储能)+ 小容量 MLCC 电容(滤高频纹波),电容尽量靠近芯片电源引脚。
- 增加LC 滤波电路:在 DCDC 输出后加电感和电容组成的低通滤波器,进一步滤除纹波(注意电感饱和电流要足够)。
- 布线优化:电源走线尽量短、粗,减少寄生电感;输入输出地线分开走,避免纹波耦合。
敏感电路单独供电
- ADC、运放等敏感模块,用独立 LDO供电,与大电流模块(如电机、FPGA)的电源隔离。
接地设计
- 采用单点接地,电源地和信号地分开,最后在一点汇合,避免纹波通过地线干扰信号。
6. 项目中的电源树设计及具体 DCDC 的分布情况
电源树是指从输入电源到各模块负载的供电层级结构,设计原则是 先粗后精、分域供电,以下是典型嵌入式项目的电源树示例:
输入层
外部电源(如 12V 适配器、电池)→ 防反接 / 过压保护电路(TVS 管、保险丝)→ 主电源总线。 一级降压(DCDC)
12V → 5V(大电流 DCDC,如 MP2307),给板卡大部分外设供电(如摄像头、显示屏、风扇)。 二级降压
- 5V → 3.3V(DCDC 或 LDO,如 AMS1117),给 IO、传感器、以太网 PHY 供电。
- 5V → 1.8V(LDO,如 LP2985),给辅助电路(如时钟芯片、存储器)供电。
- 5V → 核心电压(如 0.9V,用高性能 DCDC,如 TPS5430),给 FPGA/MCU 核心供电。
三级滤波
核心电压输出后,加 LC 滤波或 π 型滤波,进一步减小纹波。
DCDC 分布原则:
一级降压用大电流 Buck 型 DCDC;
7. ADC 选型要点及不同工作方式的区别
ADC 是模拟信号转数字信号的核心器件,选型要匹配信号特性和系统需求,不同工作方式的 ADC 适用场景差异很大。
(1)ADC 选型要点
核心性能参数
- 分辨率:位数越高,精度越高(如 12 位 ADC 比 8 位能分辨更小的信号变化)。
- 采样率:每秒采样次数,高速信号(如射频)需高采样率(如 MSPS/GSP 级别),低速信号(如温度)选低采样率(如 KSPS 级别)。
- 精度与误差:包括失调误差、增益误差、非线性误差,越小越好。
- 输入范围:单端输入(如 0-3.3V)或差分输入(如 ±5V),需匹配模拟信号电压范围。
接口与功耗
- 输出接口:SPI/I2C(低速)、并行(中速)、LVDS(高速),需与主控芯片兼容。
- 功耗:电池供电场景选低功耗型号(如 μA 级别)。
环境适应性
- 工作温度:工业场景选 - 40℃~85℃宽温型号。
(2)ADC 不同工作方式的区别
| | | | |
|---|
| 逐次逼近型(SAR ADC) | | | | |
| 流水线型(Pipeline ADC) | | | | |
| Σ-Δ 型 ADC | | | | |
| 闪存型(Flash ADC) | | | | |
8. Zynq ZU 系列与 7020 系列的区别及选型原因
Zynq 7020 属于7 系列(第一代 Zynq),ZU 系列属于UltraScale + 系列(新一代 Zynq),两者定位和性能差异显著。
(1)核心区别
| Zynq 7020 | Zynq ZU 系列(如 ZU3EG) |
|---|
| | |
| | 四核 ARM Cortex-A53 + 双核 Cortex-R5F |
| 逻辑单元(LE)约 85K,RAM 约 4.9Mb | 逻辑单元(LE)更多(如 ZU3EG 约 200K),RAM 更大,支持高速收发器 |
| | 集成 10Gbps 以上高速收发器(如 GTY/GTYP),支持 10G 以太网、PCIe Gen4 |
| | |
| | |
| | |
(2)选型原因
- 选7020:项目要求低成本、低复杂度,不需要高速接口(如仅做简单控制、低速数据采集),适合入门或批量量产的经济型产品。
- 选ZU 系列:项目需要高算力、高带宽(如 4K 图像实时处理、10G 以太网传输、PCIe 高速扩展),或需要更小的功耗和体积,适合高端工业、通信、车载项目。
9. 以太网传输功能是如何实现的
以太网传输需要硬件 + 软件协同,硬件负责物理层信号收发,软件负责协议栈处理,以 Zynq 为例:
硬件层面
MAC 层
媒体访问控制层,Zynq 的 PS 端内置以太网 MAC 控制器,支持 10/100/1000Mbps 速率;PL 端也可通过 IP 核实现 MAC 层。 PHY 层
物理层芯片(如 RTL8211E、DP83848),负责电信号转换(将 MAC 层的数字信号转为差分信号,如 RJ45 接口的 1000BASE-T 信号)。 接口连接
MAC 和 PHY 之间通过RMII/MII/RGMII接口连接(RGMII 速率最高,支持千兆),PHY 芯片通过 RJ45 接口接网线。
软件层面
- 驱动程序:Linux 系统下加载以太网驱动(如
drivers/net/ethernet/stmicro/stmmac),初始化 MAC 和 PHY。 - 协议栈:TCP/IP 协议栈(如 Linux 内核自带的协议栈),负责将数据封装成帧、包,实现寻址、路由、差错控制。
- 应用层:通过 Socket 接口编写应用程序(如 TCP 客户端 / 服务器、UDP 通信),实现数据传输。
10. Zynq 的时钟供应方案及单个模块时钟分配
Zynq 的时钟系统复杂,需要外部时钟 + 内部 PLL/MMCM协同,保证不同模块的时钟精度和稳定性。
(1)时钟供应方案
外部时钟源
- 主时钟:一般用25MHz/50MHz/100MHz 晶振,接 PS 端的
CLK_PS引脚,作为 PS 端的参考时钟。 - 备用时钟:可选外部时钟芯片(如 Si5351),提供高精度、低抖动时钟,适合对时钟敏感的场景(如高速通信)。
内部时钟管理
PS 端时钟
内置PLL,将外部参考时钟倍频 / 分频,生成 ARM 核心时钟(如 800MHz)、外设时钟(如 UART、SPI 时钟)。 PL 端时钟
内置MMCM(混合模式时钟管理器) 和 PLL,功能更强(支持相位调整、抖动过滤),可从 PS 端获取时钟(FCLK_CLK0-3)或外部时钟(PL 端时钟引脚),生成 PL 端逻辑所需的各种时钟。
(2)单个模块时钟分配
时钟分配的核心原则是 高频率、高敏感模块用独立时钟,避免时钟干扰,以图像采集模块为例:
- 外部晶振 → PS 端 PLL → 生成
100MHz时钟 → 通过FCLK_CLK0传给 PL 端。 - PL 端 MMCM 将
100MHz倍频到200MHz → 给图像采集 IP 核(如 CSI-2 接收核)提供工作时钟。 - PL 端 MMCM 再分频出
50MHz → 给 GPIO 模块、控制逻辑供电。 - 时钟布线:PL 端时钟信号走专用时钟走线,减少串扰;不同时钟域之间用异步 FIFO做数据同步,避免亚稳态。
11. Linux 补丁是如何实现对应功能的
Linux 补丁是对内核源码的修改文件,用来新增功能、修复 bug 或优化性能,实现过程分补丁制作和补丁应用两步:
补丁制作(开发者视角)
- 下载对应版本的 Linux 内核源码(如 linux-5.10.y)。
- 修改源码文件(如新增一个驱动、修改内核参数、修复漏洞)。
- 用
diff命令生成补丁文件:diff -uN 原文件 修改后文件 > patch_name.patch。
补丁应用(用户视角)
- 用
patch命令打补丁:patch -p1 < patch_name.patch(-p1表示忽略补丁文件中的一级目录)。 - 配置内核:
make menuconfig,启用新增的功能或驱动。 - 编译内核:
make zImage,生成新的内核镜像。
核心原理:补丁本质是文本差异文件,patch命令根据差异文件自动修改内核源码,无需手动改代码,保证修改的一致性和可追溯性。
12. LVCMOS 伪差分传输的速率及不使用 LVDS 的原因
(1)LVCMOS 伪差分传输的速率
LVCMOS 是单端电平标准,伪差分传输是指用两个 LVCMOS 引脚,一个传信号,一个传反相信号,模拟差分传输的抗干扰能力。
- 速率上限:一般 **≤100Mbps**,受限于 LVCMOS 的摆幅(如 3.3V LVCMOS 摆幅 0-3.3V)和寄生电容,速率越高,信号完整性越差。
- 实际应用:常见于低速短距离传输(如板内模块通信),速率一般在 10-50Mbps。
(2)不使用 LVDS 的原因
LVDS 是高速差分电平标准,速率可达Gbps 级别,不使用的核心原因是 项目需求不需要高速率,或 LVDS 的成本 / 复杂度高于收益,具体包括:
成本因素
LVDS 需要专用的发送 / 接收芯片(如 SN65LVDS31),而 LVCMOS 伪差分可直接用 MCU/FPGA 的普通 IO,无需额外芯片。 复杂度因素
LVDS 需要严格的阻抗匹配(100Ω 差分阻抗),布线要求高(差分线等长、等距);LVCMOS 伪差分布线简单,无需特殊处理。 需求因素
如果传输距离短(如板内)、速率低(≤100Mbps),LVCMOS 伪差分的抗干扰能力足够,完全能满足需求,没必要用 LVDS。 功耗因素
LVDS 芯片功耗高于 LVCMOS IO,电池供电场景优先选 LVCMOS。
13. HDMI 的电平转换如何设计
HDMI 的电平标准是TMDS(最小化传输差分信号),属于低压差分信号,而主控芯片(如 Zynq)的输出一般是 LVCMOS 电平,因此需要电平转换芯片(即 HDMI 发送芯片)实现 LVCMOS→TMDS 的转换,设计步骤如下:
主控芯片与 HDMI 发送芯片的连接
- 主控芯片(如 Zynq)通过并行接口(如 RGB、YUV)或串行接口(如 MIPI DSI)输出图像数据和控制信号(如 HSYNC、VSYNC、DE)。
- 将这些信号接入 HDMI 发送芯片(如 ADV7511、IT66121)的输入引脚。
HDMI 发送芯片的电平转换
- 芯片内部将 LVCMOS 电平的图像数据和控制信号,编码成TMDS 差分信号(3 对数据通道 + 1 对时钟通道)。
- TMDS 信号的摆幅约为350mV,差分阻抗为100Ω。
输出端匹配
- HDMI 发送芯片的 TMDS 输出引脚,串联50Ω 电阻做阻抗匹配,然后接入 HDMI 接口。
14. HDMI 物理层芯片的选型依据
HDMI 物理层芯片(即 HDMI 发送 / 接收芯片)选型要匹配项目的分辨率、速率、接口类型和成本,核心依据如下:
支持的 HDMI 版本
- HDMI 1.4:支持 4K@30Hz,速率最高 10.2Gbps;
- HDMI 2.0:支持 4K@60Hz,速率最高 18Gbps;
- HDMI 2.1:支持 8K@60Hz,速率最高 48Gbps;需根据项目的分辨率需求选择,比如 4K@60Hz 项目必须选 HDMI 2.0 及以上版本。
输入接口类型
- 并行输入:支持 RGB/YUV 并行数据(如 ADV7511),适合 FPGA/MCU 直接输出;
- 串行输入:支持 MIPI DSI 输入(如 IT66121),适合手机、平板等嵌入式设备。
功能特性
- 内置 Scaler:支持图像分辨率缩放(如将 1080P 转为 4K),简化主控芯片的处理压力;
- 音频功能:支持 I2S 音频输入,将音频嵌入 HDMI 信号中;
- EDID 读写:支持读取显示器的 EDID 信息,自动匹配最佳分辨率。
成本与封装
- 工业级项目选宽温、高可靠性芯片(如 ADV7511W);
15. DDR 信号的信号完整性(SI)问题及优化方法
DDR(如 DDR3、DDR4)是高速并行存储器,信号速率可达Gbps 级别,信号完整性问题是设计的核心难点,常见问题及优化方法如下:
(1)常见 SI 问题
反射
由于走线阻抗不匹配(如过孔、连接器),信号在传输路径上发生反射,导致信号波形畸变。 串扰
DDR 的地址线、数据线、控制线之间距离近,高速信号会通过寄生电容耦合,干扰相邻信号。 时序偏差
并行总线的各条线长度不一致,导致信号到达时间不同,超出时序窗口。 电源噪声
DDR 工作时电流波动大,电源纹波会耦合到信号中,影响信号质量。
(2)优化方法
阻抗匹配
- 数据线、地址线、控制线的特征阻抗控制为50Ω 单端阻抗 / 100Ω 差分阻抗;
- 在信号源端或终端串联 / 并联匹配电阻(如 DDR3 的终端匹配电阻 RTT)。
布线优化
- 等长处理:同组信号(如 D0-D7)的走线长度误差控制在 **±50mil** 以内,减少时序偏差;
- 分层布线:DDR 信号走内层,参考平面为完整的地平面或电源平面,减少辐射和串扰;
- 远离干扰源:DDR 走线远离时钟线、高速差分线(如 LVDS),避免电磁干扰。
电源与接地优化
- DDR 的 VDD、VDDQ 电源端并联大容量电容 + 小容量 MLCC 电容,靠近引脚摆放,减小电源纹波;
- 地平面完整:DDR 区域的地平面不要分割,保证信号回流路径最短。
时序校准
- 采用DDR 控制器的校准功能(如 Zynq 的 DDR Calibration IP 核),自动调整读写时序,补偿走线延迟和器件偏差。