CN111338777A - 一种低延时高稳定性的自主平台中断响应方法及设备 - Google Patents

一种低延时高稳定性的自主平台中断响应方法及设备 Download PDF

Info

Publication number
CN111338777A
CN111338777A CN202010121285.XA CN202010121285A CN111338777A CN 111338777 A CN111338777 A CN 111338777A CN 202010121285 A CN202010121285 A CN 202010121285A CN 111338777 A CN111338777 A CN 111338777A
Authority
CN
China
Prior art keywords
interrupt
processing program
interrupt processing
response method
gpio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010121285.XA
Other languages
English (en)
Other versions
CN111338777B (zh
Inventor
崔凯
姚春强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN202010121285.XA priority Critical patent/CN111338777B/zh
Publication of CN111338777A publication Critical patent/CN111338777A/zh
Application granted granted Critical
Publication of CN111338777B publication Critical patent/CN111338777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明提供一种低延时高稳定性的自主平台中断响应方法及设备,将内核层的中断处理程序移植到应用层;中断处理程序从应用层获得GPIO物理地址对应的虚拟地址指针;中断处理程序使用所述虚拟地址指针读写GPIO寄存器信息,并控制GPIO中断信号的状态。采用先进的应用层控制底层硬件技术,将内核层的中断驱动功能移植到应用层,大幅降低了中断程序处理延时,使中断处理程序的工作效率显著提升。同时通过优化中断处理程序的调度策略、提高程序的运行优先级、绑定CPU核等措施,减小中断响应漂移,保证中断处理程序运行稳定可靠。优化中断处理程序的代码,精简冗余代码,减少不必要的函数封装和函数调用开销,提高中断处理程序运行效率。

Description

一种低延时高稳定性的自主平台中断响应方法及设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种低延时高稳定性的自主平台中断响应方法及设备。
背景技术
目前科技项目大力发展,我国自主信息技术取得了长足进步,初步形成了国产基础软硬件产品体系,为信息系统的国产化建设构建了基础软硬件平台。但国产自主平台与国外同类产品(如X86平台和DSP平台)相比,在产品成熟度、性能优化等方面存在较大差距,其中中断响应性能的差距是比较突出的一项。
目前平台在未经优化的状态下,中断响应时间一般在100us以内,中断漂移时间在几十微秒以内,双方差距明显。这就造成国产自主平台无法满足对实时性要求较高的场合的应用需求,比如雷达实时信号处理、大数据实时处理等,造成无法进行广泛使用。
而且目前平台的操作系统默认的程序调度策略是时间片轮转调度策略,线程运行一个CPU时间片后将让出CPU等其它资源给别的线程,如果中断处理程序采用默认的时间片轮转调度策略,将难以保证长时间稳定高效的运行,难以保证中断响应的实时性和可靠性。
发明内容
为了克服上述现有技术中的不足,本发明提供一种低延时高稳定性的自主平台中断响应方法,方法包括:
步骤一,将内核层的中断处理程序移植到应用层;
步骤二,中断处理程序从应用层获得GPIO物理地址对应的虚拟地址指针;
步骤三,中断处理程序使用所述虚拟地址指针读写GPIO寄存器信息,并控制GPIO中断信号的状态。
基于上述方法本发明还提供一种实现低延时高稳定性的自主平台中断响应方法的设备,包括:存储器用于存储计算机程序及低延时高稳定性的自主平台中断响应方法;处理器用于执行所述计算机程序及低延时高稳定性的自主平台中断响应方法,以实现低延时高稳定性的自主平台中断响应方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明采用先进的应用层控制底层硬件技术,将内核层的中断驱动功能移植到应用层,大幅降低了中断程序处理延时,使中断处理程序的工作效率显著提升。同时通过优化中断处理程序的调度策略、提高程序的运行优先级、绑定CPU核等措施,减小中断响应漂移,保证中断处理程序运行稳定可靠。以及优化中断处理程序的代码,精简冗余代码,减少不必要的函数封装和函数调用开销,进一步提高中断处理程序运行效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为低延时高稳定性的自主平台中断响应方法流程图;
图2为低延时高稳定性的自主平台中断响应方法实施例流程图;
图3为本发明与现有技术架构的对比图。
具体实施方式
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
本发明基于上述技术问题,采用应用层控制底层硬件技术,使中断处理程序的工作效率显著提升,如图3所示。
本发明具体提供了一种低延时高稳定性的自主平台中断响应方法,如图1和图2所示。方法包括:
S11,将内核层的中断处理程序移植到应用层;
S12,中断处理程序从应用层获得GPIO物理地址对应的虚拟地址指针;
本发明充分调动处理器和操作系统的软硬件平台资源,采用处理器MMU管理技术结合操作系统I/O地址虚拟映射技术,将内核层的中断驱动功能移植到应用层,使得中断处理程序能从应用层直接获得GPIO物理基地址对应的虚拟地址指针
S13,中断处理程序使用所述虚拟地址指针读写GPIO寄存器信息,并控制GPIO中断信号的状态。
使用这个指针来读写GPIO寄存器,获取并控制GPIO中断信号的状态。此设计方案与传统的应用层通过IOCTL调用驱动程序来控制GPIO中断信号状态的方案相比,节省了应用层和内核层反复切换所耗费的操作系统调用时间,工作效率大幅提高,中断响应时间大幅减小。
作为本发明优选的实施方式,采用实时抢占式调度策略取代默认的时间片轮转调度策略,并结合提高线程的运行优先级的策略,使中断处理程序在没有更高优先级的程序运行时,始终占据着CPU等资源,确保程序能高效稳定的运行。同时通过绑定CPU核、设置线程对应CPU亲和力等措施,保证程序不会因CPU核的动态切换而造成程序运行的不稳定,且不会与其它高优先级的程序抢占CPU资源,进一步确保了中断响应的实时性和稳定性。
作为上述说明的CPU亲和力就是进程要在某个给定的CPU上尽量长时间的运行而不被迁移到其他处理器的倾向性。中断处理程序不会在处理器频繁迁移。因为中断处理程序迁移的频率小就意味着产生的负载小。可以编辑实现硬CPU亲和性。
配置中断处理程序在CPU执行进程的优先级。也就是通过优化中断处理程序的调度策略、提高程序的运行优先级、绑定CPU核等措施,保证中断处理程序运行稳定可靠。而目前的操作系统默认的程序调度策略是时间片轮转调度策略,线程运行一个CPU时间片后将让出CPU等其它资源给别的线程,如果中断处理程序采用默认的时间片轮转调度策略,将难以保证长时间稳定高效的运行,难以保证中断响应的实时性和可靠性。本发明通过配置中断处理程序在CPU执行进程的优先级,也就解决了上述问题。
作为本发明优选的实施方式,中断处理程序从应用层获得GPIO物理地址对应的虚拟地址指针;进而中断处理程序使用所述虚拟地址指针读写GPIO寄存器信息。中断处理程序可以实现对GPIO寄存器的读取信息,发送控制信息。
这样将中断处理程序的中断信息映射到GPIO寄存器的虚拟地址空间。设置中断处理程序对GPIO寄存器方向的操作代码。配置中断处理程序对GPIO寄存器输出状态的控制代码。配置中断处理程序中对GPIO寄存器读取状态的输入控制代码。上述方式可以采用高低电平切换的方式来进行发送控制指令。
本发明为了能够实现中断处理程序在CPU中的亲和力,配置中断处理程序在CPU执行进程的优先级。本发明优化了中断处理程序的调度策略,采用实时抢占式调度策略取代默认的时间片轮转调度策略,并结合提高线程的运行优先级的策略,使中断处理程序在没有更高优先级的程序运行时,始终占据着CPU等资源,确保程序能高效稳定的运行。同时通过绑定CPU核、设置线程对应CPU亲和力等措施,保证程序不会因CPU核的动态切换而造成程序运行上下文的不稳定,且不会与其它高优先级的程序抢占CPU资源,进一步确保了中断响应的实时性和稳定性。
当然如果出现优先级高于中断处理程序优先级的进程时,CPU优先运行优先级高的进程。
中断处理程序实时获取当前排队进程的优先级,并根据优先级控制CPU执行的进程信息。优化中断处理程序的调度策略、提高程序的运行优先级。
这样本发明通过绑定CPU核、设置线程对应CPU亲和力的关键代码,经实际测试,经过性能优化后的国产自主平台的中断响应系统,中断响应时间不大于10us,中断漂移时间不大于10us。中断响应性能和稳定性达到了主流X86平台和DSP平台的性能水平。
基于上述方法本发明还提供一种实现低延时高稳定性的自主平台中断响应方法的设备,包括:存储器用于存储计算机程序及低延时高稳定性的自主平台中断响应方法;处理器用于执行所述计算机程序及低延时高稳定性的自主平台中断响应方法,以实现低延时高稳定性的自主平台中断响应方法的步骤。
实现低延时高稳定性的自主平台中断响应方法的设备是结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种低延时高稳定性的自主平台中断响应方法,其特征在于,方法包括:
步骤一,将内核层的中断处理程序移植到应用层;
步骤二,中断处理程序从应用层获得GPIO物理地址对应的虚拟地址指针;
步骤三,中断处理程序使用所述虚拟地址指针读写GPIO寄存器信息,并控制GPIO中断信号的状态。
2.根据权利要求1所述的中断响应方法,其特征在于,方法还包括:
步骤三之后还包括:
将中断处理程序与CPU进行绑定;
设置中断处理程序与CPU之间的亲和力。
3.根据权利要求2所述的中断响应方法,其特征在于,
配置中断处理程序在CPU执行进程的优先级。
4.根据权利要求1或2所述的中断响应方法,其特征在于
步骤二还包括:
将中断处理程序的中断信息映射到GPIO寄存器的虚拟地址空间。
5.根据权利要求1或2所述的中断响应方法,其特征在于,
步骤三还包括:
设置中断处理程序对GPIO寄存器方向的操作代码。
6.根据权利要求1或2所述的中断响应方法,其特征在于,
步骤三还包括:
配置中断处理程序对GPIO寄存器输出状态的控制代码。
7.根据权利要求1或2所述的中断响应方法,其特征在于,方法还包括:
配置中断处理程序中对GPIO寄存器读取状态的输入控制代码。
8.根据权利要求1或2所述的中断响应方法,其特征在于,方法还包括:
当出现优先级高于中断处理程序优先级的进程时,CPU优先运行优先级高的进程。
9.根据权利要求1或2所述的中断响应方法,其特征在于,方法还包括:
中断处理程序实时获取当前排队进程的优先级,并根据优先级控制CPU执行的进程信息。
10.一种实现低延时高稳定性的自主平台中断响应方法的设备,其特征在于,包括:
存储器,用于存储计算机程序及低延时高稳定性的自主平台中断响应方法;
处理器,用于执行所述计算机程序及低延时高稳定性的自主平台中断响应方法,以实现如权利要求1至9任意一项所述低延时高稳定性的自主平台中断响应方法的步骤。
CN202010121285.XA 2020-02-26 2020-02-26 一种低延时高稳定性的自主平台中断响应方法及设备 Active CN111338777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010121285.XA CN111338777B (zh) 2020-02-26 2020-02-26 一种低延时高稳定性的自主平台中断响应方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010121285.XA CN111338777B (zh) 2020-02-26 2020-02-26 一种低延时高稳定性的自主平台中断响应方法及设备

Publications (2)

Publication Number Publication Date
CN111338777A true CN111338777A (zh) 2020-06-26
CN111338777B CN111338777B (zh) 2023-07-07

Family

ID=71181853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010121285.XA Active CN111338777B (zh) 2020-02-26 2020-02-26 一种低延时高稳定性的自主平台中断响应方法及设备

Country Status (1)

Country Link
CN (1) CN111338777B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857669A (zh) * 2020-07-29 2020-10-30 山东超越数控电子股份有限公司 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
CN112596891A (zh) * 2021-03-03 2021-04-02 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987961B1 (en) * 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
CN103019835A (zh) * 2011-09-26 2013-04-03 同方股份有限公司 一种多核处理器中断资源优化处理系统和方法
CN103870326A (zh) * 2012-12-11 2014-06-18 厦门雅迅网络股份有限公司 一种将中断处理程序底半部搬移到应用层的方法及应用
CN104977912A (zh) * 2015-07-02 2015-10-14 深圳市蜂鸟智航科技有限公司 一种基于以太网交换总线的无人机飞行控制系统及方法
CN113360431A (zh) * 2021-06-21 2021-09-07 南京中消安全技术有限公司 一种在Linux操作系统用户空间下控制GPIO端口的方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987961B1 (en) * 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
CN103019835A (zh) * 2011-09-26 2013-04-03 同方股份有限公司 一种多核处理器中断资源优化处理系统和方法
CN103870326A (zh) * 2012-12-11 2014-06-18 厦门雅迅网络股份有限公司 一种将中断处理程序底半部搬移到应用层的方法及应用
CN104977912A (zh) * 2015-07-02 2015-10-14 深圳市蜂鸟智航科技有限公司 一种基于以太网交换总线的无人机飞行控制系统及方法
CN113360431A (zh) * 2021-06-21 2021-09-07 南京中消安全技术有限公司 一种在Linux操作系统用户空间下控制GPIO端口的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WU158632: "linux驱动之gpio3", 《CSDN》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857669A (zh) * 2020-07-29 2020-10-30 山东超越数控电子股份有限公司 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
CN112596891A (zh) * 2021-03-03 2021-04-02 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法
CN112596891B (zh) * 2021-03-03 2021-06-11 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法

Also Published As

Publication number Publication date
CN111338777B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
CN108021449B (zh) 一种协程实现方法、终端设备及存储介质
CN111338777A (zh) 一种低延时高稳定性的自主平台中断响应方法及设备
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
CN110941395A (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
CN104104705B (zh) 分布式存储系统的接入方法和设备
US20130326189A1 (en) Extensible method and system for storage metadata
CN111857669A (zh) 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
US10719466B2 (en) System and method for implementing a multi-threaded device driver in a computer system
CN112039999A (zh) 一种内核态访问分布式块存储系统的方法及系统
US8082429B2 (en) Information processing apparatus and exception control circuit
US9122521B2 (en) Enabling multiple operating systems to run concurrently using barrier task priority
CN110955503B (zh) 任务调度方法及装置
CN103543982B (zh) 一种时钟频率管理方法及移动设备
US20210089482A1 (en) Processor and interrupt controller therein
CN112286678A (zh) 一种加速存储读写数据输入输出的优化方法和系统
US10310857B2 (en) Systems and methods facilitating multi-word atomic operation support for system on chip environments
CN111177027B (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
CN112486274B (zh) 计算机扩展卡及计算机系统
WO2021159608A1 (zh) 一种基于Protocol Buffer的镜像缓存方法
CN113064833A (zh) 一种单片机仿真方法、系统、装置、设备及存储介质
US6865579B1 (en) Simplified thread control block design
CN116601616A (zh) 一种数据处理装置、方法及相关设备
CN112559336A (zh) 自适应调试异构计算芯片的方法、装置、系统及主板芯片
CN111475295A (zh) 软硬件分层管理方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 250101 no.2877 Kehang Road, Suncun Town, high tech Zone, Jinan City, Shandong Province

Applicant after: Chaoyue Technology Co.,Ltd.

Address before: 250101 no.2877 Kehang Road, Suncun Town, high tech Zone, Jinan City, Shandong Province

Applicant before: SHANDONG CHAOYUE DATA CONTROL ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant