自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(564)
  • 收藏
  • 关注

原创 常见的phy

PHY 是实现通信物理层的核心模块,其作用是将并行逻辑信号与实际电/光物理介质对接,不同通信协议使用不同的 PHY 类型;在 FPGA 中,PHY 可由外部芯片(如 Ethernet PHY)或内置高速收发器(如 GTH、GTY)实现。

2025-06-11 23:00:32 531

原创 ecpri通信协议

eCPRI 是一个典型的用于 5G 基站有线前传通信的协议,其本质是基于以太网的封装协议,专为高效传输 I/Q 数据和无线控制命令而设计。

2025-06-11 09:03:15 96

原创 伪码的分类

伪码是指可重复生成的、类随机的二进制序列,常用于扩频、同步、多用户分离。常见分类有 m序列、Gold码、Kasami码、Barker码 等,按生成方式、用途、数学特性等均可分类。

2025-06-10 17:54:25 359

原创 sata中的ATA 命令寄寄器有什么用吗

ATA 命令寄存器是一组在I/O 地址空间名称常用地址(主通道)功能分类Data0x1F0数据传输Error0x1F1错误状态0x1F2扇区数量设置LBA Low0x1F3LBA地址低8位LBA Mid0x1F4LBA地址中间位LBA High0x1F5LBA地址高位Device0x1F6LBA[27:24] + 主/从选择等Command0x1F7发送命令Status0x1F7读取状态Control0x3F6中断控制等。

2025-06-10 10:16:58 362

原创 m序列是什么

m序列是由 n 级线性反馈移位寄存器(LFSR)生成的,周期为2n−12^n - 12n−1的伪随机二进制序列,它在所有可能状态中只缺失全 0 状态,具有最佳的伪随机特性。m序列是 LFSR(线性反馈移位寄存器)在给定本原多项式(primitive polynomial)下生成的二进制序列,其状态序列覆盖了所有除全零之外的可能状态。m序列是伪随机序列中周期最长、性质最优的一种,由 LFSR 产生,广泛用于卫星导航、扩频通信、雷达等高精度同步系统中。

2025-06-09 07:12:55 435

原创 导航电文为什么要调制到测距码上

导航电文调制到测距码上,是为了将定位数据嵌入扩频信号,使其具备“能测距、能抗干扰、能传数”的能力。目标原因🛰 测距伪码有良好时间分辨率,调制电文不会影响对码的对齐📡 扩频通信提高抗干扰、抗多径能力📦 节省带宽电文与伪码叠加,共用同一频谱资源🧭 实现同步接收机通过伪码快速捕获和锁定信号位置。

2025-06-09 06:58:02 854

原创 导航电文是什么

功能说明🛰 精确定位通过星历计算卫星位置,与伪距联立解方程得出接收机位置⏱ 精确授时卫星钟数据 + 本地钟漂 → 精准同步 UTC🌐 坐标转换提供 WGS-84 等坐标转换信息🚀 快速启动年历信息支持快速搜星(“热启动”)🧭 卫星选择提供卫星可用性,避免选错“坏星”导航电文是卫星广播的一种数据流,提供卫星自身状态、轨道信息、系统时间和误差修正参数,是 GNSS 接收机解算位置和时间的核心数据来源。

2025-06-08 23:29:20 402

原创 CDMA是什么

CDMA 让多个用户共享同一个频段通信,不靠频率和时间,而靠“码字”区分,关键是扩频 + 相关检测。

2025-06-08 23:27:48 286

原创 右旋圆极化(RHCP)有什么用

RHCP 的作用意义抗反射提升测距/通信稳定性抗极化失配卫星与地面天线间对准宽容区分信号用于信号复用、干扰隔离易匹配和天线结构相匹配,便于集成。

2025-06-08 23:23:26 344

原创 为什么PCIE的MSI中断请求TLP包中,要包含地址和数据字段

名称作用是否由硬件置位是否可被软件操作表示中断正在等待被处理✅ 是✅ 可读清除(部分可写)Mask Bit屏蔽中断的发送,即使触发也不会发出 TLP❌ 否✅ 软件设置屏蔽位控制位用途触发源清除方式生效对象Mask Bit阻止中断从设备发出(即发 TLP)软件软件写寄存器屏蔽当前或所有向量表示当前中断是否待处理硬件软件清除用于状态判断、排队机制屏蔽全部 MSI-X 向量软件软件写 MSI-X Capability所有向量一刀切。

2025-06-08 13:11:34 531

原创 PCIE中断中的pending bit与mask bits

名称作用是否由硬件置位是否可被软件操作表示中断正在等待被处理✅ 是✅ 可读清除(部分可写)Mask Bit屏蔽中断的发送,即使触发也不会发出 TLP❌ 否✅ 软件设置屏蔽位控制位用途触发源清除方式生效对象Mask Bit阻止中断从设备发出(即发 TLP)软件软件写寄存器屏蔽当前或所有向量表示当前中断是否待处理硬件软件清除用于状态判断、排队机制屏蔽全部 MSI-X 向量软件软件写 MSI-X Capability所有向量一刀切。

2025-06-08 13:04:06 496

原创 PCIE使用传统中断intx,PCIe 中没有真实的中断引脚, PCIe 如何控制逻辑模拟成消息传递

在 PCIe 中没有 INTA~INTD 实体引脚,INTx 中断是通过 PCIe 协议栈中的 Message Layer 控制消息模拟出来的,过程包括 “Assert”、“Deassert” 两个动作,由 Root Complex(RC)和 Endpoint(EP)协调完成。项目说明是否真实引脚?❌ 不是,引脚被消息模拟模拟中断信号方式Message Packet(类型:Interrupt Assert/Deassert)必须发送哪些消息?两个:Assert + Deassert。

2025-06-08 12:45:52 785

原创 PCIE传统中断与INTX与MSI中断所使用的包类型有什么区别

中断类型包类型是否真正用 TLP信号方式INTx(传统中断)无 TLP❌ 不用 TLP由 PCIe 控制逻辑虚拟出一个“电平信号”模拟MSI✅ 是发送一个特殊地址的 Memory WriteMSI-X✅ 是多向量,每个向量对应不同地址的 Memory Write特性INTxMSIMSI-XTLP 类型❌ 无中断源数量1(共享)通常最多 32最多 2048是否支持虚拟化差好很好配置复杂度低中高延迟高低更低常用场景兼容旧设备多用于现代设备。

2025-06-08 12:43:44 457

原创 PCIE什么时候需要拓展rom存储固件

问题答案PCIe 什么情况下需要扩展 ROM?当设备要在 BIOS 阶段就提供功能,如显示输出、磁盘访问、网络启动等是所有 PCIe 设备都需要吗?❌ 否,只有少数需要被 BIOS/UEFI 识别的设备才需要Option ROM 里面放什么?设备初始化代码或驱动,Legacy BIOS 或 UEFI 格式存在哪里?通常烧录在设备上的 Flash 中,由配置空间的0x30BAR 指出位置怎么做?编写 UEFI 驱动或 BIOS 扩展模块,使用工具生成 ROM 映像,烧入设备。

2025-06-08 11:41:00 598

原创 多主机系统中共享一个 PCIe 设备,有什么用

让多个物理服务器像“租房合住”一样,共用一块昂贵且稀缺的 PCIe 设备(如 GPU/NIC/SSD/FPGA),从而降低成本、提升资源利用率、实现灵活调度。作用说明降低成本一卡多用,少配冗余设备提升资源利用率把每张卡用到极致,不再闲置实现弹性资源池多主机共享访问、灵活调度支持高密度架构特别适合超融合、刀片式服务器促进异构协同计算多主机共同调度 AI/GPU/FPGA 加速资源。

2025-06-08 08:54:32 219

原创 x86架构中,PCIE RC中的RCRB是什么

