汽车SOME/IP协议如何Fuzzing

谈思实验室 2023-04-07 18:00

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯



01

关于SOME/IP和Fuzzing

近年来,汽车行业对于连接车辆的更多数据通信的需求不断增加。更高的数据交换量要求底层通信协议具备更高的带宽,这对车辆中广泛使用的现有通信协议如CAN、LIN、FlexRay等构成了挑战。现有协议的限制使得需要采用新的通信协议来支持汽车行业的新趋势,而汽车以太网则是其中有前途的解决方案之一。


SOME/IP是一种轻量级协议,用于简化进程/设备间的通信,支持过程调用和事件通知。由于其简单和高效的特点,SOME/IP被越来越多的汽车设备采用。随着SOME/IP的出现,SOME/IP应用程序的漏洞检测变得至关重要。



02

SOME/IP协议概述


汽车以太网上的众多上层协议中,SOME/IP 是一种专门针对汽车的协议,通过 UDP 协议栈提供基于服务的通信,使不同车辆组件之间进行基于服务的通信成为可能,例如在信息娱乐系统和发动机控制单元之间的通信。SOME/IP 的关键特点之一是其高效地使用单播和组播通信。这使得在组件之间发送控制消息时,网络不会被不必要的流量拥塞。除此之外,SOME/IP 协议还包括远程过程调用(RPC)、服务发现(SD)、服务事件的发布/订阅以及 UDP 消息的分段等功能 。这些功能是通过数据序列化实现的,其中 SOME/IP 消息头被预置到消息的有效载荷前面。消息头包含以下字段:

1.MessageID:标识应用层中的 RPC 调用或事件,其中包含 2 个子字段 ServiceID 和 MethodID;

2.Length:指示从 RequestID 到 SOME/IP 消息结尾的字节数;

3.RequestID:区分用于同一事件的并行使用的数据包,其中包含 2 个子字段 ClientID 和 SessionID;

4.Protocol Version:标识使用的 SOME/IP 头部格式;

5.Interface Version :使用的 SOME/IP 协议的主要版本

6.Message Type :用于区分 SOME/IP 协议中的不同消息类型

7.Return Code :指示请求是否已成功处理。



SOME/IP协议消息头格式 图1




03

  灰盒模糊测试


在过去的十年中,模糊测试已经展示了在漏洞检测方面的潜力,并被用于发现开源和闭源软件中的数千个漏洞。此外,研究人员也提出了新的模糊测试技术来模糊不同的协议实现,如FTP或RTSP。然而,与常规以太网上运行的FTP或其他协议不同,汽车以太网上的SOME/IP和其他汽车以太网协议通常是简单直接的。这是因为运行这些协议的设备的计算能力通常是有限的。一方面,协议设计的简单性意味着模糊测试器不需要为协议维护状态机模型,如AFLnet。另一方面,计算能力的限制意味着我们需要寻求在并行运行多个模糊测试器以提高模糊测试效率。


  灰盒模糊测试是一种广泛用于检测真实世界程序漏洞的方法。近年来,像AFL、libFuzzer等灰盒模糊测试工具已经帮助发现了数千个漏洞。灰盒模糊测试的基本思想是应用一些预定义的生成和变异策略来产生输入,然后通过观察受监视的执行过程中的安全问题来发现错误。


下面是一个典型的灰盒模糊测试工具的工作流程:


1. 定义输入生成和变异策略:模糊测试工具应用一组预定义的输入生成和变异策略来生成输入,这些输入会被提供给目标程序。这些策略可以包括翻转、替换、添加/减去位、字节或块,或者基于输入结构生成输入。

2. 目标程序的插装:目标程序通常会插入特定的代码段,以在模糊测试期间提供覆盖反馈。这些反馈有助于根据特定文件输入评估程序执行。

3. 监控执行:模糊测试工具会监控执行过程,以确定是否观察到任何安全违规。可以使用AddressSanitizer、MemorySanitizer等工具来帮助识别这些违规。例如内存使用后释放、缓冲区溢出等安全违规通常表示实现缺陷,这可能会导致漏洞,如内存损坏、信息泄露等。

4. 发现漏洞:如果触发了违规,相应的文件输入将被用作漏洞的证明。

5. 增加覆盖率:如果模糊测试工具发现当前输入有助于增加覆盖率,则会用于后续变异。

6. fork-exec模型:由于执行会被重复多次且由模糊测试工具进行控制,因此可采用fork-exec模型来减少加载目标程序公共序言代码段的开销,并提高整体模糊测试性能。


灰盒模糊测试流程 图2



04

如何有效Fuzzing SOME/IP

在现有的方法中,每个模糊测试器实例将管理和运行唯一的测试目标实例。然而,如果测试目标需要某些独特的资源(例如端口,锁定文件等)才能执行,则测试目标只能在每个设备上运行一个实例。在SOME/IP中,服务器应用程序通常在每个设备上运行一个实例,这使得进行并行模糊测试变得具有挑战性。


针对这些挑战,我们介绍一个针对SOME/IP应用程序的灰盒模糊测试工具-Ori。Ori具有两个关键创新点:附加模糊测试模式和结构变异。附加模糊测试模式使Ori能够高效地测试服务器程序,而结构变异使Ori能够有效地生成有效的SOME/IP数据包以到达目标程序的深层路径。通过评估表明,Ori可以准确高效地检测SOME/IP应用程序中的漏洞。






SOME/IP模糊测试的常规设计步骤

1. 选择fuzz工具:根据需要,选择一个适合的fuzz工具进行SOME/IP模糊测试,如AFL、libFuzzer或Ori等。

2. 选择目标程序:选择需要进行SOME/IP模糊测试的目标程序,确保其符合SOME/IP协议规范,并且能够接受并处理来自模糊测试的数据包。

3. 准备seed文件:生成或准备一个符合SOME/IP协议规范的数据包作为初始化的样本文件。

4. 配置fuzz工具参数:根据需要,配置fuzz工具的参数,如超时时间、内存限制、CPU核心数等。

5. 启动模糊测试:将seed文件作为输入文件,启动fuzz工具进行模糊测试。fuzz工具将在seed文件的基础上生成大量随机变异的数据包,并将其发送到目标程序进行测试。

6. 分析测试结果:当模糊测试结束后,需要对测试结果进行分析,包括生成的数据包数量、覆盖率、崩溃数等指标。通过分析测试结果,可以发现目标程序的漏洞,从而进行修复。


用Ori实现SOME/IP变异包方法

Ori是一种基于变异的覆盖引导灰盒模糊测试的工具,它通过在目标程序中插入代码来收集执行反馈以帮助模糊测试。是否可借助Ori的两个关键特性进行SOME/IP协议的变异包实现?



第一个特性是附加模式


当我们使用Ori进行fuzzing时,fuzzer会附加到被测试的进程上。换句话说,我们首先启动被测试的进程,然后运行fuzzer与被测试的进程进行通信并执行fuzzing。这与以前的fuzzer情况不同,以前的fuzzer负责启动被测试的进程和管理被测试进程的生命周期。


整个过程可以分为两个步骤:fuzzing设置步骤和多附加fuzzing步骤。


1)在fuzzing设置步骤中,仪表化的目标程序将在特定条件下分叉出一个fuzzing服务器。fuzzing服务器是从仪表化的原始进程分叉出来的,并将循环等待传入的fuzzing请求。


2)成功设置后,我们可以运行一个或多个前端fuzzer。前端fuzzer将与fuzzing服务器通信,并发送附加请求。一旦fuzzing服务器接收到请求,它将分叉出一个fuzzing目标进程,该进程与前端fuzzer一起执行所有剩余的fuzzing流程。



总的来说,附加模式消除了加载特定SOME/IP实现的前导代码段的多余执行。通过这个特性,Ori通过专注于实际协议逻辑来提高整体性能,并提供了调用多个fuzzing实例进行并行fuzzing的能力。


第二个特性是Ori支持种子输入的两个变异级别


SOME/IP协议的数据包包含两个部分:正文和头部。相应地,Ori使用不同的变异算子来处理不同的部分。通过变异数据包的正文部分,Ori可以测试SOME/IP服务器的核心逻辑。通过变异数据包的头部部分,Ori可以测试SOME/IP协议的实现。


对于数据包的正文部分,Ori使用类似于AFL的朴素随机变异算子,如位/字节翻转、替换/添加/删除随机块等。对于数据包的头部部分,Ori首先识别头部的不同字段,然后根据字段的类型应用变异。值得注意的是,Ori不会变异ServiceID、ClientID、Protocol Version和Interface Version字段。这是因为变异这些字段不会有助于覆盖测试目标的关键逻辑。例如,如果突变数据包的ServiceID字段,并且无法匹配测试目标提供的服务,则数据包将立即被拒绝,测试目标的更深层逻辑将不会被执行。了解此特点之后,Ori可以生成可以到达目标程序的深层逻辑的数据包,并且可以同时测试协议框架和应用程序。

