如何将MCU应用到FPGA中:具体操作(3)

当我开始这个项目的时候,我已经了解到fpga的好处在于它可以将多种功能集成到单一的芯片中,并可以通过重配置而修改芯片功能。但是这种灵活性也让我想知道:我应该如何处理fpga与外部组件的接口以及接口连线等问题呢?由于fpga的平均设计周期为两到三年,并且考虑到诸如usb 3.0到usb type-c等通信技术的更新换代,我很难理解fpga如何才能真正地带来好处。
和处理大多数mcu项目时一样,我打算从示例代码开始,然后通过各种示例搭建自己的项目。但是对于每一个例子,我发现越来越不熟悉,并且结果也越来越混乱。在这里代码被用来定义对象和调用函数,这在mcu里倒是很常见,但是有些定义是在高阶函数里进行的,而其他的则是在另一个地方。像往常一样,这些函数被用来执行一个功能或任务,但有一些函数要依赖于其他函数而另一些函数则是独立的。正如我试图对它们发表评论时所发现的那样,那些没有被直接调用的代码仍然是代码功能的关键。
我决定在youtube上搜索“intel fpga setup cyclone v”来寻找示例和“setup&go”培训。当我浏览这些内容时,我发现一个共同的主题(图1):
1. 看似不连贯的一组命令仍然有效,但似乎并不完整。
2. 缺乏不支持fpga的外部模块或组件。
有了这些观察,我回顾了更多设计样本和代码,并发现了英特尔cyclone v和hps fpga架构显著的优势。图1显示了hdmi命令集,其中包括一系列未被调用的代码。它们不是按顺序运行的,而是并行运行的。它们的功能很像回调函数,在hps中如果有来自较高级别控制器的数据调用时,这些回调函数就会被激活。然后编译器就会提高向mcu传递信息的能力,反之亦然。在这两者之间需要做的就是协调定义和时间安排。
图1:hdmi命令集,其中包括一系列未被调用的代码。
项目流程如下所示:
linux hps抓取图像。
linux将opencv处理过程移交给fpga。
linux调整图像。
fpga接收原始图像信息,并将其编码为hdmi接口。
这是使用hps和fpga的完美示例。fpga能够处理大量重复的运算并实现协议,而linux和mcu则处理了程序的动态元素。这让我看到了fpga的优势。
当我深入研究仅含有mcu的设计时,我发现了fpga的其他优点:它需要很少的元件,而且可以使成本更低,性能更好的mcu获得非常好的效果。例如,仅含mcu的设计将需要更高的a52等条件来进行图像处理,此外还需要一个gpu来进行图形加速处理和更多的ram来完成整个设计。设计完成后,最终结果仍然是一个锁定的,有限的可升级模块。有了fpga,这些组件便可以被引入同一个芯片,所以产品级pcb设计更为简单,因为它需要较少的的组件接口,而且由此产生的模块仍然可以升级或优化。
我头顶上的灯泡在几英里外都可能被看到。
将多功能集成到单个电路上,减少接口数量,或者根据线路修改功能等这些都是fpga的优势,但它的好处远不止这些。fpga改变了我为了高效完成任务而增加外部组件的方式:不是“按顺序执行步骤1,步骤2,步骤3”,现在我正在考虑这样完成任务:“执行步骤a,b,c,并且当执行完b之后,就执行d”。现在,为什么要花时间来研究mcu到fpga开发转换的原因也已变得越来越明晰了。

LCD显示器概述
晶振pF是什么?怎样去匹配电容呢?
SPMC65P2408A在电冰箱中的应用
凭借虚幻引擎和AR技术,任何人都可以将名为Dex的可爱拉布拉多带进客厅
室内小间距LED显示屏的定义及优点
如何将MCU应用到FPGA中:具体操作(3)
下代移动芯片:Intel后来欲居上 三星争利八核
基于视频的车位引导及反向寻车系统
RA4M2 MCU如何设置ADC窗口比较功能
Nexperia|推出适用于24V电源系统的车载网络ESD保护产品组合
高压变频器在生物制药风机上的应用
模拟电路网络课件 第十一节:小信号模型分析法
PetaLinux操作系统特点和结构及其移植方法
台积电取代三星、英特尔?首次站上全球半导体龙头
如何将两个12V电源组合成24V电源?
WM5100引领新型的音频中枢
应广单片机开发实例MCU PMS150C驱动300个WS2812B
华为P10被爆没有疏油层,传说中的脏屏事件用户大失所望!
苹果13最新官方消息
雷蛇智能手机成为了目前市面上最受期待的安卓智能手机之一