FPGA Debug:PCIE XDMA没有Link up(驱动检测不到xilinx PCIE设备)使用LTSSM定位问题

FPGA Debug:PCIE XDMA没有Link up(驱动检测不到xilinx PCIE设备)使用LTSSM定位问题

问题现象:

与驱动联调:驱动无法扫描到Xilinx的PCIE设备

通过ila抓取pcie_link_up信号:发现link up一直为低

问题分析:

        出现这种情况,在FPGA中搭建测试环境,使用XDMA+BRAM的形式,减少其它模块的影响,框架如下:

1 检查PCIE的时钟

时钟,必须使用原理图上的GT Ref 差分时钟,通过IBUFDSGTE转为单端时钟

2 检查PCIE 复位

复位:PCIE复位信号有要求--上电后,PCIE_RESTN信号需在电源稳定后延迟一段时间再释放,通常是100ms以上

而这100ms的时间,系统主要做以下的事情:

  • 电源稳定时间
  • 参考时钟稳定时间
  • PCIe IP核的复位和初始化时间
  • 链路训练时间

// 典型的100ms时间分配:
0-10ms   : 电源稳定 (Power Stable)
10-20ms  : 参考时钟稳定 (Refclk Stable)  
20-30ms  : 复位释放和PLL锁定 (Reset Release & PLL Lock)
30-50ms  : 物理层初始化 (PHY Initialization)
50-70ms  : 链路训练 (Link Training)
70-100ms : 设备配置 (Device Configuration)

        所以为了避免这个问题,建议在程序中添加这么一段复位控制,但是有的时候你不添加也没有关系,因为有的时候硬件的复位时序可以满足这个100ms的要求,但是保险起见还是加上

3 LANE检查

      检查你的LANE约束,一般XDMA IP核生成的时候会自带一个约束文件,约束每个LANE的对外接口,但我们也可以自己约束,保证端口与原理图匹配即可。

这些确认无误,还是无法link up的,先将PCIE降速为1.0 X1,看看情况

4 PCIE降速

如果还是不行,那我们需要检测pcie的相关的几个状态。

5 具体问题定位(PCIE LTSSM状态)

这里我们需要查看PCIE的LTSSM状态机,那什么是LTSSM状态机呢?

      是一种常用于PCI Express(PCIe)接口的状态机,它可以控制PCIe总线的传输流程。LTSSM由多个状态组成,每个状态都代表了不同的总线传输阶段。

一般大家会找不到,按照如下的方式

5.1 给LTSSM信号添加debug

首先:勾选配置界面的Use Class Code Lookup Assistant这个选项

此时还是无法在端口显示出LTSSM信号,不要着急,按照你的流程生成IP核,执行完Run Syn操作,然后点击Set up debug

在这里搜索LTSSM的“小写”,就能找到ltssm_state的信号,将其添加到debug里面正常的综合实现就可以了。

5.2 LTSSM状态说明

       LTSSM状态机根据厂商不同会有微小的差异,我们使用的是瑞芯微的,我的状态卡在了08即Lane顺序检测。意味着是lane的问题。


那我们通过这个方式监控的除了LTSSM信号以外,还有几个关键信号

5.3 其余关键信号说明

phy_rdy_n:物理层就绪,一种存在性检查,0:表示物理层就绪  1:表示异常

                     时钟是否存在?

                     复位序列是否正常?

                     PLL是否正常锁定?

                     电源是否power good

cfg_cuurent_speed_o:协商的速率,PCIE1.0/2.0/3.0 分别对应1/2/3 

link_width:协商的宽度

6 故障点说明及解决

我的故障就是:

phy_rdy_n为0,说明物理层就绪,时钟和复位是正常的

LTSSM卡在了0x08,且Link_width为0,说明是LANE的异常导致的。

        重新检查电路,发现主机的TX端,没有放置电容,而使用的是电阻,导致的AC耦合问题,将电阻更换为电容,链路问题解决

可以看到Link up拉起,驱动可以正常检测到PCIE设备。

Read more

Qwen3-TTS-VoiceDesign实战案例:为AR导览眼镜生成空间音频定位语音提示(3D Audio Ready)

