CN110716834B - 一种x86架构平台脉冲检测的实现方法 - Google Patents

一种x86架构平台脉冲检测的实现方法 Download PDF

Info

Publication number
CN110716834B
CN110716834B CN201910971413.7A CN201910971413A CN110716834B CN 110716834 B CN110716834 B CN 110716834B CN 201910971413 A CN201910971413 A CN 201910971413A CN 110716834 B CN110716834 B CN 110716834B
Authority
CN
China
Prior art keywords
gpio
interrupt
sci
module
acpi
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.)
Active
Application number
CN201910971413.7A
Other languages
English (en)
Other versions
CN110716834A (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.)
Chaoyue Technology Co Ltd
Original Assignee
Chaoyue Technology 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 Chaoyue Technology Co Ltd filed Critical Chaoyue Technology Co Ltd
Priority to CN201910971413.7A priority Critical patent/CN110716834B/zh
Publication of CN110716834A publication Critical patent/CN110716834A/zh
Application granted granted Critical
Publication of CN110716834B publication Critical patent/CN110716834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)

Abstract

本发明公开一种X86架构平台脉冲检测的实现方法,涉及通信检测技术领域;配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。

Description

一种X86架构平台脉冲检测的实现方法
技术领域
本发明公开一种X86架构平台脉冲检测的实现方法,涉及通信检测技术领域。
背景技术
在高速信号的通信领域中,涉及到各种随机脉冲信号检测,从而触发对应的操作。一般脉冲检测使用GPIO作为信号的检测的输入,为了保证脉冲信号不丢失且能够及时响应,GPIO管脚可以由软件直接控制,采用编程方式来支持诸多应用,比如,作为输出时,可用于控制继电器、蜂鸣器、LED等;作为输入时,可用于获取传感器状态、高低电平、中断信号、低速信号等。
现有的X86架构平台,通常使用PIC中断控制器实现脉冲信号的检测,在不便连接或没有PIC中断控制器的情况下,无法对X86架构平台进行脉冲信号检测,十分不便。本发明提供一种X86架构平台脉冲检测的实现方法,能够在非PIC模式下复用的GPIO进行设置,设置SCI中断和路由,同时在平台内核中针对对应位的GPE事件调用BIOS中ASL代码完成处理并告知平台内核完成SCI中断的脉冲信号检测,快速有效地实现X86架构平台的脉冲检测,方便实施。
发明内容
本发明针对现有技术的问题,提供一种X86架构平台脉冲检测的实现方法,快速有效地实现X86架构平台的脉冲检测,方便实施。
本发明提出的具体方案是:
一种X86架构平台脉冲检测的实现方法,配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
所述的实现方法中设置中断触发方式为电平触发,并设置PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置的使能信号。
所述的实现方法中配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能。
所述的实现方法中通过GPIO的事件状态路由GPIO产生SCI中断。
所述的实现方法中针对SCI中断进行初始化,修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,修改ACPI模块中acpi_ev_sci_xrupt_handler函数。
一种X86架构平台脉冲检测的实现系统,包括配置模块、检测模块及记录模块,
配置模块配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,检测模块修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测模块检测中断,记录模块执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
所述的实现系统中配置模块设置中断触发方式为电平触发,并设置PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置的使能信号。
所述的实现系统中配置模块配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能。
所述的实现系统中检测模块通过GPIO的事件状态路由GPIO产生SCI中断。
所述的实现系统中针对SCI中断进行初始化,检测模块修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,检测模块修改ACPI模块中acpi_ev_sci_xrupt_handler函数。
本发明的有益之处是:
本发明提供一种X86架构平台脉冲检测的实现方法,在不便连接或没有PIC中断控制器的情况下,能够在非PIC模式下复用的GPIO进行设置,设置SCI中断和路由,同时在平台内核中针对对应位的GPE事件调用BIOS中ASL代码完成处理并告知平台内核完成SCI中断的脉冲信号检测,快速有效地实现X86架构平台的脉冲检测,方便实施。
附图说明
图1是本发明方法流程示意图。
具体实施方式
本发明提供一种X86架构平台脉冲检测的实现方法,配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
同时提供与上述方法相对应的一种X86架构平台脉冲检测的实现系统,包括配置模块、检测模块及记录模块,
配置模块配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,检测模块修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测模块检测中断,记录模块执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
利用本发明方法对X86架构平台进行非PIC模式的脉冲信号检测,具体过程为:
配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能,设置为GPIO,即寄存器GPIO_USE_SEL,同时设置GPIO为输入信号,寄存器GP_IO_SEL,根据需要检测的脉冲电平,设置电平触发方式寄存器GPI_INV,
设置GPIO的工作模式为SCI中断模式,即配置GPIO的中断类型为SCI中断使能,SCI使能寄存器为SCI_En,
使能GPIO中断通用事件寄存器即寄存器GPE0_EN,同时通过GPIO的事件状态路由GPIO产生SCI中断,SCI中断寄存器为GPI_ROUT,
修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
在上述过程中,可将PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置1设置为使能,通过使能电平信号的改变,触发GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,
同时,修改内核acpi模块中的SCI中断处理函数,针对SCI中断进行初始化,则修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,则修改ACPI模块中acpi_ev_sci_xrupt_handler函数,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
在上述过程中,在PCH芯片组设置复用引脚为GPIO模式,且设置为输入引脚,主要代码如下:
Figure BDA0002232220830000041
Figure BDA0002232220830000051
根据需要检测的脉冲电平,设置电平触发方式(寄存器GPI_INV),代码如下:
Figure BDA0002232220830000052
配置GPIO的中断类型为SCI中断使能,主要代码如下:
Figure BDA0002232220830000053
Figure BDA0002232220830000061
利用本发明系统对X86架构平台进行非PIC模式的脉冲信号检测,具体过程为:
配置模块配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能,设置为GPIO,即寄存器GPIO_USE_SEL,同时设置GPIO为输入信号,寄存器GP_IO_SEL,根据需要检测的脉冲电平,设置电平触发方式寄存器GPI_INV,
设置GPIO的工作模式为SCI中断模式,即配置GPIO的中断类型为SCI中断使能,SCI使能寄存器为SCI_En,
使能GPIO中断通用事件寄存器即寄存器GPE0_EN,同时通过GPIO的事件状态路由GPIO产生SCI中断,SCI中断寄存器为GPI_ROUT,
检测模块修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测模块检测中断,记录模块执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
在上述过程中,配置模块可将PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置1设置为使能,检测模块通过使能电平信号的改变,触发GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,
同时,修改内核acpi模块中的SCI中断处理函数,针对SCI中断进行初始化,则修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,则修改ACPI模块中acpi_ev_sci_xrupt_handler函数,每次检测模块检测中断,记录模块执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (10)

