FPGA行业应用二:通用仪器行业

news2024/11/27 9:42:13

通用仪器指的是电子测试技术中涉及的仪器仪表,如:万用表,示波器,信号发生器,波形发生器,频谱分析仪,功率计,电源,等…… 用于测量,测试,控制,监测。

【FPGA应用场景】

通用仪器产品对于FPGA芯片算是高度依赖,涉及数据采集,传输,信号处理,协议转换,信号生成模拟,数据显示等相关技术。

拿我了解的一家国内龙头示波器厂商为例,主要是示波器用得最多(一半以上),然后是任意波形发生吕,射频仪器(频谱仪,网络分析仪),射频源,还有一些像万用表一类的测量装置会用到FPGA。会用到各个档次的FPGA,从几K 到 几百K的FPGA容量都有涉及,

数据采集:
FPGA与AD/DA 配合使用,这个很好理解,将模拟信号转成数字信号后,就交给FPGA来处理,或转换或加工或显示,还有将数字信号转为模拟信号用于控制和输出。这个对于FPGA的在线处理能力要求很高,需要有高速,高带宽,高算力,当然,这和具体的设备要求有关。不同要求使用不同档次的FPGA。各个档次FPGA,,最小有用到几K规模,最大的是,跨度很大。

数据运算:
数据要显示成各种波形或者数值,或者针对不同的通讯协议的数据进行解析或者封包,需要有大量的运算,这里涉及到不同的算法。如果数据需要实时显示,这时处理速度和数据支持的带宽非常重要。大量使用到的资源,一般会是DSP,DSP的运算能力和仪器的要求有关,按照国内某家中低端示波器的厂商,认为他们 一般是 12 * 12,或者 12 * 16 即可,更高位的运算实际上对他们是一种浪费。而对于这种乘法器的使用量,他们反馈,多多益善,在使用X厂商的V5P,会有3500个左右的DSP。他们都可以完全用完。当然,还有可能用到RAM,一般使用 Block RAM。对于示波器,会提供大量的算法,一些用硬件来实现,一些使用FPGA的软核来实现。

数据缓存:
如果数据的处理并非实时,数据量又是巨大的,无法及时处理,这时往往需要有缓存,一般是使用DDR。在DDR写满后再慢慢的进行读处理。

IO封装:
对于I/O的封装,需要尽量多的I/O,保证并行的性能和可扩展性。

多片协同:
示波器是多通道的,所以存在多片FPGA配合协同使用场景(各自负责不同通道)。·

渲染/显示
有时也会使用FPGA来完成刷屏,一般使用BlockRAM作为显存。这些显示比较初级,小的逻辑就可以搞定。

配合处理器CPU(Soc)
有时会配合CPU来使用,但经常并不是使用SoC,而是通过PCIe和ARM CPU进行配合使用,操作系统使用linux,少量使用X86,主要使用ARM。实际上,通用仪器行业对于Soc的需求并不大,因为他们认为SoC会带来不灵活,被绑定,他们宁愿自已搭配处理器来完成,因为他们对于设备的体积没什么要求。

【客户产品】

换一个角度来看仪器行业,把客户产品分为两种类型,接收型设备(万用表、示波器、网络分析仪)和发射型设备(任意信号发生器、射频源)。

接收型设备:由采集卡(AD +FPGA)+ 公控板(处理器ARM或X86)组成系统,FPGA在采集卡上,负责处理AD的数字信号,进行数字信号处理工作卸载,将处理结果通过PCIe传输给工控板。发射型设备:射频源由发送卡(FPGA + DA) 完成。

总之,FPGA是在通用仪器应用是偏向数字信号处理。同一台设备中有可能用多片FPGA,比如高端的4通道示波器,会用2片FPGA,每片负责2个通道,再做一些互通、通道对齐的操作。

【板级框图】

以示波器为例:

【外围互联】(以某国内示波器厂商为例)

FPGA外围互联主要是和ADDA的JESD204B/C高速SerDes接口,以某国内厂商为例,目前最高是20Gbps x 12bit共计240Gbps的吞吐率。

