TW201923606A - 針對多執行環境之i3c頻帶內中斷 - Google Patents

針對多執行環境之i3c頻帶內中斷 Download PDF

Info

Publication number
TW201923606A
TW201923606A TW107135830A TW107135830A TW201923606A TW 201923606 A TW201923606 A TW 201923606A TW 107135830 A TW107135830 A TW 107135830A TW 107135830 A TW107135830 A TW 107135830A TW 201923606 A TW201923606 A TW 201923606A
Authority
TW
Taiwan
Prior art keywords
event
device identifier
controlled device
execution environment
bus
Prior art date
Application number
TW107135830A
Other languages
English (en)
Inventor
雪倫 葛瑞夫
李爾 艾馬里歐
奧倫 尼雪瑞
Original Assignee
美商高通公司
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 美商高通公司 filed Critical 美商高通公司
Publication of TW201923606A publication Critical patent/TW201923606A/zh

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)

Abstract

本發明描述用於根據一I3C協定經由一串列匯流排通信之系統、方法及設備。耦接至該串列匯流排之一主控器裝置可偵測對應於藉由一第一裝置識別符可定址之一受控器裝置確證之一頻帶內中斷的在該串列匯流排上之傳信,接收藉由與該頻帶內中斷有關之該受控器裝置傳輸之一第二裝置識別符,使用該第二裝置識別符以選擇一執行環境,及回應於該頻帶內中斷而中斷該執行環境。該受控器裝置可在經由該串列匯流排進行之異動中使用該第一裝置識別符。在偵測由一事件源產生之一事件之後,該受控器裝置可在該串列匯流排上起始一頻帶內中斷,且可在一頻帶內中斷處置程序期間傳輸該第二裝置識別符以指示該事件源。

Description

針對多執行環境之I3C頻帶內中斷
本發明大體上係關於在處理器與周邊裝置之間的介面,且更明確而言係關於至經調適以經由串列匯流排通信的裝置之位址分配。
行動通信裝置可包括多種組件,包括電路板、積體電路(IC)裝置及/或系統單晶片(SoC)裝置。組件可包括處理電路、使用者介面組件、儲存器及經由串列匯流排通信之其他周邊組件。在一個實例中,串列匯流排可根據積體電路間協定而操作,積體電路間協定亦可被稱作I2C協定或I²C協定。I2C協定可操作於用於將低速周邊裝置連接至處理器的串列單端匯流排上。在一些實例中,串列匯流排可採用多主控器協定,其中一或多個裝置可充當用於在串列匯流排上傳輸之不同訊息的主控器及受控器。資料可根據在串列時脈線(SCLOCK或SCL)上攜載之時脈信號中提供的時序在串列資料線(SDATA或SDA)上攜載之資料信號中串列化及傳輸。
在另一實例中,串列匯流排可根據由行動行業處理器介面(MIPI)聯盟定義的I3C協定而操作。I3C協定可經由較高傳輸器時脈速率、藉由以定義兩個或大於兩個線之傳信狀態的符號編碼資料及/或經由包括雙資料速率傳輸(其中使用所傳輸時脈信號之上升及下降邊緣時控資料)之其他編碼技術,來增加串列匯流排上之可用頻寬。I3C協定之某些態樣係自I2C協定之對應態樣導出,且I2C及I3C協定可共存於同一串列匯流排上。用於I3C匯流排之協定自I2C協定導出某些實施態樣。
在一些系統及設備中,諸如蜂巢式電話之行動通信裝置可採用多個裝置(諸如相機、顯示器及產生可針對此等警示之消耗者的事件通知的各種通信介面)。在一些情況下,SoC可包括多個應用處理器及/或執行環境,其中之每一者可為事件通知之消耗者。執行環境可裝備有處理資源及記憶體且可經組態以獨立於其他執行環境執行應用程式或程序。在習知系統中,事件通知係藉由判定底層事件之源及性質及事件通知之一或多個目的地的應用處理器來處置。與事件處置相關聯之處理額外負擔可特別地在複雜應用程式中引入顯著潛時。
本發明之某些態樣係關於其中耦接至串列匯流排之受控器裝置可經供應有多個動態位址的系統、設備、方法及技術,該等動態位址中一些可用以在頻帶內中斷期間識別事件源。可根據I3C協定來操作串列匯流排。
在本發明之各種態樣中,一種在耦接至串列匯流排之裝置處執行之方法包括:偵測對應於藉由受控器裝置確證之頻帶內中斷的在串列匯流排上之傳信,該受控器裝置與第一裝置識別符相關聯;接收藉由與頻帶內中斷有關之受控器裝置傳輸之第二裝置識別符;使用第二裝置識別符以選擇第一執行環境;及回應於頻帶內中斷而中斷第一執行環境。
在某些態樣中,受控器裝置包括複數個事件源。裝置識別符可指派給該複數個事件源以供用於識別由該複數個事件源產生之事件之源。可維持將執行環境與經指派給事件源之每一裝置識別符相關聯的清單。可使用該清單選擇第一執行環境。指派裝置識別符給該複數個事件源可包括將裝置識別符寫入至與該複數個事件源相關聯之暫存器。指派裝置識別符給該複數個事件源可包括在第一動態位址分配過程期間分配第一裝置識別符至受控器裝置。第二裝置識別符可在第二動態位址分配過程期間分配至受控器裝置。第二裝置識別符可經由串列匯流排寫入至與第一事件源相關聯的受控器裝置中之暫存器。
在一個態樣中,當偵測到對應於頻帶內中斷之傳信時,主控器裝置操作於睡眠模式中,且中斷第一執行環境包括喚醒第一執行環境。當中斷第一執行環境時,第二執行環境可不受影響。
在本發明之各種態樣中,一種設備具有:一匯流排介面,其可作為匯流排主控器介面而操作並經調適以將設備耦接至串列匯流排;複數個執行環境,其各自經組態以獨立於另一執行環境執行一或多個功能;及經分配至受控器裝置的裝置識別符之清單,該清單將每一裝置識別符與複數個執行環境中之一者相關聯。匯流排介面可經組態以偵測對應於藉由受控器裝置確證之頻帶內中斷的在串列匯流排上之傳信,接收藉由與頻帶內中斷有關之受控器裝置傳輸之第二裝置識別符,使用第二裝置識別符以自清單中選擇執行環境,並回應於頻帶內中斷而中斷第一執行環境。
在某些態樣中,第二裝置識別符經分配至受控器裝置中之複數個事件源中之一者。設備可包括經組態以使用匯流排介面將第二裝置識別符寫入至與觸發頻帶內中斷之事件之源相關聯的受控器裝置中之暫存器的控制器。控制器可經組態以在第一動態位址分配過程期間分配第一裝置識別符至受控器裝置。控制器可經組態以在第二動態位址分配過程期間分配第二裝置識別符至受控器裝置。控制器可經組態以使用串列匯流排以將第二裝置識別符寫入至與第一事件源相關聯的受控器裝置中之暫存器。
在一個態樣中,控制器可經組態以當偵測到對應於頻帶內中斷之傳信時第一執行環境在休眠狀態中時喚醒第一執行環境。當偵測到對應於頻帶內中斷之傳信時設備可在睡眠模式中操作,且當第一執行環境中斷時,第二執行環境不受影響。當中斷第一執行環境時,第二執行環境可保持在睡眠模式中。
在本發明之各種態樣中,處理器可讀儲存媒體具有儲存於其上之指令。當由處理電路執行時指令可致使該處理電路進行以下操作:偵測對應於藉由受控器裝置確證之頻帶內中斷的在串列匯流排上之傳信,該受控器裝置與第一裝置識別符相關聯;接收藉由與頻帶內中斷有關之受控器裝置傳輸之第二裝置識別符;使用第二裝置識別符以選擇第一執行環境;及回應於頻帶內中斷而中斷第一執行環境。
在本發明之各種態樣中,在耦接至串列匯流排之受控器裝置處執行之方法包括維持用以在經由串列匯流排進行之異動中識別受控器裝置之第一裝置識別符,偵測由第一事件源產生之第一事件,在偵測到第一事件之後在串列匯流排上起始頻帶內中斷,及傳輸經指派給第一事件之源之第二裝置識別符。第二裝置識別符可經提供以使主控器裝置能夠選擇經組態以對第一事件作出回應之執行環境。
在某些態樣中,在第一動態位址分配程序期間接收第一裝置識別符。第一動態位址分配程序可根據I3C協定來執行。第二裝置識別符可藉由主控器裝置寫入至受控器裝置之暫存器。第二裝置識別符可在受控器裝置之製造或起始期間被預組態。可在第二動態位址分配程序期間接收第二裝置識別符。
在一些態樣中,第一事件之源可為複數個事件源中之一者。每一事件源可具有待在頻帶內中斷程序中傳輸之相關聯裝置識別符。
在本發明之各種態樣中,受控器裝置具有可作為匯流排主控器介面而操作並經調適以將受控器裝置耦接至串列匯流排的匯流排介面、複數個事件源,及分配至受控器裝置的裝置識別符之清單,該清單將每一裝置識別符與該複數個事件源中之一者相關聯。匯流排介面可經組態以維持用以在經由串列匯流排進行之異動中識別受控器裝置之第一裝置識別符,偵測由第一事件源產生之第一事件,在偵測到第一事件之後在串列匯流排上起始頻帶內中斷,及傳輸經指派給第一事件之源之第二裝置識別符。第二裝置識別符可經提供以使主控器裝置能夠選擇經組態以對第一事件作出回應之執行環境。
在本發明之各種態樣中,處理器可讀儲存媒體具有儲存於其上之指令。指令在由處理電路執行時可致使處理電路偵測由受控器裝置處之第一事件源產生之第一事件,在偵測到第一事件之後在串列匯流排上起始頻帶內中斷,並傳輸經指派給第一事件之源之第一裝置識別符。第一裝置識別符可經提供以使主控器裝置能夠選擇經組態以對第一事件作出回應之執行環境。第二裝置識別符可用於在經由串列匯流排進行之異動中識別受控器裝置。
在各個態樣中,可在第一動態位址分配程序期間接收第二裝置識別符。第一動態位址分配程序可根據I3C協定來執行。第一裝置識別符可藉由主控器裝置寫入至受控器裝置之暫存器。第一裝置識別符可在受控器裝置之製造或起始期間被預組態。可在第二動態位址分配程序期間接收第一裝置識別符。第一事件之源可為複數個事件源中之一者。每一事件源可具有待在頻帶內中斷程序中傳輸之相關聯裝置識別符。
主張優先權
本專利申請案主張2017年10月10日申請之名為「I3C IN-BAND INTERRUPTS DIRECTED TO MULTIPLE EXECUTION ENVIRONMENTS」的美國非臨時申請案第15/729,247號之優先權,該非臨時申請案讓渡給本受讓人且特此以引用的方式明確地併入本文中。
下文結合附圖闡述之詳細描述意欲作為對各種組態之描述,且並不意欲表示可實踐本文中所描述之概念的僅有組態。出於提供對各種概念之透徹理解之目的,實施方式包括具體細節。然而,對於熟習此項技術者而言,以下情形將為顯而易見的:可在無此等具體細節之情況下實踐此等概念。在一些情況下,熟知結構及組件係以方塊圖形式展示以便避免混淆此等概念。
現將參考各種設備及方法來呈現本發明之若干態樣。將藉由各種區塊、模組、組件、電路、步驟、程序、演算法等(統稱為「元件」)在以下實施方式中描述及在附圖中說明此等設備及方法。此等元素可使用電子硬體、電腦軟體或其任何組合來予以實施。是否將此等元素實施為硬體或軟體取決於特定應用及強加於整個系統上之設計約束。
概述
包括多個SoC及其他IC裝置之裝置常常採用串列匯流排以連接處理器與數據機及其他周邊裝置。該串列匯流排可根據由標準機構定義的規範及協定而操作。在一個實例中,串列匯流排可根據I3C協定而操作,I3C協定定義每一受控器裝置經組態有單一獨特動態位址。根據本發明之各種態樣,受控器裝置可供應有可指派給受控器裝置內及/或藉由受控器裝置管理的事件通知之源的多個動態位址。匯流排主控器可將指派給各種事件通知之源的位址映射至執行環境,使得事件相關之中斷可有效針對經組態以處置及/或回應於事件之一或多個執行環境。因此,指派給事件通知之源的動態位址用以定址執行環境,且不必由匯流排主控器使用以定址事件通知之源。在一個實例中,受控器裝置可對主動態位址作出回應且可從未接收針對事件通知之一或多個源的通信。在一些情況下,匯流排主控器可使用動態位址以定址至執行環境的事件通知之某些源。
在一個實例中,耦接至串列匯流排之受控器裝置可在通電或重設之後參與動態位址分配程序以獲得其主動態位址。主控器裝置接著可運用動態位址組態受控器裝置以充當事件通知之源。在一些情況下,受控器裝置可經組態以起始或窺探額外動態位址分配程序以獲得用於事件通知之源的動態位址。
具有串列資料鏈路之設備的實例
根據某些態樣,串列資料鏈路可用於互連電子裝置,該等電子裝置為一設備之子組件,該設備諸如:蜂巢式電話、智慧型電話、會話起始協定(SIP)電話、膝上型電腦、筆記型電腦、迷你筆記型電腦、智能本、個人數位助理(PDA)、衛星無線電、全球定位系統(GPS)裝置、智慧型家庭裝置、智慧型照明、多媒體裝置、視訊裝置、數位音訊播放器(例如,MP3播放器)、相機、遊戲控制台、娛樂裝置、汽車組件、可穿戴計算裝置(例如,智慧型手錶、健康或健身跟蹤器、護目鏡等)、電器、感測器、安全性裝置、自動販賣機、智慧型儀錶、無人駕駛飛機、多旋翼飛行器或任何其他類似功能裝置。
圖1說明可採用資料通信匯流排之設備100之實例。設備100可包括SoC、具有多個電路或裝置104、106及/或108之處理電路102,其可實施於一或多個ASIC中或SoC中。在一個實例中,設備100可為通信裝置且處理電路102可包括在ASIC 104、一或多個周邊裝置106及收發器108中提供的處理裝置,該收發器使設備能夠經由天線124與無線電存取網路、核心存取網路、網際網路及/或另一網路通信。
ASIC 104可具有一或多個處理器112、一或多個數據機110、機載記憶體114、匯流排介面電路116及/或其他邏輯電路或功能。處理電路102可藉由可提供應用程式設計介面(API)層之作業系統來控制,該應用程式設計介面(API)層使一或多個處理器112能夠執行駐存於機載記憶體114或提供於處理電路102上之其他處理器可讀儲存器122中之軟體模組。軟體模組可包括儲存於機載記憶體114或處理器可讀儲存器122中之指令及資料。ASIC 104可存取其機載記憶體114、處理器可讀儲存器122及/或在處理電路102外部的儲存器。機載記憶體114、處理器可讀儲存器122可包括唯讀記憶體(ROM)或隨機存取記憶體(RAM)、電可抹除可程式化ROM (EEPROM)、快閃記憶卡,或可用於處理系統及計算平台的任何記憶體裝置。處理電路102可包括、實施或能夠存取本機資料庫或其他參數儲存器,其可維持操作參數及用以組態及操作設備100及/或處理電路102的其他資訊。本機資料庫可使用暫存器、資料庫模組、快閃記憶體、磁性媒體、EEPROM、軟碟或硬碟或其類似者來實施。處理電路102亦可以可操作方式耦接至外部裝置,諸如天線124、顯示器126、操作者控制件(諸如開關或按鈕128、130及/或整合式或外部小鍵盤132)以及其他組件。使用者介面模組可經組態以經由專用通信鏈路或經由一或多個串列資料互連件運用顯示器126、小鍵盤132等而操作。
處理電路102可提供使某些裝置104、106及/或108能夠通信的一或多個匯流排118a、118b、120。在一個實例中,ASIC 104可包括匯流排介面電路116,其包括電路、計數器、定時器、控制邏輯及其他可組態電路或模組之組合。在一個實例中,匯流排介面電路116可經組態以根據通信規範或協定而操作。處理電路102可包括或控制一功率管理功能,其組態及管理設備100之操作。
圖2說明包括連接至串列匯流排230之多個裝置202、220及222a至222n的設備200之某些態樣。裝置202、220及222a至222n可包括一或多個半導體IC裝置,諸如應用處理器、SoC或ASIC。裝置202、220及222a至222n中之每一者可包括、支援或操作為數據機、信號處理裝置、顯示驅動器、相機、使用者介面、感測器、感測器控制器、媒體播放器、收發器及/或其他此等組件或裝置。經由串列匯流排230在裝置202、220及222a至222n之間的通信係藉由匯流排主控器220控制。控管串列匯流排操作之某些協定提供多於一個匯流排主控器220。
設備200可包括當根據I2C、I3C或其他協定操作串列匯流排230時通信的多個裝置202、220及222a至222n。至少一個裝置202、222a至222n可經組態以操作為串列匯流排230上之受控器裝置。在一個實例中,受控器裝置202可經調適以提供感測器控制功能204。感測器控制功能204可包括支援影像感測器之電路及模組,及/或控制量測環境條件之一或多個感測器並與該一或多個感測器通信的電路及模組。受控器裝置202可包括組態暫存器或其他儲存器206、控制邏輯212、收發器210及線驅動器/接收器214a及214b。控制邏輯212可包括一諸如狀態機、定序器、信號處理器或通用處理器之處理電路。收發器210可包括接收器210a、傳輸器210c及共同電路210b,包括時序、邏輯及儲存電路及/或裝置。在一個實施例中,傳輸器210c基於由時脈產生電路208提供的時序編碼並傳輸資料。
裝置202、220及/或222a至222n中之兩者或大於兩者可根據本文所揭示之某些態樣及特徵而調適以經由共同匯流排支援複數個不同通信協定,該等協定可包括I2C及/或I3C協定。在一些情況下,使用I2C協定通信之裝置可與使用I3C協定通信之裝置共存於相同2線介面上。在一個實例中,I3C協定可支援提供6百萬位元每秒(Mbps)與16 Mbps之間的資料速率的操作模式與提供較高效能之一或多個可選高資料速率(HDR)操作模式。I2C協定可實際上符合提供可在100千位元每秒(kbps)及3.2 Mbps之間變動的資料速率之I2C標準。I2C及I3C協定可界定在2線串列匯流排230上傳輸的信號之電氣及時序態樣,外加匯流排控制之資料格式及態樣。協定及標準可界定影響與串列匯流排230相關聯之某些信號位準的直流電(DC)特性,及/或影響在串列匯流排230上傳輸的信號之某些時序態樣的交流電(AC)特性。
圖3之時序圖300及320說明在串列匯流排上SDATA 302與SCLOCK 304之間的關係。時序可適用於根據I2C及/或I3C協定之串列匯流排的操作之某些態樣。第一時序圖300說明當資料正在串列匯流排上傳送時SDATA 302與SCLOCK 304之間的時序關係。SCLOCK 304提供可用於取樣SDATA 302中之資料的一系列脈衝。該等脈衝(例如,包括脈衝312)可經界定為在此期間SCLOCK 304在接收器處經判定為在高邏輯狀態中的時間。當SCLOCK 304在資料傳輸期間在高邏輯狀態中時,需要SDATA 302上之資料為穩定且有效的;當SCLOCK 304在高邏輯狀態中時SDATA 302之狀態通常並不准許改變。
在一個實例中,用於習知I2C協定實施之規範(其可被稱作「I2C規範」)界定SCLOCK 304上的脈衝312之高時段之最小持續時間310 (tHIGH )。I2C規範亦界定在脈衝312發生之前的設置時間306 (tSU )之最小持續時間,及在脈衝312終止之後的保持時間308(tHold )之最小持續時間。SDATA 302之傳信狀態在設置時間306及保持時間308期間預期為穩定的。設置時間306界定在SDATA 302上之傳信狀態之間的轉變316之後直至SCLOCK 304上脈衝312之上升邊緣的到達為止的最大時段。保持時間308界定在SCLOCK 304上的脈衝312之下降邊緣之後直至SDATA 302上之傳信狀態之間的下一轉變318為止的最小時段。I2C規範亦界定用於SCLOCK 304的低時段(tLOW )之最小持續時間314。當SCLOCK 304在脈衝312之前邊緣之後在高邏輯狀態中時,SDATA 302上之資料通常係穩定的及/或可在持續時間310 (tHIGH )內擷取。
I2C協定提供8位元資料(位元組)及7位元位址之傳輸。接收器可藉由在一個時鐘週期中驅動SDATA 302至低邏輯狀態確認傳輸。低傳信狀態表示指示成功接收的應答(ACK)且高傳信狀態表示指示未能接收或接收有錯誤的否定應答(NACK)。
圖3之第二時序圖320說明在一串列匯流排上之資料傳輸之間SDATA 302及SCLOCK 304上的傳信狀態,在該串列匯流排中根據習知I2C協定通信之裝置可與根據I3C及/或其他協定通信之裝置共存。開始情況322經界定以准許當前匯流排主控器傳信待傳輸之彼資料。開始情況322發生在SDATA 302自高轉變至低同時SCLOCK 304為高時。在涉及根據I2C協定傳輸的實例中,I2C匯流排主控器最初傳輸開始情況322 (其亦可被稱作起始位元),繼之以其希望與之交換資料的一I2C受控器裝置之7位元位址。位址繼之以指示讀取抑或寫入操作將發生的單一位元。經定址I2C受控器裝置(若可用)以ACK位元來回應。若無I2C受控器裝置回應,則I2C匯流排主控器可將SDATA 302之高邏輯狀態解譯為NACK。主控器及受控器裝置接著可交換訊框中的資訊之位元組,其中位元組經串列化使得首先傳輸最高有效位元(MSB)。當停止情況324藉由I2C主控器裝置傳輸時完成位元組之傳輸。停止情況324發生在SDATA 302自低轉變至高同時SCLOCK 304為高時。I2C規範需要SDATA 302之所有轉變發生在SCLOCK 304為低時,且例外狀況可被視為開始情況322或停止情況324。
串列匯流排可根據支援頻帶內中斷之協定來操作。舉例而言,用於I3C之MIPI聯盟標準定義支援優先排序中斷的協定,其中定義控制處理頻帶內中斷請求所藉以之次序的優先權等級。經定義用於受控器之優先權等級對應於受控器位址或識別符的值。較低受控器位址具有比較高受控器位址高的優先權。
I3C受控器裝置可在偵測開始情況322之後藉由在仲裁位址標頭中傳輸其受控器位址而起始頻帶內中斷請求。當串列匯流排空閒時,I3C受控器可藉由將SDATA 302拉低而發出開始請求。主主控器裝置偵測開始請求且藉由將SCLOCK 304驅動至低而完成開始情況322。受控器裝置接著可在SDATA 302上傳輸其受控器位址,繼之以設定成「1」之RnW位元。主控器可藉由傳輸ACK位元接受頻帶內中斷請求。一或多個必選資料位元組在所接受頻帶內中斷請求之後。主控器裝置可基於一或多個必選資料位元組之內容判定下一動作。
定址耦接至 I3C 匯流排之受控器
控管串列匯流排之操作的某些協定及規範界定用於定址耦接至串列匯流排之受控器的方案。參看圖4,I3C受控器裝置404、406、408、410可最初供應有識別符之兩個類型中之一者。某些受控器裝置404、406可組態有靜態位址430a、430b,其可為經界定以供在I2C匯流排上使用的位址。經調適用於根據I3C協定通信的受控器裝置404、406、408、410可組態有臨時識別符(臨時ID 432a、432b、432c、432d)。臨時ID 432a、432b、432c、432d可在系統電力開啟或重設期間經指派給每一受控器裝置404、406、408、410。當匯流排主控器402指派動態位址434a、434b、434c、434d給每一受控器裝置404、406、408、410時在動態位址分配過程期間使用臨時ID 432a、432b、432c、432d。在正常操作中,受控器裝置404、406、408、410係使用動態位址434a、434b、434c、434d來定址。I3C協定為每一受控器裝置404、406、408、410提供單一獨特動態位址434a、434b、434c、434d。
當執行動態位址分配過程時,匯流排主控器402可指派動態位址434a或434b給已經組態有靜態位址430a、430b的受控器裝置404、406中之一或多者。在一個實例中,匯流排主控器402可具有可經組態於耦接至串列匯流排之受控器裝置404、406中的靜態位址430a、430b之清單。匯流排主控器402可傳輸經定址至已知靜態位址420的命令序列416。命令序列416可包括命令碼418及待由具有對應於經定址已知靜態位址420的靜態位址430a、430b之受控器裝置404、406使用的動態位址值。在接收到來自經定址受控器裝置404、406之應答後,匯流排主控器402可產生將受控器裝置404、406與靜態位址430a、430b及/或經指派動態位址424相關聯的位址表412中之項目414。
圖5說明藉由指派動態位址給不具有靜態位址之受控器裝置406、408、410的匯流排主控器402執行的動態位址分配過程之某些態樣。在一個實例中,匯流排主控器402可已指派動態位址506給第一受控器裝置404,且可能不瞭解在第二受控器裝置406中組態的靜態位址508。匯流排主控器402可分配動態位址給第二受控器裝置406及尚未藉由詢問受控器裝置406、408、410之臨時ID指派靜態位址的其他受控器裝置408、410。主控器裝置可廣播致使受控器裝置406、408、410中之每一者藉由傳輸其各別臨時ID 512、514、516作出回應的命令510。串列匯流排之資料線502可藉由受控器裝置406、408、410使用傳輸之開漏模式來驅動。可基於藉由受控器裝置406、408、410傳輸之最低位址建立優先權。在一些實例中,當建立優先權時可並不評估臨時ID 512、514、516之某些位元,且根據本文所揭示之某些態樣,此等位元可用以區分密友(alter ego)。匯流排主控器402可傳輸經定址至具有最低值之臨時ID 512、514、516之命令序列(參看圖4的命令序列416),其中命令致使接收器寫入用於具有最低值臨時ID 512、514或516之受控器裝置406、408、410之動態位址。此程序重複直至經組態狀態已完成為止,其中動態位址已指派給在串列匯流排上係作用中的所有受控器裝置404、406、408、410。經指派獨特動態位址可經記錄於藉由匯流排主控器402維持的位址表518中。
在包括多個受控器裝置404、406、408、410之系統中,當前控制串列匯流排之作用中匯流排主控器402起始動態位址分配過程。在完成動態位址分配過程後,受控器裝置404、406、408、410使用經指派動態位址參與I3C異動。作用中匯流排主控器402可傳播其位址表518至非作用中匯流排主控器。在一些情況下,非作用中匯流排主控器可藉由窺探藉由作用中匯流排主控器402執行的動態位址分配過程建構其自身位址表。
在一些情況下,非作用中受控器裝置可並不參與動態位址分配過程。當非作用中受控器裝置轉變至作用中模式時,輔助動態位址分配過程可經由藉由新作用中受控器裝置發出的頻帶內中斷請求起始。輔助動態位址分配過程可在如藉由匯流排協定或規範所定義之熱接合或熱插入過程期間執行。
定址耦接至 I3C 匯流排之受控器
I3C規範界定單一獨特動態位址應經分配用於每一受控器裝置,其中受控器裝置與I3C主控器之間的所有通信使用單一分配之動態位址。在一些情況下,可能需要定址受控器裝置之多個群組以廣播資料或命令,或用於其他目的。在一個實例中,行動通信裝置可在裝置之兩側提供相機以使使用者能夠獨立地捕獲正向影像及反向影像。在另一實例中,行動通信裝置可包括具有在同一或不同表面上間隔開以使能夠捕獲立體或三維(3-D)影像的兩個或大於兩個成像裝置或相機之相機系統。在後一實例中,兩個或大於兩個相機可同時操作,其中該設備之基頻處理器可並行或同時傳輸某一相同命令及控制資訊至兩個成像裝置可係合乎需要或所要的。
本文所揭示之某些態樣提供支援用於受控器裝置之一或多個密友的能力。受控器裝置可經調適以仿真一或多個匯流排介面外加由I3C協定及規範定義的實體匯流排介面以便獲得用於受控器裝置之多個動態位址。可基於圖6至圖10中所說明之實例理解獲得用於單一受控器裝置之多個動態位址的實用工具。
圖6為說明包括各具有影像感測器及/或感測器控制器604、624之兩個成像裝置602、622的設備600之某些態樣的區塊示意圖,其中裝置602、622作為受控器耦接至串列匯流排614。設備600可體現於以下各者中之一或多者中:行動通信裝置、行動電話、相機、行動計算系統、智慧型電話、筆記本電腦、平板計算裝置、媒體播放器、遊戲裝置、可穿戴計算裝置、電器或其類似者。設備600可包括其他受控器裝置(圖中未示)及基頻處理器620,其充當串列匯流排614上之I2C及/或I3C主控器。在一個實例中,設備可實施具有提供當組合時用以產生單一3-D影像的獨立視圖之左側相機及右側相機之3-D或立體相機系統。每一相機可體現於受控器裝置602、622中,或藉由受控器裝置602、622控制且可經由串列匯流排614耦接至基頻處理器620。為易於製造,兩個相機可彼此相同且可具有相同靜態位址。
成像裝置602、622可包括感測器控制器604、624,其包括、耦接至及/或管理各別影像感測器。另外,成像裝置602、622可包括組態暫存器606、626及/或其他儲存裝置608、628、處理電路及/或控制邏輯612、632,及收發器610、630。處理電路及/或控制邏輯612、632中之每一者可包括諸如狀態機、定序器、信號處理器、專用處理器或通用處理器之處理器。收發器610、630可包括或控制編碼器、解碼器、線驅動器、線接收器、時序電路、邏輯及儲存電路時脈及資料恢復電路,及/或其他裝置。
藉由 I3C 受控器裝置中之事件源起始的頻帶內中斷
許多習知系統使用專用通用輸入/輸出(GPIO)插腳用於中斷信號。中斷信號通常由硬體及/或軟體組件產生以指示若並不直接關注則需要提示的事件之發生。處理器接收中斷且可暫停當前處理任務或功能以便啟動中斷處置器,其亦可被稱作中斷服務常式(ISR)。中斷處置器可產生識別中斷之源、中斷之類型及中斷之優先權的資訊。中斷處置器可判定中斷是否有效及/或觸發中斷之底層事件是否待另外通常藉由事件處置器來處理。中斷處置器可清除事件源714處之中斷。事件處置器可實施於應用程式或其他軟體功能中。在一個實例中,事件處置器可處理藉由中斷處置器在中斷處理期間產生及/或提供的資訊。事件處置器可致使匯流排介面查詢事件源714以獲得額外資訊,及/或清除中斷之源。
中斷信號可藉由系統之一部分確證以警示系統之其他部分。在一些情況下,藉由第一處理器或控制功能執行的應用程式可確證一中斷以警示不同處理器或控制功能。實體中斷信號經由GPIO插腳傳輸至其他裝置。GPIO插腳可增加IC之成本且可消耗IC上之顯著區域(實際面積)。
I3C標準及協定支援頻帶內中斷能力,藉以受控器裝置可使用經由串列匯流排之頻帶內中斷(IBI)傳信警示主控器裝置。
圖7說明可根據I3C協定而操作並可支援頻帶內中斷的系統700之實例。圖8為說明所說明系統700中之頻帶內中斷的處理之訊息流程圖800。SoC 702包括經組態以經由串列匯流排704將SoC 702耦接至複數個受控器裝置706、708的匯流排主控器介面712。舉例而言,串列匯流排704可根據I3C協定而可操作。受控器裝置706、708中之一或多者可管理產生多個事件之一感測器或各自能夠產生事件之多個感測器或另外與該感測器或該多個感測器相關聯。在一個實例中,圖6中所說明的影像感測器及/或感測器控制器604、624及/或控制邏輯612、632可產生與光條件、所捕獲影像之變化、可用資料、緩衝器條件、時序事件等相關之事件。在另一實例中,受控器裝置706、708中之一或多者可包括、監測或支援例如提供關於影響所監測設備之環境及/或操作情況之資訊的感測器。
在圖7中所說明之實例中,一個受控器裝置706包括四個事件源714。在一些情況下,事件源714中之一或多者可獨立於其他事件源714而操作。在一些情況下,事件源714中之兩者或大於兩者可與其他事件源714中之一或多者協作操作。協作事件源714可同時地、時間上彼此鄰近地或按藉由應用程式或操作環境判定之序列產生相關事件。受控器裝置706可包括監測事件源714以便對事件作出回應的控制器720。舉例而言,控制器720可起始IBI (IBI 806)以通知在事件已發生的在SoC 702中操作的匯流排主控器介面712。
SoC 702可提供多個執行環境(EE 722、724、726、728)。可使用專用資源與共用資源之某一組合提供EE 722、724、726、728。在一個實例中,第一記憶體區塊可專用於一個EE 722、724、726、728之使用,而第二記憶體區塊可在兩個或大於兩個EE 722、724、726、728之間共用。在另一實例中,一或多個EE 722、724、726、728可具有專用處理器或控制器。在另一實例中,兩個或大於兩個EE 722、724、726、728可使用實時作業系統或其他資源控制機構共用處理器或控制器。在許多實例中,匯流排主控器介面712係由多個EE 722、724、726及/或728共用或使用。
匯流排主控器介面712可包括一控制器710或耦接至該控制器,該控制器經調適或經組態以管理及/或回應於經由根據一或協定之串列匯流排704的傳輸。匯流排主控器介面712可藉由起始頻帶內中斷處置器(IBI處置器802)對IBI 806作出回應。IBI處置器802可駐存於EE 722、724、726、728中之一者中,且可經由傳信716及資訊自匯流排主控器介面712之傳送而起始。傳信可包括藉由匯流排主控器介面712傳輸至主控IBI處置器802之EE 722、724、726、728的喚醒信號、訊息及/或中斷812。匯流排主控器介面712可轉送包括於IBI 806中之資訊及/或回應於在IBI處理期間發出的讀取IBI命令808而提供的裝置位址810。IBI處置器802可判定觸發IBI 806之底層事件源714,且IBI處置器802可識別與底層事件源714相關聯的應用程式。IBI處置器802可致使所識別應用程式經分派、起始或通知IBI之發生。所識別應用程式接著可處理事件相關資訊。在分派所識別應用程式中,IBI處置器802可喚醒或中斷主控所識別應用程式之EE 722、724、726、728。IBI處置器802及所識別應用程式可藉由相同EE 722、724、726或728或藉由不同EE 722、724、726及/或728主控。
訊息流程圖800說明回應於受控器裝置706中事件之發生而產生的頻帶內中斷(IBI 806)的處理。當匯流排主控器介面712偵測到藉由受控器裝置706起始之IBI 806時,匯流排主控器介面712可在串列匯流排704上執行一或多個異動以便判定IBI 806之源。匯流排主控器介面712通常並不預期直接地知曉哪一受控器裝置706、708確證IBI 806,且讀取IBI命令808可經執行以致使確證IBI 806之受控器裝置706藉由傳輸其裝置位址810而作出回應。偵測到IBI 806及判定IBI 806之起始器(此處,受控器裝置706)的裝置位址810後,匯流排主控器介面712可確證中斷主控用以處置在串列匯流排704上確證之IBI 806的IBI處置器802之EE 722、724、726、728的中斷812。IBI處置器802可執行讀取IBI資料異動814以獲得藉由匯流排主控器介面712組裝的與IBI 806有關之資訊,包括識別IBI 806之源(例如事件源714)的資訊。
IBI處置器802可處理包括在讀取IBI資料異動814期間獲得之資料的資料816。IBI處置器802接著可判定執行處置由事件源714及/或IBI 806之其他起始器產生的事件的環境(EE-x 804)。IBI處置器802接著可按需要喚醒818一或多個EE 722、724、726、728,包括所識別之EE-x 804。若EE-x 804先前在空閒或睡眠模式中,則其可執行喚醒過程820。當對中斷812 (及IBI 806)作出回應時,EE-x 804可發出一或多個命令822以致使匯流排主控器介面712讀取與IBI 806相關之資料。匯流排主控器介面712可起始涉及受控器裝置706之一或多個異動824,藉以自受控器裝置中之所識別暫存器讀取的資料經轉遞至EE-x 804。
在圖7及圖8中所說明之實例中,主控IBI處置器802之EE 722、724、726、728被啟動或保持在作用中以便准許IBI處置器802待被執行。在許多情況下,IBI處置器802及藉由IBI處置器802識別以接收並處理對應於IBI 806之事件的應用程式可駐存於不同EE 722、724、726、728上。IBI 806可致使多個EE 722、724、726、728待被喚醒,且可中斷主控IBI處置器802的EE 722、724、726、728上之處理,此可造成增加之中斷潛時及功率消耗。
指派動態位址至 I3C 受控器裝置中之事件源
根據本文所揭示之某些態樣,經組態以根據I3C協定及規範通信之受控器裝置可經調適以維持一或多個動態位址以供用於頻帶內中斷程序。一或多個動態位址可為不同於用以在經由串列匯流排進行之異動中定址受控器裝置之主動態位址的位址。某些動態位址可僅用於識別起始或觸發頻帶內中斷程序的事件源。一些動態位址可用於識別起始或觸發頻帶內中斷程序之事件源,及/或用於定址與事件源相關聯之暫存器。
動態位址可藉由指派位址至事件之源的匯流排主控器而組態。匯流排主控器可最初動態指派獨特位址用於包括一或多個事件源之受控器裝置。在一些情況下,受控器裝置可已經具有在初始化期間指派或在製造或裝配期間組態的獨特位址。在一個實例中,匯流排主控器可寫入與事件之源相關聯及/或可存取事件之源的動態位址至暫存器,其中暫存器出於維持動態位址資訊之目的而被保留。在另一實例中,匯流排主控器可在位址分配程序期間指派動態位址給受控器裝置,其中受控器請求用於受控器內之一或多個事件源的位址。
經指派給事件之源的動態位址可由受控器裝置使用以在頻帶內中斷程序期間識別事件之源。處置頻帶內中斷之主控器裝置可使用在頻帶內中斷程序期間提供的動態位址以中斷經指派以處置與在頻帶內中斷處理期間提供的動態位址相關聯的事件之源的執行環境。匯流排主控器介面可經調適以自動地導引中斷至適當執行環境而不涉及或通知其他不相關執行環境、中斷處置器及/或控制器。當在控制器及/或執行環境在睡眠模式中情況下SoC例如在功率節省模式中操作時,具有識別事件之源的動態位址的頻帶內中斷之到達可以對功率節省模式之最小干擾被處置,此係由於僅僅經指示以處置底層事件的執行環境需要係蘇醒的或被喚醒。經指派給事件之源的動態位址可用於定址主控器裝置中之執行環境而非定址受控器裝置中之事件之源。
經指派給事件之源的動態位址亦可用以在正常匯流排操作期間直接存取與事件之源相關聯的暫存器。在某些實施中,經指派給事件之源的動態位址並不用以在正常匯流排操作期間直接存取與事件之源相關聯的暫存器。
圖9說明其中根據本文所揭示之某些態樣調適SoC 902及受控器裝置906的系統900之實例。圖10為說明系統900中之頻帶內中斷的處理之訊息流程圖1000。SoC 902可提供事件處置應用程式可駐存於其中之多個執行環境(EE 922、924、926、928)。可使用專用資源與共用資源之某一組合提供EE 922、924、926、928。在一個實例中,第一記憶體區塊可專用於一個EE 922、924、926、928之使用,而第二記憶體區塊可在兩個或大於兩個EE 922、924、926、928之間共用。在另一實例中,一或多個EE 922、924、926、928可具有專用處理器或控制器。在另一實例中,兩個或大於兩個EE 922、924、926、928可使用實時作業系統或其他資源控制機構共用處理器或控制器。在許多實例中,匯流排主控器介面912藉由多個EE 922、924、926及/或928共用。
SoC 902包括經組態以經由串列匯流排904將SoC 902耦接至複數個受控器裝置906、908的匯流排主控器介面912。可根據I3C協定來操作串列匯流排904。受控器裝置906、908中之一或多者可管理產生多個事件之一感測器或各自產生一或多個事件之多個感測器或另外與該感測器或該多個感測器相關聯。在一個實例中,圖6中所說明的影像感測器及/或感測器控制器604、624及/或控制邏輯612、632可產生與光條件、所捕獲影像之變化、可用資料、緩衝器條件、時序事件等相關之事件。在另一實例中,受控器裝置906、908中之一或多者可包括、監測或支援例如提供關於影響所監測設備之環境及/或操作條件之資訊的多個感測器。
在圖9中所說明之實例中,一個受控器裝置906包括四個事件源914。在一些情況下,事件源914中之一或多者可獨立於其他事件源914而操作。在一些情況下,事件源914中之兩者或大於兩者可與其他事件源914中之一或多者協作操作。某些協作事件源914可同時地、時間上彼此鄰近地或按藉由應用程式或操作環境判定之序列產生相關事件。受控器裝置906可包括監測事件源914以便對事件作出回應的控制器920。控制器920可起始頻帶內中斷以將事件已發生通知匯流排主控器介面912。
受控器裝置906包括可用於維持用於事件源914中之每一者的動態位址916及相關組態資訊918的儲存器。在一個實例中,受控器裝置可指派可定址暫存器以儲存動態位址916及相關組態資訊918。暫存器可經由串列匯流排904而直接可存取,從而允許匯流排主控器介面912預組態動態位址916及相關組態資訊918。在一些實施中,保存動態位址916及相關組態資訊918的受控器裝置906中之一或多個表可並不經由串列匯流排904而直接可存取,且動態位址916及相關組態資訊918可經由動態位址分配過程而組態。在一些情況下,可定義一協定,該協定使匯流排主控器介面912能夠提供由受控器裝置906使用以填充動態位址916及相關組態資訊918之資訊。組態資訊918可判定例如與對應動態位址916相關聯之中斷是否啟用。
匯流排主控器介面912可包括定義分配至事件源914之動態位址與經指示以處置來自事件源914之事件的對應執行環境922、924、926、928之間的關係的一或多個表930。表930可包括用於多個受控器裝置906、908及用於一或多個受控器裝置906、908內之多個事件源914的項目。匯流排主控器介面912可參與動態位址至事件源914的分配。位址分配可作為協定決定位址分配程序之部分來執行。在一些情況下,應用程式可指派位址給事件源914。在一些情況下,位址可在製造及/或系統組態及/或初始化期間被指派。
匯流排主控器介面912可經組態以藉由傳信主控對應事件處置應用程式之執行環境922、924、926、928而自動地對IBI 1004作出回應。在一些情況下,管理匯流排主控器介面912之操作的控制器910可用以提供對於IBI 1004之增強型或自動化回應。在一些情況下,匯流排主控器介面912可經組態以識別IBI 1004之源並確證複數個內部中斷932中之一者以便直接中斷主控與底層事件源914相關聯之事件處置應用程式的EE 922、924、926、928。事件處置應用程式接著可處理事件相關資訊。
經指派給對應事件源914之動態位址916有效地用以定址對應EE 922、924、926、928。在一個實例中,匯流排主控器介面912中之控制器910詢問受控器裝置906,該受控器裝置藉由致使匯流排主控器介面912發出讀取IBI命令1006或其他異動而確證IBI 1004。控制器910使用藉由受控器裝置906作為至表930之索引返回的裝置位址1008,且藉此識別EE 922、924、926、928以處置藉由IBI 1004發信之事件。控制器910接著可根據需要確證一或多個內部中斷932以將事件已發信通知與底層事件源914相關聯之事件處置應用程式及/或另一應用程式。
訊息流程圖1000說明回應於受控器裝置906中事件之發生而產生的IBI 1004之處理。當匯流排主控器介面912偵測到藉由受控器裝置906起始之IBI 1004時,匯流排主控器介面912可在串列匯流排904上執行一或多個異動以便判定IBI 1004之源。舉例而言,匯流排主控器介面912可傳輸讀取IBI命令1006 (其包括傳輸程式碼(例如「7E」)至受控器裝置906),使得受控器裝置906以與具有未決事件之事件源914相關聯的最高優先權位址作為回應。較高優先權位址通常具有較低值。根據一個態樣,受控器裝置906中之控制器920可選擇可用於識別經指示以處置由IBI 1004之源產生之事件的SoC 902 (亦即EE-x 1002)中之執行環境922、924、926、928的動態位址916。回應於讀取IBI命令1006而將所選擇動態位址916作為裝置位址1008傳輸。
匯流排主控器介面912可使用所接收動態位址916來查詢一或多個表930以識別經指示以處置來自觸發IBI 1004的事件源914之事件的SoC 902中之執行環境922、924、926、928。藉由主處理器或其他EE 922、924、926、928執行的IBI處置器802並不需要識別EE 922、924、926、928。偵測到IBI 1004及識別經指示以處置來自觸發IBI 1004的事件源914之事件的SoC 902中之EE 922、924、926、928後,匯流排主控器介面912可確證中斷所識別EE 922、924、926或928之目標式中斷1010(例如內部中斷932中之一者)。在一些情況下,目標式中斷1010可致使所識別EE 922、924、926、928執行喚醒過程1012。當處理目標式中斷1010時,EE-x 1002中之事件處置應用程式可發出致使匯流排主控器介面912讀取與IBI 1004相關之資料的一或多個命令1014。匯流排主控器介面912可起始涉及受控器裝置906之一或多個異動1016,藉以自受控器裝置中之所識別暫存器讀取的資料經轉遞至EE-x 1002。
處理電路及方法之實例
圖11為說明用於採用可經組態以執行本文中所揭示之一或多個功能的處理電路1102之設備1100的硬體實施之實例的圖式。根據本發明之各種態樣,元件,或元件之任何部分,或如本文所揭示之元件的任何組合可使用處理電路1102來實施。處理電路1102可包括藉由硬體與軟體模組之某一組合控制的一或多個處理器1104。處理器1104之實例包括微處理器、微控制器、數位信號處理器(DSP)、SoC、ASIC、場可程式化閘陣列(FPGA)、可程式化邏輯裝置(PLD)、狀態機、定序器、閘控邏輯、離散硬體電路及經組態以執行貫穿本發明所描述之各種功能性的其他合適之硬體。一或多個處理器1104可包括執行特定功能並可藉由軟體模組1116中之一者而組態、擴充或控制之特殊化處理器。一或多個處理器1104可經由在初始化期間載入的軟體模組1116之組合而組態,並另外藉由在操作期間載入或卸載一或多個軟體模組1116而組態。
在說明之實例中,處理電路1102可實施有匯流排架構(總體上由匯流排1110表示)。匯流排1110可取決於處理電路1102之特定應用及整體設計約束而包括任何數目之互連匯流排及橋接器。匯流排1110將包括一或多個處理器1104及儲存器1106之各種電路鏈結在一起。儲存器1106可包括記憶體裝置及大容量儲存裝置,且可在本文中稱為電腦可讀媒體及/或處理器可讀媒體。匯流排1110亦可鏈結各種其他電路,諸如時序源、定時器、周邊裝置、電壓調節器及功率管理電路。匯流排介面1108可提供一在匯流排1110與一或多個收發器1112之間的介面。收發器1112可經提供用於藉由處理電路支援之每一網路連接技術。在一些情況下,多個網路連接技術可共用在收發器1112中發現的電路或處理模組之一些或全部。每一收發器1112提供一用於經由傳輸媒體與各種其他設備通信的構件。取決於設備1100之性質,亦可提供使用者介面1118 (例如小鍵盤、顯示器、揚聲器、麥克風、操縱桿),且使用者介面可以通信方式直接或經由匯流排介面1108耦接至匯流排1110。
處理器1104可負責管理匯流排1110並負責可包括儲存在可包括儲存器1106之電腦可讀媒體中的軟體之執行的一般處理。就此而言,包括處理器1104之處理電路1102可用於實施本文所揭示之方法、功能及技術中的任一者。儲存器1106可用於儲存在執行軟體時藉由處理器1104操控的資料,且軟體可經組態以實施本文所揭示之方法中的任一者。
處理電路1102中之一或多個處理器1104可執行軟體。軟件應廣泛地解釋為意謂指令、指令集、代碼、代碼段、程式代碼、程式、子程式、軟體模組、應用程式、套裝軟體、常式、次常式、目標、可執行代碼、執行線緒、程序、功能、演算法等,無論是被稱作軟體、韌體、中間軟體、微碼、硬體描述語言還是其他者。軟體可以電腦可讀形式駐存在儲存器1106或外部電腦可讀媒體中。外部電腦可讀媒體及/或儲存器1106可包括非暫時性電腦可讀媒體。藉助於實例,非暫時性電腦可讀媒體包括磁性儲存裝置(例如硬碟、軟碟、磁條)、光碟(例如緊密光碟(CD)或數位多功能光碟(DVD))、智慧型卡、快閃記憶體裝置(例如「隨身碟」、卡、棒或保密磁碟)、RAM、ROM、可程式化唯讀記憶體(PROM)、包括EEPROM之可抹除PROM(EPROM)、暫存器、可卸除式磁碟,及用於儲存可藉由電腦存取及讀取之軟體及/或指令的任何其他合適之媒體。藉助於實例,電腦可讀媒體及/或儲存器1106亦可包括載波、傳輸線,及用於傳輸可由電腦存取及讀取的軟體及/或指令的任何其他合適之媒體。電腦可讀媒體及/或儲存器1106可駐存在處理電路1102中,處理器1104中,處理電路1102外部,或在包括處理電路1102之多個實體上分佈。電腦可讀媒體及/或儲存器1106可體現在電腦程式產品中。藉助於實例,電腦程式產品可將電腦可讀媒體包括於封裝材料中。熟習此項技術者將認識到取決於特定應用及強加於整個系統上的總設計約束而最佳地實施呈現在整個本發明中之所描述功能性的方式。
儲存器1106可維持在可載入碼段、模組、應用程式、程式等(其可在本文中稱為軟體模組1116)中維持及/或組織的軟體。軟體模組1116中之每一者可包括指令及資料,其當安裝或載入於處理電路1102上並藉由一或多個處理器1104執行時促成一控制一或多個處理器1104之操作的執行時影像1114。當經執行時,某些指令可致使處理電路1102根據本文中所描述的某些方法、演算法及程序執行功能。
一些軟體模組1116可在處理電路1102之初始化期間載入,且此等軟體模組1116可組態處理電路1102以啟用本文所揭示之各種功能的執行。舉例而言,一些軟體模組1116可組態內部裝置及/或處理器1104之邏輯電路1122,並可管理對諸如收發器1112、匯流排介面1108、使用者介面1118、定時器、數學共處理器等之外部裝置的存取。軟體模組1116可包括一控制程式及/或一作業系統,其與中斷處置器及裝置驅動器相互作用,並控制對由處理電路1102提供之各種資源的存取。資源可包括記憶體、處理時間、對收發器1112之存取、使用者介面1118等。
處理電路1102之一或多個處理器1104可為多功能性,藉以一些軟體模組1116經載入及組態以執行不同功能或相同功能之不同執行個體。一或多個處理器1104可另外經調適以管理回應於來自例如使用者介面1118、收發器1112及裝置驅動器之輸入而起始的背景任務。為支援多個功能之執行,一或多個處理器1104可經組態以提供多任務環境及/或複數個執行環境。複數個功能中之每一者經實施為根據需要或期望藉由一或多個處理器1104服務的任務之集合。在一個實例中,可使用在不同任務之間傳遞處理器1104之控制的分時程式1120實施多任務環境,藉以每一任務在完成任何未完成的操作後及/或回應於諸如中斷之輸入而將一或多個處理器1104之控制返回至分時程式1120。當任務具有一或多個處理器1104之控制時,處理電路被有效地特殊化以用於藉由與控制任務相關聯之功能解決的目的。分時程式1120可包括作業系統、在循環基礎上轉移控制之主迴路、根據功能之優先排序分配一或多個處理器1104之控制的功能,及/或藉由提供一或多個處理器1104之控制至處置功能而對外部事件作出回應的中斷驅動主迴路。
圖12為可在經由匯流排介面耦接至串列匯流排之SoC處執行的方法之流程圖1200。匯流排介面可經組態以作為主控器裝置而操作。在一個實例中,匯流排介面可經組態以根據I3C協定而操作。
在區塊1202處,匯流排介面可偵測對應於藉由受控器裝置確證之頻帶內中斷的在串列匯流排上之傳信。受控器裝置可與第一裝置識別符相關聯。第一識別符可在使用串列匯流排及涉及受控器裝置之通信中使用。
在區塊1204處,匯流排介面可接收藉由與頻帶內中斷有關之受控器裝置傳輸之第二裝置識別符。
在區塊1206處,匯流排介面可使用第二裝置識別符以選擇第一執行環境。
在區塊1208處,匯流排介面可回應於頻帶內中斷而中斷第一執行環境。
在某些實例中,受控器裝置包括複數個事件源。匯流排介面可指派裝置識別符給複數個事件源以用於識別由複數個事件源產生之事件之源。匯流排介面可維持將執行環境與經指派給事件源之每一裝置識別符相關聯的清單。可使用該清單選擇第一執行環境。匯流排介面可將裝置識別符寫入至與複數個事件源相關聯的受控器裝置中之暫存器。匯流排介面可在寫入裝置識別符時使用第一裝置識別符。第一裝置識別符可在第一動態位址分配過程期間分配至受控器裝置。在一些實例中,第二裝置識別符可在第二動態位址分配過程期間被指派或分配至受控器裝置。在其他實例中,匯流排介面可將第二裝置識別符寫入至與受控器裝置中之第一事件源相關聯的暫存器。
在一個實例中,主控器裝置可在偵測到對應於頻帶內中斷之傳信時操作在睡眠模式中。第一執行環境可在回應於頻帶內中斷之中斷之前或在該中斷期間被喚醒。主控器裝置及/或複數個執行環境可在偵測到對應於頻帶內中斷之傳信時操作於睡眠模式中。在一些情況下,當中斷第一執行環境時,第二執行環境可不受影響。
圖13為說明採用處理電路1302之設備1300的硬件實施之簡化實例的圖解。在一個實例中,設備可實施於SoC中。處理電路1302通常具有可使用一或多個微處理器、微控制器、數位信號處理器、定序器及/或狀態機實施的控制器或處理器1316。處理電路1302可包括匯流排架構(總體上由匯流排1320表示)。匯流排1320可取決於處理電路1302之特定應用及整體設計約束而包括任何數目個互連匯流排及橋接器。匯流排1320將包括一或多個處理器及/或硬體模組之各種電路鏈結在一起,各種電路由控制器或處理器1316、模組或電路1304、1306及1308及電腦可讀儲存媒體1318表示。設備可具有經調適用於經由兩個或大於兩個導線1314串列通信之匯流排介面1312。匯流排1320亦可鏈結此項技術中已熟知且因此將並不更進一步描述之各種其他電路,諸如時序源、周邊裝置、電壓調節器及功率管理電路。
處理器1316負責一般處理,包括儲存於電腦可讀儲存媒體1318上的軟體、程式碼及/或指令之執行。電腦可讀儲存媒體1318可包括非暫時性儲存媒體。軟體在由處理器1316執行時使處理電路1302執行上文針對任何特定設備描述的各種功能。電腦可讀儲存媒體1318可用於儲存當執行軟件時藉由處理器1316操控的資料。處理電路1302進一步包括模組1304、1306及1308中之至少一者。模組1304、1306及1308可為在處理器1316中執行的駐存/儲存在電腦可讀儲存媒體1318中的軟體模組,耦接至處理器1316之一或多個硬體模組,或其某一組合。模組1304、1306及1308可包括微控制器指令、狀態機組態參數或其某一組合。
在一個組態中,設備1300包括經組態以管理裝置識別符且可將與事件源相關聯之裝置識別符映射至執行環境的模組及/或電路1308。設備1300可包括經組態以管理及組態維持於設備1300內之執行環境的模組及/或電路1306。設備1300可包括經組態以對頻帶內中斷作出回應之模組及/或電路1304。設備1300可包括經組態以自一或多個動態位址分配程序(在一些實施中,包括在重設或裝置通電之後執行的動態位址分配程序)獲得動態位址的模組及/或電路1308。設備可使用根據I3C協定而操作的介面模組及電路經由匯流排1320而通信。
在一個實例中,設備1300包括:匯流排介面1312,其可操作為匯流排主控器介面並經調適以將該設備耦接至串列匯流排;複數個執行環境,其各自經組態以獨立於另一執行環境執行一或多個功能;及裝置識別符之清單,其經分配至受控器裝置。該清單可識別裝置識別符與執行環境之間的關聯。匯流排介面1312可經組態以偵測對應於藉由受控器裝置確證之頻帶內中斷的在串列匯流排上之傳信,接收藉由與頻帶內中斷有關之受控器裝置傳輸之第二裝置識別符,使用第二裝置識別符以自清單中選擇執行環境,並回應於頻帶內中斷而中斷第一執行環境。
在某些實例中,第二裝置識別符經分配至受控器裝置中之複數個事件源中之一者。處理器1312可經組態以使用匯流排介面1312以將第二裝置識別符寫入至與觸發頻帶內中斷之事件之源相關聯的受控器裝置中之暫存器。處理器1312可經組態以在第一動態位址分配過程期間分配第一裝置識別符至受控器裝置。處理器1312可經組態以在第二動態位址分配過程期間分配第二裝置識別符至受控器裝置。處理器1312可經組態以使用串列匯流排以將第二裝置識別符寫入至與第一事件源相關聯的受控器裝置中之暫存器。處理器1312可經組態以當偵測到對應於頻帶內中斷之傳信時第一執行環境在休眠狀態中時喚醒第一執行環境。設備1300可在偵測到對應於頻帶內中斷之傳信時在睡眠模式中操作。當中斷第一執行環境時,第二執行環境可不受影響。當中斷第一執行環境時,第二執行環境可保持在睡眠模式中。
圖14為說明根據本文所揭示之某些態樣的受控器裝置之某些操作的流程圖1400。
在區塊1402處,應用處理器可維持用以在經由串列匯流排進行之異動中識別受控器裝置之第一裝置識別符。
在區塊1404處,應用處理器可偵測由第一事件源產生之第一事件。
在區塊1406處,應用處理器可在偵測到第一事件之後在串列匯流排上起始頻帶內中斷。
在區塊1408處,應用處理器可傳輸經指派給第一事件之源之第二裝置識別符。第二裝置識別符可經提供以使主控器裝置能夠選擇經組態以對第一事件作出回應之執行環境。
在某些實例中,可在第一動態位址分配程序期間接收第一裝置識別符。第一動態位址分配程序可根據I3C協定來執行。可藉由主控器裝置將第二裝置識別符寫入至受控器裝置之暫存器。第二裝置識別符可在受控器裝置之製造或起始期間被預組態。可在第二動態位址分配程序期間接收第二裝置識別符。
在一個實例中,第一事件之源為複數個事件源中之一者。每一事件源可具有待在頻帶內中斷程序中傳輸之相關聯裝置識別符。
圖15為說明採用處理電路1502之設備1500的硬件實施之簡化實例的圖。處理電路1502通常具有可使用一或多個微處理器、微控制器、數位信號處理器、定序器及/或狀態機實施的控制器或處理器1516。處理電路1502可具有匯流排架構(總體上由匯流排1520表示)。匯流排1520可取決於處理電路1502之特定應用及整體設計約束而包括任何數目個互連匯流排及橋接器。匯流排1520將包括一或多個處理器及/或硬體模組之各種電路鏈結在一起,各種電路由控制器或處理器1516、模組或電路1504、1506及1508及電腦可讀儲存媒體1518表示。設備可具有匯流排介面1512。匯流排1520亦可鏈結此項技術中已熟知且因此將並不更進一步描述之各種其他電路,諸如時序源、周邊裝置、電壓調節器及功率管理電路。
處理器1516負責一般處理,包括儲存於電腦可讀儲存媒體1518上的軟體、程式碼及/或指令之執行。電腦可讀儲存媒體1518可包括非暫時性儲存媒體。軟體在由處理器1516執行時致使處理電路1502執行上文針對任何特定設備描述的各種功能。電腦可讀儲存媒體1518可用於儲存當執行軟件時藉由處理器1516操控的資料。處理電路1502進一步包括模組1504、1506及1508中之至少一者。模組1504、1506及1508可為在處理器1516中執行的駐存/儲存在電腦可讀儲存媒體1518中的軟體模組,耦接至處理器1516之一或多個硬體模組,或其某一組合。模組1504、1506及1508可包括微控制器指令、狀態機組態參數或其某一組合。
在一個組態中,設備1500包括經組態以管理裝置識別符(包括將裝置識別符與事件源映射或相關聯)的模組及/或電路1508。設備1500可包括經組態以監測事件源以判定待使用頻帶內中斷傳達之事件何時發生的模組及/或電路1506。設備1500可包括經組態以產生頻帶內中斷並回應於及/或管理頻帶內中斷程序的模組及/或電路1504。頻帶內中斷可用於傳達事件資訊至主控器裝置。頻帶內中斷可用於動態位址分配程序。設備可使用根據I3C協定而操作的介面模組及電路經由一匯流排而通信。
在某些實例中,設備1500包括可組態以作為匯流排主控器操作並經調適以將該設備耦接至串列匯流排1514的匯流排介面1512。處理器1516可經組態以偵測由受控器裝置處之第一事件源產生之第一事件,在偵測到該第一事件之後在串列匯流排1514上起始頻帶內中斷,及傳輸經指派給第一事件之源之第一裝置識別符,該第一裝置識別符經提供以使主控器裝置能夠選擇經組態以對第一事件作出回應之執行環境。第二裝置識別符可用以在經由串列匯流排1514進行之異動中識別受控器裝置。可在第一動態位址分配程序期間接收第二裝置識別符。第一動態位址分配程序可根據I3C協定來執行。第一裝置識別符可藉由主控器裝置寫入至受控器裝置之暫存器。第一裝置識別符可在受控器裝置之製造或起始期間被預組態。在第二動態位址分配程序期間接收第一裝置識別符。
在一些實例中,第一事件之源為複數個事件源中之一者,且每一事件源可與在頻帶內中斷程序期間傳輸之裝置識別符相關聯。
應理解,所揭示過程中之步驟的特定次序或層次為例示性方法之說明。基於設計偏好,應理解,可重新配置過程中之步驟的特定次序或層次。另外,可組合或省略一些步驟。隨附方法請求項以樣本次序呈現各種步驟之元件,且並不意謂受限於所呈現之特定次序或層次。
提供先前描述以使任何熟習此項技術者能夠實踐本文中所描述之各種態樣。對此等態樣之各種修改對於熟習此項技術者而言將為顯而易見的,且本文中定義之一般原理可應用於其他態樣。因此,申請專利範圍不意欲限於本文中所展示的態樣,而是將被賦予與語言申請專利範圍一致的完整範圍,其中以單數形式參考一元件不意欲意謂「一個且僅有一個」,除非明確地如此陳述,而是表示「一或多個」。除非另外特定地陳述,否則術語「一些」指代一或多個。一般熟習此項技術者已知或稍後將知曉的貫穿本發明所描述之各種態樣的元件之所有結構及功能等效物以引用的方式明確地併入本文中,且意欲由申請專利範圍涵蓋。此外,本文中所揭示之任何內容均不意欲專用於公眾,無論申請專利範圍中是否明確敍述此揭示內容。沒有申請專利範圍元件將被解釋為手段加功能,除非元件係使用片語「用於……之構件」來明確地敍述。
100‧‧‧設備
102‧‧‧處理電路
104‧‧‧電路/裝置/ASIC
106‧‧‧周邊裝置
108‧‧‧裝置/收發器
110‧‧‧數據機
112‧‧‧處理器
114‧‧‧機載記憶體
116‧‧‧匯流排介面電路
118a‧‧‧匯流排
118b‧‧‧匯流排
120‧‧‧匯流排
122‧‧‧處理器可讀儲存器
124‧‧‧天線
126‧‧‧顯示器
128‧‧‧開關或按鈕
130‧‧‧開關或按鈕
132‧‧‧小鍵盤
200‧‧‧設備
202‧‧‧裝置/受控器裝置
204‧‧‧感測器控制功能
206‧‧‧儲存器
208‧‧‧時脈產生電路
210‧‧‧收發器
210a‧‧‧接收器
210b‧‧‧共同電路
210c‧‧‧傳輸器
212‧‧‧控制邏輯
214a‧‧‧線驅動器/接收器
214b‧‧‧線驅動器/接收器
220‧‧‧裝置
222a‧‧‧裝置
222n‧‧‧裝置
230‧‧‧串列匯流排
300‧‧‧時序圖
302‧‧‧串列資料線(SDATA)
304‧‧‧串列時脈線(SCLOCK)
306‧‧‧設置時間(tSU)
308‧‧‧保持時間(tHold)
310‧‧‧高時段之最小持續時間(tHIGH)
312‧‧‧脈衝
314‧‧‧低時段(tLOW)之最小持續時間
316‧‧‧轉變
318‧‧‧轉變
320‧‧‧時序圖
322‧‧‧開始情況
324‧‧‧停止情況
402‧‧‧匯流排主控器
404‧‧‧I3C受控器裝置
406‧‧‧I3C受控器裝置
408‧‧‧I3C受控器裝置
410‧‧‧I3C受控器裝置
412‧‧‧位址表
414‧‧‧項目
416‧‧‧命令序列
418‧‧‧命令碼
502‧‧‧串列匯流排之資料線
506‧‧‧動態位址
508‧‧‧靜態位址
510‧‧‧命令
512‧‧‧臨時ID
514‧‧‧臨時ID
516‧‧‧臨時ID
518‧‧‧位址表
600‧‧‧設備
602‧‧‧成像裝置
604‧‧‧感測器控制器
606‧‧‧組態暫存器
608‧‧‧儲存裝置
610‧‧‧收發器
612‧‧‧處理電路/控制邏輯
614‧‧‧串列匯流排
620‧‧‧基頻處理器
624‧‧‧影像感測器/感測器控制器
700‧‧‧系統
702‧‧‧系統單晶片(SoC)
704‧‧‧串列匯流排
706‧‧‧受控器裝置
708‧‧‧受控器裝置
710‧‧‧控制器
712‧‧‧匯流排主控器介面
714‧‧‧事件源
716‧‧‧傳信
720‧‧‧控制器
722‧‧‧執行環境(EE)
724‧‧‧執行環境(EE)
726‧‧‧執行環境(EE)
728‧‧‧執行環境(EE)
800‧‧‧訊息流程圖
802‧‧‧頻帶內中斷(IBI)處置器
804‧‧‧執行環境x (EE-x)
806‧‧‧頻帶內中斷(IBI)
808‧‧‧讀取頻帶內中斷(IBI)命令
810‧‧‧裝置位址
812‧‧‧中斷
814‧‧‧讀取頻帶內中斷(IBI)資料異動
816‧‧‧處理資料
818‧‧‧喚醒
820‧‧‧喚醒過程
822‧‧‧命令
824‧‧‧異動
900‧‧‧系統
902‧‧‧系統單晶片(SoC)
904‧‧‧串列匯流排
906‧‧‧受控器裝置
908‧‧‧受控器裝置
910‧‧‧控制器
912‧‧‧匯流排主控器介面
914‧‧‧事件源
916‧‧‧動態位址
918‧‧‧相關組態資訊
920‧‧‧控制器
922‧‧‧執行環境(EE)
924‧‧‧執行環境(EE)
926‧‧‧執行環境(EE)
928‧‧‧執行環境(EE)
930‧‧‧表
932‧‧‧內部中斷
1000‧‧‧訊息流程圖
1002‧‧‧執行環境x (EE-x)
1004‧‧‧頻帶內中斷(IBI)
1006‧‧‧讀取頻帶內中斷(IBI)命令
1008‧‧‧裝置位址
1010‧‧‧目標式中斷
1012‧‧‧喚醒過程
1014‧‧‧命令
1016‧‧‧異動
1100‧‧‧設備
1102‧‧‧處理電路
1104‧‧‧處理器
1106‧‧‧儲存器
1108‧‧‧匯流排介面
1110‧‧‧匯流排
1112‧‧‧收發器
1114‧‧‧執行時影像
1116‧‧‧軟體模組
1118‧‧‧使用者介面
1120‧‧‧分時程式
1122‧‧‧邏輯電路
1200‧‧‧流程圖
1202‧‧‧區塊
1204‧‧‧區塊
1206‧‧‧區塊
1208‧‧‧區塊
1300‧‧‧設備
1302‧‧‧處理電路
1304‧‧‧模組/電路
1306‧‧‧模組/電路
1308‧‧‧模組/電路
1312‧‧‧匯流排介面
1314‧‧‧導線
1316‧‧‧控制器/處理器
1318‧‧‧電腦可讀儲存媒體
1320‧‧‧匯流排
1400‧‧‧流程圖
1402‧‧‧區塊
1404‧‧‧區塊
1406‧‧‧區塊
1408‧‧‧區塊
1500‧‧‧設備
1502‧‧‧處理電路
1504‧‧‧模組/電路
1506‧‧‧模組/電路
1508‧‧‧模組/電路
1512‧‧‧匯流排介面
1514‧‧‧串列匯流排
1516‧‧‧控制器/處理器
1518‧‧‧電腦可讀儲存媒體
1520‧‧‧匯流排
圖1說明採用在IC裝置之間的根據複數個可用標準中之一者選擇性操作的一資料鏈路之設備。
圖2說明用於採用一在IC裝置之間的資料鏈路之設備的系統架構。
圖3說明串列匯流排之資料線及時脈線上傳輸的開始及停止傳信之時序關係之某些態樣。
圖4說明與可根據本文所揭示之某些態樣調適之受控器裝置中之動態位址之指派相關的某些態樣。
圖5說明藉由可根據本文所揭示之某些態樣調適的匯流排主控器執行的動態位址分配過程之某些態樣。
圖6說明包括可產生可根據本文所揭示之某些態樣通信的事件之受控器裝置之系統。
圖7說明支援可根據本文所揭示之某些態樣調適的頻帶內中斷的系統之實例。
圖8說明說明頻帶內中斷之處理的第一訊息流。
圖9說明根據本文所揭示之某些態樣的支援使能夠基於動態位址之使用自動投送中斷的頻帶內中斷的系統之實例。
圖10說明根據本文所揭示之某些態樣的說明頻帶內中斷之自動化處理的第二訊息流。
圖11為說明採用可根據本文所揭示之某些態樣調適的處理電路之裝置之實例的方塊圖。
圖12為說明根據本文所揭示之某些態樣作為匯流排主控器而操作的裝置之流程圖。
圖13說明根據本文所揭示之某些態樣的用於經調適以對多個動態位址作出回應之設備的硬體實施之第一實例。
圖14為說明根據本文所揭示之某些態樣操作之受控器裝置的流程圖。
圖15說明根據本文所揭示之某些態樣的用於經調適以對多個動態位址作出回應之設備的硬體實施之第二實例。