RCRB 是 PCIe Root Complex 的扩展配置寄存器区域,用于对 Root Complex 进行高级配置和控制,通常以 MMIO 方式映射在系统地址空间中。问题答案RCRB 是什么?Root Complex Register Block,RC 的私有寄存器空间它做什么用?控制 PCIe RC 的高级行为,如链路管理、错误控制、MMIO配置等它如何访问?BIOS 阶段通过 RCBA/MCHBAR 映射为 MMIO 地址,CPU 直接访问是 PCIe 标准配置空间吗?

2025-06-08 08:03:07 640

原创 x86架构中,PCIE RC中的RCRB是什么

RCRB 是 PCIe Root Complex 的扩展配置寄存器区域,用于对 Root Complex 进行高级配置和控制,通常以 MMIO 方式映射在系统地址空间中。问题答案RCRB 是什么?Root Complex Register Block,RC 的私有寄存器空间它做什么用?控制 PCIe RC 的高级行为,如链路管理、错误控制、MMIO配置等它如何访问?BIOS 阶段通过 RCBA/MCHBAR 映射为 MMIO 地址,CPU 直接访问是 PCIe 标准配置空间吗?

2025-06-08 07:46:23 712

原创 DDR 控制器没有 PCIe 的 Bus/Device/Function ID(BDF),那系统是怎么寻址到 DDR 的?

问题回答DDR 控制器没有 BDF,怎么寻址?通过 MMIO 地址分配,属于物理地址空间PCIe 设备怎么访问 DDR?通过 BAR 或 DMA,访问映射到 DDR 的物理地址谁做地址翻译?Root Complex 或 IOMMU谁负责最终写入?DDR 控制器根据地址响应并执行操作。

2025-06-08 07:38:00 359

原创 RC中的虚拟PCI桥的作用

在 PCIe 拓扑结构中,模拟一个逻辑上的“桥设备”,将 RC 下挂的设备划分为不同的PCI 总线域(Bus Domain),以实现拓扑隔离、资源划分、DMA/IOMMU 约束或虚拟机映射。问题回答RC 中虚拟 PCI 桥的本质是什么?是一种逻辑桥接设备,用于在拓扑中生成独立的 Bus 域为什么要这么做?拓扑清晰、便于资源划分、支持 IOMMU、虚拟化和 DMA 隔离它真的存在于硬件中吗?在 SoC 中往往是 RC 内部逻辑模块,但配置空间中是独立设备它是否参与数据传输?否。

2025-06-08 07:14:38 909

原创 BIOS在进行拓扑扫描PCIE设备的时候,寻址方式是什么样的

项目描述寻址结构方法一端口方式:0xCF8/0xCFC(传统)方法二MMCONFIG(现代系统,内存映射)枚举起点从 Bus 0 开始枚举方式深度优先递归遍历桥设备设备不存在时返回。

2025-06-08 06:25:05 611

原创 如果CPU在bias阶段,扫描不到设备,RC 不返回 Completion,为啥CPU还能读到数据0xFFFFFFFF?

CPU] 发起 MMIO Read →[RC] 生成 Config Read TLP →[总线] 没有设备响应 →[RC] 超时,判断为 Master Abort →[RC] 向CPU返回 0xFFFFFFFF →[BIOS] 判断 Vendor ID = 0xFFFF → 设备不存在。

2025-06-08 05:28:13 581

原创 x86系统在bias阶段,发起读取PCIE配置空间中,厂商ID的过程是怎么样的

BIOS代码] →构造MMCONFIG地址 →CPU发起MMIO访问 →Root Complex发起 PCIe Config Read TLP →PCIe设备返回 Completion TLP →CPU读取Vendor ID →BIOS判断设备存在与否。

2025-06-08 05:25:59 315

原创 pcie msi中断机制

MSI 的全称是,即“消息信号中断”。它不是通过中断引脚发送中断信号,而是通过向主机内存空间中的一个特定地址写入一个特定的数据值来“发出”中断。提高性能:避免共享中断、减少仲裁延迟多中断支持:一个设备可支持多个中断源(多队列/多功能)NUMA优化:中断可定向发往某个CPU核更适用于现代总线(PCIe):点对点结构天然支持MSI。

2025-06-05 12:25:20 223

原创 pcie msi与msix中断的区别

特性MSIMSI-X最大中断向量数最多32 个(通常为 1、2、4、8)最多 2048 个(设备可支持任意子集)地址是否固定是(所有向量共用一个 Message Address)否(每个向量可有独立地址)是否共享 Message Data是(所有向量共用)否(每个向量独立)寄存器位置在配置空间的 MSI Capability内在扩展的 BAR 内存空间启用方式配置寄存器 MSI Enable 位配置 MSI-X Table 和 PBA,然后 Enable中断屏蔽全局屏蔽。

2025-06-05 12:21:08 364

原创 pcie中断向量共用地址与独立地址有什么区别

MSI:所有中断TLP → 写同一个地址(如 0xFEE00000)↘OS根据 Data 区分中断向量MSI-X:中断0 → 写 0xFEE00080 (CPU 0)中断1 → 写 0xFEE00100 (CPU 1)中断2 → 写 0xFEE00180 (CPU 2)↘OS按地址精确调度中断核。

2025-06-05 12:20:32 220

原创 pcie的msi-x如何绑定不同的cpu核

绑定 MSI-X 中断到不同的 CPU 核心,是通过完成的,设备本身只负责发送中断,不知道具体绑定的是哪个 CPU。

2025-06-05 12:19:39 308

原创 操作系统如何初始化pcie设备的msi capability

操作系统通过读取设备 PCI 配置空间中的 MSI Capability,配置中断目标地址和向量数据,然后启用 MSI,使设备通过 Memory Write TLP 来发送中断。如果你想看 MSI Capability 的结构图、或添加对 MSI-X 初始化流程的对比,我也可以继续补充。是否需要?

2025-06-05 12:18:30 346

原创 x86处理器如何处理msix中断请求

PCIe 设备通过 Memory Write TLP 向 APIC 中断控制器发出中断信号,APIC 根据 Message Address 和 Data 生成中断向量,分发给对应的 CPU 核,进而进入中断服务程序。PCIe设备触发中断↓MSI-X: 向 CPU 的 LAPIC 地址发送 Memory Write↓LAPIC 接收写操作 → 解码向量号↓通知目标 CPU 核↓CPU 查找 IDT → 跳转 ISR↓驱动处理完中断。

2025-06-05 12:18:00 642

原创 PCIE中的死锁现象

多个 PCIe 设备或桥接器在等待彼此释放资源,结果所有通路都阻塞,通信无法前进,永远处于等待状态。死锁类型典型表现Credit死锁双方都等对方归还 credit事务类处理不均衡,造成流阻塞Switch死锁多路径互相等待软件死锁软件与设备轮询/中断处理出错🧠PCIe 本身协议设计良好,真正死锁大多出现在硬件实现错误或异常使用场景。

2025-06-05 12:17:00 908

原创 PCIE生产者与消费者模型

在 PCIe 中,生产者发送 TLP(Transaction Layer Packet),消费者接收处理它,整个过程受信用机制(Credit-Based Flow Control)控制,确保双方配合、不会丢数据或阻塞。

2025-06-05 12:16:16 547

原创 PCIE如何解决死锁的

PCIe 通过信用流控、事务类型隔离、调度优先级、以及软件限制策略,系统性防止多个 TLP 相互等待、资源占满而无法继续的死锁情况。层级防止死锁的机制协议信用流控、事务类型分离、Completion优先硬件架构Buffer 隔离、调度策略、环路检测驱动软件控制 TLP 深度、异步设计、超时保护系统测试死锁注入、timeout机制、debug分析辅助。

2025-06-05 12:15:28 416

原创 PCIE的Slot Capabilities与Slot Capabilities 2

