CN112711559A - 串行中断方法、设备、串行中断处理方法以及处理器 - Google Patents
串行中断方法、设备、串行中断处理方法以及处理器 Download PDFInfo
- Publication number
- CN112711559A CN112711559A CN202110053108.7A CN202110053108A CN112711559A CN 112711559 A CN112711559 A CN 112711559A CN 202110053108 A CN202110053108 A CN 202110053108A CN 112711559 A CN112711559 A CN 112711559A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- indication
- bit
- level
- serial
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
一种串行中断方法、设备、串行中断处理方法以及处理器。该串行中断方法包括:接收空白串行中断请求信号以及外设的电平信号;基于空白串行中断请求信号,根据该电平信号来生成包括指示中断位的指示串行中断请求信号,其中,指示中断位基于由第一电平与第二电平表示的二进制代码来标识该外设;以及将指示串行中断请求信号发送至处理器。
Description
技术领域
本公开的实施例涉及处理器领域,且更具体地涉及一种串行中断方法、设备、串行中断处理方法以及处理器。
背景技术
少管脚数(Low pin count,LPC)总线用于将低带宽设备和“老旧”设备连接到中央处理单元(central processing unit,CPU)上。常见的低带宽设备有:基本输入输出系统(Basic Input Output System,BIOS)、串行接口、并行接口、软盘控制器等,“老旧”设备例如包括可编程中断控制器、可编程计时器等设备,这些通过LPC总线连接至CPU的设备可以统称为外部设备,或者外设。目前,基于LPC的串行中断方案是通过串行中断信号将请求中断的外设指示给CPU,以使得CPU对该外设的中断请求进行相应的中断响应。
发明内容
本公开提供了一种串行中断方法、设备、串行中断处理方法以及处理器,利用由第一电平与第二电平表示的二进制代码来标识请求中断的外设,由此扩展请求中断的外设数目。
根据本公开的一方面,提供了一种串行中断方法,包括:接收空白串行中断请求信号以及外设的电平信号;基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号,其中,指示中断位基于由第一电平与第二电平表示的二进制代码来标识该外设;以及将指示串行中断请求信号发送至处理器。
根据本公开的一些实施例,上述串行中断方法还包括:为外设分配唯一的二进制代码,并存储外设的电平信号与二进制代码的对应关系。
根据本公开的一些实施例,接收空白串行中断请求信号包括:从处理器或者从外设接收空白串行中断请求信号,其中,空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,空白中断位由多个时钟周期的第一电平组成。
根据本公开的一些实施例,生成包括指示中断位的指示串行中断请求信号包括:基于所接收的电平信号以及所存储的电平信号与二进制代码的对应关系来确定外设的二进制代码;以及按照该二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。
根据本公开的一些实施例,上述串行中断方法还包括:将外设的电平信号与二进制代码的对应关系发送至处理器,其中,处理器在接收到该指示串行中断请求信号的情况下,基于上述对应关系以及该指示串行中断请求信号中的指示中断位来确定请求中断的外设。
根据本公开的一些实施例,空白中断位中包括的时钟周期的数目是由处理器设置的。
根据本公开的一些实施例,上述串行中断方法还包括:设置中断屏蔽寄存器,其中,中断屏蔽寄存器包括屏蔽指示位,用于指示是否屏蔽串行中断。
根据本公开的一些实施例,将指示串行中断请求信号发送至处理器包括:检测中断屏蔽寄存器中的屏蔽指示位;在检测到中断屏蔽寄存器中的屏蔽指示位为预定位的情况下,将指示串行中断请求信号发送至处理器。
根据本公开的另一方面,提供了一种串行中断设备,包括:中断信号接收器,配置成接收空白串行中断请求信号以及外设的电平信号;中断请求生成器,配置成基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号,其中,指示中断位基于由第一电平与第二电平表示的二进制代码来标识外设;以及中断信号发送器,配置成将指示串行中断请求信号发送至处理器。
根据本公开的又一方面,提供了一种串行中断处理方法,包括:接收指示串行中断请求信号,其中,指示串行中断请求信号包括指示中断位,指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设;基于指示中断位进行串行中断响应。
根据本公开的一些实施例,该串行中断处理方法还包括:接收并存储外设的电平信号与二进制代码的对应关系,其中,在该对应关系中,外设的电平信号与二进制代码一一对应。
根据本公开的一些实施例,指示串行中断请求信号是由串行中断设备通过以下步骤生成的:接收空白串行中断请求信号以及外设的电平信号;基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号。
根据本公开的一些实施例,空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,空白中断位由多个时钟周期的第一电平组成,其中,串行中断设备生成包括指示中断位的指示串行中断请求信号包括:基于所接收的电平信号以及外设的电平信号与二进制代码的对应关系来确定外设的二进制代码;以及按照该二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。
根据本公开的一些实施例,基于指示中断位进行串行中断响应包括:基于外设的电平信号与二进制代码的对应关系以及指示中断位确定请求中断的外设;以及对该外设进行串行中断响应。
根据本公开的又一方面,提供了一种处理器,包括:信号接收器,配置成接收指示串行中断请求信号,其中,指示串行中断请求信号包括指示中断位,指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设;中断响应器,配置成基于指示中断位进行串行中断响应。
本公开的实施例提供的串行中断方法、设备、串行中断处理方法以及处理器,利用由第一电平与第二电平表示的二进制代码来标识请求中断的外设,由此扩展请求中断的外设数目。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了基于LPC总线的系统连接示意图;
图2A示出了电平中断方式中的外设的电平信号示意图;
图2B示出了基于LPC的串行中断请求信号的示意图;
图2C示出了SerIRQ信号的示意图;
图3示出了根据本公开实施例的串行中断方法的示意性流程图;
图4示出了根据本公开实施例的指示串行中断信号的示意图;
图5示出了根据本公开实施例的串行中断处理方法的示意性流程图;
图6示出了根据本公开实施例的串行中断设备的示意性框图;
图7示出了根据本公开实施例的处理器的示意性框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
在计算机系统中,可以通过LPC总线将一些低速外设连接至CPU,图1示出了基于LPC总线的系统连接示意图,其中,诸如闪存存储器、I/O芯片(Super I/O)以及嵌入式控制器连接至LPC总线,并经由主机设备(Host)连接到例如CPU的外设部件互连(PeripheralComponent Interconnect,PCI)/主机总线以及工业标准体系结构(Industry StandardArchitecture,ISA)总线。具体的,外设可以通过通用输入输出(General-purpose input/output,GPIO)接口连接至LPC总线。
基于LPC的中断类型包括串行中断(Interrupt Request,IRQ)以及直接存储器访问(Direct Memory Access,DMA)中断两种,这两种中断方式共用CPU的通用中断控制器(general interrupt controller,GIC)中的中断号。
具体的,基于LPC的串行中断与常见的外设电平中断方式不同。在电平中断方式中,外设将对应的电平信号拉低即能实现中断的上报,即,来自GPIO的电平信号只需要具有下降沿就能触发复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),让CPLD向CPU发出中断请求。具体的实现方式是通过多次获取GPIO的电平信号状态,并存储到寄存器内,寄存器内的相邻两个比特如果由1变0,则表示下降沿发生,同理,由0变1则表明有上升沿发生。图2A示出了电平中断方式中的外设的电平信号示意图,其中,示意性地示出了时钟信号clk_33Mhz、电平信号GPIO_1以及GPIO_n。clk_33Mhz表示频率为33兆赫兹的时钟信号,电平信号GPIO_1对应于连接至GPIO接口1的外设用于请求中断的电平信号,电平信号GPIO_n对应于连接至GPIO接口n的外设用于请求中断的电平信号,不同外设对应于信号中不同的时钟位置,支持连接的外设总数N可以是由CPU设置的,N是正整数。在外设不需要进行中断请求时,电平信号为高电平,在需要进行中断请求时,外设将与该外设对应的时钟位置处的电平信号拉低,以实现中断请求。换句话说,外设通过将对应时钟位置处的信号拉低来实现中断请求。当然,在此高电平和低电平仅是示例,也可以在外设不需要进行中断请求时,电平信号为低电平,在需要进行中断请求时,外设将与该外设对应的时钟位置处的电平信号拉高,在此不做限制。
相比于电平中断方式,基于LPC的串行中断请求信号包括起始帧、中断位和结束帧。外设通过GPIO接口连接至LPC总线,在需要进行中断请求时,外设将对应时钟位置处的信号拉低,并输出至串行中断设备,由串行中断设备生成包括起始帧、中断位、结束帧的串行中断请求信号,其中,在中断位标识请求中断的GPIO接口的标识。图2B示出了基于LPC的串行中断请求信号的示意图,其中,请求中断的GPIO接口n生成电平信号GPIO_n,串行中断设备可以基于该电平信号GPIO_n生成串行中断请求信号SerIRQ。SerIRQ由起始帧(start)、中断位(IRQ_n)以及结束帧(stop)组成,中断位为低电平的位置用于标识请求中断的GPIO接口。诸如CPU可以基于图2B中示出的SerIRQ信号来识别外设的中断请求并进行相应的中断响应。
在实际应用中,SerIRQ信号中每个设备帧对应于3个时钟周期,图2C示出了SerIRQ信号的示意图。如图2C所示,首先,SerIRQ包括起始帧,通常起始帧可以是4-8个时钟周期,其可以是由主机控制器控制的也可以是由外设控制的。接着,SerIRQ包括中断位,不同的外设对应于不同的时钟位置,示出为图2C中的不同设备帧:IRQ0、IRQ1、SMI#、...、IRQ14、IRQ15、IOCHCK,SerIRQ的中断位通过对应位置处的低电平来标识请求中断的外设,诸如图2C中示出的IRQ1位置处为低电平,则表示当前请求中断的外设对应于IRQ1。每个设备帧对应于3个时钟周期,分别表示为S、R、T,其中,S表示采样信号(Sample)、R表示复位信号(Recovery),T表示转向信号(Turn-around)。具体的,对于请求中断的IRQ1帧,其中仅S信号为低电平,一般地,R信号和T信号为高电平。接着,SerIRQ包括结束帧,通常结束帧可以是2或者3个时钟周期。
以下表1示出了SerIRQ信号的采样周期。
表1 SerIRQ信号采样周期
IRQ/数据帧 | 采样帧 | 起始帧后的时钟周期 |
1 | IRQ0 | 2 |
2 | IRQ1 | 5 |
3 | SMI# | 8 |
4 | IRQ3 | 11 |
5 | IRQ4 | 14 |
6 | IRQ5 | 17 |
7 | IRQ6 | 20 |
8 | IRQ7 | 23 |
9 | IRQ8 | 26 |
10 | IRQ9 | 29 |
11 | IRQ10 | 32 |
12 | IRQ11 | 35 |
13 | IRQ12 | 38 |
14 | IRQ13 | 41 |
15 | IRQ14 | 44 |
16 | IRQ15 | 47 |
17 | IOCHCK# | 50 |
如表1所示出的,对于每个IRQ/数据帧,在起始帧的高电平之后需要(IRQ/数据帧*3-1)个时钟周期。例如,对于采样帧IRQ1,在起始帧的高电平之后需要5个时钟周期,即,对于IRQ1,在起始帧的高电平之后的第5个周期为低电平指示该IRQ1请求中断。又例如,对于采样帧IRQ5,在起始帧的高电平之后需要6*3-1=17个时钟周期,即,对于IRQ5,在起始帧的高电平之后的第17个周期为低电平指示该IRQ5请求中断。换句话说,在串行中断信号SerIRQ中,对应时钟位置处的低电平用于标识请求中断的外设,即,外设标识与时钟位置是一一对应的。
基于图2C以及表1可知,在实际应用中,每个采用帧实际需要占用3个时钟周期,分别对应于图2C中的S信号、R信号和T信号,其中S信号用于指示中断外设。为简化描述,在下文中仅以一个时钟周期示出,即,仅描述S信号。
以上描述可知,上述中断外设指示方式需要消耗较多时钟周期,在需要指示的外设数目较多的情况下,需要的时钟数将大幅增加,不利于对中断请求进行快速处理。
本公开实施例提供了一种串行中断方法,利用由第一电平与第二电平表示的二进制代码来标识请求中断的外设,由此扩展请求中断的外设数目。相比于如图2B所示出的串行中断请求信号中由对应时钟位置处的低电平来指示中断外设的方式,在相同时钟数的情况下,能够有效提高能标识的外设的数目。
图3示出了根据本公开实施例的串行中断方法的示意图,如图3所示,该方法包括步骤S101-S103。首先,在步骤S101,接收空白串行中断请求信号以及外设的电平信号。根据本公开实施例,外设的电平信号可以是由外设通过GPIO接口发出的、如图2A中所示出的电平信号。外设的电平信号是与该外设对应的。
根据本公开实施例,上述接收空白串行中断请求信号包括:从处理器或者从外设接收空白串行中断请求信号。空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,该空白中断位由多个时钟周期的第一电平组成。例如,空白串行中断请求信号可以参考图2B中的信号SerIRQ,其中不包括有效中断位(IRQ_n),换句话说,空白串行中断请求信号中的中断位可以均为高电平(即,第一电平),其中并未包含用于指示中断外设的信息。串行中断可以分为静态模式(Quite model)和连续模式(Continuemodel)两种。当LPC中断处于静态模式,当无中断请求的情况下,SerIRQ信号线上的中断位均为高电平,当外设需要向CPU上报中断时,由外设将起始帧、中断位、结束帧,全部发送到SerIRQ信号线上。在此情形中,诸如串行中断设备从外设接收空白串行中断请求信号。当LPC中断处于连续模式,无论外设是否上报中断,CPU都会一直向外发出起始帧及结束帧,当外设需要上报中断时,需要检测起始帧的位置,并在对应于其自身的时钟位置处将对应时钟的高电平拉低,当结束帧发出的时候,本次中断就会上报到CPU的GIC。在此情形中,例如,串行中断设备从诸如CPU的处理器接收空白串行中断请求信号。
接着参考图3,在步骤S102,基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号。根据本公开实施例,指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设。在步骤S103,将该指示串行中断请求信号发送至诸如CPU的处理器,以使得CPU进行相应的中断处理。
以下将详细描述根据电平信号来生成包括指示中断位的指示串行中断请求信号的过程(即,步骤S102)。
根据本公开的一些实施例,上述串行中断方法还可以包括:为外设分配唯一的二进制代码,并存储外设的电平信号与二进制代码的对应关系。在根据本公开的方法中,在串行中断信号的中断位以二进制代码来标识请求中断的外设,即对应的GPIO接口。可以首先对连接的外设进行编码,即,为外设分配唯一的二进制代码。例如,以需要指示8个外设(表示为GPIO_0至GPIO_7)为例,GPIO_0对应于二进制代码000,GPIO_1对应于二进制代码001,以此类推,GPIO_7对应于二进制代码111。
根据本公开的一些实施例,生成包括指示中断位的指示串行中断请求信号包括:基于所接收的电平信号以及所存储的电平信号与二进制代码的对应关系来确定外设的二进制代码。在需要进行中断请求时,外设首先通过GPIO接口发送电平信号,诸如GPIO_1接口发送图2A中示出的电平信号GPIO_1。基于该电平信号GPIO_1以及电平信号与二进制代码的对应关系可以确定请求中断的外设的二进制代码为001。接着,按照该二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。作为示例,第一电平是高电平,第二电平是低电平。即,指示中断位中的高电平表示二进制0,指示中断位中的低电平表示二进制1。
图4示出了根据本公开实施例的指示串行中断信号的示意图,在图4中,clk_33Mhz为频率是33兆赫兹的时钟信号,SerIRQ为根据本公开实施例的指示串行中断信号,其中包括起始帧(start)、指示中断位以及结束帧(stop)。图4中仍以需要指示8个外设(表示为GPIO_0至GPIO_7)为例,即,此处n为3。对于指示中断位,假设请求中断的接口为GPIO_1接口,则与其对应的二进制代码为001。由此,在指示中断位,由高电平和低电平来表示该二进制代码001。在需要指示8个GPIO接口的情况下,仅需3个时钟周期(即,3个图2C中示出的S信号,实际应为3*3=9个时钟周期,其中包括3个S信号、3个R信号以及3个T信号,图4中仅示意性地示出了S信号的时钟周期)。对于起始帧可以占据4-8个时钟周期(图4中示意性地示出了4个时钟周期,即4clk)。对于结束帧可以占据2或3个时钟周期,其中,在静态模式下,结束帧占据2个时钟周期,在连续模式下,结束帧对应于3个时钟周期(图4中示意性地示出了3个时钟周期,即3clk)。
在根据本公开的实施例中,对于指示中断位的N个时钟周期,以信号电平的高低作为二进制代码中的0或1,从而实现利用总共N个信号电平指示2N个GPIO接口,由此,可以有效降低指示中断GPIO接口所使用的时钟周期数。
根据本公开的一些实施例,上述方法还可以包括:将外设的电平信号与二进制代码的对应关系发送至处理器,其中,处理器在接收到指示串行中断请求信号的情况下,基于对应关系以及指示串行中断请求信号中的指示中断位来确定请求中断的外设,即确定哪个外设请求了中断。例如,可以在CPU内增加相应的存储区或寄存器来存储该对应关系,使得在CPU接收到指示串行中断请求信号后可以基于该对应关系确定请求中断的GPIO接口,例如,CPU可以知晓图4示出的SerIRQ信号中请求中断的GPIO接口为GPIO_1。
根据本公开的一些实施例,空白中断位中包括的时钟周期的数目是由处理器设置的。例如,CPU可以设置能够通过LPC总线连接的外设数目,诸如16个或32个,在确定了外设数目之后,进行串行中断请求的串行中断信号中的空白中断位包括的时钟周期数即可以随之确定。换句话说,空白中断位中包括的时钟周期的数目可以是由连接的外设数目确定的。
根据本公开的一些实施例,上述串行中断方法还可以包括:设置中断屏蔽寄存器。该中断屏蔽寄存器包括屏蔽指示位,用于指示是否屏蔽串行中断。在此实施例中,将指示串行中断请求信号发送至处理器包括:检测中断屏蔽寄存器中的屏蔽指示位;在检测到中断屏蔽寄存器中的屏蔽指示位为预定位的情况下,将指示串行中断请求信号发送至处理器。
作为示例,可以设置中断屏蔽寄存器int_mask[1:0],寄存器例如可以包括两个比特,用于确定是否将接收到的中断请求上报到CPU。如上文所描述的,基于LPC的中断类型包括串行中断以及DMA中断两种,由此,中断屏蔽寄存器中的高位可以作为串行中断的屏蔽位,当其为1时,屏蔽串行中断,即,不将串行中断请求信号上报至CPU,即,该屏蔽指示位的预定位为比特1;当其为0时,则将串行中断上报至CPU。此外,中断屏蔽寄存器中的低位可以作为DMA中断的屏蔽位,其作用方式类似于串行中断的屏蔽位。通过设置中断屏蔽位,可以实现通过软件的方式确定是否进行中断上报。
根据本公开的另一方面,还提供了一种串行中断处理方法,图5示出了根据本公开实施例的串行中断处理方法的示意性流程图。
如图5所示,串行中断处理方法可以包括步骤S201以及步骤S202。首先,在步骤S201,接收指示串行中断请求信号,其中,指示串行中断请求信号包括指示中断位,指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设。接着,在步骤S202,基于指示中断位进行串行中断响应。
根据本公开实施例,指示串行中断请求信号是由串行中断设备通过以下步骤生成的:接收空白串行中断请求信号以及外设的电平信号;基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号。
根据本公开实施例,空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,空白中断位由多个时钟周期的第一电平组成,其中,串行中断设备生成包括指示中断位的指示串行中断请求信号包括:基于所接收的电平信号以及外设的电平信号与二进制代码的对应关系来确定外设的二进制代码;以及按照二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。
由此,在根据本公开实施例的上述串行中断处理方法中,该指示串行中断请求信号是按照以上结合图3描述的串行中断方法生成的,具体的生成过程可以参照上文的描述,在此不再重复。在该指示串行中断请求信号的指示中断位,以信号电平的高低作为二进制代码中的0或1,从而实现利用总共N个信号电平指示2N个GPIO接口,由此,可以有效降低指示中断GPIO接口所使用的时钟周期数。
根据本公开实施例,上述串行中断处理方法还可以包括:接收并存储外设的电平信号与二进制代码的对应关系,其中,在对应关系中,外设的电平信号与二进制代码一一对应。由此,可以基于外设的电平信号与二进制代码的对应关系以及指示中断位确定请求中断的外设;并对该确定的外设进行串行中断响应。
根据本公开的另一方面,还提供了一种串行中断设备,图6示出了根据本公开实施例的串行中断设备的示意性框图。
如图6所示,串行中断设备1010包括中断信号接收器1011、中断请求生成器1012以及中断信号发送器1013。根据本公开的一些实施例,中断信号接收器1011可以配置成接收空白串行中断请求信号以及外设的电平信号。中断请求生成器1012可以配置成基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号,其中,指示中断位基于由第一电平与第二电平表示的二进制代码来标识外设。以及,中断信号发送器1013可以配置成将指示串行中断请求信号发送至处理器。
根据本公开的一些实施例,串行中断设备1010还可以配置成为外设分配唯一的二进制代码,并存储外设的电平信号与二进制代码的对应关系。
根据本公开的一些实施例,中断信号接收器1011可以配置成:从处理器或者从外设接收空白串行中断请求信号,其中,空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,空白中断位由多个时钟周期的第一电平组成。
根据本公开的一些实施例,中断请求生成器1012可以配置成:基于所接收的电平信号以及所存储的电平信号与二进制代码的对应关系来确定外设的二进制代码;以及按照二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。
根据本公开的一些实施例,中断信号发送器1013还可以配置成将外设的电平信号与二进制代码的对应关系发送至处理器,其中,处理器在接收到指示串行中断请求信号的情况下,基于对应关系以及指示串行中断请求信号中的指示中断位来确定请求中断的外设。
根据本公开的一些实施例,空白中断位中包括的时钟周期的数目是由处理器设置的。
根据本公开的一些实施例,中断信号发送器1013还可以配置成:设置中断屏蔽寄存器,其中,中断屏蔽寄存器包括屏蔽指示位,用于指示是否屏蔽串行中断。根据本公开的一些实施例,中断信号发送器1013将指示串行中断请求信号发送至处理器包括:检测中断屏蔽寄存器中的屏蔽指示位;在检测到中断屏蔽寄存器中的屏蔽指示位为预定位的情况下,将指示串行中断请求信号发送至处理器。
根据本公开实施例,上述串行中断设备1010执行的步骤可以参照以上结合图3描述的串行中断方法的步骤,在此不再重复描述。作为示例,根据本公开实施例的串行中断设备可以是位于CPU外部的用于进行串行中断上报的设备,其可以通过GPIO接口与外设连接,并可以通过主机与CPU连接,用于实现外设的中断上报过程。
根据本公开的另一方面,还提供了一种处理器,图7示出了根据本公开实施例的处理器的示意性框图。
如图7所示,处理器1020可以包括信号接收器1021以及中断响应器1022。根据本公开的一些实施例,信号接收器1021可以配置成接收指示串行中断请求信号,其中,指示串行中断请求信号包括指示中断位,指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设。中断响应器1022可以配置成基于指示中断位进行串行中断响应。
根据本公开的一些实施例,信号接收器1021还可以配置成接收并存储外设的电平信号与二进制代码的对应关系,其中,在对应关系中,外设的电平信号与二进制代码一一对应。
根据本公开的一些实施例,该指示串行中断请求信号是由串行中断设备通过以下步骤生成的:接收空白串行中断请求信号以及外设的电平信号;基于空白串行中断请求信号,根据电平信号来生成包括指示中断位的指示串行中断请求信号。该串行中断设备例如可以是如图6所示的串行中断设备,用于实现如图3所描述的串行中断方法。
根据本公开的一些实施例,空白串行中断请求信号包括起始帧、结束帧以及位于起始帧和结束帧之间的空白中断位,空白中断位由多个时钟周期的第一电平组成,其中,串行中断设备生成包括指示中断位的指示串行中断请求信号包括:基于所接收的电平信号以及外设的电平信号与二进制代码的对应关系来确定外设的二进制代码;以及按照二进制代码,将空白中断位转换为指示中断位,其中,指示中断位中的第一电平表示二进制低位,指示中断位中的第二电平表示二进制高位。
根据本公开的一些实施例,中断响应器1022可以配置成:基于外设的电平信号与二进制代码的对应关系以及指示中断位确定请求中断的外设;以及对该外设进行串行中断响应。
利用本公开的实施例提供的串行中断方法、设备、串行中断处理方法以及处理器,能够实现由第一电平与第二电平表示的二进制代码来标识请求中断的外设,由此扩展请求中断的外设数目。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (15)
1.一种串行中断方法,包括:
接收空白串行中断请求信号以及外设的电平信号;
基于所述空白串行中断请求信号,根据所述电平信号来生成包括指示中断位的指示串行中断请求信号,其中,所述指示中断位基于由第一电平与第二电平表示的二进制代码来标识所述外设;以及
将所述指示串行中断请求信号发送至处理器。
2.根据权利要求1所述的方法,还包括:为所述外设分配唯一的二进制代码,并存储所述外设的电平信号与二进制代码的对应关系。
3.根据权利要求2所述的方法,其中,所述接收空白串行中断请求信号包括:
从所述处理器或者从所述外设接收所述空白串行中断请求信号,其中,所述空白串行中断请求信号包括起始帧、结束帧以及位于所述起始帧和结束帧之间的空白中断位,所述空白中断位由多个时钟周期的第一电平组成。
4.根据权利要求3所述的方法,其中,所述生成包括指示中断位的指示串行中断请求信号包括:
基于所接收的所述电平信号以及所存储的所述电平信号与二进制代码的对应关系来确定所述外设的二进制代码;以及
按照所述二进制代码,将所述空白中断位转换为所述指示中断位,其中,所述指示中断位中的第一电平表示二进制低位,所述指示中断位中的第二电平表示二进制高位。
5.根据权利要求2所述的方法,还包括:
将所述外设的电平信号与二进制代码的对应关系发送至所述处理器,其中,所述处理器在接收到所述指示串行中断请求信号的情况下,基于所述对应关系以及所述指示串行中断请求信号中的所述指示中断位来确定请求中断的所述外设。
6.根据权利要求3所述的方法,其中,所述空白中断位中包括的时钟周期的数目是由所述处理器设置的。
7.根据权利要求1所述的方法,还包括:
设置中断屏蔽寄存器,其中,所述中断屏蔽寄存器包括屏蔽指示位,用于指示是否屏蔽串行中断。
8.根据权利要求7所述的方法,其中,所述将所述指示串行中断请求信号发送至处理器包括:
检测所述中断屏蔽寄存器中的屏蔽指示位;
在检测到所述中断屏蔽寄存器中的屏蔽指示位为预定位的情况下,将所述指示串行中断请求信号发送至处理器。
9.一种串行中断设备,包括:
中断信号接收器,配置成接收空白串行中断请求信号以及外设的电平信号;
中断请求生成器,配置成基于所述空白串行中断请求信号,根据所述电平信号来生成包括指示中断位的指示串行中断请求信号,其中,所述指示中断位基于由第一电平与第二电平表示的二进制代码来标识所述外设;以及
中断信号发送器,配置成将所述指示串行中断请求信号发送至处理器。
10.一种串行中断处理方法,包括:
接收指示串行中断请求信号,其中,所述指示串行中断请求信号包括指示中断位,所述指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设;
基于所述指示中断位进行串行中断响应。
11.根据权利要求10所述的方法,还包括:
接收并存储所述外设的电平信号与二进制代码的对应关系,其中,在所述对应关系中,所述外设的电平信号与二进制代码一一对应。
12.根据权利要求11所述的方法,其中,所述指示串行中断请求信号是由串行中断设备通过以下步骤生成的:
接收空白串行中断请求信号以及所述外设的电平信号;
基于所述空白串行中断请求信号,根据所述电平信号来生成包括所述指示中断位的所述指示串行中断请求信号。
13.根据权利要求12所述的方法,其中,所述空白串行中断请求信号包括起始帧、结束帧以及位于所述起始帧和结束帧之间的空白中断位,所述空白中断位由多个时钟周期的第一电平组成,
其中,所述串行中断设备生成包括所述指示中断位的所述指示串行中断请求信号包括:
基于所接收的所述电平信号以及所述外设的电平信号与二进制代码的对应关系来确定所述外设的二进制代码;以及
按照所述二进制代码,将所述空白中断位转换为所述指示中断位,其中,所述指示中断位中的第一电平表示二进制低位,所述指示中断位中的第二电平表示二进制高位。
14.根据权利要求13所述的方法,其中,所述基于所述指示中断位进行串行中断响应包括:
基于所述外设的电平信号与二进制代码的对应关系以及所述指示中断位确定请求中断的所述外设;以及
对所述外设进行串行中断响应。
15.一种处理器,包括:
信号接收器,配置成接收指示串行中断请求信号,其中,所述指示串行中断请求信号包括指示中断位,所述指示中断位基于由第一电平与第二电平表示的二进制代码来标识请求中断的外设;
中断响应器,配置成基于所述指示中断位进行串行中断响应。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053108.7A CN112711559B (zh) | 2021-01-15 | 2021-01-15 | 串行中断方法、设备、串行中断处理方法以及处理器 |
US17/575,212 US11809350B2 (en) | 2021-01-15 | 2022-01-13 | Serial interrupt method, device, serial interrupt processing method, and processor |
EP22151501.8A EP4080373A1 (en) | 2021-01-15 | 2022-01-14 | Interrupt request signal conversion system and method, and computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053108.7A CN112711559B (zh) | 2021-01-15 | 2021-01-15 | 串行中断方法、设备、串行中断处理方法以及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711559A true CN112711559A (zh) | 2021-04-27 |
CN112711559B CN112711559B (zh) | 2023-06-13 |
Family
ID=75549101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110053108.7A Active CN112711559B (zh) | 2021-01-15 | 2021-01-15 | 串行中断方法、设备、串行中断处理方法以及处理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11809350B2 (zh) |
EP (1) | EP4080373A1 (zh) |
CN (1) | CN112711559B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641617A (zh) * | 2021-08-06 | 2021-11-12 | 云尖信息技术有限公司 | 一种基于COMe平台通用串行中断模块实现的方法 |
CN115643223A (zh) * | 2022-12-21 | 2023-01-24 | 新华三信息技术有限公司 | 一种中断信号传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212844A1 (en) * | 2002-05-10 | 2003-11-13 | Wang Jennifer C. | Method, apparatus, and system for generating serial interrupt requests (IRQ) with power savings |
CN102622320A (zh) * | 2012-02-22 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 用于飞腾服务器的中断控制方法 |
CN105373423A (zh) * | 2014-09-01 | 2016-03-02 | 深圳富泰宏精密工业有限公司 | 解决处理器的中断口不足的装置、方法及系统 |
CN110399324A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 中断转换器及中断转换方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671421A (en) * | 1994-12-07 | 1997-09-23 | Intel Corporation | Serial interrupt bus protocol |
US7096308B2 (en) * | 2003-08-29 | 2006-08-22 | Texas Instruments Incorporated | LPC transaction bridging across a PCI—express docking connection |
-
2021
- 2021-01-15 CN CN202110053108.7A patent/CN112711559B/zh active Active
-
2022
- 2022-01-13 US US17/575,212 patent/US11809350B2/en active Active
- 2022-01-14 EP EP22151501.8A patent/EP4080373A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212844A1 (en) * | 2002-05-10 | 2003-11-13 | Wang Jennifer C. | Method, apparatus, and system for generating serial interrupt requests (IRQ) with power savings |
CN102622320A (zh) * | 2012-02-22 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 用于飞腾服务器的中断控制方法 |
CN105373423A (zh) * | 2014-09-01 | 2016-03-02 | 深圳富泰宏精密工业有限公司 | 解决处理器的中断口不足的装置、方法及系统 |
CN110399324A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 中断转换器及中断转换方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641617A (zh) * | 2021-08-06 | 2021-11-12 | 云尖信息技术有限公司 | 一种基于COMe平台通用串行中断模块实现的方法 |
CN115643223A (zh) * | 2022-12-21 | 2023-01-24 | 新华三信息技术有限公司 | 一种中断信号传输方法及装置 |
CN115643223B (zh) * | 2022-12-21 | 2023-02-28 | 新华三信息技术有限公司 | 一种中断信号传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112711559B (zh) | 2023-06-13 |
EP4080373A1 (en) | 2022-10-26 |
US20220229792A1 (en) | 2022-07-21 |
US11809350B2 (en) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802871B (zh) | 总线系统 | |
US5802269A (en) | Method and apparatus for power management of distributed direct memory access (DDMA) devices | |
US7788431B2 (en) | Dynamic I2C slave device address decoder | |
US7752374B2 (en) | Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices | |
CN100492326C (zh) | 事件传送的装置、方法和系统 | |
US7181557B1 (en) | Single wire bus for connecting devices and methods of operating the same | |
US7606955B1 (en) | Single wire bus for connecting devices and methods of operating the same | |
US6766479B2 (en) | Apparatus and methods for identifying bus protocol violations | |
US20080195783A1 (en) | 12c Slave/Master Interface Enhancement Using State Machines | |
CN112711559B (zh) | 串行中断方法、设备、串行中断处理方法以及处理器 | |
US8626973B2 (en) | Pseudo multi-master I2C operation in a blade server chassis | |
US20120036400A1 (en) | Data procssing system with peripheral configuration information error detection | |
US10078568B1 (en) | Debugging a computing device | |
US20070088874A1 (en) | Offload engine as processor peripheral | |
US7761637B2 (en) | Slave device with latched request for service | |
US5687388A (en) | Scalable tree structured high speed input/output subsystem architecture | |
US20190114100A1 (en) | System and method for detecting hard disk state | |
WO2013080027A2 (en) | Interrupt handling systems and methods for pcie bridges with multiple buses | |
CN110968352A (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN112765082A (zh) | 多主机仲裁方法、装置和可读存储介质 | |
CN110175146B (zh) | 硬盘信息获取方法和获取硬盘信息的装置 | |
US10860513B1 (en) | I3C hub promoting backward compatibility with I2C | |
US20050144346A1 (en) | Message based transport mechanism for level sensitive interrupts | |
US11907155B2 (en) | Bus system connecting slave devices with single-wire data access communication | |
CN108038061B (zh) | 一种地址分配方法及plc系统 |
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: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450 Applicant after: Feiteng Information Technology Co.,Ltd. Address before: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450 Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |