CN114026549B - 用于中止主控制器与所连接的外围设备之间的阻塞总线访问的方法和装置 - Google Patents

用于中止主控制器与所连接的外围设备之间的阻塞总线访问的方法和装置 Download PDF

Info

Publication number
CN114026549B
CN114026549B CN202080046146.3A CN202080046146A CN114026549B CN 114026549 B CN114026549 B CN 114026549B CN 202080046146 A CN202080046146 A CN 202080046146A CN 114026549 B CN114026549 B CN 114026549B
Authority
CN
China
Prior art keywords
bus
interrupt
peripheral device
controller
peripheral
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
CN202080046146.3A
Other languages
English (en)
Other versions
CN114026549A (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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Publication of CN114026549A publication Critical patent/CN114026549A/zh
Application granted granted Critical
Publication of CN114026549B publication Critical patent/CN114026549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种用于中止经由总线协议通过总线进行通信的主控制器与所连接的外围设备之间的阻塞总线访问的方法以及执行本发明方法的装置。本发明的目的为指示和指明一种方法,通过该方法可以终止外围设备的总线访问,SoC的主控制器在中断服务程序中也可返回对所连接的外围设备的访问,将通过一种方法来解决,该方法包括以下步骤:‑发送中断事件消息至主控制器以启动中断服务程序,还发送中断事件消息至所连接的阻塞总线的外围设备,‑主控制器跳入中断服务程序,‑外围设备通过向主控制器发送中止中断消息来中断其总线访问并解除对总线的阻塞,‑主控制器访问未被阻塞的总线以服务于中断服务程序,以及‑主控制器在离开中断服务程序之后,跳回主程序。

Description

用于中止主控制器与所连接的外围设备之间的阻塞总线访问 的方法和装置
技术领域
本发明涉及一种用于中止经由总线协议通过总线进行通信的主控制器与所连接的外围设备之间的阻塞总线访问的方法,以及一种执行本发明方法的装置。
背景技术
常见的片上系统(SoC)包括控制器(微控制器、RISC、DSP)和外围设备,比如,经由被称为总线(例如,ARM AHB-ARM高级高性能总线)的常见的基础设施连接的存储器或I/O设备。外围设备大部分是SoC中的从设备。
微控制器,也称为主控制器,是SoC的主设备,其经由总线控制外围设备。通过读取或写入总线访问来完成外围设备控制。外围设备的读写访问在总线协议中定义。市面上有不同的总线协议并且它们被标准化,例如,ARM AHB协议。一些总线协议不支持主设备发起的中止总线访问。也存在阻塞传输的协议,即,主设备等待直到从设备发回响应。这种总线阻塞还导致较长的处理器空闲时间。
发明内容
以下场景旨在示出尤其对于实时应用而言的缺点,这些缺点出现在经由总线协议在片上系统(SoC)的主设备微控制器与作为从设备的外围设备之间进行的先前通信中。
主设备微控制器发起对从设备外围设备的总线访问。由于未知的时间和未知的原因,外围设备阻塞对总线进行总线访问。同时,主设备微控制器获得中断消息并且必须尽可能做出反应。主设备微控制器必须在其中断服务程序中访问外围设备连接,但是因为由主设备微控制器发起的外围设备的先前读取或写入尚未完成,总线被外围设备阻塞。主设备微控制器必须等待直到阻塞的外围设备释放总线从而服务其中断程序。未知的阻塞时间干扰实时应用和需求。
因此,期望指示和指明一种方法,通过该方法,可以终止外围设备的总线访问,并且在中断服务程序的情况下,SoC的主控制器也可返回对所连接的外围设备的访问。
本发明的目的通过一种用于中止经由总线协议通过总线进行通信的片上系统的主控制器与所连接的外围设备之间的阻塞总线访问的方法来实现,其中,该方法包括以下步骤:
-发送中断事件消息至主控制器以启动中断服务程序,还发送中断事件消息至所连接的阻塞总线的外围设备,
-主控制器跳入中断服务程序,
-外围设备通过向主控制器发送中止中断消息来中断其总线访问并解除对总线的阻塞,
-主控制器访问未被阻塞的总线以服务于中断服务程序,以及
-主控制器在离开中断服务程序之后,跳回主程序。
本发明方法的核心思想是主控制器不能中止它自己发起的传输,但片上系统中的从设备可以做到。因此,本发明的方法不仅允许主控制器获得中断服务程序的指示,还允许SoC的每个外围设备获得中断服务程序的指示。重要的是满足每个系列总线协议。最后,阻塞总线的外围设备通过向主控制器发送中止中断消息来解除对总线的阻塞,使得主控制器自身可以访问总线并且在主控制器跳回主程序之前服务于中断服务程序。在没有本发明的情况下,不可能利用总线访问时间未知的外围设备来处理在SoC控制器上运行的实时协议。
因此,在本发明方法的变形中,在外围设备进行总线读取访问的情况下,外围设备向主控制器的缓存返回无效的伪数据。这具有以下优点:由于没有发回错误响应,主控制器不需要处理错误响应,因而满足总线协议。
在本发明方法的另一变形中,如果主控制器期望专用总线错误响应,则由外围设备发送该响应。由此,主控制器知道主控制器的中断控制中何时不再有硬件中断。如果使用外部中断控制器,那么主控制器保存用于读取中断控制器状态以及清除中断源的指令。主设备决定其是否期望来自外围设备的总线错误响应。外围设备包括针对该功能的控制寄存器。
在本发明方法的另一变形中,在外围设备进行总线写入访问的情况下,外围设备丢弃数据。这具有以下优点:由于外围设备知道数据不是有效的,因此不需要发回错误响应,因而满足总线协议。
由此可见本发明方法的优点:主控制器可以在不违反总线协议的情况下实时地进行总线访问,并且主控制器可以访问执行中断服务程序所必需或者由于中断服务程序而变得必需的各个外围设备。
在本发明方法的另一变形中,中止中断消息初始化中止中断服务程序,主控制器使最后的缓存项无效。这具有以下优点:在终止阻塞的外围设备访问之前,主控制器无需复杂的程序序列恢复程序即可跳回主程序。
在本发明方法的另一变形中,触发中断事件消息的中断事件可以是看门狗信号。看门狗信号必须经由IRQ使能模块连接到外围设备。
本发明的方法可应用于不同的总线协议,例如,高级高性能总线-AHB-协议或者用于NB-IoT或APB(ARM)、Whishbone(Opencore)、STBus(STMicroelectronics)的无线协议。
本发明的目的通过一种适于执行根据如上所述的方法的装置来实现。该装置包括主控制器,该主控制器使用总线协议经由总线与一个以上外围设备连接进行通信,主控制器包括内部缓存,外围设备经由同一端口与内部缓存连接,其中,主控制器和外围设备经由中断线连接。
在本发明装置的变形中,该装置包括用于使能或禁用外围设备的中断源的附加的掩码模块,这些外围设备经由掩码的中断线与该掩码模块连接。掩码模块与主控制器连接,将未掩码的中断传输至主控制器。这具有以下优点:主控制器识别所有中断,可以控制以决定使用哪个连接的中断线来终止阻塞的总线访问或不终止阻塞的总线访问。
在本发明装置的另一变形中,外围设备包括控制寄存器,用于如果主控制器期望则使能专用总线错误响应。因此,外围设备能够向主设备发送专用总线错误响应。这在主控制器的中断控制器没有剩余的中断输入或者主控制器是处理专用总线错误的电缆的情况下是有利的。
在另一个非常优选的变形中,该装置包括一个以上主控制器。多个主设备共享一个从设备。可以组合(简单的或门)每个主设备的触发事件,外围设备如上所述地动作。外围设备的中断信号连接至每个主设备。
将使用示例性实施例来更详细地解释本发明。
附图说明
所附的附图示出了:
图1为根据本发明的片上系统的示意图;
图2为根据本发明的片上系统的示例性实施例;
图3为根据本发明方法的由本发明装置执行的中断程序的时间线;
图4为本发明装置的实施例。
具体实施方式
图1示出了包括主控制器1、两个外围设备A 2和B 3以及总线4的片上系统(SoC)。主控制器1在其主程序中执行对外围设备A 2的总线访问。在未知时间内,外围设备A 2阻塞总线访问。同时,发生中断事件5,主控制器1跳入中断服务程序。在中断服务程序中,主控制器1必须访问外围设备B 3。在没有本发明的方法和装置的情况下,主控制器1必须等待,直至外围设备A 2完成总线访问。根据本发明,外围设备A 2也获得中断事件5。然后,外围设备A 2服务于总线访问并且解除对总线4的阻塞。在读取总线访问的情况下,外围设备A 2返回无效的“伪数据”。在写入总线访问的情况下,外围设备A 2丢弃数据。在总线操作结束时,外围设备A 2向主控制器1返回中断。在此操作之后,当由于中断服务程序而需要时,主控制器1可以访问外围设备B 3。
图2示出了本发明的方法和装置的示例性实施例。外围设备A 2是FLASH控制器,外围设备B 3是RF前端控制器。主控制器1本身具有内部缓存。具有内部缓存的主控制器1、外围设备A 2和B 3以及总线4,使用例如ARM AHB协议进行总线通信。内部缓存和主控器1自身共享同一个AHB端口。主控制器1执行FLASH指令代码(AHB读取访问),在t0时刻由于未知原因而停止,参见图3。在t1时刻,主控制器1获得定时器中断以重新编程RF前端控制器3,t1时刻是至关重要的。主控制器1不能等到对FLASH控制器2的访问完成。根据本发明的方法和装置,定时器中断也经由中断线7馈送到FLASH控制器2。FLASH控制器2中止指令代码AHB读取访问且返回伪数据。FLASH控制器2最后在t2时刻向主控制器1发送中止中断6。在t3时刻,主控制器1现在可以对RF前端控制器3进行编程。在离开定时器中断请求服务程序(IRQ)之后,在t4时刻,主控器1服务于FLASH中止IRQ服务程序以使最后的缓存项无效。在t5时刻,主控制器1跳回主程序。
图4示出了本发明装置的另一个优选实施例。组成用于使能/禁用外围设备2、3的IRQ源的附加的掩码寄存器。中断以未掩码的方式10到达主控制器1。IRQ使能模块8对被馈送到外围设备A 2的相应的IRQ源进行掩码。这具有以下优点:主控制器1可以决定哪些连接的中断5被组合(或被门控),并且通过掩码的中断线9被馈送至外围设备2、3,以终止阻塞的传输。还有可能使用一个以上共享从设备2、3的主控制器1。可以组合(简单的或门)每个主控制器1的触发事件5,外围设备2、3如以上描述的进行动作。每个外围设备2、3的中断信号6连接至每个主控制器1。
附图标记列表
1 主控制器
2 外围设备A,例如,FLASH控制器
3 外围设备B,例如,射频前端控制器
4 总线,例如AHB协议
5 中断事件消息,例如,定时器中断
6 中止中断事件消息,例如,FLASH中止中断
7 中断线
8 IRQ使能模块
9 掩码的中断线
10 未掩码的中断消息

Claims (10)

1.一种用于中止经由总线协议进行通信的主控制器(1)与所连接的外围设备(2,3)之间的阻塞总线访问的方法,所述方法包括以下步骤:
- 发送中断事件消息(5)至所述主控制器(1)以启动中断服务程序,还发送所述中断事件消息(5)至所连接的阻塞总线(4)的外围设备(2,3),
- 所述主控制器(1)跳入所述中断服务程序,
- 所述外围设备(2,3)通过向所述主控制器(1)发送中止中断消息(6)来中止其总线访问并解除对所述总线(4)的阻塞,
- 所述主控制器(1)访问未被阻塞的总线(4)以服务于所述中断服务程序,以及
- 所述主控制器(1)在离开所述中断服务程序之后,跳回主程序。
2.根据权利要求1所述的用于中止阻塞总线访问的方法,其中,在所述外围设备(2,3)进行总线读取访问的情况下,所述外围设备(2,3)将无效的伪数据返回至所述主控制器(1)的缓存中。
3.根据权利要求1或2所述的用于中止阻塞总线访问的方法,其中,如果所述主控制器(1)期望,所述外围设备(2,3)发送专用总线错误响应。
4.根据权利要求1所述的用于中止阻塞总线访问的方法,其中,在所述外围设备(2,3)进行总线写入访问的情况下,所述外围设备(2,3)丢弃数据。
5.根据权利要求1所述的用于中止阻塞总线访问的方法,其中,所述中止中断消息(6)初始化中止中断服务程序,所述主控制器(1)使最后的缓存项无效。
6.根据权利要求1所述的用于中止阻塞总线访问的方法,其中,触发所述中断事件消息(5)的中断事件是看门狗信号。
7.一种用于执行根据权利要求1至6任一项所述的方法的装置,所述装置包括主控制器(1),所述主控制器(1)使用用于总线通信的总线协议经由总线(4)与一个以上外围设备(2,3)连接,所述主控制器(1)包括内部缓存,所述外围设备(2,3)经由同一端口与所述内部缓存连接,并且其中,所述主控制器(1)和所述外围设备(2,3)经由中断线(7)连接。
8.根据权利要求7所述的装置,其中,所述装置包括用于使能或禁用外围设备的中断源的附加的掩码模块(8)。
9.根据权利要求7或8所述的装置,其中,所述外围设备(2,3)包括控制寄存器,所述控制寄存器用于如果所述主控制器(1)期望则使能总线错误响应。
10.根据权利要求7所述的装置,其中,所述装置包括一个以上主控制器(1)。
CN202080046146.3A 2019-11-05 2020-10-20 用于中止主控制器与所连接的外围设备之间的阻塞总线访问的方法和装置 Active CN114026549B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP19207167.8 2019-11-05
EP19207167 2019-11-05
EP20167510.5A EP3819776B1 (en) 2019-11-05 2020-04-01 Method and apparatus for aborting blocked bus access between a master controller and connected peripherals
EP20167510.5 2020-04-01
PCT/EP2020/079512 WO2021089318A1 (en) 2019-11-05 2020-10-20 Method and apparatus for aborting blocked bus access between a master controller and connected peripherals

Publications (2)

Publication Number Publication Date
CN114026549A CN114026549A (zh) 2022-02-08
CN114026549B true CN114026549B (zh) 2023-11-14

Family

ID=70154272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080046146.3A Active CN114026549B (zh) 2019-11-05 2020-10-20 用于中止主控制器与所连接的外围设备之间的阻塞总线访问的方法和装置

Country Status (3)

Country Link
EP (1) EP3819776B1 (zh)
CN (1) CN114026549B (zh)
WO (1) WO2021089318A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541987A (en) * 1993-01-11 1996-07-30 Nec Corporation Connection-oriented congestion controller for common channel signaling network
US6629179B1 (en) * 2000-07-31 2003-09-30 Adaptec, Inc. Message signaled interrupt generating device and method
WO2014135595A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede de surveillance de communications pour systeme sur puce
KR20150043639A (ko) * 2013-10-14 2015-04-23 주식회사 아이디어웨어 과부하 지역의 네트워크 부하 저감 정책 운영 방법
CN105144129A (zh) * 2013-03-06 2015-12-09 萨基姆防卫安全 用于片上系统的带宽控制方法
WO2016209730A1 (en) * 2015-06-22 2016-12-29 Qualcomm Incorporated Extended message signaled interrupts (msi) message data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048530A (ja) * 2004-08-06 2006-02-16 Fujitsu Ltd バススイッチ回路及びバススイッチシステム
US7581051B2 (en) * 2005-05-16 2009-08-25 Microsoft Corporation Method for delivering interrupts to user mode drivers
US9135195B2 (en) * 2012-07-24 2015-09-15 Freescasle Semiconductor, Inc. Prediction of electronic component behavior in bus-based systems
US10353837B2 (en) * 2013-09-09 2019-07-16 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US10002089B2 (en) * 2015-11-12 2018-06-19 Nxp Usa, Inc. Interrupt-controlled direct memory access peripheral data transfer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541987A (en) * 1993-01-11 1996-07-30 Nec Corporation Connection-oriented congestion controller for common channel signaling network
US6629179B1 (en) * 2000-07-31 2003-09-30 Adaptec, Inc. Message signaled interrupt generating device and method
WO2014135595A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede de surveillance de communications pour systeme sur puce
CN105144129A (zh) * 2013-03-06 2015-12-09 萨基姆防卫安全 用于片上系统的带宽控制方法
KR20150043639A (ko) * 2013-10-14 2015-04-23 주식회사 아이디어웨어 과부하 지역의 네트워크 부하 저감 정책 운영 방법
WO2016209730A1 (en) * 2015-06-22 2016-12-29 Qualcomm Incorporated Extended message signaled interrupts (msi) message data

Also Published As

Publication number Publication date
EP3819776B1 (en) 2021-12-29
WO2021089318A1 (en) 2021-05-14
EP3819776A1 (en) 2021-05-12
CN114026549A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US8700823B2 (en) Software driver interconnect framework
US5127089A (en) Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence
KR20040071743A (ko) 낮은 오버헤드 프로세서 인터페이싱
JP6181844B2 (ja) デュアルホスト組込み共有デバイスコントローラ
TW200527195A (en) Mechanism to control hardware interrupt acknowledgement in a virtual machine system
JPH0354375B2 (zh)
US10078568B1 (en) Debugging a computing device
US10990544B2 (en) PCIE root complex message interrupt generation method using endpoint
US8943238B2 (en) Operations using direct memory access
US20170005941A1 (en) Integrated circuit radio devices
CN112084128B (zh) 消息中断通信方法、计算机设备和存储介质
US9612881B2 (en) Method, apparatus, and system for unambiguous parameter sampling in a heterogeneous multi-core or multi-threaded processor environment
CN114026549B (zh) 用于中止主控制器与所连接的外围设备之间的阻塞总线访问的方法和装置
CN111290983A (zh) Usb传输设备及传输方法
EP0217350B1 (en) Data transfer control unit and system
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN106844025B (zh) 一种异步中断处理方法及中断控制器
US6718405B2 (en) Hardware chain pull
JP2000305893A (ja) Pciバス互換性を有するマスターおよびアービターと仲裁方法
JP3558559B2 (ja) 情報処理装置
JP3491588B2 (ja) 外部バス制御装置
CN116303174A (zh) 一种实现直接存储器访问快速传输的装置及其方法
SU822166A1 (ru) Устройство дл согласовани интер-фЕйСОВ
JPS6041157A (ja) バス争奪制御方式
JP2667285B2 (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
GR01 Patent grant
GR01 Patent grant