0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过实时加速器技术实现实时应用程序的 Windows

盟通科技 2024-01-29 16:03 次阅读

概述

如今,越来越多的应用,特别是在工业自动化、医疗技术、数据采集和测量技术等领域,都需要确定性的实时行为。acontis实时加速器技术(RtaccWin)使您能够在Windows下运行具有确定性的硬实时功能应用程序。这是通过专门为实时应用程序保留一个或多个CPU来实现的,设置 Windows 适当的参数化并利用 acontis 内核驱动程序进行精确定时和直接硬件访问。

01

软件架构

基于Windows IoT Enterprise的PC可以从acontis的RtaccWin软件中受益,以保证在1毫秒的周期时间中运行稳定的实时应用程序。原则上,还可以实现更快的周期时间。为了实现这一点,至少保留一个CPU专门用于实时应用程序,而其他CPU则于标准的Windows应用程序。

RtaccWin 包括一个Windows系统驱动程序,可为整个应用程序提供精确且可调节的时钟。为了确保确定性行为,标准Windows驱动程序通常不用于实时应用程序。相反,RtaccWin中的内核驱动程序允许从 Windows 用户模式直接访问硬件,例如网卡、现场总线卡等,从而降低抖动、显著降低CPU利用率并具有确定性行为。还允许在不使用Windows网络堆栈的情况下发送和接收以太网帧,并且在并行使用其他网络接口时不会产生不利影响。

v2-8e4b2aa0c3f7a3afc261aad861ca9938_720w.webp?source=d16d100b

02

配置工具:RtaccWinConfig

软件配置工具 RtaccWinConfig用于为实时应用程序准备Windows系统。首先,它至少隔离了一个CPU,这也意味着常规 Windows进程和服务不会再使用该CPU。这样,隔离的CPU就能专门用于实时应用程序。

v2-53f9fa4f0ea89fd8bfc591c877b55037_720w.webp?source=d16d100b

RtaccWinConfig工具的另一个功能是为实时应用程序分配硬件。这意味着常规的 Windows 驱动程序已经卸载,可以从 Windows 用户空间访问硬件。acontis内核驱动程序可以快速、直接地访问已分配硬件的所有内存区域。

v2-7bb28e404712141f66cf26ab79d8a4b1_720w.webp?source=d16d100b

03

软件开发

开发实时应用程序的过程类似于标准Windows应用程序开发的过程。以下是要遵循的步骤:

1、使用RtaccWinConfig工具设置系统
2、为实时任务创建一个或多个线程
3、将这些线程分配给先前隔离的CPU
4、为线程分配一个非常高的优先级,使它们成为“实时线程”
5、可选择通过acontis Windows系统驱动程序生成一个稳定而精确的时钟


一个Windows 进程可以包括“非实时线程”和“实时线程”。这两种线程类型都可以访问全局变量并使用标准同步机制,如事件、关键部分、互斥锁和信号量。常用的 Win32 API 也可在“实时线程”中使用。您可以在整个开发过程中使用Microsoft Visual Studio的全部功能。在调试模式下,所有线程都可以访问所有资源。当然,您也可以在没有实时行为的情况下逐步执行“实时线程”。

v2-de8e5dad66e29ee8bd92fdede10ea4a0_720w.webp?source=d16d100b

04

性能

一个稳定、精确、低抖动的时钟对于实时应用是至关重要的,特别是对于每毫秒执行一次的控制循环。理想情况下,应用程序应该每1000微秒精确触发一次,但在实践中可能会出现偏差,导致间隔或长或短。在使用acontis 实时加速器技术时,这些偏差(也称为抖动)可以在 Windows 下显著减少。

RtaccWinConfig 软件工具可以测量具有特定周期时间的隔离CPU性能。最大和最小偏差值可以用图形显示。允许的最大抖动取决于应用程序,在通常情况下,可以接受高达周期时间10%的偏差。例如,周期时间为1000微秒时,最小值应不小于900微秒,最大值不应大于1100微秒。

如果没有实时加速器技术,周期时间可能会大幅波动。8小时后,在运行Windows IoT的Minis Forum U820(i5-8279U CPU)上进行了测试,并大量加载Passmark老化测试,结果显示有明显的波动。

v2-a448061a89b1585abcdd8036bfb25de8_720w.webp?source=d16d100b

启用实时加速器技术可以保证时钟的精确度同时误差最小,在8小时后的同一系统上进行的测试证明了这一点。

v2-2e6d2d2fb289e090068f758055b1e3ce_720w.webp?source=d16d100b

05

特征

1、微秒级的快速响应时间

2、硬实时与实时加速器技术使用CPU隔离

3、在一个独立的CPU的一个进程中实现实时功能和标准功能

4、RtaccTimer驱动程序生成精确,稳定的时钟

5、RtaccDevice驱动程序,可以直接访问硬件无需内核驱动程序

6、 合适的配置工具RtaccWinConfig

06

优势

1、实时应用程序可以像普通的Windows应用程序一样开发

2、标准Win32 API也可用于实时线程中

3、支持Microsoft Visual Studio。方便开发和调试整个实时应用程序。

4、通过变量进行简单的数据交换。不需要在应用程序的实时和非实时部分之间进行复杂的通信

5、操作简单,培训工作量低

系统要求

Windows 10 IoT 企业版或 Windows 11 IoT 企业版
• 四核CPU


