赛灵思® PYNQ 框架能在 Zynq® 产品系列中实现对Python 语言及运行时的全面支持与集成。直接在 Zynq SoC 架构上利用 Python 的生产力优势,用户能够充分发挥可编程逻辑和微处理器的长处,更容易为人工智能、机器学习和信息技术应用构建设计。
摘 要
从工程设计、科研、数据科学、机器学习、信息技术到人工智能,Python 开源编程语言已经成为各类应用中的不成文标准。
当在嵌入式应用中使用现代片上系统 (SoC) 时,就能够运行 Python 执行复杂的分析算法,其性能接近台式机工作站,但外形尺寸显著缩小,功耗要求也显著降低。通过预处理从传感器读取的数据,赛灵思® Zynq 产品系列大幅度提高性能和确定性,同时降低时延。
这种被称为 PYNQ 框架方案,能从应用处理器有效卸载不必要占用处理器带宽的大量重要但重复的操作。这种卸载功能对于满足工业物联网中边缘应用提高的智能需求有重要意义。
嵌入式计算的新范例
近期的 IEEE 调查报告称 2017 年最流行的两种编程语言分别是 Python 和 C 语言。在嵌入式计算领域,C 语言一直以来都是中坚力量。传统上来说,我们一直将 Python 语言用于网络或台式机计算,而从未用作嵌入式计算语言;但是这种情况正在发生改变。
Python 及其相关框架能支持用于数据分析、机器学习(ML)和人工智能(AI)应用的复杂算法的开发。当然,这些应用属于嵌入式计算领域的热点话题,而且它们正在促使 Python 得到采用,特别是在边缘工业物联网 (IIoT) 领域的普及。
C、C++ 和 Python 紧密相连,因为 Python 本身也依赖 C 和 C++ 用来提供最核心的库。但是,C 和C++ 属于编译型语言,能够在裸机上执行。Python 在这点上则与之不同,是一种解释型语言。这种差异在嵌入式计算中为自身带来了挑战:例如,Python 需要操作系统(一般是Linux),另外还需要易失性和非易失性存储器资源。
在工业物联网边缘嵌入式计算领域,ML 和 AI 的实现日趋倾向于发挥数字孪生体 (1) 与物理致动器的功用。因此,解决方案必须能够实时以低确定性时延做出响应。此外,工业物联网解决方案也必须能够支持其他行业趋势,例如:
• 根据待解决问题在实时处理器、应用处理器和专用处理单元间进行分区
• 为专用处理器卸载引擎创建接口,从而为性能关键内核提速
• 使用 Linux 等标准操作系统
• 提供具备调度功能和确定性的解决方案
• 为原型设计和生产提供高生产力框架
• 覆盖标准和传统网络通信接口与协议,包括 IT、OT 融合网络。
• 为机器学习和分析提供丰富的库
• 功能安全性
• 网络安全
构建工业物联网平台绝非易事。从物理环境的边缘到云(包括 AI 和 ML)的整个链条是复杂的,并需要多种专业能力。因此,开发工业物联网就要求使用更高水平的抽象,而这种抽象水平又要与项目涉及的不同工作职能相关联,才能让开发在可接受的时间预算和成本预算内完成。参见图 1。
图 1:同一平台的不同抽象水平
领取专属 10元无门槛券
私享最新 技术干货