开放自动化软件的硬件平台

news2024/9/22 19:31:55

     自动化行业的产品主要以嵌入式系统为主,历来对产品硬件的可靠性和性能都提出很高的要求。最典型的产品要数PLC。PLC 要求满足体积小,实时性,可靠性,可扩展性强,环境要求高等特点。它们通常采用工业级高性能嵌入式SoC 实现。

        新一代的工业自动化软件支持更多的网络协议,例如OpcUA ,工业4.0协议,MQTT。需要运算能力更大,更复杂的软件,例如视觉识别,AI,机器人控制等新应用。开放自动化意味着自动化设备上的软件更多的由用户或者第三方开发。他们对硬件平台的要求是变化的,不确定的。

     未来的自动化软件将会在传统PLC 设备上运行呢?还是应该在新的硬件平台上运行。笔者认为PLC 产品已经成为一个技术成熟,价格低廉的量产产品。未来PLC 产品拼的是价格和品质,而不是功能。新一代的开放自动化软件将在工业边缘设备上运行。

     本文讨论工业边缘控制器的硬件平台的相关问题。

工业边缘控制器硬件平台分为两大类:

  •     基于Intel 的X86 平台
  •     基于微处理器SoC 平台

嵌入式处理器

 ARM 架构

  • Cortex-A
  • Cortex-M
  • Cortex-R
  • Cortex-A 多核
  •  Cortex-A,Cortex-M 混合多核SOC

 RISC-V 架构

开源嵌入式处理器,最近开始流行。

MIPS 架构 

   microchip 和龙芯

X86 架构

Intel和AMD公司

PowerPC 架构

IBM公司开发,NXP的产品

   主要的芯片供应商公司

     在自动化领域中,使用最为广泛的是嵌入式SOC 芯片。其中高性能产品主要集中在NXP和TI 两家公司。

NXP 的产品是PowerPC 处理器,目前已经转向了ARM架构。

  • i.MX 系列
  • Layerscape processors

        国内Arm Soc 厂商主要以上网本,机顶盒,智能摄像机等目标市场开发的Cortex-A 芯片组,例如瑞芯微,全志公司等,逐步转向工业应用,汽车电子领域。

cortex-M 微处理器

  • ST 公司
  • Microchip公司
  • silicon labs

嵌入式SoC平台

           微处理器SOC 硬件平台的OEM 产品不多,第三方开发了各种开发板,它们不是能够在工业环境长期使用的OEM 主板。微处理器SOC 的种类繁多,开发板难以标准化,不同厂商提供的硬件资源各不相同,难以相互兼容。软件工具也大相径庭。各种操作系统和应用软件的移植工作就耗费了大量的开发精力。

    这些问题导致了自动化硬件设备厂商只能依靠自己的技术团队开发硬件平台。有过嵌入式系统开发经历的人都有体会。嵌入式系统开发并非易事,软件的开发效率比开发普通软件低的多。另一方面,现代微处理器SoC 的硬件结构也非常复杂,生产调试也不像之前的单片机那么简单。对于小团队小批量生产是极为不经济的。委托第三方开发也难以保证长期供货。存在许多的风险。

       笔者主张,对于小型PLC和现场设备,仪表采用嵌入式位处理器SoC 实现。而对于性能要求高的控制器采用专业公司的OEM 系统更合适。

Intel 公司IoT和嵌入式处理器

       Intel 公司在PC和服务器处理器方面的优势,我们会将它与PC 联系在一起,忽略了它在低功耗,嵌入式处理器方面的相关技术能力。

        其实,Intel 公司这些年来在低功耗,嵌入式处理器技术上的努力一直没有停止。虽然在手机和移动设备领域终究没有成功,这些处理器产品在笔记本,上网本产品中获得了应用。与此同时,它们在物联网终端,电信基站,医疗设备和工厂自动化化行业获得了广泛的应用。Intel 在软件方面同样投入了研究工作。例如OpenCV,时间敏感网络等

        Intel 公司在嵌入式  X86 处理器的方面同样开发了相关的产品,首先是ATOM 灵动处理器,其次是低功耗的酷睿系列Core处理器。它们直接面向工业物联网和边缘计算市场。ATOM 处理器集成了工业自动化必需的功能,例如面向工业自动化的时间敏感网络,实时操作系统,AI ,高清显示,摄像头输入,PCIe Wifi和4/5G 无线。

         纵观国外自动化厂商的产品线,他们的高端产品中采用Intel X86 处理器不在少数。与Arm架构的高端处理器相比较。X86 处理器产品有下面几个优点:

  1. 可扩展性强
  2. 具备tsn 的以太网口(1GbE ,2.5GbE)
  3. 开发环境和工具更成熟
  4. OEM 产品更加丰富