北京盟通科技有限公司成立于2013年,是工业自动化领域的高新技术企业。公司专注于实时现场总线技术及工业通讯技术的研发、推广及技术支持服务。依托于核心团队多年的海外和行业经验,盟通科技与欧洲多家自动化领域的佼佼者达成战略合作关系,为客户提供EtherCAT主站协议栈、OPC UA SDK软件开发包、CANopen协议栈、FSoE协议软件、CAN总线硬件、DINA安全模块、艾默生Connext软件等工业协议的标准和定制化产品

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    609

    浏览量

    27341
  • 加速器
    +关注

    关注

    2

    文章

    795

    浏览量

    37800
  • WINDOWS
    +关注

    关注

    3

    文章

    3527

    浏览量

    88485
  • 实时操作系统

    关注

    1

    文章

    196

    浏览量

    30746
收藏 人收藏

    评论

    相关推荐

    从版本控制到全流程支持:揭秘Helix Core如何成为您的创意加速器

    加速器
    龙智DevSecOps
    发布于 :2024年11月26日 13:42:47

    ADC3561转换成什么数据格式便于高速实时通过WIFI发送?

    5MHz的16位采样率,LVDS格式的数据输出,使用串口转WIFI模块受限于串口波特率无法实现实时发送,请问转换成什么数据格式便于高速实时通过WIFI发送
    发表于 11-18 08:06

    socket在实时通讯中的应用

    ,它允许应用程序在网络中进行双向通信。在实时通讯中,Socket技术使得数据可以在客户端和服务之间实时传输,无需等待对方完全接收或发送数据
    的头像 发表于 11-01 17:54 760次阅读

    tlv320aic3106如何通过程序实现对mic输入的实时AD采样呢?

    tlv320aic3106内部带有ADC和DAC功能,请问如何通过程序实现其对mic输入的实时AD采样呢?有没有相关例程可以学习一下呢
    发表于 10-25 06:45

    实时示波器的技术原理和应用场景

    和解调等。通过观察和分析信号的波形特征,工程师可以对信号进行有效的处理,以满足特定的应用需求。 通信协议分析:在通信技术领域,实时示波器可用于分析通信协议中的信号波形。通过观察信号的频
    发表于 10-23 14:22

    解决方案丨EasyGo新能源系统实时仿真应用

    添加更多的教学或创新型的实验内容。 所有实验均包含离线程序,控制算法实时程序,电路仿真实时程序等。其中,仿真侧模型采用
    发表于 10-18 09:37

    使用OpenVINO C# API部署YOLO-World实现实时开放词汇对象检测

    的快速准确识别,并通过AR技术将虚拟元素与真实场景相结合,为用户带来沉浸式的交互体验。在本文中,我们将结合OpenVINO C# API使用最新发布的OpenVINO 2024.0部署 YOLO-World实现实时开放词汇对象检
    的头像 发表于 08-30 16:27 573次阅读
    使用OpenVINO C# API部署YOLO-World<b class='flag-5'>实现实时</b>开放词汇对象检测

    vue+spring boot人员定位系统源码,实现实时定位、智慧调度、轨迹追踪

    、机具、物料上定位标签回传的位置信息数据,采用多维定位模式,精确定位人、机具、物料的实时位置,实现实时定位、物料标签配置、智慧调度、轨迹追踪、工时统计、区域物料统计、电子围栏等应用功能。 技术架构:java+ spring bo
    的头像 发表于 08-08 14:27 607次阅读
    vue+spring boot人员定位系统源码,<b class='flag-5'>实现实时</b>定位、智慧调度、轨迹追踪

    什么是神经网络加速器?它有哪些特点?

    )和图形处理(GPU)虽然可以处理神经网络计算,但在能效比和计算密度上往往难以满足特定应用场景的需求。因此,神经网络加速器应运而生,它通过优化硬件架构和算法实现,针对神经网络计算的特
    的头像 发表于 07-11 10:40 444次阅读

    PROFINET实时性分析-RT与IRT区别

    不同应用需求而设计的两种关键实时通信机制。本文将详细介绍这两种实时技术的原理及其主要区别。 2、PROFINET RT(实时) PROFINET RT(Real Time Commun
    的头像 发表于 06-12 13:37 2250次阅读
    PROFINET<b class='flag-5'>实时</b>性分析-RT与IRT区别

    请问如何给STM32MP157上Linux5.4.31打实时内核补丁?

    我这边想给STM32MP157芯片A7上面的Linux打实时内核补丁,从而运行一些对实时性要求较高的应用程序。我看到我的Linux内核版本是5.4.31的。然而,Linux内核官方网站上面找不到这个
    发表于 03-11 06:09

    使用STM32H7的AD进行了7M频率的采集信号,采集进去后可以实现实时处理吗?

    使用STM32H7的AD进行了7M频率的采集信号,采集进去后可以实现实时处理吗?
    发表于 03-08 08:10

    回旋加速器原理 回旋加速器的影响因素

    回旋加速器的核心部分是一个半径为R的磁场区域和一对位于磁场中心的D形电极。磁场区域由一个或多个磁铁和调节磁场强度的电流源组成。当加速器通电时,在磁场中心将产生一个垂直于电极的磁场。加速器通过
    的头像 发表于 01-30 10:02 3673次阅读

    回旋加速器中粒子的最大动能与什么有关

    回旋加速器是一种用于加速粒子的装置,通过不断变化的磁场和电场来不断加速粒子,使其达到极高的速度和能量。粒子的最大动能取决于几个关键因素。 首先,回旋
    的头像 发表于 01-18 10:42 3011次阅读

    粒子加速器加速原理是啥呢?

    粒子加速器加速原理是啥呢? 粒子加速器是一种重要的实验设备,用于研究粒子物理学、核物理学等领域。其主要原理是通过电场和磁场的作用,对带电粒子进行
    的头像 发表于 12-18 13:52 2011次阅读