FMC、FMC+ 详解

FMC、FMC+ 详解

文章目录

FMC 简介

FPGA 对 I/O 需求的变化适应性很强。在重新配置 FPGA 以实现新协议之后,只需更换物理 I/O 组件和连接器即可。除非 I/O 组件在扩展卡模块,否则需要改变板级设计。为了避免与设计变更相关的成本和工作量,设计人员一直依赖于 PCI Mezzanine Card (PMC) 和 Switched Mezzanine Card (XMC) 标准。然而,这些标准是多年前为单板计算机(SBCs)等通用解决方案开发的,而不是 FPGA。2008 年 7 月,随着美国国家标准协会(ANSI)批准和发布 VITA 57 FPGA Mezzanine Card (FMC) 标准,这种情况发生了变化。
下图为普通板级设计和基于 FMC 扩展卡的设计的区别:

在这里插入图片描述


在这里插入图片描述


FMC 标准由从 FPGA 供应商到最终用户的公司联盟开发,旨在为位于基板(载卡)上的 FPGA 提供标准的扩展卡外形、连接器和模块化接口。以这种方式将 I/O 接口与 FPGA 解耦,简化了 I/O 接口模块设计,同时最大限度地提高了载卡的可重复使用能力。与使用 PCI、PCI-X、PCle 或 Serial RapidIO 等复杂接口的 PMC 和 XMC 标准不同,FMC 标准只需要直接连接到载卡上的 FPGA 的核心 I/O 和收发器电路。复杂接口标准在 FMC 扩展卡上实现。如下图所示,FMC 扩展卡可以支持以下接口标准:

  • 模拟 I/O:ADC 和 DAC
  • 数字并行 I/O:例如,Camera Link,LVDS,FPDP
  • 数字高速串行 I/O:例如,光纤,串行 FPDP,Gb/10Gb 以太网
在这里插入图片描述


在这里插入图片描述


FMC 标准为电路板开发人员提供稳定,直接和兼容的标准。FMC 标准的优点如下:

  1. 减少对扩展卡上复杂协议逻辑的需求
  • 最大限度地提高数据吞吐量
  • 最大限度地降低延迟
  • 降低 FPGA 设计复杂性
  • 最大限度地减少系统开销

比 PMCI、XMC 扩展卡具有更好的散热性能

在这里插入图片描述

FMC 标准定义了单宽度(69mm x 76.5mm)和双宽度(139mm x 76.5mm)的外形标准。单宽度模块支持单个连接器连接到载卡。双宽度模块专为需要额外带宽、更多前面板空间或更大 PCB 面积的应用而设计,最多支持两个连接器。FMC 标准的两个外观标准提供了额外的灵活性,可以根据空间、I/O 需求优化电路板。

一旦选定了外形尺寸,电路板开发人员就可以从两种不同的连接器中进行选择,作为从 FMC 标准到载卡上 FPGA 的接口:具有 160 引脚的低引脚数(LPC)连接器和具有 400 引脚的高引脚数(HPC)连接器。两者都支持高达 2 Gb/s 的单端和差分信号,以及高达 10 Gb/s 的 FPGA 串行收发器信号。LPC 连接器提供 68 个用户定义的单端信号(或 34 个用户定义的差分信号)。它还提供了 1 对串行收发器信号、时钟、一个 JTAG 接口和一个 I2C 接口,作为对基本智能平台管理接口(IPMI)命令的可选支持。HPC 连接器提供 160 个用户定义的单端信号(或 80 个用户定义的差分信号),10 对串行收发器信号和额外的时钟。

在这里插入图片描述


HPC 和 LPC 连接器使用相同的机械结构。唯一的区别是哪些信号是实际上被使用的。因此,具有LPC 连接器的扩展卡可以插入到 HPC 端子,并且如果设计得当,当插入到 LPC 端子时,具有 HPC 连接器的扩展卡可以提供功能的子集。下图显示了 Xilinx 的一个开发板,它具有 Virtex®-6 FPGA 和两个 FMC 连接器(一个 LPC 和一个 HPC)。

在这里插入图片描述

FMC 引脚输出定义

High-pin count (HPC) connector, HPC pinout

HPC 连接器有 10 排(A、B、C、D、E、F、G、H、J、K),每排 40Pin。下表总结了 HPC 连接器的引脚。
HPC connector pin summary