Claims (29)

  1. 一種在耦接至一串列匯流排之一主控器裝置處執行之方法,其包含: 偵測對應於藉由一受控器裝置確證之一頻帶內中斷的在該串列匯流排上之傳信,其中該受控器裝置與一第一裝置識別符相關聯; 接收藉由與該頻帶內中斷有關之該受控器裝置傳輸之一第二裝置識別符; 使用該第二裝置識別符以選擇一第一執行環境;及 回應於該頻帶內中斷而中斷該第一執行環境。
  2. 如請求項1之方法,其中該受控器裝置包括複數個事件源,且該方法進一步包含: 指派裝置識別符給該複數個事件源以用於識別由該複數個事件源產生之事件之源;及 維持將一執行環境與經指派給一事件源之每一裝置識別符相關聯的一清單, 其中該第一執行環境係使用該清單來選擇。
  3. 如請求項2之方法,其中指派該等裝置識別符給該複數個事件源包含: 將該等裝置識別符寫入至與該複數個事件源相關聯之暫存器。
  4. 如請求項2之方法,其中指派該等裝置識別符給該複數個事件源包含: 在一第一動態位址分配過程期間分配該第一裝置識別符至該受控器裝置;及 在一第二動態位址分配過程期間分配該第二裝置識別符至該受控器裝置。
  5. 如請求項2之方法,其中指派該等裝置識別符給該複數個事件源包含: 在一第一動態位址分配過程期間分配該第一裝置識別符至該受控器裝置;及 使用該串列匯流排以將該第二裝置識別符寫入至與一第一事件源相關聯的該受控器裝置中之一暫存器。
  6. 如請求項1之方法,其中該主控器裝置在偵測到對應於一頻帶內中斷之該傳信時操作於一睡眠模式中,且其中中斷該第一執行環境包括: 喚醒該第一執行環境。
  7. 如請求項1之方法,其中該主控器裝置在偵測到對應於一頻帶內中斷之該傳信時操作於一睡眠模式中,且其中當該第一執行環境中斷時,一第二執行環境不受影響。
  8. 一種設備,其包含: 一匯流排介面,其可作為一匯流排主控器介面而操作並經調適以將該設備耦接至一串列匯流排; 複數個執行環境,其各自經組態以獨立於另一執行環境執行一或多個功能;及 裝置識別符之一清單,其分配至一受控器裝置,該清單將每一裝置識別符與該複數個執行環境中之一者相關聯, 其中該匯流排介面經組態以: 偵測對應於藉由該受控器裝置確證之一頻帶內中斷的在該串列匯流排上之傳信; 接收藉由與該頻帶內中斷有關之該受控器裝置傳輸之一第二裝置識別符; 使用該第二裝置識別符以自該清單中選擇一第一執行環境;及 回應於該頻帶內中斷而中斷該第一執行環境。
  9. 如請求項8之設備,其中該第二裝置識別符經分配至該受控器裝置中之複數個事件源中之一者。
  10. 如請求項9之設備,且其進一步包含一控制器,該控制器經組態以: 使用該匯流排介面以將該第二裝置識別符寫入至與觸發該頻帶內中斷之一事件之一源相關聯的該受控器裝置中之一暫存器。
  11. 如請求項9之設備,且其進一步包含一控制器,該控制器經組態以: 在一第一動態位址分配過程期間分配該第一裝置識別符至該受控器裝置;及 在一第二動態位址分配過程期間分配該第二裝置識別符至該受控器裝置。
  12. 如請求項9之設備,且其進一步包含一控制器,該控制器經組態以: 在一第一動態位址分配過程期間分配該第一裝置識別符至該受控器裝置;及 使用該串列匯流排以將該第二裝置識別符寫入至與一第一事件源相關聯的該受控器裝置中之一暫存器。
  13. 如請求項8之設備,且其進一步包含一控制器,該控制器經組態以: 當偵測到對應於一頻帶內中斷之該傳信時該第一執行環境在一休眠狀態中時喚醒該第一執行環境。
  14. 如請求項8之設備,其中該設備在偵測到對應於一頻帶內中斷之該傳信時操作於一睡眠模式中,且其中當該第一執行環境中斷時,一第二執行環境不受影響。
  15. 如請求項14之設備,其中當該第一執行環境中斷時,一第二執行環境保持在一睡眠模式中。
  16. 一種在耦接至一串列匯流排之一受控器裝置處執行之方法,其包含: 維持用以在經由該串列匯流排進行之異動中識別該受控器裝置之一第一裝置識別符; 偵測由一第一事件源產生之一第一事件; 在偵測到該第一事件之後在該串列匯流排上起始一頻帶內中斷;及 傳輸經指派給該第一事件之一源之一第二裝置識別符, 其中該第二裝置識別符經提供以使一主控器裝置能夠選擇經組態以對該第一事件作出回應之一執行環境。
  17. 如請求項16之方法,且其進一步包含: 在一第一動態位址分配程序期間接收該第一裝置識別符。
  18. 如請求項17之方法,其中該第一動態位址分配程序係根據一I3C協定而執行。
  19. 如請求項17之方法,其中該第二裝置識別符係藉由該主控器裝置寫入至該受控器裝置之一暫存器。
  20. 如請求項17之方法,其中該第二裝置識別符在該受控器裝置之製造或起始期間被預組態。
  21. 如請求項17之方法,且其進一步包含: 在一第二動態位址分配程序期間接收該第二裝置識別符。
  22. 如請求項16之方法,其中該第一事件之該源為複數個事件源中之一者,每一事件源具有待在頻帶內中斷程序中傳輸之一相關聯裝置識別符。
  23. 一種處理器可讀儲存媒體,其上儲存有指令,該等指令在由至少一個處理電路執行時致使該至少一個處理電路進行以下操作: 在一受控器裝置處偵測由一第一事件源產生之一第一事件; 在偵測到該第一事件之後在一串列匯流排上起始一頻帶內中斷;及 傳輸經指派給該第一事件之一源之一第一裝置識別符,該第一裝置識別符經提供以使一主控器裝置能夠選擇經組態以對該第一事件作出回應之一執行環境, 其中一第二裝置識別符用以在經由該串列匯流排進行之異動中識別該受控器裝置。
  24. 如請求項23之儲存媒體,其中該第二裝置識別符係在一第一動態位址分配程序期間接收。
  25. 如請求項24之儲存媒體,其中該第一動態位址分配程序係根據一I3C協定而執行。
  26. 如請求項24之儲存媒體,其中該第一裝置識別符係藉由該主控器裝置寫入至該受控器裝置之一暫存器。
  27. 如請求項24之儲存媒體,其中該第一裝置識別符在該受控器裝置之製造或起始期間被預組態。
  28. 如請求項24之儲存媒體,其中該第一裝置識別符係在一第二動態位址分配程序期間接收。
  29. 如請求項23之儲存媒體,其中該第一事件之該源為複數個事件源中之一者,每一事件源具有待在頻帶內中斷程序中傳輸之一相關聯裝置識別符。
