关注+星标公众,不错过精彩内容

来源 | 电子电路开发学习

学习单片机的同学,一般都会接触FPGA。

有读者大概问了这样的问题:FPGA能做什么?比单片机厉害吗?

这么说吧,FPGA在某方面也能实现单片机做的事,在某些领域,FPGA远比单片机强的多。

当然,FPGA和单片机各有各的特点,在应用上也有一些区别。

下面说说FPGA 常见的几大应用的领域:

1.通信系统

FPGA 在通信领域的应用可以说是无所不能,得益于 FPGA 内部结构的特点,它可以很容易地实现分布式的算法结构,这一点对于实现无线通信中的高速数字信号处理十分有利。

因为在无线通信系统中,许多功能模块通常都需要大量的滤波运算,而这些滤波函数往往需要大量的乘和累加操作。而通过FPGA 来实现分布式的算术结构,就可以有效地实现这些乘和累加操作。

尤其是 Xilinx 公司的 FPGA 内部集成了大量的适合通信领域的一些资源比如:基带处理(通道卡)、接口和连接功能以及 RF(射频卡)三大类:

  • 基带处理资源基带处理主要包括信道编解码(LDPC、Turbo、卷积码以及 RS 码的编解码算法)和同步算法的实现(WCDMA 系统小区搜索等)。

  • 接口和连接资源接口和连接功能主要包括无线基站对外的高速通信接口(PCI Express、以太网 MAC、高速 AD/DA 接口)以及内部相应的背板协议(OBSAI、CPRI、EMIF、LinkPort)的实现。

  • RF 应用资源RF 应用主要包括调制/解调、上/下变频(WiMAX、WCDMA、TD-SCDMA 以及 CDMA2000 系统的单通道、多通道 DDC/DUC)、削峰(PC-CFR)以及预失真(Predistortion)等关键技术的实现。总而言之只要你 FPGA 学的好,在通信领域你绝对可以大展身手。

2.数字信号处理

在数字信号处理领域 FPGA 同样所向披靡,主要是因为它的高速并行处理能力。FPGA最大优势是其并行处理机制,即利用并行架构实现数字信号处理的功能。

这一并行机制使得 FPGA 特别适合于完成 FIR 等数字滤波这样重复性的数字信号处理任务,对于高速并行的数字信号处理任务来说,FPGA性能远远超过通用 DSP 处理器的串行执行架构,还有就是它接口的电压和驱动能力都是可编程配置的不像传统的 DSP 要受指令集控制,因为指令集的时钟周期的限制,不能处理太高速的信号,对于速率级为 Gbps的 LVDS 之类信号就难以涉及。所以在数字信号处理领域 FPGA 的应用也是十分广泛的。

3.视频图像处理

随着时代的变换,人们对图像的稳定性、清晰度、亮度和颜色的追求越来越高,像以前的标清(SD)慢慢演变成高清(HD),到现在人们更是追求蓝光品质的图像。这使得处理芯片需要实时处理的数据量越来越大,并且图像的压缩算法也是越来越复杂,使得单纯的使用 ASSP 或者 DSP 已经满足不了如此大的数据处理量了。

这时 FPGA 的优势就凸显出来了,它可以更加高效的处理数据,所以在图像处理领域在综合考虑成本后,FPGA 也越来越受到市场的欢迎。

4.高速接口设计

其实看了 FPGA 在通信领域和数字信号处理领域的表现,我想大家也已应该猜到了在高速接口设计领域,FPGA 必然也是有一席之地的。它的高速处理能力和多达成百上千个的 IO 决定了它在高速接口设计领域的独特优势。

比如说我需要和 PC 端做数据交互,将采集到的数据送给 PC 机处理,或者将处理后的结果传给 PC 机进行显示。PC 机与外部系统通信的接口比较丰富,如 ISA、PCI、PCI Express、PS/2、USB 等。

传统的做法是对应的接口使用对应的接口芯片,例如 PCI 接口芯片,当我需要很多接口时我就需要多个这样的接口芯片,这无疑会使我们的硬件外设变得复杂,体积变得庞大,会很不方便,但是如果使用 FPGA 优势立马就出来了,因为不同的接口逻辑都可以在 FPGA 内部去实现,完全没必要那么多的接口芯片,在配合 DDR 存储器的使用,将使我们接口数据的处理变得更加得心应手。