1.一种X86架构平台脉冲检测的实现方法,其特征是配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
2.根据权利要求1所述的实现方法,其特征是设置中断触发方式为电平触发,并设置PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置的使能信号。
3.根据权利要求1或2所述的实现方法,其特征是配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能。
4.根据权利要求3所述的实现方法,其特征是通过GPIO的事件状态路由GPIO产生SCI中断。
5.根据权利要求4所述的实现方法,其特征是针对SCI中断进行初始化,修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,修改ACPI模块中acpi_ev_sci_xrupt_handler函数。
6.一种X86架构平台脉冲检测的实现系统,其特征是包括配置模块、检测模块及记录模块,
配置模块配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,检测模块修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测模块检测中断,记录模块执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。
7.根据权利要求6所述的实现系统,其特征是配置模块设置中断触发方式为电平触发,并设置PCH芯片组上对应的GPIO通用事件状态寄存器对应的GPIO位置的使能信号。
8.根据权利要求6或7所述的实现系统,其特征是配置模块配置PCH芯片组上复用管脚GPIO0到GPIO15为GPIO功能。
9.根据权利要求8所述的实现系统,其特征是检测模块通过GPIO的事件状态路由GPIO产生SCI中断。
10.根据权利要求9所述的实现系统,其特征是针对SCI中断进行初始化,检测模块修改ACPI模块中acpi_ev_handler_initialize函数;
针对SCI中断处理,检测模块修改ACPI模块中acpi_ev_sci_xrupt_handler函数。
CN201910971413.7A 2019-10-14 2019-10-14 一种x86架构平台脉冲检测的实现方法 Active CN110716834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910971413.7A CN110716834B (zh) 2019-10-14 2019-10-14 一种x86架构平台脉冲检测的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910971413.7A CN110716834B (zh) 2019-10-14 2019-10-14 一种x86架构平台脉冲检测的实现方法