TW107135830A 2017-10-10 2018-10-11 針對多執行環境之i3c頻帶內中斷 TW201923606A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/729,247 2017-10-10
US15/729,247 US20190108149A1 (en) 2017-10-10 2017-10-10 I3c in-band interrupts directed to multiple execution environments

Publications (1)

Publication Number Publication Date
TW201923606A true TW201923606A (zh) 2019-06-16

Family

ID=64051708

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107135830A TW201923606A (zh) 2017-10-10 2018-10-11 針對多執行環境之i3c頻帶內中斷

Country Status (3)

Country Link
US (1) US20190108149A1 (zh)
TW (1) TW201923606A (zh)
WO (1) WO2019074906A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI816498B (zh) * 2022-08-03 2023-09-21 新唐科技股份有限公司 匯流排直接中斷服務裝置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725949B2 (en) * 2018-08-28 2020-07-28 Qualcomm Incorporated Slave-to-slave direct communication
US10725945B1 (en) * 2019-03-01 2020-07-28 Texas Instruments Incorporated Integrated circuit with combined interrupt and serial data output
US10817451B1 (en) * 2019-06-24 2020-10-27 Semiconductor Components Industries, Llc Methods and system for an integrated circuit
US20220156217A1 (en) * 2019-11-22 2022-05-19 Stmicroelectronics (Rousset) Sas Method for managing the operation of a system on chip, and corresponding system on chip
US10990545B1 (en) * 2020-03-31 2021-04-27 Dell Products L.P. System and method for handling in-band interrupts with multiple I3C masters
EP3958136A1 (en) 2020-08-17 2022-02-23 Nokia Technologies Oy Dynamically reprogrammable topologically unique integrated circuit identification
EP4200715A1 (en) * 2020-08-19 2023-06-28 Intel Corporation I3c pending read with retransmission
CN112214441B (zh) * 2020-12-08 2021-03-23 北京和利时系统工程有限公司 基于串行总线轮询协议的通信切换方法、设备和系统
US11321269B1 (en) * 2020-12-09 2022-05-03 Nxp B.V. Dynamic address allocation in improved inter-integrated circuit communication
US11334512B1 (en) * 2021-02-12 2022-05-17 Qualcomm Incorporated Peripheral access control for secondary communication channels in power management integrated circuits
US20230244624A1 (en) * 2022-01-28 2023-08-03 Texas Instruments Incorporated Methods and apparatus to preform inter-integrated circuit address modification
WO2024072395A1 (en) * 2022-09-29 2024-04-04 Siemens Industry Software Inc. Event signals

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924615B2 (en) * 2012-10-26 2014-12-30 Arm Limited Communication of message signalled interrupts
US9727506B2 (en) * 2015-10-01 2017-08-08 Sony Corporation Communication system, communication system control method, and program
US10585826B2 (en) * 2016-01-25 2020-03-10 Advanced Micro Devices, Inc. Using processor types for processing interrupts in a computing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI816498B (zh) * 2022-08-03 2023-09-21 新唐科技股份有限公司 匯流排直接中斷服務裝置

