CN110716834B - 一种x86架构平台脉冲检测的实现方法 - Google Patents
一种x86架构平台脉冲检测的实现方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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架构平台脉冲检测的实现方法,涉及通信检测技术领域。
背景技术
在高速信号的通信领域中,涉及到各种随机脉冲信号检测,从而触发对应的操作。一般脉冲检测使用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模式,且设置为输入引脚,主要代码如下:
根据需要检测的脉冲电平,设置电平触发方式(寄存器GPI_INV),代码如下:
配置GPIO的中断类型为SCI中断使能,主要代码如下:
利用本发明系统对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函数。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905376B (zh) * | 2021-02-10 | 2023-01-10 | 山东英信计算机技术有限公司 | 一种错误上报的方法、装置及介质 |
Citations (3)
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)
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 |
-
2019
- 2019-10-14 CN CN201910971413.7A patent/CN110716834B/zh active Active
Patent Citations (3)
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)
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 |