扩大fpga对物联网发展的吸引力---凯利讯半导体

  随着物联网应用程序的普及,嵌入式开发社区的压力也在不断增加,以平衡可用的计算资源、延迟、成本和每个设计的大小。对云连接的关注也被看作是对某些开发的挑战,因为它们的实时性质,导致了混合的“雾”计算方法。提供本地网关为雾方法提供一个前提云方面可能需要相当高的计算需求和算法处理。对许多设计人员来说,开发网关设备的挑战在于了解其计算需求的多样性。一些应用程序,特别是在工业物联网部署中发现的应用程序,可能涉及相当复杂的电机控制或视觉处理任务。对于这些要求,不仅要求高水平的计算能力,而且要求具有实时的确定性行为。虽然高端cpu通常是首选的设备,但仍有许多其他设备吸引了开发人员的注意。其中一种是现场可编程门阵列(FPGA),由于其具有较强的确定性能力,它正快速获得动力。


  那些不熟悉使用fpga的人面临着许多关于这些设备的复杂性、成本和耗电量的神话。许多开发人员认为,fpga可能只适合高度专业化的、高成本的军事系统,但目前的情况已经完全脱离了这种情况。在当今的云连接世界中,fpga最大的应用程序是在数据中心应用程序中,使用神经网络的深度学习技术来进行图像识别搜索,此外还有加速搜索功能。

  毫无疑问,在考虑使用FPGA时,那些精通于构建微控制器或基于微处理器系统的嵌入式开发人员将会被前面的学习曲线所吓倒。最重要的是,显著的差异将从基于软件的思维过程转变为硬件“门”的方法。被认为是最接近设计定制的集成电路,做你想做的到底是什么,通用的FPGA本质上是一个空白的画布盖茨和细胞,织物程序或连接在一起使用硬件描述语言(HDL)(图1)。电子工程师研究数字逻辑会觉得在家里很快一个FPGA背后的基本概念,而其他人可能会发现网上这方面的进修课程有用。值得一提的是,使用fpga的一个很好的介绍是Simon Monk编写的book编程fpga。

  FPGA设备的功能框图。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图1:FPGA设备的功能框图。

  由于使用fpga在广泛的应用程序中获得了动力,所以关于它们的信息的可用性也是如此。这主要是由领先的FPGA供应商提供的,他们在提供免费开放源码软件工具方面投入了大量资金,以帮助定义和加速设计流程。在FPGA结构中集成一个MCU来创建FPGA系统-芯片(SoC)设备,进一步帮助管理和集成FPGA到终端应用程序。极大地简化了学习和开发过程,有助于在更广泛的应用程序中使用fpga,以及开放社区论坛的发展。在制造商社区中采用FPGA也要对他们的能力产生兴趣,并为一些FPGA评估委员会项目提供了资金,比如Mojo和Papilio。FPGA的制造商也在努力使设计更容易通过创建开发工具包和评估板,在更广泛的开放源码社区中得到很好的支持。所有这些倡议共同创造了丰富的技术信息和支持资源,帮助设计师们考虑他们的第一个FPGA设计。

  这种评估板的一个例子是Microsemi的SmartFusion2 Starter Kit,如图2所示。

  Microsemi SmartFusion2 Starter Kit的图像。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图2:SmartFusion2 Starter Kit(图片来源:凯利讯半导体)。

  它包含一个系统模块(SOM),其中包含有相关内存和时钟的Microsemi SmartFusion2 FPGA SoC设备,还有一个SmartFusion2基板,它承载着一个原型区、电源转换器和电源管理ICs,它提供了一个完整的平台,从这个平台开始你的第一个设计。

  FPGA SoC设备功能一个32位的ARM®皮层®m3单片机核心FPGA内实现织物作为单片机子系统(MSS)。它支持64 MB的DDR内存和16mb的闪存,并且能够运行高达142 MHz。图3展示了SmartFusion2 SOM的功能框图。

  Microsemi SmartFusion2系统的功能框图。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图3:SmartFusion2系统模块的功能框图。

  SOM还包括一个JTAG接口、一个监视计时器、一个以太网接口和一个GPIO和串行(I2C, CAN, SPI和UART)接口的主机。在图4中可以看到baseboard的连接和用户I/O特性的完整范围。FPGA织物的尺寸是由6060到56520的逻辑元件组成的。SoC代码运行一个uClinux内核,通过提供对所有Linux工具的访问,包括诸如SSH、FTP和Telnet等网络工具,进一步帮助开发过程。

  Microsemi SmartFusion2脚板的功能框图。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图4:SmartFusion2基板功能框图。

  当涉及到FPGA SoC编程时,Microsemi的设计流工具Libero可以从Microsemi网站免费下载。该工具包中还包括完整的FPGA SoC和作为一个Libero项目的董事会。Libero将FPGA设计的设计流程与嵌入式应用程序开发结合在一起,如图5所示。

  将传统的FPGA设计流程集成在一起。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图5:Libero将传统的FPGA设计流程与微控制器固件开发结合起来(图片来源:凯利讯半导体)。

  一个*的快速入门指南是一个很好的介绍使用*和整体设计流程。Libero的一个关键部分是系统构建器向导(图6),它通过提出一系列问题来帮助架构设计过程中的开发人员,这些问题有助于形成基本的系统需求、配置选项,如果需要,还可以向fabric添加额外的外围设备。

  *系统构建器向导的图像。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图6:Libero系统构建器向导——在MSS中设置时钟函数的例子。

  与传统的开发实践相一致,一个“你好世界”的第一个程序的现代解释是通过一个闪烁的LED设计项目实现的。在本教程中完整地记录了文档,文档通过设计流程来指导工程师完成这个基本的设计功能。图7是本教程的一个屏幕截图,它突出显示了输出信号到指定的GPIO大头针的分配。

  GPIO引脚在闪烁发光二极管示例中的图像。

扩大fpga对物联网发展的吸引力---凯利讯半导体

  图7:闪烁LED示例中GPIO pin的分配(图片来源:凯利讯半导体)。


  结论

  fpga在原始计算能力、设计灵活性和每瓦特性能方面都有很大的优势。以前被视为复杂的程序、耗电和昂贵的设备,随着越来越多的商业应用越来越多地利用它们的能力,它们在最近的历史上已经成熟了很多。人们认识到,在工程师创造复杂的神经网络设计之前,有一个合理的学习曲线。然而,由于本文所描述的开发工具的可用性,采取第一步已经变得非常容易了。