- 博客(32)
- 资源 (13)
- 收藏
- 关注
原创 I2C从入门到精通之一:I2C的历史起源和综合简介
I2C(Inter-Integrated Circuit),字面意思是集成电路之间,是一种串行通信总线,由飞利浦公司(现为恩智浦半导体)在1980年代发明,旨在解决电视机内部众多集成电路互连线复杂的问题,仅用两根线即可实现芯片间的互连通信。I2C的成功也催生了许多衍生协议,如SMBus(系统管理总线)和PMBus(电源管理总线),它们在I2C的基础上增加了更严格的规范和功能,以适应特定的应用需求,例如电源管理和系统健康监控。MIPI I3C也提供了与I2C的向后兼容性,并提供更高的速度和更低的功耗。
2026-06-12 08:01:19
157
原创 DDR5有哪些新功能和特性
【摘要】DDR5内存相比DDR4在性能、可靠性和易用性方面实现显著提升。性能方面,通过Bank数量翻倍、Burst Length增至BL16、引入同Bank刷新命令(REFsb)等改进,实测显示64B随机访问性能提升达36%。可靠性方面,新增On-die ECC纠错功能,支持单比特错误自动修正,并强化了PPR修复机制。易用性方面采用多功能命令(MPC)简化初始化、训练和校准流程。这些改进使DDR5能更好满足下一代计算需求,同时降低总体拥有成本。如需DDR5标准文档,可关注作者获取下载链接。
2026-06-11 08:37:19
357
原创 PCIe从入门到精通之二十四:PCIe物理层TX增益均衡Equalization
PCIe物理层增益均衡技术解析 本文深入探讨了PCIe物理层TX增益均衡技术,重点分析去加重(De-emphasis)和预冲(Pre-shoot)两大核心补偿机制。文章从高速信号传输面临的衰减问题入手,系统阐述了PCIe各代标准中的均衡技术演进:从Gen1/2的固定去加重方案,到Gen3-5支持的动态链路均衡和预设组合(Preset),直至Gen6为应对PAM4信号挑战而引入的4-tap FIR滤波器。通过详细解析FIR模型中的各Cursor系数关系,揭示了预加重和去加重的互补作用原理,并特别说明了Gen6
2026-06-06 08:39:53
517
原创 PCIe从入门到精通之二十三:PCIe物理层PAM4信号
文章摘要: 本文介绍了PCIe Gen6中采用的PAM4(四电平脉冲幅度调制)技术,通过增加信号电平维度(0/1/2/3)实现在相同频率下数据速率翻倍,成为400G/800G以太网和PCIe 6.0的核心技术。PAM4通过牺牲信噪比换取带宽效率,需配合前向纠错(FEC)和格雷码(减少相邻电平误码)优化可靠性。尽管面临信噪比降低、设计复杂度增加等挑战,PAM4仍是突破50Gbps以上传输瓶颈的关键。下文将探讨PCIe物理层的增益均衡技术以保障信号质量。如需PCIe标准文档,回复"PCIe"
2026-06-04 07:51:27
486
原创 PCIe从入门到精通之二十二:PCIe Gen6新引入的FLIT mode
PCIe Gen6引入FLIT模式是物理层架构的重大革新。FLIT(流控制单元)采用256字节固定长度结构,包含TLP、DLP、CRC和FEC字段,解决了传统可变长度TLP的效率低下问题。该模式配合PAM4信号和轻量级FEC技术,在64GT/s速率下实现了接近100%的传输效率,同时通过简化的分帧机制和FLIT级重传显著降低延迟。FLIT模式在保持PCIe低延迟特性的基础上,还支持动态带宽调节和向下兼容,为高速数据传输提供了更可靠的解决方案。这一变革标志着PCIe物理层从可变包结构向固定块传输的重要转型。
2026-06-02 08:25:04
517
原创 PCIe从入门到精通之二十一:PCIe物理层实现的功能
本文聚焦PCIe物理层的核心功能,解析其在高速串行通信中的关键作用。文章首先回顾了PCIe分层结构,重点阐述物理层承担的8大功能:信号传输/接收、编码/解码、加扰/解扰、链路训练(LTSSM)、串行化/解串行化(SerDes)、时钟恢复、数据包帧定,以及PCS/PMA子层分工。特别深入分析了128b/130b编码技术,对比8b/10b编码揭示其1.56%低开销优势,详解其加扰机制、多通道组合方式及带宽提升原理。文章预告下篇将探讨PCIe Gen6的FLIT模式,并提供标准文档获取方式。全文为硬件/固件工程师
2026-05-30 09:11:28
412
原创 PCIe从入门到精通之二十:利用lspci对PCIe设备拓扑结构解析实战2
本文深入解析了含有PCIe Switch的复杂拓扑结构重建方法。以Intel SkyLake-E双CPU服务器架构为例,通过lspci命令输出结果,详细分析了Host Bridge、PCI Bridge、NVMe SSD等设备的连接关系。重点阐述了Virtual PCI-PCI Bridge的层级结构和总线分配机制,包括Primary/Secondary/Subordinate总线寄存器的配置。文章提供了完整的拓扑结构重建图,并解释了集成Endpoint的多功能特性。最后预告了后续将探讨PCIe物理层实现功
2026-03-21 08:03:06
448
原创 PCIe从入门到精通之十九:利用lspci对PCIe设备拓扑结构解析实战1
本文通过实战演示如何利用Linux的lspci命令解析PCIe设备拓扑结构。首先介绍了lspci -t -v命令的树状输出格式,详细解释了设备ID、总线号和功能号等关键字段的含义。然后通过具体案例,分析了包含Host Bridge、PCI Bridge和Endpoint设备的完整PCIe体系结构,展示了如何根据lspci输出重建PCIe拓扑图。文章特别说明了集成设备和外置设备在拓扑中的不同位置,以及多function设备的表示方法。最后预告了下一篇将探讨包含PCIe Switch的更复杂架构解析。读者可通过
2026-03-16 08:31:06
460
原创 PCIe从入门到精通之十八:PCIe设备的初始化枚举过程2
本文详细解析了PCIe设备的初始化枚举过程,重点介绍了PrimaryBusNumber、SecondaryBusNumber和SubordinateBusNumber寄存器的动态确定方法。文章采用深度优先遍历算法,从Host Bridge开始逐步扫描PCIe总线拓扑结构,为每个设备分配总线编号,并最终确定完整的PCIe设备树。通过实例演示了PCIe Switch等设备的枚举过程,包括总线号的分配和寄存器值的更新。该过程使系统能够构建完整的PCIe拓扑结构,为后续设备识别和配置奠定基础。
2026-01-21 08:56:55
1151
原创 PCIe从入门到精通之十七:PCIe设备的初始化枚举过程1
本文介绍了PCIe设备的配置空间和初始化枚举过程。首先讲解了PCIe设备的身份证ID(BDF)结构,由总线号、设备号和功能号组成。重点分析了PCIe桥中的三个关键寄存器:主总线号、次总线号和从属总线号寄存器,它们共同定义了桥在PCIe拓扑中的位置和作用范围。文章详细说明了总线号通过深度优先搜索算法分配,设备号由桥或RootComplex预先确定,而功能号则由设备硬件自身定义。最后预告了下篇将具体介绍PCIe设备初始化枚举的动态过程。该文是PCIe系列教程的一部分,旨在帮助读者理解PCIe设备的发现和管理机制
2026-01-17 07:31:06
832
原创 PCIe从入门到精通之十六:PCIe设备的配置空间Capability寄存器2
摘要:本文介绍了PCIe扩展配置空间(100h-FFFh)中的扩展capability结构,详细解析了其链表组织形式。扩展capability结构包含16位的ID标识、4位版本号和12位下一结构偏移量,通过next offset字段形成链表结构。文章列举了常见的扩展capability ID类型,如高级错误报告、设备序列号等,并说明可通过PCIe规范查阅完整列表。最后预告将讲解PCIe设备初始化枚举过程。文中还提供了获取PCIe标准文档的方式。
2026-01-10 08:00:56
960
原创 I2C从入门到精通之六:I2C通信协议Protocol-读操作
本文详细介绍了I2C通信协议的读操作流程,重点解析了"先写后读"的特殊机制。读操作包含假写操作(Dummy Write)和实际读数据两个阶段:假写操作用于指定从设备的内部寄存器地址,随后通过重复起始条件(Repeated START)在不释放总线的情况下切换为读模式。文章以ADS1115模数转换器为例,展示了完整的16位数据读取过程,并强调了主设备通过ACK/NACK控制数据流的关键作用。文末提供了I2C最新标准文档的获取方式,为读者深入学习提供资源支持。
2025-12-20 10:43:27
922
原创 I2C从入门到精通之五:I2C通信协议Protocol-写操作
本文详细介绍了I2C协议的写操作流程,包括起始条件、地址帧传输、数据帧传输和停止条件等关键步骤。通过DAC80501芯片的实例演示了I2C写操作的具体实现过程,包括设备寻址、寄存器选择和数据传输。文章还预告了后续将介绍的I2C读操作内容,并提供了获取最新I2C标准文档的方式。该系列文章旨在帮助读者深入理解I2C通信协议,成为I2C技术专家。
2025-12-19 08:47:37
716
原创 I2C从入门到精通之四:I2C从设备的地址address
本文介绍了I2C从设备地址的相关知识。I2C从设备需要地址来实现多设备共享总线、选择目标设备和避免冲突。地址类型主要包括7位地址(最常见)和10位地址(扩展寻址能力)。文章详细说明了7位地址的设置方式,包括固定地址和硬件可配置地址,并指出部分地址范围被保留用于特殊功能。最后预告将深入讲解I2C通信协议,帮助读者理解I2C波形含义。
2025-12-18 08:35:29
1031
原创 PCIe从入门到精通之十五:PCIe设备的配置空间Capability寄存器1
本文介绍了PCIe配置空间中40h~FFh区域的Capability寄存器功能。Capability寄存器通过链表结构组织,包含设备功能信息,如电源管理、中断等。每个Capability结构由ID、Next指针和功能相关寄存器组成。文章通过SSD实例和Linux命令展示了Capability链表的遍历过程,并指出扩展配置空间(100h~FFFh)的功能将在后续文章介绍。读者可通过微信公众号获取相关PCIe标准文档。
2025-12-14 07:43:17
847
原创 I2C从入门到精通之三:I2C信号的特性和操作
本文深入解析I2C总线特性与操作,重点介绍了开漏电路的双向通信机制,包括总线拉低和释放的工作原理。详细阐述了I2C的通用操作流程,包括START/STOP条件、数据有效性、字节格式及ACK/NACK机制。文章还预告了后续将探讨的I2C协议内容,并提供了最新I2C标准文档的获取方式。I2C凭借其简洁的硬件架构和连接方式,在嵌入式系统中广受欢迎。
2025-12-13 07:26:18
925
原创 I2C从入门到精通之二:I2C设备的硬件架构
本文介绍了I2C总线的硬件架构,主要包括:1)I2C系统由两条共享通信线路(SDA和SCL)组成,采用半双工通信方式;2)硬件核心组件包括主设备(发起通信)和从设备(响应请求),支持多主多从架构;3)详细说明了SDA、SCL信号线特性及上拉电阻的选择要求;4)介绍了可选信号如设备地址、写保护和报警功能。文章还预告了后续将深入讲解I2C协议内容。读者可通过关注公众号获取最新I2C规范文档。
2025-12-03 07:56:50
926
原创 PCIe从入门到精通之十五:PCIe设备的配置空间Capability寄存器1
本文详细介绍了PCIe标准配置空间中40h~FFh区域的Capability寄存器。Capability寄存器以链表形式组织,包含设备的各种功能信息,如电源管理、MSI中断等。文章通过实战演示,展示了如何遍历Capability链表结构,并解析了相关寄存器的功能和映射关系。最后还预告了后续将介绍扩展配置空间(100h~FFFh)的Capability结构。这一机制让PCIe设备能够向主机展示其功能特性,为系统软件提供必要的设备信息。
2025-11-18 09:06:59
1046
原创 PCIe从入门到精通之十四:PCIe设备的配置空间header详解实战
本文通过实战解析Type0 PCIe设备配置空间的前0x3F寄存器值,详细介绍了VID、DID、ClassCode等关键字段的含义。其中0x8086VID表示Intel芯片,0x100e DID对应82540EM千兆网卡,Command=0x0007表示启用了IO空间、内存空间和总线主控功能,Status=0x0230则揭示了设备支持66MHz操作等特性。文章还预告将后续讲解0x40之后寄存器的功能,并提供了获取PCIe标准文档的方式(关注"硬件工程师宝典"公众号回复"PCIe
2025-11-10 08:56:54
758
原创 PCIe从入门到精通之十三:PCIe设备Vender ID, Device ID, Subsystem Vendor ID, Subsystem ID的区别
本文详细介绍了PCIe设备配置空间中的四个关键标识符:VendorID(供应商ID)、DeviceID(设备ID)、SubsystemVendorID(子系统供应商ID)和SubsystemID(子系统ID)。VendorID和DeviceID用于识别芯片制造商和具体芯片型号,由PCISIG和芯片制造商分配;而SubsystemVendorID和SubsystemID则用于标识最终集成板卡的制造商和具体产品型号。文章通过实例说明了这些ID的作用和查询方法,并提供了在Linux和Windows系统中查看这些I
2025-11-07 10:12:26
2370
原创 PCIe从入门到精通之十二:PCIe设备的配置空间header详解2
本文详细解析了PCIe配置空间中Type0和Type1设备的差异,重点介绍了它们各自独有的寄存器功能。Type0设备(如终端设备)包含BAR、中断配置等资源分配寄存器,而Type1设备(如桥接器)则具备总线编号、地址范围映射等路由管理寄存器。文章还预告了后续将探讨设备ID和供应商ID的区别,并提供了获取PCIe标准资料的途径。全文通过通俗比喻,生动阐释了不同类型设备在PCIe架构中的角色差异。
2025-10-25 10:39:22
1138
原创 PCIe从入门到精通之十一:PCIe设备的配置空间header详解1
本文解析了PCIe配置空间中前0x3F寄存器的共同部分,重点对比了Type0和Type1设备的异同。Type0用于端点设备(如GPU、网卡),Type1用于桥接设备(如交换机、根端口)。文章详细介绍了16字节标准头部字段(VendorID、Command等)和扩展能力指针的功能,为理解PCIe设备配置奠定了基础。后续将探讨Type0/Type1的不同部分,完整内容可通过公众号"硬件工程师宝典"获取PCIe标准文档。
2025-10-12 07:57:24
1181
原创 PCIe从入门到精通之十:PCIe配置空间的访问方式详解
本文介绍了PCIe配置空间的两种访问方式:传统的CAM机制通过I/O端口0xCF8/0CFC访问(仅限前256字节),以及更高效的ECAM内存映射机制(支持完整4KB空间)。详细解析了两种方式的地址构造方法、操作流程及区别,并指出ECAM通过ACPI表的MCFG获取基地址,支持多段PCIe配置空间访问。文章预告将深入解析配置空间寄存器的具体含义和功能,为理解PCIe设备配置提供基础。
2025-09-26 08:50:16
1481
原创 PCIe从入门到精通之九:利用lspci和PCIe设备的ID查看配置空间
摘要 本文介绍了查看PCIe设备ID和配置空间的方法。在Windows中可通过设备管理器查看设备ID,而Linux下使用lspci命令;配置空间分为PCI兼容部分(前256字节)和扩展部分(4KB)。Windows查看配置空间需第三方工具,Linux可直接使用lspci命令。文章还预告了后续将详解PCIe配置空间的访问方式。可获取相关标准文档下载链接。
2025-09-18 07:47:44
1424
原创 PCIe从入门到精通之八:PCIe设备的身份证ID
本文介绍了PCIe设备的唯一标识符BDF(Bus-Device-Function),它由总线号、设备号和功能号组成,用于在PCIe拓扑结构中定位设备。BDF共24位,支持最多256条总线、32个设备和8个功能,总配置空间可达256MB。文章详细解释了BDF的结构、分配规则和应用场景,并预告了后续将介绍如何读取PCIe配置空间。
2025-09-17 08:49:36
1063
原创 PCIe从入门到精通之七:PCIe设备的配置空间简介
本文介绍了PCIe设备的配置空间结构及访问机制。所有PCIe组件(包括Root Complex、Switch和Endpoint)都具备PCI兼容的配置空间(256字节)和PCIe扩展配置空间(共4KB)。其中前256字节包含设备基本信息和能力结构,扩展空间则存放更多参数和能力说明。访问方式包括传统的PCI兼容配置访问机制(CAM)和增强型配置访问机制(ECAM),后者通过内存映射方式支持全配置空间访问。文章最后提出疑问:在内存映射模式下,软件如何区分不同设备,并预告下篇将讲解PCIe设备ID的识别机制。
2025-09-16 08:50:33
1405
原创 PCIe从入门到精通之六:PCIe数据包packet的神奇之旅
本文介绍了PCIe数据包(packet)在各层传输的封装与解封装过程,通过生动的"穿衣脱衣"类比,详细说明了事务层(TLP)、数据链路层(DLLP)和物理层的分层处理机制。文章重点阐述了数据包在Switch中的特殊处理流程,以及两种关键错误检测机制LCRC(链路层)和ECRC(事务层)的区别与应用场景,包括它们的校验范围、错误处理方式和强制性差异。最后预告了下一篇文章将探讨PCIe设备的配置空间问题。
2025-09-15 08:05:56
1434
原创 PCIe从入门到精通之五:PCIe分层结构
本文介绍了PCIe总线的分层结构,包括应用层、事务层、数据链路层和物理层。各层分工明确,下层为上层服务,保证数据传输的高效可靠。物理层负责信号传输,数据链路层确保数据可靠传输,事务层处理数据封装和流量控制。文章还展示了Root Complex、Switch和Endpoint的分层互联,以及数据包在分层结构中的传输过程。这种分层设计简化了系统实现,提高了灵活性。最后预告了下一篇文章将探讨PCIe数据包的传输原理。
2025-09-14 11:02:44
1866
原创 PCIe从入门到精通之四:PCIe总线的拓扑结构
摘要:本文介绍了PCIe总线的树状拓扑结构,以根联合体(RC)为根节点,通过交换机(Switch)扩展分支,连接端点设备(Endpoint)。与PCI总线竞争带宽不同,PCIe采用点对点双通道架构,提供独享带宽。交换机层级虽无硬性限制,但受总线号数量(最多256个)、延迟累积和成本等因素制约。系统启动时通过深度优先扫描配置设备,PCIe 6.0新增分段功能优化复杂拓扑管理。文章预告将探讨PCIe分层结构,并附标准文档获取方式。
2025-09-13 17:50:17
1662
原创 PCIe从入门到精通之三:PCIe设备的内部组件
在上一篇文章《PCIe从入门到精通之二:计算机王国中的PCIe设备》中,我们介绍了三类PCIe device:PCIe Root Complex,PCIe Endpoint和PCIe Switch,并着重详细介绍了Root Complex内的三个组件:Host Bridge, RCiEP和Root Port的基本功能。在这一篇文章中我们继续介绍PCIe device的更多内部组件。
2025-09-10 11:56:43
1605
原创 PCIe从入门到精通之二:计算机王国中的PCIe设备
本文介绍了PCIe设备的分类与功能架构,包含三类核心设备:作为控制中心的Root Complex(集成在CPU中,负责设备管理与数据传输)、执行具体功能的Endpoint设备(如GPU、SSD等),以及扩展连接能力的PCIe Switch(类似交通枢纽)。文章用企业组织架构类比,解释Root Complex如同总公司,Endpoints是子公司,Switch则是区域总部。重点阐述了双单工通信模式、通道宽度(x1-x16)和点对点传输特性,并区分了不同lane宽度适用的设备类型。
2025-09-08 20:10:53
1378
原创 PCIe从入门到精通之一:综合简介
本文介绍了PCIe标准呢的发展历史,作者从PCIe 1.0到最新的PCIe 8.0标准,系统梳理了各代技术的关键参数和演进特点,包括传输速率从2.5GT/s提升至256GT/s、编码方式从8b/10b到PAM4的优化等。对PCIe Gen1~Gen8的速率和带宽进行了推导,并展望了一下PCIe的发展趋势。
2025-09-07 16:33:21
1515
SFF-8452 Specification
2009-09-24
SATA specification Revision 3.0 Gold (Gen3 6G)
2011-12-14
PCI Express Base Specification Revision 3.0
2009-09-25
I3C_specification_v1.0_From_MIPI_Alliance.pdf
2021-03-31
ASF-Alert Standard Format Specification 2.0
2010-10-13
HPET- IA-PC High Precision Event Timers specification 1.0a
2010-10-13
USB 3.0: Universal serail Bus 3.0 specification /规范
2009-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