5.人工智能

如果大家比较喜欢关注科技板块的新闻的话最近一定会被 5G 通信和人工智能充斥眼球,确实 21 世纪已经不知不觉走到了 2020 年,在这 20 年间,人工智能迅速发展,5G 的顺利研发也使人工智能如虎添翼,可以预见,未来必将是人工智能的天下。FPGA 在人工智能系统的前端部分也是得到了广泛的应用,例如自动驾驶,需要对行驶路线、红绿灯、路障和行驶速度等各种交通信号进行采集,需要用到多种传感器,对这些传感器进行综合驱动和融合处理就可以使用 FPGA。

还有一些智能机器人,需要对图像进行采集和处理,或者对声音信号进行处理都可以使用 FPGA 去完成,所以 FPGA 在人工智能系统的前端信息处理上使用起来得心应手。

6.IC 设计

IC 这个词大家可能一听到就觉得特别高深,不是凡人所能触及到的,而 IC 设计更是一些神人才能胜任的工作。不可否认的是 IC 设计门槛确实比较高,但是我们也没必要把它过于神话,其实简单点来讲我们可以拿 PCB 设计来与之比较,PCB 是拿一个个元器件在印制线路板上去搭建一个特定功能的电路组合,而 IC 设计呢是拿一个个 MOS 管,PN 节在硅基衬底上去搭建一个特定功能的电路组合,一个宏观一个微观。

PCB 如果设计废了大不了重新设计再打样也不会造成太大损失,但是如果 IC 设计废了再重新设计那损失就很惨重了,俗话说大炮一开,黄金万两,那么在 IC 领域光刻机一开黄金万两也不是吹的,光刻胶贵的要命,光刻板开模也不便宜,加上其他多达几百上千道工序,其中人力、物力、机器损耗、机器保养,绝对是让人肉疼的损失,所以 IC 设计都要强调一版成功。

保证 IC 一版成功就要进行充分的仿真测试和 FPGA 验证,仿真验证是在服务器上面跑仿真软件进行测试,类似 ModelSim/VCS 软件;FPGA 验证主要是把 IC 的代码移植到 FPGA 上面,使用 FPGA 综合工具进行综合、布局布线到最终生成 bit 文件,然后下载到 FPGA 验证板上面进行验证,对于复杂的 IC 我们还可以给他拆成几个部分功能去分别验证,每个功能模块放在一个 FPGA 上面,FPGA 生成的电路非常接近真实的 IC 芯片。这样极大的方便我们 IC 设计人员去验证自己的 IC 设计。

其他

比如电力行业的高速数据采集,医疗行业的高速、大数据量的模拟量采集传输,军工行业的雷达、卫星、制导系统等等都是FPGA的应用领域。

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享