General pin functionPin count
Gigabit data40
Gigabit clocks4
User data160
User clocks8
I2C2
JTAG5
State flags5
Power supply15
Ground159
Reserved2
在这里插入图片描述


Footprints can be viewed in Lib_Altium repository.

在这里插入图片描述

Low-pin count (LPC) connector, LPC pinout

LPC 连接器有 4 排(C, D, G, H),每排 40Pin。下表总结了 LPC 连接器的引脚。
LPC connector pin summary

General pin functionPin count
Gigabit data4
Gigabit clocks2
User data68
User clocks4
I2C2
JTAG5
State flags4
Power supply10
Ground61
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Footprints can be viewed in Lib_Altium repository.

在这里插入图片描述

Pin and signal description

在这里插入图片描述


在这里插入图片描述

FMC+ 简介

FMC+ 是 FMC 的增强功能。它将 FPGA 串行收发器信号从 10 对增加到 32 对,数据速率高达 28Gbps。FMC+ 载卡允许向后兼容 FMC 扩展卡。FMC 要求由 ANSI/VITA 57.1 标准定义。FMC+ 要求由 ANSI/VITA57.4 标准定义。

VITA57 标准更新历史

在这里插入图片描述

VITA57.4 标准推出的原因

在这里插入图片描述

FMC+ 引脚输出定义

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

Altera 开发板的 FMC 引脚定义

英特尔® Arria® 10 GX FPGA 开发套件

订购代号:DK-DEV-10AX115S-A
https://www.intel.cn/content/www/cn/zh/products/details/fpga/development-kits/arria/10-gx.html

在这里插入图片描述

主板原理图:
https://www.intel.cn/content/www/cn/zh/content-details/649803/arria-10-fpga-development-kit-dk-dev-10ax115s-a-board-schematic.html

Xilinx 开发板的 FMC 引脚定义

AMD Kintex 7 FPGA KC705 评估套件

https://china.xilinx.com/content/xilinx/zh/products/boards-and-kits/ek-k7-kc705-g.html

在这里插入图片描述


主板原理图(需注册 AMD 账号才可下载):
https://china.xilinx.com/member/forms/download/design-license.html?cid=188020&filename=kc705_Schematic_xtp132_rev1_1.pdf

AMD Virtex 7 FPGA VC709 连接功能套件

https://china.xilinx.com/products/boards-and-kits/dk-v7-vc709-g.html

在这里插入图片描述


主板原理图(需注册 AMD 账号才可下载):
https://china.xilinx.com/member/forms/download/design-license.html?cid=201032&filename=vc709_Schematic_xtp213_rev1_0.pdf

ALINX 开发板

Xilinx Kintex UltraScale FMC HPC PCIE 光纤 FPGA 开发板 XCKU040 AXKU041

在这里插入图片描述


主板原理图:
https://www.alinx.com/public/upload/file/AXKU041_UG.pdf

参考资料:

  1. https://fmchub.github.io/appendix/VITA57_FMC_HPC_LPC_SIGNALS_AND_PINOUT.html
  2. ANSI/VITA 57.1-2008
  3. Overview of VITA57 – FMC, Curtiss Wright, www.vita.com/Resources/Learn/FMC%20Overview.pptx
  4. I/O Design Flexibility with the FPGA Mezzanine Card (FMC), Xilinx WP315
  5. FMCHUB - FPGA MEZZANINE CARDs
  6. Lib_Altium, Altium Designer libraries for ANSI/VITA 57 FPGA Mezzanine Card (FMC) Standard
  7. FMC LPC Breakout board, Datasheet of Open-source hardware FMC module

Read more

Python3.8图像生成应用:Stable Diffusion轻量化部署

Python3.8图像生成应用:Stable Diffusion轻量化部署 想体验AI绘画的魅力,但被复杂的安装步骤和庞大的模型文件劝退?今天,我们就来聊聊如何在Python3.8环境下,用最轻量、最省心的方式,把Stable Diffusion这个强大的图像生成模型跑起来。 你不需要准备昂贵的显卡,也不用折腾几个小时去配置环境。我们将借助一个预置好的Miniconda-Python3.8镜像,在几分钟内搭建一个独立的、干净的AI绘画工作台。无论你是想快速生成创意图片,还是作为开发者测试模型,这个方法都能让你绕过所有坑,直达终点。 1. 为什么选择这个方案? 在开始动手之前,我们先搞清楚一件事:市面上部署Stable Diffusion的方法很多,为什么偏偏推荐这个基于Miniconda-Python3.8的方案? 简单来说,就三个字:省、快、稳。 * 省心:Miniconda是一个轻量级的Python环境管理器。它最大的好处是能为你创建一个“隔离”的Python环境。你可以把它想象成一个独立的“工作间”,在这个工作间里安装的所有软件包,都不会影响到你电脑上其他项目的运