Qwen3-TTS-VoiceDesign实战案例:为AR导览眼镜生成空间音频定位语音提示(3D Audio Ready) 1. 项目背景与需求 想象一下,你戴着一副AR导览眼镜在博物馆参观。当你走近一幅名画时,耳边传来清晰的解说声:"您现在观看的是《蒙娜丽莎》,创作于1503年..."。更神奇的是,这个声音仿佛就是从画作方向传来的,让你感觉解说员就站在画作旁边。 这就是空间音频定位技术的魅力。传统的语音导览往往是单声道播放,所有声音都从同一个方向传来,缺乏真实感和方位感。而基于Qwen3-TTS-VoiceDesign的空间音频技术,可以让语音提示具有明确的方向性,大幅提升AR体验的沉浸感。 技术需求分析: * 需要生成高质量、自然流畅的语音内容 * 语音需要具备方向感和空间定位能力 * 支持多语言,满足国际游客需求 * 能够根据场景快速调整语音风格和情感表达 2. Qwen3-TTS-VoiceDesign技术优势 Qwen3-TTS-12Hz-1.7B-VoiceDesign是一个端到端的语音合成模型,专门为声音设计场景优化。相比传统TTS系统,它在以下

NotoSansSC-Regular.otf介绍与下载

总体概述 NotoSansSC-Regular.otf 是 “思源黑体” 家族中用于简体中文的常规字重(Regular)的 OpenType 字体文件。它是由 Adobe 与 Google 合作领导开发的一款开源字体,旨在作为一款“全能型”字体,满足各种场景下的中文显示需求。 核心特点详解 1. 名称含义 * Noto: 名称源于“No Tofu”(没有豆腐)。其目标是消除在计算机上因缺少对应字体而显示的空白方块(俗称“豆腐块”☐),实现“无豆腐”的全球文字支持。 * SansSC: “Sans” 表示无衬线体,“SC” 代表“简体中文”。所以 NotoSansSC 就是“用于简体中文的无衬线字体”。 * Regular: 指字体的字重为“常规”或“正常”,不是细体(Light)

比肩英伟达Jetson Orin NX-国产机器人大脑RDK-S100评测

比肩英伟达Jetson Orin NX-国产机器人大脑RDK-S100评测

提起机器人开发平台,目前行业内较为流行的当属英伟达的Jetson Orin 和高通的RB5。凭借英伟达成熟的GPU技术,以及高通在手机SoC领域积累的高性能优势,二者能够较为顺畅地将既有技术栈迁移至机器人平台。然而,这些企业均来自国外。那么,国内是否也有同样出色的机器人平台呢?答案是肯定的——这正是本文将要为大家介绍的地瓜机器人RDK-S100。 地瓜机器人源自以自动驾驶SoC闻名业界的地平线机器人,目前专注于机器人相关领域的研发。近年来,公司已陆续推出X3、X5等芯片组平台,并实现大规模量产。而此次介绍的S100芯片组,则是其最新一代产品,对应地平线J6平台。与英伟达Orin Nano模组及高通RB5模组类似,S100芯片组同样采用SIP模组形式供货,集成有S100主控芯片、DDR内存及PMIC等关键部件。而RDK-S100,正是基于该SIP模组打造的官方评估板。 本文将从硬件,软件两个方面,大致介绍一下RDK-S100。 硬件介绍 开发板的外包装,正面是开发板的名称,背面的文字说明了开发板硬件的配置。 包装内包含开发板一个(SIP模组和散热器已经安装上去),电源一个

Stable Diffusion WebUI 本地部署完整教程

Stable Diffusion WebUI 本地部署完整教程

Stable Diffusion WebUI 本地部署完整教程(AUTOMATIC1111 版) 本教程基于 Windows 系统,适合 AI 绘画爱好者或初学者,旨在帮助大家从零部署并运行本地的 Stable Diffusion 模型界面(Web UI)。我们将从克隆项目、配置环境到运行界面,并附上常见网络问题的解决方案。 一、准备工作 1. 安装依赖 * Python 3.10.x * Git(推荐官网下载最新版) * 显卡驱动 + CUDA(NVIDIA 用户,建议驱动更新到最新版) 安装好后,确保 Python 和 Git 都加入了系统环境变量。 二、克隆项目仓库 使用如下命令克隆 AUTOMATIC1111 的 Web UI 项目: