CN116501670A - 传感装置的中断处理方法及其集成电路 - Google Patents

传感装置的中断处理方法及其集成电路 Download PDF

Info

Publication number
CN116501670A
CN116501670A CN202210057340.2A CN202210057340A CN116501670A CN 116501670 A CN116501670 A CN 116501670A CN 202210057340 A CN202210057340 A CN 202210057340A CN 116501670 A CN116501670 A CN 116501670A
Authority
CN
China
Prior art keywords
task
register
bus
interrupt
control circuit
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.)
Pending
Application number
CN202210057340.2A
Other languages
English (en)
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.)
MediaTek Singapore Pte Ltd
Original Assignee
MediaTek Singapore Pte 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 MediaTek Singapore Pte Ltd filed Critical MediaTek Singapore Pte Ltd
Priority to CN202210057340.2A priority Critical patent/CN116501670A/zh
Priority to US17/666,978 priority patent/US11630790B1/en
Priority to TW111105534A priority patent/TWI830145B/zh
Publication of CN116501670A publication Critical patent/CN116501670A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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
    • 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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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)
  • 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

传感装置的中断处理方法及其集成电路
技术领域
本发明总体上有关于输入装置。特别地,有关于集成电路及其传感装置的中断处理方法。
背景技术
除非另有说明,否则本部分中描述的方法不作为后面列出的权利要求书的现有技术,以及不因包含在本部分中而被认为是现有技术。
目前,传感装置,其中可能包括触控控制板、触控屏、不同类型的传感器(例如陀螺仪、加速度计等)通常用于控制电子装置。随着技术的出现,鉴于传感装置是触控屏,传感装置的报告速率变得越来越高,例如,从60Hz到480Hz或更高。虽然当传感装置使用更高的报告速率时,用户可能会感知到更平滑的触控操作,但它也可能增加电子装置的处理单元(例如,CPU)的负载。具体来说,如果传感装置的报告速率足够高,则会给处理单元造成严重的负担,导致电子装置的性能降低。
因此,亟需一种集成电路、一种控制集成电路的方法和一种传感装置的中断处理方法来解决上述问题。
发明内容
下文的发明内容仅是说明性的,而不旨在以任何方式进行限制。也就是说,提供下文发明内容来介绍本文所述的新颖且非显而易见技术的概念、要点、益处和有益效果。所选实施方式在下文详细描述中进一步描述。因此,下文发明内容并不旨在标识所要求保护主题的基本特征,也不旨在用于确定所要求保护主题的范围。
本发明实施例提供了一种集成电路,包括:处理器、通用中断控制器和总线主控器。总线主控器包括:总线控制电路和轮询电路(polling circuit),该轮询电路用于检测传感装置的中断信号是否被断言。响应于轮询电路检测到中断信号被断言,总线控制电路依次取出存储在存储器任务队列中的多个任务中的每个任务,并执行对应于每个任务的数据传输操作,以获得来自传感装置的传感器数据。响应于总线控制电路产生的任务完成信号,通用中断控制器产生中断请求信号。响应于该中断请求信号,处理器使用通过对应于每个任务的数据传输操作获得的传感器数据报告传感器事件。
在一些实施例中,当总线控制电路正在执行对应于每个任务的数据传输操作时,禁用轮询电路。响应于任务完成信号,启用该轮询电路。
在一些实施例中,总线主控器还包括直接存储器存取(DMA)控制器,其被配置为从存储器获取每个任务。
在一些实施例中,总线主控器还包括第一寄存器和第二寄存器,其中,存储在第一寄存器中的第一值表示硬件任务计数,存储在第二寄存器中的第二值表示任务队列的物理基地址。
在一些实施例中,总线主控器还包括第三寄存器和第四寄存器,其中,在集成电路启动时,处理器将任务写入任务队列中,写入第一寄存器的第一值和第二寄存器的第二值,以及当处理器完成写入时,将第三寄存器的第三值设置为1。响应于第三寄存器的第三值被设置为1,总线控制电路开始使用第一寄存器的第一值和第二寄存器的第二值依次从任务队列中提取任务。第四寄存器中存储的第四值用于启用或禁用总线主控器的轮询和数据传输的硬件功能。
在一些实施例中,响应于任务队列为空,总线控制电路将第三寄存器的第三值写入0,并且响应于第三寄存器的第三值设置为0,处理器开始向任务队列写入新任务。
在一些实施例中,处理器将传感器事件报告给在处理器上运行的应用程序,并且该应用程序执行与报告的传感器事件相对应的一个或多个操作。
在一些实施例中,总线控制电路通过串行外围接口(SPI)总线、内部集成电路(I2C)总线或改进内部集成电路(13C)总线,连接到传感装置。
本发明的另一实施例提供一种传感装置的中断处理方法,用于集成电路中。其中,该集成电路包括处理器、通用中断控制器和总线主控器。总线主控器包括总线控制电路和轮询电路。该方法包括以下步骤:利用轮询电路检测传感装置的中断信号是否被断言;响应于轮询电路检测到中断信号被断言,利用总线控制电路依次取出存储在存储器中的多个任务中的每个任务,并执行对应于每个任务的数据传输操作以获得通过传感装置的一个或多个传感器检测到的传感器数据;响应于总线控制电路产生的任务的任务完成信号,利用通用中断控制器向处理器发送中断请求信号。响应于中断请求信号,利用处理器使用每个任务对应的数据传输操作获得的传感器数据,报告传感器事件。
附图说明
所包含的附图用以提供对发明的进一步理解,以及,被并入且构成本发明的一部分。附图示出了发明的实施方式,并与说明书一起用于解释本发明的原理。可以理解的是,为了清楚地说明本发明的概念,附图不一定按比例绘制,所示出的一些组件可以以超出实际实施方式中尺寸的比例示出。
图1是依据本发明实施例的电子装置的示意图。
图2A是依据本发明实施例的电子装置的细节区块图。
图2B是依据本发明实施例的存储在存储器中的任务格式的示意图。
图3A是依据本发明实施例的轮询电路的工作流程图。
图3B是依据本发明实施例的触控操作的软件流程图。
图3C是依据本发明实施例的处理单元报告触控事件的流程图。
图3D是依据本发明另一实施例的处理单元报告触控事件的流程图。
图4A是依据本发明实施例的传感装置的配置进程的流程图。
图4B是依据本发明另一实施例的传感装置的配置进程的流程图。
具体实施方式
本文公开了所要求保护的主题的详细实施例和实施方式。然而,应该理解的是,所公开的实施例和实施方式仅仅是对所要求保护的主题的说明,其可以以各种形式实现。然而,本发明可以以许多不同的形式实施,并且不应该被解释为限于本文阐述的示例性实施例和实施方式。相反的是,提供该多个示例性实施例和实施方式,使得本发明的描述是全面的和完整的,并且将向所属技术领域具有通常知识者充分传达本发明的范围。在下文描述中,可以省略公知特征和技术的细节以避免不必要地模糊所呈现的实施例和实施方式。
图1是依据本发明实施例的电子装置的示意图。
电子装置100可以是膝上型计算机、平板电脑、智能手机、触控面板等。参照图1,电子装置100可以包括片上系统(SoC)110、传感装置120和存储器130。SoC 110可以通过总线11连接到传感装置120,并通过总线13连接到存储器130。传感装置120可以是配备不同类型传感器的设备,例如触控传感器、惯性测量传感器(例如,陀螺仪、加速度计和磁力计)、温度传感器、压力传感器、光传感器、接近传感器、超声波传感器等,但本发明不限于此。
存储器130可以是易失性存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM),或非易失性存储器,例如闪存,但本发明不仅限于此。存储器130可用于存储处理单元111执行的程序,并存储执行程序所产生的任务,其中,部分任务可使用总线主控器113向传感装置120发送数据和从传感装置120接收数据。
SoC 110可以包括处理单元111、通用中断控制器(GIC)112和总线主控器113。处理单元111可以由中央处理单元(CPU)、微控制器或数字信号处理器(DSP)来实现,但本发明不限于此。处理单元111可以将传感装置120的设置信息发送给总线主控器113,并且总线主控器113可以通过总线11将设置信息发送给传感装置120。
通用中断控制器112可以是执行中断管理、优先化和路由的关键任务的专用硬件电路,其能够提高处理单元110的效率并支持中断虚拟化。
总线主控器113可以通过总线11向包括在传感装置120中的总线受控器123发送控制信号,其中,总线11可以通过串行外围接口(SPI)总线、内部集成电路(I2C)总线或I3C总线实施,但本发明不限于此。为便于描述,在以下实施例中,总线11实施为SPI总线,并且传感装置120实施为触控屏。
假设传感装置120是触控屏,则传感装置120可以包括控制器121、触控传感器阵列122和总线受控器123。触控传感器阵列122可以用于检测在其上执行的触控操作。控制器121可由微控制器、通用处理器或数字信号处理器来实现,但本发明不限于此。在一些实施例中,触控传感器阵列122可由电容传感器阵列、电阻传感器阵列或光学成像传感器阵列来实现,但本发明不限于此。
总线受控器123为总线11的受控器接口。例如,假设总线11由SPI总线实现,则总线主控器113可以传输时钟信号CLK、片选()信号、主控器出受控器进(MOSI)信号给总线受控器123,并从总线受控器123接收主控器进受控器出(MISO)信号。另外,总线主控器也可以从传感装置120的控制器121接收从数据同步信号(slave-data synchronization signal)12。
在一个实施例中,当用户在传感装置120上进行触控操作时,触控传感器阵列122可以检测这些触控操作并将检测到的触控信号发送到控制器121,控制器121可以响应于检测到的触控信号生成从数据同步信号12。在这种情况下,从数据同步信号12可以被视为触控EINT信号(即,触控中断信号)。
在一些其他实施例中,传感装置120可以是触控屏以外的设备,并且触控传感器阵列122可以被其他类型的传感器代替,例如陀螺仪、加速度计、磁力计等,但本发明不限于此。
图2A是根据图1的实施例的电子装置的细节区块图。图2B是根据本发明实施例的存储在存储器中的任务的格式示意图。请参考图1和图2A-2B。
如图2A所示,总线主控器113可以包括总线控制电路1131、宏板(pad macro)1132、寄存器1134、轮询电路1136、Tx/Rx缓冲器1137和直接存储器存取(DMA)控制器1138。假设总线11由SPI总线实现,总线主控器113和总线受控器123可以分别看作是SPI主控器和SPI受控器。总线控制电路1131可以是传统的SPI主电路,其能够通过宏板1132将时钟信号CLK、芯片选择信号和数据信号MOSI传输到传感装置120的总线受控器123,并且通过宏板1132从传感装置120的总线受控器123接收数据信号MISO。本领域普通技术人员将了解总线控制电路1131的操作,因此这里将细节省略。
轮询电路1136可被配置为根据寄存器141至144中的值检测从数据同步信号12(即,传感装置120的触控EINT引脚)是否被断言。例如,当轮询电路1136检测到从数据同步信号被断言(例如,取决于电路设计,可以从低逻辑状态到高逻辑状态,或从高逻辑状态到低逻辑状态)时,轮询电路1136可以将中断事件通知给总线控制电路1131,并且总线控制电路1131可以在总线11上发起数据传输操作以将数据发送到总线受控器123并且从总线受控器123接收触控传感器阵列122检测到的传感器数据。需要注意的是,处理单元111(即软件)不参与总线控制电路1131发起的数据传输操作。同时,在数据传输操作期间,暂时禁用轮询电路1136以停止监测由传感装置120产生的从数据同步信号12。在完成数据传输操作后,启用轮询电路1136以继续监测由传感装置120产生的从数据同步信号12。
例如,寄存器141和143用于由总线控制电路1131从存储器130中的任务队列131中取出硬件任务。寄存器141可以定义硬件任务计数(即硬件任务数量),并且寄存器143可以作为任务队列的物理基地址的指针。举例来说,当电子装置100开机时,处理单元111可将任务队列131的物理基地址写入寄存器143,并将所需的硬件任务计数写入寄存器141。当轮询电路1136检测到从数据同步信号12被断言时,总线控制电路1131可经由DMA控制器1138通过总线13(例如,高级高性能(AHB)总线,或其他高速总线),参考寄存器141和143中存储的值,从存储器130中的任务队列131中取出任务的数量,并且所取出的任务可被看做硬件任务由总线控制电路1131自动执行。
在这种情况下,假设存储在寄存器141中的硬件任务计数为2并且存储在寄存器143中的物理基地址为1,则总线控制电路1131可以从存储器130中任务队列131的索引1中取出两个任务,例如,任务队列131中按顺序的任务1和任务2。此外,任务队列131中剩余的任务(例如,任务3至任务N)将由处理单元111执行,这些任务可视为软件任务。
寄存器142可以用作门铃寄存器,用于触发总线控制电路1131执行软件任务。举例来说,当处理单元111将任务存入任务队列131后,处理单元111可将寄存器142设为位图形式。响应于寄存器142的位图形式,总线控制电路1131可以根据寄存器141和143中存储的值依次开始从任务队列131中提取每个任务,并执行每个提取的任务以将数据传输到传感装置120。此外,在总线控制电路1131已经取出任务队列131中存储的所有任务后,任务队列131变空,并且总线控制电路1131可将寄存器142的值写入0以通知处理单元111将任务填充到任务队列131中。
在本发明中,门铃寄存器用于触发软件任务,触控EINT信号用于触发硬件任务。当总线控制电路1131完成软件任务后,由于软件任务由用户写入,软件任务会自动被清除,但当总线控制电路1131完成硬件任务后,由于硬件任务是在触控EINT信号到来时自动发送的,硬件任务不会被清除,而必须手动清除或修改。另外,门铃寄存器是以位图的形式实现,其中,每个位元对应一个软件任务。例如,用户需要传输两个软件任务,将其分别放在任务队列的第二、第三两个位置,则用户需要门铃寄存器写入0b1100,总线控制电路1131可根据门铃寄存器的值找到对应的软件任务。不同地,要将硬件任务放到任务队列最开始的位置,例如,要将两个硬件任务放在任务队列的第零、第一两个位置。总线控制电路1131可从任务队列最开始的位置开始处理硬件任务,其中,硬件任务的数量就是硬件任务计数寄存器的值。
寄存器144可用于启用和禁用总线主控器113的硬件功能,例如,轮询和设定任务队列。例如,如果寄存器144的值被设置为0,则总线主控器113的硬件功能被禁用。如果寄存器的值被设置为1,则总线主控器113的硬件功能被启用。
在一些实施方式中,从数据同步信号12不直接发送到通用中断控制器112,轮询电路1136可以包括开关电路(图2A中未示出)来控制是否旁路将从数据同步信号12传送至通用中断控制器112。例如,开关电路可由储存在寄存器144中的值来控制。如果总线主控器113的硬件功能被禁用(例如,寄存器144被设置为0),则开关电路可以将从数据同步信号12旁路到通用中断控制器112。如果总线主控器113的硬件功能被启用(例如寄存器144设置为1),则开关电路将不会旁路从数据同步信号12到通用中断控制器112。
在一个实施例中,假设总线11由SPI总线实现并且总线13(例如,高级高性能(AHB)总线)的总线宽度为32位,则图2B显示存储在存储器130中每个任务的格式。例如,每个任务可以包括128位数据,第一个32位数据可以包括硬件或软件的设置、Tx缓冲器的4个MSB位、Rx缓冲器的4个MSB位和保留字段。第二个32位数据可以指Tx缓冲器的地址,第三个32位数据可以指Rx缓冲器的地址。第四个32位数据可以指要传送到传感装置120的数据长度。前述的Tx缓冲器和Rx缓冲器可以统称为Tx/Rx缓冲器1137,其可为先入先出(FIFO)缓冲器。
图3A是根据本发明实施例的轮询电路的工作流程图。请参考图1、图2A-2B以及图3A。
在步骤S302中,配置总线控制电路1131的参数。例如,总线控制电路1131的参数可以包括数据长度、缓冲器地址和传输计数。具体地,将硬件任务计数存储在寄存器141中,设置每个硬件任务的缓冲器地址和数据长度,并将其写入任务队列对应的任务时隙中,以及将任务队列的物理基地址写入寄存器143中。
在步骤S304中,启用轮询电路1136以监测来自传感装置120的从数据同步信号12(例如,触控EINT引脚)。例如,当用户在传感装置120上执行触控操作时,触控传感器阵列122可以检测这些触控操作并将检测到的触控信号发送到控制器121,并且控制器121可以响应于检测到的触控信号产生从数据同步信号12。在这种情况下,从数据同步信号12可以被视为触控EINT信号(即,触控中断信号)。
在步骤S306中,确定从数据同步信号12(例如,触控EINT引脚)是否被断言。如果确定从数据同步信号12(例如,触控EINT引脚)被断言,则执行步骤S308。如果确定从数据同步信号12(例如,触控EINT引脚)未被断言,则流程返回到步骤S304。例如,当轮询电路1136检测到从数据同步信号被断言时(例如,取决于电路设计,可以从低逻辑状态到高逻辑状态,或者从高逻辑状态到低逻辑状态),轮询电路1136可以将中断事件通知总线控制电路1131,并且总线控制电路1131可以通过总线11发起数据传输操作以将数据发送到总线受控器123并且从总线受控器123接收触控传感器阵列122所检测到的传感器数据。同时在数据传输操作期间,暂时禁用轮询电路1136以停止监测由传感装置120产生的从设备数据同步信号12。
在步骤S308中,执行数据传输操作。在完成数据传送操作后,启用轮询电路1136以继续监测由传感装置120产生的从数据同步信号12(步骤S304)。
图3B是根据本发明实施例的触控操作的软件流程图。请参考图1、图2A和图3B。图3B的流程图可参考电子装置100中各组件的触控侦测初始化进程,其中,左侧部分330可视为触控初始化阶段,右侧部分332可视为触控事件报告阶段或硬件增强阶段。
在步骤S310中,初始化总线接口。例如,当电子装置100启动时,初始化总线接口(例如,SPI接口,包括SPI主控器和SPI受控器)。
在步骤S312中,初始化传感装置120。例如,总线控制电路1131可以向传感装置120传送测试信号,以保证传感装置120可以正常工作。
在步骤S314中,判断传感装置初始化是否完成。若判断传感装置初始化完成,则执行步骤S316。若判断尚未完成传感装置初始化,则流程返回步骤S312。
在步骤S316中,配置总线控制电路1131。步骤S316的详情可参考图3A中实施例的步骤S302。
在步骤S318中,启用轮询电路1136。在步骤S320中,轮询电路1136监测触控EINT信号。在步骤S322中,执行数据传输操作。步骤S318至S322的详细内容可参考图3A的实施例中的步骤S304至S308,在此不再赘述。
在步骤S324中,报告触控事件。例如,在总线控制电路1131完成数据传输操作后,总线控制电路1131可以产生中断请求(IRQ)信号,并将该IRQ信号发送给通用中断控制器112。然后,通用中断控制器112可传送IRQ信号至处理单元111,处理单元111可获知来自总线主控器113的中断事件,以将触控事件报告至处理单元111上运行的应用程序。因此,运行在处理单元111上的应用程序可以执行与触控事件对应的操作。
具体而言,在触控初始化阶段(即部分330),处理单元111、总线控制电路1131和传感装置120必须保证触控检测操作能够正常进行,并且总线控制电路1131可以处于正常配置。在触控报告阶段(即部分332),已经配置总线控制电路1131从任务队列131中提取任务,并且响应于断言触控EINT信号,总线控制电路1131能够自动启动数据传输操作,其中,处理单元111(即,软件)并不参与由总线控制电路1131发起的数据传输操作。
图3C是根据本发明实施例的处理单元报告触控事件的流程图。请参考图1、图2A和图3C。
在步骤S332中,总线主控器113检测到触控EINT信号。例如,在这种情况下,假设轮询电路1136被禁用。
在步骤S334中,通用中断控制器112向处理单元111报告触控中断请求信号。通用中断控制器112报告触控中断请求信号的具体细节可参考前述实施例。
在步骤S336中,响应于触控中断信号,处理单元111产生触控线程。例如,触控线程可以包括向传感装置120发送数据和从传感装置120读取传感器数据的多个任务。
在步骤S338中,处理单元111向总线主控器113发送触控线程。例如,在处理单元111将触控线程发送到总线主控器113后,处理单元111将进入一个睡眠模式以节省电量。
在步骤S340中,总线主控器113执行触控线程的一项任务。例如,总线主控器113可以执行任务的一个或多个数据传输操作以将数据发送到传感装置120,并且从传感装置120读取传感器数据。在任务的数据传输操作完成后,总线主控器113可以向通用中断控制器112发送任务的任务完成信号。
在步骤S342中,通用中断控制器112从总线主控器113接收任务的任务完成信号。
在步骤S344中,通用中断控制器112向处理单元111发送SPI IRQ信号。由于处理单元111处于休眠模式,通用中断控制器112可以使用SPI IRQ信号唤醒处理单元111。
在步骤S346中,将处理单元111从休眠模式唤醒至工作模式。
在步骤S348中,处理单元111报告触控事件。例如,处理单元111可以将触控事件报告给运行在处理单元111上的应用程序。因此,运行在处理单元111上的应用程序可以执行与触控事件对应的操作。
应当注意,在图3C的流程中,步骤S336、S338、S344、S346和S348由软件(例如,处理单元111)执行,而步骤S332、S334、S340和S342由硬件(例如,总线主控器113和GIC 112)执行。
图3D是根据本发明另一实施例的处理单元报告触控事件的流程图。请参考图1、图2A和图3D。
图3C和图3D之间的区别在于,总线主控器113的轮询电路1136(即硬件电路)检测到传感装置产生的触控EINT信号(步骤S362),响应于检测到触控EINT信号,总线控制电路1131自动发起SPI传输操作(步骤S364),例如,自动从任务队列131中依次提取任务并执行提取的任务。因此,当总线主控器113的硬件功能(即轮询和数据传输)被禁用时,图3C中的流程可被视为传统触控事件报告流程。当总线主控器113的硬件功能被启用时,图3D中的流程可视为硬件增强的触控事件报告流程。
图4A是依照本发明实施例的传感装置的配置进程的流程图。请参考图1、图2A和图4A。
在步骤S402中,配置总线控制电路1131。步骤S316与步骤S402的详情可参考图3实施例中的步骤S302。
在步骤S404中,触发数据传输操作。例如,处理单元111可以将一个任务所需的数据传送给总线控制电路1131,总线控制电路1131可以通过总线11将这个任务的数据传送给传感装置120。
在步骤S406中,总线控制电路1131通知GIC 120向处理单元111发送SPI IRQ信号。例如,在任务的数据传输操作完成后,总线控制电路1131可以向GIC 120发送任务的任务完成信号,GIC 120随后可以响应于任务完成信号而生成SPI IRQ信号,并将生成的SPI IRQ信号发送给处理单元111。
在步骤S408中,判断传感装置120的配置进程是否完成。如果确定传感装置120的配置进程完成,则流程结束。如果判断传感装置120的配置进程尚未完成,则流程回到步骤S404。
值得注意的是,当需要一个任务的数据传输操作时,处理单元111必须被中断一次以将所需的数据发送到总线控制电路1131,因此总线控制电路1131可通过总线11将本任务所需的数据传送至传感装置120。然而,传感装置120的配置进程可能需要多个任务,并且处理单元111可能会中断一次以执行图4A中上述步骤直到完成配置进程中的所有任务。
图4B是依照本发明另一实施例的传感装置的配置进程的流程图。请参考图1、图2A和图4B。
在步骤S412中,开始传感装置120的配置进程。
在步骤S414中,处理单元111将任务写入任务队列131。例如,传感装置120的配置进程可包括多个任务,并且在总线控制电路1131执行这些任务之前,处理单元111可立即将这些任务写入任务队列131。
在步骤S416中,总线控制电路1131从任务队列中取出一个任务。例如,如果任务队列不为空,总线控制电路1131可以一次从任务队列中取出一个任务。
在步骤S418中,触发任务的数据传输操作。例如,处理单元111可以将一个任务所需的数据传送给总线控制电路1131,并且总线控制电路1131可以通过总线11将这个任务的数据传送给传感装置120。
在步骤S420中,判断任务队列131是否为空。如果判断任务队列131为空,则执行步骤S422。如果判断任务队列131不为空,则流程返回到步骤S416。例如,总线控制电路1131可以根据寄存器141和143中存储的值来检测任务队列131的存储状态。总线控制电路1131可以使用寄存器1134中的特定寄存器值来计算已经执行的任务的数量,例如总线控制电路1131每完成一个任务就将特定寄存器的值加1。当特定寄存器的值已达到寄存器141中存储的硬件任务计数时,总线控制电路1131可知道任务队列131为空。需要说明的是,区块430中的步骤S416、S418和S420可以指一个任务执行的周期。
在步骤S422中,总线控制电路1131通知GIC 120向处理单元111发送SPI IRQ信号。例如,在配置进程的所有任务的数据传输操作完成后,总线控制电路1131可以向GIC 120发送任务的任务完成信号,然后GIC 120可以响应于任务完成信号产生SPI IRQ信号,并将产生的SPI IRQ信号发送给处理单元111。
在步骤S424中,配置进程结束。需要说明的是,虽然传感装置120的配置进程可能需要多个任务,但在配置进程的所有任务完成后,图4B的流程中的处理单元111被中断一次。与图4A中的流程相比,图4B的流程可以在传感装置120的配置进程中将多个中断变为一个中断,从而减少处理单元111的负载,并且提高处理单元111的性能。需要说明的是,如果传感装置是触控屏或触控检测装置以外的设备,上述实施例中的触控事件可称为传感器事件。另外,总线11可以通过SPI总线以外的其他总线来实现。
有鉴于此,本发明提供一种传感装置的中断处理方法及其集成电路,其中,可利用硬件轮询电路检测传感装置发出的中断信号,依次取出储存于任务队列的任务并且由总线控制电路执行每个任务的数据传输操作,以从传感装置的一个或多个传感器中获取传感器数据。当任务队列中的所有任务完成后,总线控制电路会通知通用中断控制器向处理单元发送中断请求信号,因此,中断处理单元从传感装置获取传感器数据,以向处理单元上运行的应用程序报告传感器事件。因此,本发明可以减少处理单元的负载,并且可以提高处理单元的性能。
本文描述的主题有时示出了包含在不同的其它组件内或与其相连接的不同组件。但应当理解,该多个所描绘的架构仅为示例,并且实际上许多实现相同功能的其它架构可以实施。在概念意义上,实现相同功能的组件的任何布置被有效地“关联”,从而使得期望的功能得以实现。因此,不考虑架构或中间组件,本文中被组合以实现特定功能的任何两个组件能够被看作彼此“关联”,从而使得期望的功能得以实现。同样地,如此关联的任何两个组件也能够被视为彼此“在运作上连接”或“在运作上耦接”,以实现期望的功能,并且能够如此关联的任意两个组件还能够被视为彼此“在运作上连接”,以实现期望的功能。在运作上在可耦接的具体示例包含但不限于物理上能配套和/或物理上交互的组件和/或可无线地交互和/或无线地交互的组件和/或逻辑上交互和/或逻辑上可交互的组件。
更进一步,关于本文实质上使用的任何复数和/或单数术语,所属技术领域中具有通常知识者可针对上下文和/或申请在适当时候从复数转化为单数和/或从单数转化为复数。为了清楚起见,本文中可以明确地阐述各种单数/复数互易。
此外,所属技术领域中具有通常知识者将理解,通常,本文中所用的术语且尤其是在所附的权利要求书(例如,所附的权利要求书的主体)中所使用的术语通常意为“开放式”术语,例如,术语“包含”应被解释为“包含但不限于”,术语“具有”应被解释为“至少具有”,术语“包含”应解释为“包含但不限于”,等等。所属技术领域中具有通常知识者还将理解,如果引入的权利要求书列举的具体数量是有意的,则这种意图将在权利要求书中明确地列举,并且在缺少这种列举时不存在这种意图。例如,为了有助于理解,所附的权利要求书可以包含引入性短语“至少一个”和“一个或多个”的使用。然而,这种短语的使用不应该被解释为暗示权利要求书列举通过不定冠词“一”或“一个”的引入将包含这种所引入的权利要求书列举的任何特定权利要求书限制于只包含一个这种列举的实施方式,即使当同一权利要求书包含引入性短语“一个或更多”或“至少一个”以及诸如“一”或“一个”这样的不定冠词,例如,“一和/或一个”应被解释为意指“至少一个”或“一个或多个”,这同样适用于用来引入权利要求书列举的定冠词的使用。此外,即使明确地列举了具体数量的所引入的权利要求书列举,所属技术领域中具有通常知识者也将认识到,这种列举应被解释为意指至少所列举的数量,例如,在没有其它的修饰语的情况下,“两个列举”的无遮蔽列举意指至少两个列举或者两个或更多个列举。此外,在使用类似于“A、B和C等中的至少一个”的惯例的情况下,在所属技术领域中具有通常知识者将理解这个惯例的意义上,通常意指这样解释(例如,“具有A、B和C中的至少一个的系统”将包含但不限于单独具有A、单独具有B、单独具有C、一同具有A和B、一同具有A和C、一同具有B和C和/或一同具有A、B和C等的系统)。在使用类似于“A、B或C等中的至少一个”的惯例的情况下,在所属技术领域中具有通常知识者将理解这个惯例的意义上,通常意指这样解释(例如,“具有A、B或C中至少一个的系统”将包含但不限于单独具有A、单独具有B、单独具有C、一同具有A和B、一同具有A和C、一同具有B和C、和/或一同具有A、B和C等的系统)。所属技术领域中具有通常知识者还将理解,无论在说明书、权利要求书还是附图中,实际上表示两个或更多个可选项的任何转折词语和/或短语,应当被理解为考虑包含该等项中一个、该等项中的任一个或者这两项的可能性。例如,短语“A或B”将被理解为包含“A”或“B”或“A和B”的可能性。
由上可知,可以理解的是,出于说明目的本文已经描述了本发明的各种实施方式,并且在不脱离本发明的范围和精神情况下可以做出各种修改。因此,本文所公开的各种实施方式并不意味着是限制性的,真正范围和精神由所附权利要求书确定。

Claims (18)

1.一种集成电路,包括:
处理器;
通用中断控制器;以及
总线主控器,其中,该总线控制器连接包含一个或多个传感器的传感装置,该总线主控器包括总线控制电路和轮询电路,其中,该轮询电路用于检测该传感装置的中断信号是否被断言;
其中,响应于该轮询电路检测到该中断信号被断言,该总线控制电路依次取出存储在存储器的任务队列中的多个任务中的每个任务,并执行对应于每个任务的一个或多个数据传输操作,以获得来自该传感装置的该一个或多个传感器的传感器数据,
其中,响应于该总线控制电路产生的任务完成信号,该通用中断控制器产生发送至该处理器的中断请求信号,
其中,响应于该中断请求信号,该处理器使用通过对应于每个任务的该数据传输操作获得的该传感器数据,报告传感器事件。
2.如权利要求1所述的集成电路,其特征在于,当该总线控制电路执行对应于每个任务的该数据传输操作时,禁用该轮询电路。
3.如权利要求2所述的集成电路,其特征在于,响应于该任务完成信号,启用该轮询电路。
4.如权利要求3所述的集成电路,其特征在于,该总线主控器还包括直接存储器存取控制器,其被配置为从该存储器获取每个任务。
5.如权利要求4所述的集成电路,其特征在于,该总线主控器还包括第一寄存器和第二寄存器,其中,存储在该第一寄存器中的第一值表示硬件任务计数,存储在该第二寄存器中的第二值表示该任务队列的物理基地址。
6.如权利要求5所述的集成电路,其特征在于,该总线主控器还包括第三寄存器和第四寄存器,其中,在该集成电路启动时,该处理器将该任务写入该任务队列中,写入该第一寄存器的该第一值和该第二寄存器的该第二值,以及当该处理器完成写入时,将该第三寄存器的第三值设置为1,
其中,响应于该第三寄存器的该第三值被设置为1,该总线控制电路开始使用该第一寄存器的该第一值和该第二寄存器的该第二值,依次从该任务队列中提取该任务,
其中,该第四寄存器中存储的该第四值用于启用或禁用该总线主控器的轮询和数据传输的硬件功能。
7.如权利要求6所述的集成电路,其特征在于,响应于该任务队列为空,该总线控制电路将该第三寄存器的该第三值写入0,并且响应于该第三寄存器的该第三值设置为0,该处理器开始向该任务队列写入新任务。
8.如权利要求1所述的集成电路,其特征在于,该处理器将该传感器事件报告给在该处理器上运行的应用程序,并且该应用程序执行与报告的该传感器事件相对应的一个或多个操作。
9.如权利要求1所述的集成电路,其特征在于,该总线控制电路通过串行外围接口总线、内部集成电路总线或改进内部集成电路总线,连接到该传感装置。
10.一种传感装置的中断处理方法,用于集成电路中,其中,该集成电路包括处理器、通用中断控制器和总线主控器,并且该总线主控器包括总线控制电路和轮询电路,该中断处理方法包括:
利用该轮询电路检测该传感装置的中断信号是否被断言;
响应于该轮询电路检测到该中断信号被断言,利用该总线控制电路依次取出存储在存储器中的多个任务中的每个任务,并执行对应于每个任务的数据传输操作以获得通过该传感装置的一个或多个传感器检测到的传感器数据;
响应于该总线控制电路产生的该任务的任务完成信号,利用该通用中断控制器向该处理器发送中断请求信号;
响应于该中断请求信号,利用该处理器使用每个任务对应的该数据传输操作获得的该传感器数据,报告传感器事件。
11.如权利要求10所述的传感装置的中断处理方法,其特征在于,当该总线控制电路执行对应于每个任务的该数据传输操作时,禁用该轮询电路。
12.如权利要求11所述的传感装置的中断处理方法,其特征在于,进一步包含:响应于该任务完成信号,启用该轮询电路。
13.如权利要求12所述的传感装置的中断处理方法,其特征在于,该总线主控器还包括直接存储器存取控制器,其被配置为从该存储器获取每个任务。
14.如权利要求13所述的传感装置的中断处理方法,其特征在于,该总线主控器还包括第一寄存器和第二寄存器,其中,存储在该第一寄存器中的第一值表示硬件任务计数,存储在该第二寄存器中的第二值表示该任务队列的物理基地址。
15.如权利要求14所述的传感装置的中断处理方法,其特征在于,该总线主控器还包括第三寄存器和第四寄存器,并且该方法还包含:
在该集成电路启动时,利用该处理器将该任务写入该任务队列中,写入该第一寄存器的该第一值和该第二寄存器的该第二值;
当该处理器完成写入时,将该第三寄存器的第三值设置为1;以及
响应于该第三寄存器的该第三值被设置为1,利用该总线控制电路开始使用该第一寄存器的该第一值和该第二寄存器的该第二值,依次从该任务队列中提取该任务,
其中,该第四寄存器中存储的该第四值用于启用或禁用该总线主控器的轮询和数据传输的硬件功能。
16.如权利要求15所述的传感装置的中断处理方法,其特征在于,进一步包含:响应于该任务队列为空,利用该总线控制电路将该第三寄存器的该第三值写入0,并且响应于该第三寄存器的该第三值设置为0,利用该处理器开始向该任务队列写入新任务。
17.如权利要求10所述的传感装置的中断处理方法,其特征在于,在该处理器上运行应用程序,并且该方法还包含:利用该处理器将该传感器事件报告给该应用程序,并且利用该应用程序执行与报告的该传感器事件相对应的一个或多个操作。
18.如权利要求10所述的传感装置的中断处理方法,其特征在于,该总线控制电路通过串行外围接口总线、内部集成电路总线或改进内部集成电路总线,连接到该传感装置。
CN202210057340.2A 2022-01-18 2022-01-18 传感装置的中断处理方法及其集成电路 Pending CN116501670A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210057340.2A CN116501670A (zh) 2022-01-18 2022-01-18 传感装置的中断处理方法及其集成电路
US17/666,978 US11630790B1 (en) 2022-01-18 2022-02-08 Integrated circuit and interrupt-handling method of sensing device
TW111105534A TWI830145B (zh) 2022-01-18 2022-02-16 傳感裝置的中斷處理方法及其積體電路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210057340.2A CN116501670A (zh) 2022-01-18 2022-01-18 传感装置的中断处理方法及其集成电路

Publications (1)

Publication Number Publication Date
CN116501670A true CN116501670A (zh) 2023-07-28

Family

ID=85991231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210057340.2A Pending CN116501670A (zh) 2022-01-18 2022-01-18 传感装置的中断处理方法及其集成电路

Country Status (3)

Country Link
US (1) US11630790B1 (zh)
CN (1) CN116501670A (zh)
TW (1) TWI830145B (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555413A (en) * 1995-02-17 1996-09-10 International Business Machines Corporation Computer system and method with integrated level and edge interrupt requests at the same interrupt priority
US8489861B2 (en) * 1997-12-23 2013-07-16 Round Rock Research, Llc Split embedded DRAM processor
US7831979B2 (en) * 2004-04-28 2010-11-09 Agere Systems Inc. Processor with instruction-based interrupt handling
US8194146B2 (en) * 2008-01-11 2012-06-05 Mediatek Inc. Apparatuses for capturing and storing real-time images
US8275975B2 (en) * 2008-01-25 2012-09-25 Mtekvision Co., Ltd. Sequencer controlled system and method for controlling timing of operations of functional units
US8566507B2 (en) * 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
US9904637B2 (en) * 2014-11-26 2018-02-27 Qualcomm Incorporated In-band interrupt time stamp
US10394734B1 (en) * 2016-05-04 2019-08-27 Altera Corporation Driver for network timing system
US10303632B2 (en) * 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10416919B1 (en) * 2018-08-28 2019-09-17 Cohesity, Inc. Integrated hierarchical storage movement
US11252070B2 (en) * 2018-10-09 2022-02-15 Vmware, Inc. Adaptive polling in software-defined networking (SDN) environments
JP7326863B2 (ja) * 2019-05-17 2023-08-16 オムロン株式会社 転送装置、情報処理装置、および、データ転送方法
US11526284B2 (en) * 2020-08-14 2022-12-13 Dell Products L.P. Method and system for storing data in a multiple data cluster system
US11436172B2 (en) * 2020-09-16 2022-09-06 Hughes Network Systems, Llc Data frame interface network device

Also Published As

Publication number Publication date
TW202331537A (zh) 2023-08-01
TWI830145B (zh) 2024-01-21
US11630790B1 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
US10915160B2 (en) System on a chip with fast wake from sleep
US11079261B2 (en) System on a chip with always-on processor
US7590774B2 (en) Method and system for efficient context swapping
US10261894B2 (en) System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US7398406B2 (en) Data processor
US20150355762A1 (en) Mid-frame blanking
TWI483265B (zh) 硬體動態快取電源管理
US6219720B1 (en) Core logic unit with internal register for peripheral status
US20150362980A1 (en) Always-On Processor as a Coprocessor
US8117474B2 (en) CPU clock control during cache memory stall
US20140149694A1 (en) System-on-chip and application processor including fifo buffer and mobile device comprising the same
CN110573991B (zh) 架构状态保留
CN108132910B (zh) 系统互连以及具有系统互连的片上系统
US8922571B2 (en) Display pipe request aggregation
JP2004062630A (ja) Fifoメモリ及び半導体装置
CN116501670A (zh) 传感装置的中断处理方法及其集成电路
US7953999B2 (en) Semiconductor integrated circuit device and method of operating the same
JP2011044072A (ja) アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法
US20140108688A1 (en) Fabric Delivered Interrupts
US20030088801A1 (en) Implementation of wait-states
US9652371B2 (en) Lookahead scheme for prioritized reads
JP2003309564A (ja) マイクロコンピュータシステムおよびそれに使用されるトランシーバ
JP2008021040A (ja) バスマスタ回路、バス制御方法、及びコンピュータプログラム
JP2003122623A (ja) 書き込みコマンド高速送信のためのグラフィックスコントローラ
JP2001027920A (ja) バスブリッジ回路及びそのパワーマネージメント方法

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