字段名称偏移地址引入版本描述14hPCIe 1.0插槽是否支持热插拔、按钮、指示灯等基本信息30hPCIe 4.0更高精度电源管理/事件支持、拓展联锁机制等。

2025-06-05 02:37:56 365

原创 PCIE的Device Capabilities 和 Device Capabilities 2两个版本的区别

特性PCIe 版本PCIe 1.0 引入PCIe 3.0 引入偏移地址04h24h主要作用基本设备功能描述高级功能支持常见字段Max Payload, Latency 等AtomicOp, ARI, LTR, TPH 等是否必须所有 PCIe 设备必须提供仅 PCIe 3.0+ 设备需要支持(可选)

2025-06-05 02:36:46 232

原创 pcie的Link Capabilities 和 Link Capabilities 2

字段名称偏移地址引入版本描述0ChPCIe 1.0+基本链路能力(速率、宽度、功耗管理等)2ChPCIe 3.0+扩展链路能力(更高速率、更高级特性支持)

2025-06-05 02:35:53 274

原创 PCIE,带有tph位的device write host read与不带tph位的device write host read有什么区别

TPH 是 PCIe 3.0 引入的一项扩展机制;当设备发出时,它可以在 TLP Header 中设置;并携带一个TPH Hint(Processing Hint)字段Tag IDSteering Tag(用于路由到对应 CPU 核心)Hint Type(如何缓存,例如 Prefetchable、Non-Snooped 等)写入本地 CPU Cache;与 CPU 使用的数据“位置靠近”,提高命中率;或预取进指定核的 L1/L2。

2025-06-05 02:23:31 604

原创 pcie的Link / Device / Slot / Root能力

Device / Link / Slot / Root 是 PCIe Capability 的四大子模块,分别描述设备功能、链路特性、插槽控制、以及 Root Port 特权能力,是主机初始化和调度的核心依据。

2025-06-04 20:42:59 802

原创 PCIE endpoint产生MWR MSI包的流程

在 RTL(如 Verilog/VHDL)中,通常要实现以下几步:从 BAR 配置寄存器中读取中断地址和中断数据(驱动配置);构造一帧 Memory Write TLP;地址 =msi_addr;数据 =msi_data;将这帧 TLP 写入 PCIe TX interface 进行传输。例如 Xilinx 的 PCIe IP Core 会有和这类信号。[主机驱动配置 MSI/MSI-X 地址和数据]↓[写入 Endpoint 寄存器或 MSI-X 表]↓。

2025-06-04 20:33:57 767

原创 pcie credit based n123算法与n123+算法的区别

N123 是 PCIe 规范中定义的一个基础算法,控制接收方何时发送 UpdateFC DLLP。项目N123Credit 释放计数阈值固定(如 N=8)动态、可调Timer 定时策略固定周期自适应周期(智能 Timer)DLLP 更新内容一次仅能更新一类 Credit一次可合并多类 Credit响应性 vs 带宽平衡较好响应性但可能 DLLP 多更注重链路效率,DLLP 更少实现复杂度简单硬件 FSM 实现需状态机 + 动态配置策略,复杂度更高适合应用场景。

2025-06-04 20:15:21 800

原创 pcie总线的序是什么

PCIe 总线的“序”是指其可控的事务顺序模型:在保持必要一致性的前提下,允许使用 Relaxed Ordering 和 No Snoop 等机制来打破顺序、提高并行性与吞吐性能。

2025-06-04 20:14:40 437

原创 pcie链路训练与电源管理之间的关系

项目描述功能目标一致都要在性能和功耗之间动态权衡状态切换会触发链路训练从低功耗状态回到正常状态,需要重新训练链路部分或全部ASPM 需协调 LTSSMASPM 电源状态变化会驱动 LTSSM 进入训练流程开发者需关注状态机过渡否则会导致链路断开、训练失败、流控错误等问题。

2025-06-04 20:14:04 297

时间同步测试111111111111111111

时间同步测试1111111111111111111111

2022-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除