Intel 物联网处理器

   其中 英特尔处理器 是最新推出的取代奔腾 / 赛扬 Nx000“Jasper Lake”系列的新一代超低功耗移动平台处理器。

价格比较

Intel® Core™ i3-1315UE  $312.00

Intel N50  $128.00

英特尔凌动® x6425E 处理器  $67.00

Intel 面向物联网的嵌入式灵动处理器

在此,我们重点分析一下Intel 公司面向物联网应用的 嵌入式Atom 处理器。目前有两个系列

Atom x6000e 系列

Atom x7000e 系列

   包含了深度学习的扩展。OpenVINO,支持实时应用的Intel TCC,2.5 GbE 时间敏感网络。

基于Atom x6000E 的物联网边缘控制器

本博文的研究与调查的目的是为了开发开放自动化系统选择一个合适的硬件平台。

        ATOM x6000E 以及 Intel® Pentium® 和 Celeron® N 與 J 系列處理器都是为工业物联网设计的处理器,更新的产品系列是ATOM x7000E系列和Intel® Core™ i3-N305 Processors。温度范围 -40 度到 +100 度。功耗5W到12W。

     Atom 6000 带有 Intel 的PSE功能,它实际上是一个Cortex-M7 处理器,这也算是异构多处理器架构吧。但是目前Cortex-M7 的内部固件并没有开源,也没有指明如何开发其内部的固件。

   Intel IoT 处理器几乎囊括了先进工业边缘计算平台的所有功能,其中包括

  • 时间敏感网络(tsn)
  • 基于硬件的安全检测
  • Wifi,4/5G 模块的扩展
  • emmc 内存扩展
  • HDMI接口
  • 摄像机接口

Atom 的确是一个嵌入式系统玩家的大玩具。

西门子公司的 Nanobox SIMATIC IPC227G 和 Nanopanel PC SIMATIC IPC277G 均采用ATOM x6000e 处理器。 

 

倍福公司的C6015-0030 采用Intel Atom® x6214RE, 1.4 GHz, 2 cores (TC3: 40) 处理器。

 

Up Squared 主板   

      基于Atom x6000e 的主板计划采用AAEON 公司Up Squared 的UP 6000 产品,该主板只有107mmX107mm 大小。整机高度为70mm。

 主要特点

  • 板载LPDDR4  8G
  • 板载eMMC 64G
  • GbE x 1, 2.5GbE x 1 (Intel® i210, i225)
  • USB 3.2 x 3 (Type A x 2, Type C x 1)
  • 40 pin GPIO x 1
  • DP 1.2 / HDMI 2.0b / eDP x 1
  • RS232 / 422 wafer x 1
  • M.2 2230 E-Key / M.2 2280 M-Key / M.2 3052 B-Key x 1
  • SATA3 x 1
  • TPM 2.0
  • 12V DC-in, 6A
  • 支持 Intel AX210 WiFi 6

两个以太GbE支持时间敏感网络。

操作系统

  • Ubuntu
  • Yocto Linux
  • Windows10 

主板支持40PIN 的硬件接线,如下图定义,可以做一些专用硬件接口。

可以使用MRAA 库访问这些硬件接口,具体方法可以访问:

https://github.com/up-board/up-community/wiki/MRAA

机箱

j