Publications (2)

Publication Number Publication Date
CN110716834A CN110716834A (zh) 2020-01-21
CN110716834B true CN110716834B (zh) 2023-04-07

Family

ID=69212578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910971413.7A Active CN110716834B (zh) 2019-10-14 2019-10-14 一种x86架构平台脉冲检测的实现方法

Country Status (1)

Country Link
CN (1) CN110716834B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905376B (zh) * 2021-02-10 2023-01-10 山东英信计算机技术有限公司 一种错误上报的方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923525A (zh) * 2010-08-11 2010-12-22 清华大学 一种带事件捕获功能的通用目的输入输出电路
CN103019141A (zh) * 2012-12-28 2013-04-03 成都天进科技有限公司 一种控制模块及方法、电力动态记录装置及其实现方法
CN104750551A (zh) * 2013-12-25 2015-07-01 研祥智能科技股份有限公司 一种计算机系统及其自定义响应方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792491B2 (en) * 2001-12-21 2004-09-14 Intel Corporation Invoking ACPI source language code from interrupt handler

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923525A (zh) * 2010-08-11 2010-12-22 清华大学 一种带事件捕获功能的通用目的输入输出电路
CN103019141A (zh) * 2012-12-28 2013-04-03 成都天进科技有限公司 一种控制模块及方法、电力动态记录装置及其实现方法
CN104750551A (zh) * 2013-12-25 2015-07-01 研祥智能科技股份有限公司 一种计算机系统及其自定义响应方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江志东等.基于STM32微处理器的一体化脉冲采集传输系统.《仪表技术》.2018,全文. *

Also Published As

Publication number Publication date
CN110716834A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN102016812B (zh) 虚拟中断模式接口和用于虚拟化中断模式的方法
US20160196194A1 (en) Automatic hardware recovery system
CN106030548B (zh) 用于可信计算的多节点中枢
US20030107398A1 (en) Method and system for use of a field programmable interconnect within an asic for configuring the asic
CN102650975A (zh) 用于多硬件平台飞腾服务器的i2c总线的实现方法
CN102622044A (zh) 主机板及其pcie端口动态配置方法
CN110716834B (zh) 一种x86架构平台脉冲检测的实现方法
US10496062B2 (en) Programmable controller for controlling automatic machines, having CPU to received control with respect to own apparatus, when external storage is authenticated based on authentication information
CN103384863A (zh) 虚拟计算机控制装置及虚拟计算机控制方法
WO2017099922A1 (en) System management mode disabling and verification techniques
US20180341536A1 (en) Distributed input/output virtualization
WO2016094529A1 (en) Ring-based network interconnect
EP3382567B1 (en) Multiple storage devices implemented using a common connector
CN104750551B (zh) 一种计算机系统及其自定义响应方法
Abbasi Ghost in the PLC: stealth on-the-fly manipulation of programmable logic controllers’ I/O
EP1596305B1 (en) Interrupt handling system
US4679194A (en) Load double test instruction
CN109343950A (zh) 一种适用于Xilinx软核处理器的中断通用处理方法
US9690942B2 (en) SIO device with SPI bus gateway controller for write protection
US10191875B2 (en) Techniques of providing serial port in non-legacy system via embedded-system device
EP3182320B1 (en) Technique for inspecting a host computer
CN102012801B (zh) 反病毒虚拟机硬件加速系统
US20230057698A1 (en) Physically distributed control plane firewalls with unified software view
US20180285291A1 (en) Context-sensitive interrupts
KR102340871B1 (ko) 인터럽트 처리 장치 및 방법

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

Address after: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

Applicant after: Chaoyue Technology Co.,Ltd.

Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

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

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant