⚡ USB & PCIe 协议栈
深度解析
从入门到精通 · 30章完整体系
📚 友好色系
30章
01
USB协议概述
发展历史1.0→4.0 · D+/D-信号 · 供电 · Host/Hub/Device拓扑
02
USB包结构与传输
SOP/PID/地址/CRC · 四种传输类型 · Token/Data/Handshake
03
USB枚举过程
连接复位 · 描述符获取 · 地址分配 · 配置解析 · 驱动加载
04
USB类协议详解
HID(键鼠) · Mass Storage(U盘) · CDC(虚拟串口) · Video
05
USB HOST控制器
OHCI/UHCI/EHCI/xHCI · 寄存器 · 调度机制
06
USB Device控制器
设备状态机 · 端点管理 · DMA · Synopsys DWC2
07
USB电源管理
挂起/唤醒 · 动态电源 · Type-C PD协议
08
USB调试与分析
分析仪/逻辑分析仪 · 枚举失败 · 带宽不足
09
PCIe协议概述
1.0→6.0 · Root Complex/Switch/Endpoint · 差分信号Lane
10
PCIe事务层 (TLP)
TLP包格式 · 地址/ID路由 · Memory/IO/Config/Message
11
PCIe数据链路层 (DLLP)
ACK/NAK · Credit流量控制 · LCRC/序列号
12
PCIe物理层 (PHY)
编码/加扰 · PIPE/SerDes · 链路训练与初始化
13
PCIe配置空间
256B兼容空间 · 4KB扩展 · Capability: MSI/PM/AER
14
PCIe中断机制
INTx · MSI · MSI-X · 中断路由与分发
15
PCIe DMA传输
DMA引擎 · 描述符环 · Scatter-Gather · IOMMU/SMMU
16
PCIe ATS & SR-IOV
地址转换服务 · 单根虚拟化 · PF/VF
17
PCIe错误处理
可校正/不可校正 · AER · 错误日志与恢复
18
PCIe电源管理
ASPM · L0s/L1/L2/L3 · 动态链路调整
19
PCIe调试与分析
分析仪抓包 · 链路训练失败 · CRC错误
20
USB与PCIe对比分析
协议层次 · 延迟/带宽 · 应用场景对比
21
USB与PCIe互连设计
USB over PCIe · 转接控制器 · 共享内存
22
SoC集成USB/PCIe
AXI/NoC互联 · DMA共享 · 一致性设计
23
驱动开发 (Linux)
USB Gadget/Host框架 · pci_driver · 中断数据路径
24
固件开发
RTOS/裸机架构 · 初始化序列 · 低功耗管理
25
测试与验证
协议一致性 · 吞吐量/延迟 · 压力测试
26
认证流程
USB-IF · PCI-SIG · 测试实验室流程
27
行业应用
消费电子 · 工业控制 · 汽车电子(ADAS)
28
未来趋势
USB4+Thunderbolt · PCIe 6.0 PAM4 · CXL
29
实战项目一:USB 3.0设备
FPGA RTL实现 · 仿真验证 · 上板调试
30
实战项目二:PCIe Endpoint
FPGA RTL · 驱动开发 · 性能优化