结论 

          Intel Atom x6000e 是工业IoT 控制器合适平台,Intel X86 处理器的OEM 产品丰富,扩展能力强,对于小型的自动化技术团队,选择Atom 平台更加合适,使他们能够专注自己的产品,使产品能够快速上市。专用的硬件制造商的产品比自行开发硬件平台更可靠,更专业。相比之下,Arm 处理器为基础的控制器的标准化滞后,没有形成良好的硬件生态系统。从芯片开始设计自动化控制器无论从技术还上经济上都是不划算的。

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

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

相关文章

无涯教程-jQuery - Selectable选择函数

选择能力功能可与JqueryUI中的交互一起使用。此功能可在任何DOM元素上启用选择能力功能。用光标绘制一个框以选择项目。按住Ctrl键可进行多个不相邻的选择。 Select able - 语法 $( "#selectable" ).selectable(); Select able - 示例 以下是一个简单的示例&…

反弹shell确认是否是docker容器

反弹shell确认是否是docker容器 方法一 如果根目录中存在.dockerwenv文件,证明是doker容器 ls /.dockerenv方法二 出现以下类似内容,证明是在doker容器内 cat /proc/1/cgroup

回归预测 | MATLAB实现GRNN广义回归神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GRNN广义回归神经网络多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GRNN广义回归神经网络多输入单输出回归预测(多指标,多图)效果一览基本介绍程序设计参考资料效果一览 基本介绍 MATLAB实现GRNN广义回归神经网络多输入单输出回归…

【设计模式——学习笔记】23种设计模式——享元模式Flyweight(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍原理类图外部状态和内部状态 登场角色 案例实现案例1类图代码实现 案例2类图代码实现 享元模式在JDK源码中的使用总结 案例引入 你的公司主要做一些小型的外包项目,之前给客户A做一个产品展示网站,客户A的朋友感觉效果不错…

uniapp小程序自定义loding,通过状态管理配置全局使用

一、在项目中创建loding组件 在uniapp的components文件夹下创建loding组件&#xff0c;如图&#xff1a; 示例代码&#xff1a; <template><view class"loginLoading"><image src"../../static/loading.gif" class"loading-img&q…

SpringBoot统一异常处理和统一返回格式

上篇博客我们讲解了使用AOP来进行统一的用户登录判断&#xff0c;其实像这种功能统一且使用较多的地方&#xff0c;都可以用AOP来处理&#xff0c;除了统⼀的⽤户登录判断之外&#xff0c;AOP 还可以实现&#xff1a; 统⼀⽇志记录统⼀⽅法执⾏时间统计&#xff08;在性能优化…

8.事件对象

8.1获取事件对象 ●事件对象是什么 也是个对象&#xff0c;这个对象里有事件触发时的相关信息 例如&#xff1a;鼠标点击事件中&#xff0c;事件对象就存了鼠标点在哪个位置等信息 ●使用场景 可以判断用户按下哪个键&#xff0c;比如按下回车键可以发布新闻 可以判断鼠标点击…

【动态规划】子数组系列

文章目录 动态规划&#xff08;子数组系列&#xff09;1. 最大子数组和2. 环形子数组的最大和3. 乘积最大子数组4. 乘积为正的最长子数组的长度5. 等差数列划分6. 最长湍流子数组7. 单词拆分8. 环形字符串中的唯一的子字符串 动态规划&#xff08;子数组系列&#xff09; 1. 最…

ETHERCAT转CCLINK网关连接ethercat转换器

你们有没有遇到这样的问题&#xff1f;在生产管理系统中&#xff0c;数据互联互通是非常重要的&#xff0c;但ETHERCAT和CCLINK这两个协议之间的通讯一直是个大问题。今天&#xff0c;我给大家带来了一个好消息——捷米JM-ECT-CCLK&#xff0c;这是一款让各种CCLINK总线和ETHER…

WEB:php_rce

背景知识 Linux命令 thinkPHPv5漏洞 题目 打开页面&#xff0c;页面显示为thinkphp v5的界面&#xff0c;可以判断框架为thinkPHP&#xff0c;可以去网上查找相关的漏洞 由题目可知&#xff0c;php rec是一个通过远程代码执行漏洞来攻击php程序的一种方式 因为不知道是php版…

三数之和——力扣15

文章目录 题目描述法一 双指针排序 题目描述 法一 双指针排序 class Solution{ public:vector<vector<int>> threeSum(vector<int>& nums){int nnums.size();vector<vector<int>> ans;sort(nums.begin(), nums.end());for(int first0;first&…

项目实战 — 消息队列(2){创建核心类}

目录 一、创建项目 二、创建核心类 &#x1f345; 1、 编写交换机类&#xff0c;Exchange &#x1f345; 2、编写存储消息的队列&#xff0c;MSGQueue &#x1f345; 3、编写绑定类&#xff0c;binding &#x1f345; 4、编写消息&#xff0c;Message 一、创建项目 二、创…

【Golang 接口自动化04】 解析接口返回JSON串

目录 前言 解析到结构体 json数据与struct字段是如何相匹配的呢&#xff1f; 解析到interface Go类型和JSON类型 实例代码 simpleJson 总结 资料获取方法 前言 上一次我们一起学习了如何解析接口返回的XML数据&#xff0c;这一次我们一起来学习JSON的解析方法。 JSO…

Mysql 索引失效

1、模糊查询%在前面&#xff0c;无法排序所以失效 2、函数计算 3、表达式计算length(NAME) 4、隐式转换 5、联合索引非最左匹配 6、or 必须都为索引列 事务特性 &#xff08;来自小林coding 事务隔离级别是怎么实现的&#xff1f; | 小林coding (xiaolincoding.com)&#…

基于Open3D的点云处理13-分割

平面分割&#xff08;基于RANSAC&#xff09; 使用RANSAC算法从点云中拟合平面&#xff1b; 接口&#xff1a;segment_plane 测试&#xff1a;Plane-segmentation import open3d as o3dpcd_point_cloud o3d.data.PCDPointCloud() pcd o3d.io.read_point_cloud(pcd_point_cl…

从零开始学Docker(二):启动第一个Docker容器

宿主机环境&#xff1a;RockyLinux 9 这个章节不小心搞成命令学习了&#xff0c;后面在整理成原理吧 Docker生命周期 拉取并启动Nginx容器 # 查找镜像 例如&#xff1a;nginx [root192 ~]# docker search nginx 我们可以看到&#xff0c;第一个时官方认证构建的nginx # 拉…

beego通过gorm访问mysql数据库

一、下载golang 二、解压下载包到C盘 三、配置golang系统环境变量 四、进入新建的工作目录C:\project下载并安装beego 五、将新生成的bee.exe所在的路径c:\project\bin加入到系统变量path里面 六、下载并安装mysql 例如在上图中&#xff0c; 选“No thanks,just start my down…

iOS开发-实现上下翻转轮播循环信息播报效果

iOS开发-实现上下翻转轮播循环信息播报效果 在开发中经常遇到需要实现轮播信息播报&#xff0c;例如以下效果 一、使用UITableView实现展示列表 UITableView 定义UITableView的实例&#xff0c;并让当前视图遵守UITableView的两个协议 property (nonatomic, weak, nullable)…

【Linux多线程】线程的互斥与同步(附抢票案例代码+讲解)

线程的互斥与同步 &#x1f4ab; 概念引入⭐️临界资源&#xff08;Critical Resource&#xff09;&#xff1a;&#x1f31f;临界区&#xff08;Critical Section&#xff09;&#xff1a;✨互斥&#xff08;Mutex&#xff09;&#xff1a; ⚡️结合代码看互斥☄️ 代码逻辑&a…

无涯教程-jQuery - Progressbar组件函数

小部件进度条功能可与JqueryUI中的小部件一起使用。一个简单的进度条显示有关进度的信息。一个简单的进度条如下所示。 Progressbar - 语法 $( "#progressbar" ).progressbar({value: 37 }); Progressbar - 示例 以下是显示进度条用法的简单示例- <!doctype …