开放自动化软件的硬件平台
自动化行业的产品主要以嵌入式系统为主,历来对产品硬件的可靠性和性能都提出很高的要求。最典型的产品要数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 处理器产品有下面几个优点:
- 可扩展性强
- 具备tsn 的以太网口(1GbE ,2.5GbE)
- 开发环境和工具更成熟
- 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∞x2lnxdx 解: \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 其他数据库日志
我们了解数据库事务时,知道两种日志:重做日志,回滚日志。 对于线上数据库应用系统,突然遭遇 数据库宕机 怎么办?在这种情况下,定位宕机的原因 就非常关键。我们可以查看数据库的 错误日志。因为日志中记录…...

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

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

从零实现深度学习框架——Transformer从菜鸟到高手(一)
引言 💡本文为🔗[从零实现深度学习框架]系列文章内部限免文章,更多限免文章见 🔗专栏目录。 本着“凡我不能创造的,我就不能理解”的思想,系列文章会基于纯Python和NumPy从零创建自己的类PyTorch深度学习框…...

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

C++设计模式之过滤器设计模式
C过滤器设计模式 什么是过滤器设计模式 过滤器设计模式是一种行为型设计模式,它允许你在特定的条件下对输入或输出进行过滤,以便实现不同的功能。 该模式有什么优缺点 优点 可扩展性:过滤器设计模式允许您轻松地添加、删除或替换过滤器&a…...
SpringBoot整合RedisTemplate操作Redis数据库详解(提供Gitee源码)
前言:简单分享一下我在实际开发当中如何使用SpringBoot操作Redis数据库的技术分享,完整的代码我都提供了出来,大家按需复制使用即可! 目录 一、导入pom依赖 二、yml配置文件 三、使用FastJson序列化 四、核心配置类 五、工具…...

SQL 执行计划管理(SPM)
一、SPM 需求背景 任何数据库应用程序的性能在很大程度上都依赖于查询执行,尽管优化器无需用户干预就可以评估最佳计划,但是 SQL 语句的执行计划仍可能由于以下多种原因发生意外更改:版本升级、重新收集优化器统计信息、改变优化器参数或模式…...
浅谈微服务异步解决方案
导言 异步是一种设计思想,不是设计目的,因此不要为了异步而异步,要有所为,有所不为。 异步不是『银弹』, 避免试图套用一个『异步框架』解决所有问题, 需要根据不同的业务特点或要求,选择合适的…...

【音视频SDK测评】线上K歌软件开发技术选型
摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理、实时音频传输和同步、音频压缩和解压缩、设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法。 前言 前面写了几期关于直播 …...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...

JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...