和公控卡的CPU互联是PCIe Gen2x4,这个因为FPGA已经将数字信号处理卸载,和CPU通讯需要的带宽不高。另外因为AD数据量太大,无法做到实时处理,特别需要DDR外挂。最多的VU5P外挂了4组64位DDR4作为buffer。未来因为带宽需求更大,外围DDR已经没法满足需要,或者说对单板设计造成了过大的压力,已经在考虑用VU37P集成HBM的做产品。

【国内客户痛点】

AD高吞吐率和FPGA实时处理性能的矛盾,需要外挂DDR解决,所以需要的都是大封装器件。甚至会考虑HBM器件。

DSP资源几乎耗尽,目前鼎阳的AD分辨率都是12bit,因此乘法器只需要12x12 = 24bit。高宽度的DSP乘法器如不能拆分,使用起来很浪费。按照未来要求看,如果能将·27x27的乘法器拆分成2个比如12x16的乘法器,则会极大程度的改善DSP的资源紧张程度,成为FPGA器件核心竞争力。

对于这个行业理解不深,写得比较杂乱,后续有时间再深入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1056061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言编译与链接过程详解

C语言编译与链接过程详解 源文件 main.c #include <stdio.h>extern int data; extern int add(int a,int b);int a1; int a2 0; int a3 10;static int b1; static int b2 0; static int b3 20;int main() {int c1;int c2 0;int c3 30;static int d1;static int …

QQ通信协议

不管UDP还是TCP&#xff0c;最终登陆成功之后&#xff0c;QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80&#xff0c;采用UDP方式登陆的时候&#xff0c;端口是8000。因此&#xff0c;假如你所在的网络开放了80端口&#xff08;80端口是最常用端口。。就是…

轻松掌握二叉树和堆(保姆级详解,小白必看系列)

目录 一、前言 二、二叉树的概念和结构 &#x1f34e;二叉树的概念 &#x1f350;特殊的二叉树&#xff08;重点&#xff09; &#x1f349;二叉树的性质 &#xff08;超重点------面试做题会用&#xff09; &#x1f353;二叉树的概念选择题 &#x1f34c;二叉树的存储…

三、逻辑代数基础

1.简介 在数字电路中&#xff0c;我们用两种数码1和0来表示一个信号的两种不同的逻辑状态。 例如&#xff1a;用1表示开关闭合&#xff0c;电路导通&#xff1b;用0表示开关打开&#xff0c;电路断开。 这两种对立的逻辑关系就称之为二值逻辑。 当两种数码表示不同的逻辑状态…

Acwing 845. 八数码

Acwing 845. 八数码 知识点题目描述思路讲解代码展示 知识点 BFS 题目描述 思路讲解 分析一下y总的思路&#xff0c;也相当于做个课堂笔记吧&#xff08;这也太巧妙了吧&#xff0c;讲解视频不到20分钟&#xff0c;我愣是半天没想出来 1、题目的目标 2、移动情况 移动方式…

基于Java的城市天然气费管理系统的设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

S5PV210裸机(一):裸机基础,arm指令,210启动刷机

本文主要探讨s5pv210裸机基础知识&#xff0c;arm指令&#xff0c;以及210启动刷机相关知识。 Soc与cpu Soc是cpu与其他外设的集合即SoC<>cpuDDRflashutral...... 地址总线与数据总线 cpu通过地址总线寻址即传输DDR或flash等地址,通过数据总线与外设进…

【算法优选】双指针专题——贰

文章目录 &#x1f60e;前言&#x1f332;[快乐数](https://leetcode.cn/problems/happy-number/)&#x1f6a9;题目描述&#x1f6a9;题⽬分析&#xff1a;&#x1f6a9;算法思路&#xff1a;&#x1f6a9;代码实现&#xff1a; &#x1f38b;[盛水最多的容器](https://leetco…

第四十章 持久对象和SQL - Object IDs

文章目录 第四十章 持久对象和SQL - Object IDsObject IDsID是如何确定的访问 ID 第四十章 持久对象和SQL - Object IDs Object IDs 每个对象在其所属的每个范围内都有一个唯一的 ID。在大多数情况下&#xff0c;使用此 ID 来处理对象。此 ID 是类中 %Persistent 的以下常用方…

如何制作在线流程图?6款在线工具帮你轻松搞定

流程图&#xff0c;顾名思义 —— 用视觉化的方式来描述一种过程或流程。它可以应用于各种领域&#xff0c;从业务流程&#xff0c;算法&#xff0c;到计算机程序等。然而&#xff0c;在创建流程图时&#xff0c;可能会遇到许多问题或者困惑&#xff0c;如缺乏专业的设计技能&a…

锚框_的标定

一、查漏补缺、熟能生巧&#xff1a; 1.关于fix.axis.add_patch在原来图像的坐标系同添加 边框的函数的使用&#xff1a; 2.torch.arange( h , device)生成tensor的等差数组: 3.torch.T&#xff08;&#xff09;就是transpose转置操作的函数咯: 4.torch.repeat操作&#xff0c…

静态数码管显示+动态数码管显示——“51单片机”

各位CSDN的uu们好呀&#xff0c;今天小雅兰的内容还是51单片机的知识&#xff0c;是为静态数码管显示和动态数码管显示&#xff0c;下面&#xff0c;让我们进入51单片机的世界吧&#xff01;&#xff01;&#xff01; 静态数码管显示 动态数码管显示 源代码 静态数码管显示 …

网络运营推广过程中客户说需要资质

大家好&#xff0c;我是网络工程师成长日记实验室的郑老师&#xff0c;您现在正在查看的是网络工程师成长日记专栏&#xff0c;记录网络工程师日常生活的点点滴滴 一个同学跟我学网络运营&#xff0c;他说他现在也学我做弱电。然后他说他接到电话&#xff0c;对方都是问资质&am…

首发Orin N芯片,腾势追赶「智驾第一梯队」

张祥威 编辑 | 德新 英伟达最新一代芯片—— Orin N&#xff0c;腾势拿下 首发。 9月26日&#xff0c;腾势N7推出「高快智驾包」。官方描述中&#xff0c;这一选装将“基于新一代NIVIDIA DRIVE ORIN的 高性能平台”&#xff0c;可以实现高速NOA。 此前&#xff0c;腾势的…

Acwing 843. n-皇后问题

Acwing 843. n-皇后问题 知识点题目描述思路讲解代码展示 知识点 DFS剪枝 题目描述 思路讲解 代码展示 第一种搜索方式&#xff1a; #include <iostream>using namespace std;const int N 20;int n; char g[N][N]; bool col[N], dg[N * 2], udg[N * 2];void dfs(in…

常见开发、测试模型

开发模型瀑布模型螺旋模型增量、迭代敏捷开发模型 测试模型V模型W模型 开发模型 瀑布模型 瀑布模型的每一个阶段都只执行一次&#xff0c;是线性顺序进行的软件开发模式。 优点&#xff1a;每个阶段做什么&#xff1b;产生什么非常清晰&#xff1b; 缺点&#xff1a;风险往…

Python3数据科学包系列(三):数据分析实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 一: 数据分析与挖掘认知升维 我们知道在数据分析与数据挖掘中,数据…

15: 8种GPIO模式和其他资源

目录 一:GPIO 1:简历 2:模式 3:位结构 4:八种模式 A: 浮空/上拉/下拉输入 B:模拟输入 ----GPIO_Mode_AIN C: 开漏/推挽输出 D:复用开漏/推挽输出 E: 模式总结 二:其他资源 1:片上资源/外设 2:引脚定义表 一:GPIO 1:简历 GPIO&#xff08;General Purpose Input …

排序---P1012 [NOIP1998 提高组] 拼数

思路&#xff1a; 这道题的思路就是进行排序&#xff0c;但不同于以往是根据数的大小排序&#xff0c;这道题是根据最高位最大就放在越前面。那么要怎么解决最高位越大排得越前这个问题呢&#xff0c;我们就会想到用字符串比较大小&#xff0c;就可以解决&#xff0c;所以我们…

RESTFul风格接口如何设计

RESTFul风格设计规范 HTTP协议请求方式要求 REST 风格主张在项目设计、开发过程中&#xff0c;具体的操作符合HTTP协议定义的请求方式的语义。 操作请求方式查询操作GET保存操作POST删除操作DELETE更新操作PUT 需求分析 数据结构&#xff1a; User {id 唯一标识,name 用户名&a…