FPGA能做什么?比单片机厉害吗?相关推荐

  1. 为什么有些没读过书的人做生意却很厉害?

    ‍ ‍ 1.为什么有些没读过书的人做生意却很厉害? 有好学历的人还能做好生意,其实是非常难的. 学滑雪的时候,教练会说,小孩学起来快,因为小孩脑子里没有很多固定习惯,也缺乏恐惧感.但成年人已经有很多固 ...

  2. 入门必做的51单片机实验2----》利用外部中断的方法来控制发光二极管和共阴极数码管显示十六进制的0到F

    嘿!各位中午好! 我是肖肖的猪会飞 欢迎收看肖小猪频道 刚刚做了个单片机实验->ヽ( ̄ω ̄( ̄ω ̄")ゝ 分享一下 文章目录 前言 一,实验题目 二,程序 三,仿真效果 前言 此实验为 ...

  3. 导纳矩阵 matlab,【MATLAB代做|FPGA代做】导纳矩阵计算IEEE9

    核心提示:[MATLAB代做|FPGA代做]导纳矩阵计算IEEE9... FPGA嵌入式代做,ZYNQ代做,APAC代做 %这是导纳矩阵,IEEE9节点的例子 Ybus(1,1)=0 -17.6367 ...

  4. matlab代做mhslogic,MATLAB代做|FPGA代做|simulink代做——基于遗传算法的车间布局优化MATLAB源码...

    MATLAB代做|FPGA代做|simulink代做--基于遗传算法的车间布局优化MATLAB源码 添加时间:2019-12-8 来源:本站整理 基于遗传算法的车间布局优化MATLAB源码 车间布局优 ...

  5. 本科阶段能在FPGA上做一个CPU并运行自己写的操作系统算什么水平?

    hi , 大家好,前几天逛知乎,看到一个比较厉害学生,自己研发完成CPU,操作系统,编译器,编程语言,还用自己设计的编程语言开发了一些应用软件,确实学习能力很强!值得我们学习! 作者:Max Xing ...

  6. 51单片机可以用来做什么?单片机可以做的小产品

    51单片机麻雀虽小五脏俱全,在家用.玩具等消费类领域有非常多的应用. 新手刚学习完51单片机以后,不要直接就进阶到STM32. 而是通过51单片机来做一些小产品来巩固下编程基础,当你轻松玩转几个项目的 ...

  7. 用python编写一个篮球计分系统_怎样做一个 基于单片机的篮球记分系统?

    利用单片机的定时器,中断可通过按键+或-时间的分.时,比分通过按键扫描函数实现+或-,这些LCD1602显示都够了,报警的话可设置成定时或者按键人工控制警告,用蜂鸣器,例如24s或者8s为例等. 以上 ...

  8. 施努卡:国内机器视觉公司(哪些公司做机器视觉检测特别厉害的)

    机器视觉检测随着发展,越来越多的企业需要用到机器视觉检测,传统的人工检测不仅速度慢.效率也低,就造成了市场需求,大量的工业需求为工业机器视觉检测技术的落地提供了丰富的应用场景,促进视觉技术在实践中不断 ...

  9. 用单片机用c语言做闹钟,基于单片机与ds1302时钟芯片的电子闹钟C程序

    原标题:基于单片机与ds1302时钟芯片的电子闹钟C程序 #include #define w_second 0x80 //秒写入地址 #define w_minute 0x82 //分写入地址 #d ...

最新文章

  1. 文件翻译002片:Process Monitor帮助文档(Part 2)
  2. java得出两个日期之间所有日期
  3. gis可达性分析步骤_这个 Python 项目厉害了!多个实战案例教你分析时空数据处理...
  4. python 命令行参数-Python 获得命令行参数的方法(推荐)
  5. SSM实现个人博客-day02
  6. Git使用列表(四)
  7. Net设计模式实例之代理模式(Proxy Pattern)
  8. DataSet与DataReader的区别
  9. 操作系统定义、功能、特征、分类介绍
  10. MySQL数据库基础
  11.  Windows socket之IO完成端口(IOCP)模型开发
  12. Java网络编程(两种聊天室:TCP和UDP)
  13. SQL注入了解认识及注入方式
  14. Java语言的关键特性有哪些?
  15. 发现一个国外用来做参与式及知识迁移的网络课件 messenger-education
  16. 在线便携小风扇链接,带给你清凉一夏
  17. 深度解读互联网新时代:Web3.0
  18. java咖啡机如何清洗_咖啡过滤器怎么清洗
  19. 第二章 第二节课 等效电路 惠斯通电桥 等效变换
  20. WebSocket和SocketIO总结

热门文章

  1. 2080 Calendar
  2. 智能车竞赛技术报告 | 智能视觉组 - 哈尔滨工程大学 - 济海追风0队
  3. JavaScript内置对象(内置对象、查文档(MDN)、Math对象、日期对象、数组对象、字符串对象)
  4. android 如何给图片添加水印
  5. CentOS 8 下载中文输入法的问题
  6. 红米手机4X怎么刷入开发版启用ROOT权限
  7. Maven工程错误 之 Failure to transfer org.codehaus.plexus:plexus-archiver:pom:1.0
  8. 升级win8后视频没有图像只有声音的一个解决方法
  9. 基于单片机(STC89C52)的数字频率计
  10. abovedisplayskip无效_latex中页面距离的设置