轮腿机器人代码调试补充

轮腿机器人代码调试补充

* @Author: 星夜雨夜 * @brief: 轮腿基础代码编写调试补充,移植自达妙开源代码 * @attention:笔者默认读者已经熟练掌握机甲大师RoboMaster c型开发板例程代码的底盘代码和INS_task.c陀螺仪代码、熟练掌握各电机can协议和遥控器dbus协议。默认读者已能看懂轮腿圣经和玺佬的五连杆运动学解算与VMC。建议读者仔细研读轮腿圣经3~5遍,边看MATLAB文件和达妙开源代码,掌握轮腿调试和编写大致思路。一定要注意各状态变量的单位和正负号是否正确,轮腿调试过程中,最难之处在于极性是否正确。本车所有电机均为逆时针旋转为正方向。 !!!强烈建议读者在开发轮腿之前,先运用LQR算法完成一阶倒立摆的平衡小车(即板凳模型)的实现 !!!如果时间紧,其实完全可以不搞仿真,直接实机开调。仿真不疯,实物不一定不疯;但实物疯,仿真必疯。 调试成果展示视频链接(抖音):轮腿机器人 一阶倒立摆平衡小车参考资料: 1.本科毕设 轮腿式双足机器人 开源文件演示_哔哩哔哩_bilibili(资料在视频评论区) 2.达妙平衡小车开源:[达妙科技开源系列-平衡小车] 第一弹_哔哩

【GitHub项目推荐--AI-Goofish-Monitor:闲鱼智能监控机器人完全指南】

简介 AI-Goofish-Monitor 是一个基于 Playwright 和 AI 技术的闲鱼(Goofish)多任务实时监控与智能分析工具。该项目由 dingyufei615 开发,通过先进的浏览器自动化技术和多模态大语言模型,为用户提供智能化的闲鱼商品监控解决方案。该工具不仅具备强大的数据采集能力,还配备了功能完善的 Web 管理界面,让用户能够轻松管理和配置监控任务。 🔗 GitHub地址 : https://github.com/dingyufei615/ai-goofish-monitor ⚡ 核心价值 : AI智能分析 · 多任务监控 · 实时通知 · Web管理界面 技术特色 : * AI驱动 :集成多模态大语言模型(GPT-4o、Gemini等),深度分析商品信息 * Web管理 :完整的可视化界面,无需命令行操作 * 多平台通知 :支持 ntfy.sh、企业微信、Bark 等多种通知方式 * 智能过滤 :基于自然语言的任务创建和AI分析标准生成 * 云原生支持 :提供

采摘机器人毕业设计实战:从机械控制到感知决策的全栈实现

最近在指导几位同学完成采摘机器人相关的毕业设计,发现大家普遍在从理论到实践的转化过程中遇到不少共性问题。比如算法在电脑上跑得好好的,一上实机就各种延迟、丢帧;机械臂的运动规划和视觉感知像是两个独立的系统,难以协同;还有系统集成后调试困难,牵一发而动全身。结合这些实际痛点,我梳理了一套基于ROS 2和STM32的全栈实现方案,希望能为正在或即将进行类似毕设的同学提供一个清晰、可复现的参考路径。 1. 毕业设计常见痛点深度剖析 在开始技术选型之前,我们先明确要解决哪些核心问题。很多同学的毕设停留在仿真或单个模块演示阶段,难以形成完整的闭环系统,主要痛点集中在以下几个方面: 1. 算法与执行器严重脱节:这是最常见的问题。同学们往往在Jupyter Notebook或OpenCV的窗口中完成了漂亮的果实识别,识别框画得精准,但识别结果如何转换成机械臂末端执行器的空间坐标?这个坐标转换涉及相机标定、手眼标定、坐标系变换等一系列步骤,任何一个环节出错都会导致“看得见但抓不着”。更复杂的是,视觉算法输出的频率(如10Hz)与底层电机控制频率(可能高达100Hz)不匹配,如果没有良好的中间层进