Also Published As

Publication number Publication date
WO2019074906A1 (en) 2019-04-18
US20190108149A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
TW201923606A (zh) 針對多執行環境之i3c頻帶內中斷
US11010327B2 (en) I3C point to point
TW201907314A (zh) 用於虛擬通用輸入/輸出有限狀態機器之硬體事件優先感測可程式化傳輸等待窗
KR20180092969A (ko) 메시징을 위한 최적의 레이턴시 패킷화기 유한 상태 머신 및 입력/출력 트랜스퍼 인터페이스들
TW201923603A (zh) 異質虛擬通用輸入/輸出
US10140243B2 (en) Enhanced serial peripheral interface with hardware flow-control
US10496562B1 (en) Low latency virtual general purpose input/output over I3C
US10678723B2 (en) Urgent in-band interrupts on an I3C bus
TW201904237A (zh) 組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期
US11256651B2 (en) Multiple master, multi-slave serial peripheral interface
US11106620B1 (en) Mixed signal device address assignment
US9921981B2 (en) Method to minimize the number of IRQ lines from peripherals to one wire
US20190013962A1 (en) Modular communication framework
US20200201804A1 (en) I3c device timing adjustment to accelerate in-band interrupts
US20190018818A1 (en) Accelerated i3c stop initiated by a third party
US10545886B2 (en) Clock line driving for single-cycle data over clock signaling and pre-emption request in a multi-drop bus
US20190347225A1 (en) Latency optimized i3c virtual gpio with configurable operating mode and device skip
US20170371830A1 (en) Accelerated i3c master stop
TWI685749B (zh) 用於通信波形的短位址模式
US11520729B2 (en) I2C bus architecture using shared clock and dedicated data lines
US20230350841A1 (en) Providing acknowledgements for system power management interface
US11023408B2 (en) I3C single data rate write flow control
US11360916B2 (en) Group slave identifier time-multiplexed acknowledgment for system power management interface