Ori的架构图3


05

Fuzzing SOME/IP的流程设计

Ori包括一个前端fuzzer和后端目标,两者之间详细的fuzz流程如图4所示,其中包含两个阶段:准备阶段和测试阶段。


1)准备阶段


在进行SOME/IP模糊测试之前,我们需要进行准备阶段,以确保测试目标的可用性和测试环境的稳定性。以下是详细的步骤:


1. 启动目标服务器程序并进入forkserver状态:首先,我们需要启动目标服务器程序,并将其设置为forkserver模式。这样,目标程序可以与fuzzer进行通信,并接收来自fuzzer的测试数据。

2. 启动fuzzer:接下来,我们需要启动fuzzer,以准备开始模糊测试。在启动fuzzer之前,我们需要设置fuzzing环境,如共享内存、输出目录等。

3. 检查目标程序的forkserver状态:fuzzer将尝试联系目标程序,以检查其是否已准备好与fuzzer通信。如果目标程序已经处于forkserver状态,则它将通知fuzzer,并准备接收来自fuzzer的测试数据。

4. 启动主fuzzing循环:如果目标程序已准备好与fuzzer通信,则fuzzer将启动主fuzzing循环。在主循环中,fuzzer将生成大量随机变异的数据包,并将其发送到目标程序进行测试。如果目标程序崩溃或产生其他异常行为,则表明存在漏洞,需要进行修复。

5. 结束fuzzing:当fuzzing循环结束时,fuzzer将生成测试报告,包括生成的数据包数量、覆盖率、崩溃数等指标。通过分析测试结果,我们可以发现目标程序的漏洞,并进行修复。


2)测试阶段


Fuzzer将生成数据包来测试目标服务器并处理测试结果。首先,fuzzer将向forkserver发送一个请求,要求它fork一个新实例进行测试。这个测试实例从forkserver逻辑被插入的点开始执行,因此测试实例可以跳过与测试无关的逻辑执行。测试实例开始执行后,它会通知fuzzer继续执行。然后,fuzzer将使用结构变异生成一个新的SOME/IP数据包,并将其发送到测试实例。变异的数据包头部有助于测试数据包解析组件,而变异的数据包主体有助于测试服务器的业务逻辑。在测试实例执行完成后,forkserver将收集其退出状态和执行覆盖信息,并将收集到的数据向fuzzer报告。


在处理测试结果时,Ori与其他基于覆盖率的灰盒fuzzer类似。如果数据包导致测试实例崩溃,fuzzer将保留它以供将来分析。如果数据包可以增加代码覆盖率,fuzzer将保留它作为生成新测试用例的种子。这标志着一轮测试的结束。如果用户不停止fuzzer或目标服务器,则整个过程将继续进行下一轮测试。

Ori详细fuzz流程 图4


06

Fuzzing SOME/IP的具体实现与评估结果


1. 实现逻辑


Ori是一个工具,由两个主要组件组成:代码仪器和模糊器。代码仪器构建在AFL的LLVM模式之上,使用定制的LLVM传递对目标程序进行仪器化。尽管仪器化继承了afl-clang-fast的逻辑来收集代码覆盖信息,但其forkserver注入部分被修改以适应模糊的额外模式逻辑。这个修改涉及约200行C++代码。Ori的模糊器使用约400行Python代码实现,并依赖于Scapy库来执行结构变异。


2. 验证评估


1)评估目标


目前,唯一的开源SOME/IP协议框架是GENIVI/vsomeip 。


> GENIVI/vsomeip是一个基于C++语言的开源SOME/IP协议实现框架,主要用于汽车电子领域的通信。SOME/IP是一种轻量级的通信协议,可以在汽车电子中实现多种通信方式,如消息传递、远程过程调用和发布/订阅等。该框架实现了SOME/IP协议的所有特性,包括服务注册、发现、发布、订阅和取消订阅等。它提供了一个高度可扩展和易于使用的API,可帮助开发人员轻松实现复杂的汽车电子应用程序。GENIVI/vsomeip框架还包括一组工具,如vsomeip-sd、vsomeip-jsonconfig和vsomeip-log等,用于简化SOME/IP应用程序的开发和测试。此外,GENIVI/vsomeip框架也可以与其他GENIVI项目进行集成,如DBus和CommonAPI等。


