当前位置: 首页 > news >正文

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

     自动化行业的产品主要以嵌入式系统为主,历来对产品硬件的可靠性和性能都提出很高的要求。最典型的产品要数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 系列
    • i.MX 6ULL 是最经济的处理器 

    • i.MX 8M Plus 其中一路以太网支持TSN

    • i.MX 91 其中一路以太网支持TSN

  • 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 的确是一个嵌入式系统玩家的大玩具。

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

结论 

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

相关文章:

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

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

AdvancedInstaller打包程序

文章目录 1. AdvancedInstaller 下载2. AdvancedInstaller 启动3. 新建工程4. 配置安装包详细信息5. 配置安装参数6. 添加要打包的文件7. 设置安装完成后启动程序8. 构建打包 1. AdvancedInstaller 下载 下载网址:https://www.advancedinstaller.com/ 2. AdvancedIn…...

无穷限积分习题

前置知识:无穷限积分 习题1 计算 ∫ 1 ∞ ln ⁡ x x 2 d x \int_1^{\infty}\dfrac{\ln x}{x^2}dx ∫1∞​x2lnx​dx 解: \qquad 原式 ( − ln ⁡ x x ) ∣ 1 ∞ ∫ 1 ∞ 1 x 2 d x ( − ln ⁡ x x ) ∣ 1 ∞ ( − 1 x ) ∣ 1 ∞ (-\dfrac{\…...

AI 3D结构光技术加持,小米引领智能门锁新标准

一直以来,小米智能门锁系列产品让更多家庭走进了安全便捷的智能生活,安全至上的设计让很多家庭都轻松告别了随身钥匙。 7月27日,小米正式推出小米智能门锁M20 Pro,再一次引领智能门锁产品的发展潮流。该款门锁采用AI 3D结构光技术…...

管理类联考——逻辑——形式逻辑——汇总篇

简述 形式逻辑: 识别题型:逻辑符号表达及标志词:联假言符号化特殊命题“除非否则”;五大关系:矛盾、等价、包含、至少有一真、至少有一假;【通过“关系”,串联起“假联选”言】 识别题型&…...

架构的分类

目录 一、 RUP41 架构 1.1 RUP41架构方法概述 1.2 RUP41架构总体 1.3 RUP41架构方法内容 1.3.1 逻辑视图 1.3.2 开发视图 1.3.3 物理视图 1.3.4 处理视图 1.3.5 场景视图 ​二、 TOGAF9 架构 2.1 TOGAF9 架构概述 2.2 TOGAF9 架构分类 2.2.1 业务架构 2.2.2 数据架…...

[SQL挖掘机] - 窗口函数 - lag

介绍: lag() 是一种常用的窗口函数,它用于获取某一行之前的行的值。它可以用来在结果集中的当前行之前访问指定列的值。 用法: lag() 函数的语法如下: lag(列名, 偏移量, 默认值) over (partition by 列名1, 列名2, ... order by 列名 [asc|desc], .…...

springboot项目如何自动重启(使用Devtools检测修改并自动重启springboot)

1. 问题: 我们在项目开发阶段,可能经常会修改代码,修改完后就要重启Spring Boot。经常手动停止再启动,比较麻烦。 所以我们引入一个Spring Boot提供的开发工具; 只要源码或配置文件发生修改,Spring Boot应用…...

docker: Error response from daemon: No command specified.

执行 docker run -it -d -v /home/dell/workspace/workspace/test_192.168.1.202_pipeline:/home/workspace1 --name test_192.168.1.202_pipeline_10 qnx:7.1报错 问题定位:export导入的镜像需要带上command,以下命令查看command信息 docker ps --no…...

百度地图点标记加调用

先看效果 PHP代码 <?phpnamespace kds_addons\edata\controller;use think\addons\Controller; use think\Db;class Maps extends Controller {// 经纬度计算面积function calculate_area($points){$totalArea 0;$numPoints count($points);if ($numPoints > 2) {f…...

MySQL 其他数据库日志

我们了解数据库事务时&#xff0c;知道两种日志&#xff1a;重做日志&#xff0c;回滚日志。 对于线上数据库应用系统&#xff0c;突然遭遇 数据库宕机 怎么办&#xff1f;在这种情况下&#xff0c;定位宕机的原因 就非常关键。我们可以查看数据库的 错误日志。因为日志中记录…...

为何企业和开发团队应该重视进行兼容性测试

随着科技的不断进步和软件的广泛应用&#xff0c;保证软件在不同平台和环境下正常运行变得至关重要。本文将探讨软件兼容性测试的重要性和好处&#xff0c;并介绍为何企业和开发团队应该重视进行兼容性测试&#xff0c;以确保软件的稳定性和用户体验。 提供用户友好的体验 软件…...

牛客网Verilog刷题——VL51

牛客网Verilog刷题——VL51 题目答案 题目 请编写一个十六进制计数器模块&#xff0c;计数器输出信号递增每次到达0&#xff0c;给出指示信号zero&#xff0c;当置位信号set 有效时&#xff0c;将当前输出置为输入的数值set_num。模块的接口信号图如下&#xff1a; 模块的时序图…...

从零实现深度学习框架——Transformer从菜鸟到高手(一)

引言 &#x1f4a1;本文为&#x1f517;[从零实现深度学习框架]系列文章内部限免文章&#xff0c;更多限免文章见 &#x1f517;专栏目录。 本着“凡我不能创造的&#xff0c;我就不能理解”的思想&#xff0c;系列文章会基于纯Python和NumPy从零创建自己的类PyTorch深度学习框…...

数组指针

数组指针的定义 1.数组指针是指针还是数组&#xff1f; 指针。 int a 10;int* p &a;//指向整型数据的指针 char b w;char* q &b;//指向字符变量的指针 所以数组指针应该是指向数组的指针。 2.数组指针应该怎么定义&#xff1f; int arr[10] { 0 };int(*p)[10] …...

C++设计模式之过滤器设计模式

C过滤器设计模式 什么是过滤器设计模式 过滤器设计模式是一种行为型设计模式&#xff0c;它允许你在特定的条件下对输入或输出进行过滤&#xff0c;以便实现不同的功能。 该模式有什么优缺点 优点 可扩展性&#xff1a;过滤器设计模式允许您轻松地添加、删除或替换过滤器&a…...

SpringBoot整合RedisTemplate操作Redis数据库详解(提供Gitee源码)

前言&#xff1a;简单分享一下我在实际开发当中如何使用SpringBoot操作Redis数据库的技术分享&#xff0c;完整的代码我都提供了出来&#xff0c;大家按需复制使用即可&#xff01; 目录 一、导入pom依赖 二、yml配置文件 三、使用FastJson序列化 四、核心配置类 五、工具…...

SQL 执行计划管理(SPM)

一、SPM 需求背景 任何数据库应用程序的性能在很大程度上都依赖于查询执行&#xff0c;尽管优化器无需用户干预就可以评估最佳计划&#xff0c;但是 SQL 语句的执行计划仍可能由于以下多种原因发生意外更改&#xff1a;版本升级、重新收集优化器统计信息、改变优化器参数或模式…...

浅谈微服务异步解决方案

导言 异步是一种设计思想&#xff0c;不是设计目的&#xff0c;因此不要为了异步而异步&#xff0c;要有所为&#xff0c;有所不为。 异步不是『银弹』&#xff0c; 避免试图套用一个『异步框架』解决所有问题&#xff0c; 需要根据不同的业务特点或要求&#xff0c;选择合适的…...

【音视频SDK测评】线上K歌软件开发技术选型

摘要 在线K歌软件的开发有许多技术难点&#xff0c;需考虑到音频录制和处理、实时音频传输和同步、音频压缩和解压缩、设备兼容性问题等技术难点外&#xff0c;此外&#xff0c;开发者还应关注音乐版权问题&#xff0c;确保开发的应用合规合法。 前言 前面写了几期关于直播 …...

Jackson:String转object反序列化失败

场景 消费mq时String转Object 代码 for (MessageExt msg : msgs) {String msgBody new String(msg.getBody(), StandardCharsets.UTF_8);BinlogEvent binlogEvent JsonUtil.silentString2Object(msgBody, BinlogEvent.class);binlogEvent.setPort(Long.valueOf(port));tCo…...

Spark_Core---6

spark 相关概念补充 课程目标 了解spark的安装部署知道spark作业提交集群的过程 6.1 spark的安装部署 1、下载spark安装包 http://spark.apache.org/downloads.html 高版本不存在cdh的编译版本&#xff0c;可以从官网下载源码版本&#xff0c;指定高版本hadoop进行编译 编译…...

游戏运营需要什么条件和准备?

游戏运营是一个复杂的过程&#xff0c;需要综合考虑多个因素。以下是一些游戏运营需要的条件和准备&#xff1a; 1、良好的游戏产品 首先&#xff0c;需要有一款优秀、有吸引力的游戏产品。游戏的质量和内容决定了用户是否愿意下载、留存和付费。 2、游戏运营团队 拥有专业…...

SVN限制Message提交的格式

限制Message提交的格式必须为以下格式 [Version] [Description] [TPA] [Doors] REPOS"$1" TXN"$2"# Make sure that the log message contains some text. SVNLOOK/usr/bin/svnlook MSG$SVNLOOK log -t "$TXN" "$REPOS"if [[ $MSG ~ …...

windows下安装anaconda、pycharm、cuda、cudnn、PyTorch-GPU版本

目录 一、anaconda安装及虚拟环境创建 1.anaconda的下载 2.Anaconda的安装 3.创建虚拟环境 3.1 环境启动 3.2 切换镜像源 3.3环境创建 3.4 激活环境 3.5删除环境 二、pycharm安装 1.pycharm下载 2.pycharm的安装 三、CUDA的安装 1.GPU版本和CUDA版本、cudnn版本、显卡…...

【计算机网络】传输层协议 -- UDP协议

文章目录 1. 传输层相关知识1.1 端口号1.2 端口号范围划分1.3 知名端口号1.4 一些相关命令 2. UDP协议2.1 UDP协议格式2.2 UDP协议的特点2.3 什么是面向数据报2.4 UDP的缓冲区2.5 UDP使用注意事项2.6 基于UDP的应用层协议 1. 传输层相关知识 传输层是计算机网络中的一个重要层…...

python制作超高难度走迷宫游戏,你要来挑战嘛~(赶紧收藏)

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 走迷宫&#xff0c;是一项充满智慧的挑战~ 作为经常刷短视频的我们&#xff0c;见识过不少迷宫小游戏 当然印象深刻的当然是小动物走迷宫 这里有几组挑战走迷宫的小可爱。先来看看吧&#xff01; &#xff08;1&#xff…...

springboot整合tio-websocket方案实现简易聊天

写在最前&#xff1a; 常用的http协议是无状态的&#xff0c;且不能主动响应到客户端。最初想实现状态动态跟踪只能用轮询或者其他效率低下的方式&#xff0c;所以引入了websocket协议&#xff0c;允许服务端主动向客户端推送数据。在WebSocket API中&#xff0c;浏览器和服务…...

《TCP IP网络编程》第十三章

第 13 章 多种 I/O 函数 13.1 send & recv 函数 Linux 中的 send & recv&#xff1a; send 函数定义&#xff1a; #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t nbytes, int flags); /* 成功时返回发送的字节数&#xff0c;失败…...

驱动开发 day8 (设备树驱动,按键中断实现led亮灭)

//编译驱动 (注意Makefile的编译到移植到开发板的内核) make archarm //清除编译生成文件 make clean ****************************************** //安装驱动 insmod mycdev.ko //卸载驱动 rmmod mycdev 需要在<内核路径>/arch/arm/boot/dts/ 修改 stm32mp157a-fsm…...