一种X86架构平台脉冲检测的实现方法技术

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

A method of pulse detection for X86 platform

【技术实现步骤摘要】
一种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模式,且设置为输入引脚,主要代码如下:根据需要检测的脉冲电平,设置电平触发方式(寄存器GPI_INV),代码如下:配置GPIO的中断类型为SCI中断使能,主要本文档来自技高网...

【技术保护点】
1.一种X86架构平台脉冲检测的实现方法,其特征是配置PCH芯片组上复用管脚为GPIO功能,设置GPIO的工作模式为SCI中断模式,修改内核ACPI模块中的SCI中断处理函数,利用GPIO通用事件寄存器对应的GPIO发生变化进行脉冲中断检测,每次检测中断,执行BIOS添加的对应GPIO端口的ASLcode处理代码,记录当次GPIO中断处理过程。/n

【技术特征摘要】
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架构平台脉冲检测的实现系统,其特...

【专利技术属性】
技术研发人员:黄刚张武李德国陈亮甫
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1