因此,以下描述的测试目标基于GENIVI/vsomeip示例程序的修改版本,所有当前的实验都基于该程序。该程序是一个SOME/IP服务器,接受客户端的消息并发送回"Hello "加上消息内容作为反馈。我们在示例程序中添加了一个崩溃点,以便如果客户端发送以小写字母'a'开头的消息,程序将崩溃。示例程序的修改如图5所示,代码行6-14。


GENIVI/vsomeip修改程序示例 图5


2)可附加模式模糊测试


附加模式模糊测试允许多个模糊器实例并行模糊测试,而不会受到端口占用的限制。此外,Ori在初始化主要上下文后插入forkserver逻辑,从而允许测试实例跳过服务器设置过程,显著提高了测试速度。实验结果表明,Ori比现有工具具有更快的执行速度,每个测试用例只需要1-2秒,而没有延迟forkserver插入的AFL至少需要4秒。这些结果表明,Ori是一个高效、灵活和可扩展的模糊测试工具。


Ori相比于现有的工具,具有更快的执行速度和更高的有效性。结构变异的应用使得Ori可以在复杂的协议中生成正确的有效载荷和报头,并显著提高了Ori的有效性。Ori是一个非常有用的工具,可以在软件开发中提高测试的效率和质量。


3)结构变异有效性高


结构变异可以帮助Ori在生成复杂数据包头时,提高其有效性,使其可以测试目标服务器。通过比较,我们可以看出AFL几乎无法生成像SOME/IP数据包头这样复杂的结构,因此即使它可以生成正确的有效载荷,也无法成功将数据包传递到测试目标,这限制了AFL在这种场景下的有效性。而Ori使用结构变异的方法可以生成符合SOME/IP协议要求的数据包头,提高了其有效性和可用性。


这种实验结果可以启示我们,在实际应用中,如果需要对复杂的数据结构进行测试,可以考虑使用结构变异的方法来生成测试用例,以提高测试的有效性。此外,结构变异的应用范围不仅限于模糊测试,还可以用于其他领域,例如软件漏洞挖掘和恶意软件分析等。因此,结构变异作为一种有效的技术手段,可以在软件测试和安全领域中发挥重要作用。


木卫四威胁分析平台S3一直在不断探索智能汽车协议异常检测的方法,通过不断迭代和扩展S3的智能分析能力,实现更加精准的检测。其中,通过Fuzzing技术可以有效发现协议实现中未知的异常行为。以SOME/IP协议为例,S3可以通过Fuzzing来探索协议的特征结构,例如SOME/IP数据包头、有效负载等,从而更好地理解协议的行为和发现潜在的漏洞。通过不断改进和优化Fuzzing技术,S3可以在协议异常检测方面实现更加准确和高效的表现。



参考文献


1. A Greybox Fuzzer for SOME/IP Protocols in Automotive Ethernet:

[https://ieeexplore.ieee.org/abstract/document/9359273/]

2.Genevivsome/ip.[Online].Available: [https://github.com/]GENIVI/vsomeip

3. SOME/IP Protocol Specification, [https://www.autosar.org/fileadmin/user_upload/standards/foundation/19-11/AUTOSAR_PRS_SOMEIPProtocol.pdf]11/AUTOSAR_PRS_SOMEIPProtocol.pdf), AUTOSAR Std.,Rev. R19-11, Nov. 2019.

4.LLVM,“libFuzzer,”2015.[Online].Available: [https://llvm.org/docs/LibFuzzer.html]


来源:车端




码上报名

2023第六届无人驾驶及智能驾舱中国峰会,5月11-12日,上海




码上报名

AutoSec 7周年年会暨中国汽车网络安全与数据安全合规峰会,5月11-12日,上海




码上报名

AES 2023 第四届中国国际汽车以太网峰会,6月8-9日,上海


更多文章

智能网联汽车信息安全综述

华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考

汽车数据合规要点

车载以太网技术发展与测试方法

车载以太网防火墙设计

SOA:整车架构下一代的升级方向

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员


END

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

 

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。


扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。


谈思实验室,为汽车科技赋能,推动产业创新发展!

谈思实验室 深入专注智能汽车网络安全与数据安全技术,专属汽车网络安全圈的头部学习交流平台和社区。平台定期会通过线上线下等形式进行一手干货内容输出,并依托丰富产业及专家资源,深化上下游供需对接,逐步壮大我国汽车安全文化及产业生态圈。
评论
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 170浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 68浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 116浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 44浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 127浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 85浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