TW201737103A - 模組化通訊架構 - Google Patents

模組化通訊架構 Download PDF

Info

Publication number
TW201737103A
TW201737103A TW105143937A TW105143937A TW201737103A TW 201737103 A TW201737103 A TW 201737103A TW 105143937 A TW105143937 A TW 105143937A TW 105143937 A TW105143937 A TW 105143937A TW 201737103 A TW201737103 A TW 201737103A
Authority
TW
Taiwan
Prior art keywords
module
modules
address
implementations
data
Prior art date
Application number
TW105143937A
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 TW201737103A publication Critical patent/TW201737103A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • 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
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

實作通常相關於在模組化系統中提供定址。在部分實作中,一種方法包括偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的。該方法更包括將該一或多個模組與該匯流排上的狀態位址關聯。該方法更包括在該狀態位址上輪詢一或多個中斷。該方法更包括基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組。實作通常也相關於促進模組化系統中的通訊。實作通常也相關於促進模組化系統中的一般通訊。

Description

模組化通訊架構
智慧型手錶係具有各種功能,諸如,記時、排程、及組織,的電腦化腕錶。智慧型手錶也能具有數位相機及媒體播放器,以及其他功能。智慧型手錶提供誘人的特性組,且典型係不能昇級或改變的單一單元。
實作通常相關於在模組化系統中提供定址。在部分實作中,一種方法包括偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的。該方法更包括將該一或多個模組與該匯流排上的狀態位址關聯。該方法更包括在該狀態位址上輪詢一或多個中斷。該方法更包括基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組。
進一步考慮該方法,在部分實作中,若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。在部分實作中,該狀態位址係全域共享位址。在部分實作中,該狀態位址係固定位址。在部分 實作中,該方法更包括,回應於該輪詢,從該個別模組的一或多者接收一或多個輪詢中斷。在部分實作中,該方法更包括,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。在部分實作中,該一或多個動態位址係獨特位址。
在部分實作中,一種電腦可讀儲存媒體於其上運載一或多個指令序列。當由一或多個處理器執行時,該指令導致一或多個處理器實施包括偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的;將該一或多個模組與該匯流排上的狀態位址關聯;在該狀態位址上輪詢一或多個中斷;及基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組的操作。
進一步考慮該電腦可讀儲存媒體,在部分實作中,若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。在部分實作中,該狀態位址係全域共享位址。在部分實作中,該狀態位址係固定位址。在部分實作中,當執行該指令時,更導致該一或多個處理器實施包括以下步驟的操作,回應於該輪詢,從該個別模組的一者接收一或多個輪詢中斷。在部分實作中,當執行該指令時,更導致該一或多個處理器實施包括以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。在部分實作中,該一或多個動態位址係獨特位址。
在部分實作中,一種系統包括一或多個處理 器,並包括編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行的邏輯。當執行時,該邏輯可操作以實施包括偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的;將該一或多個模組與該匯流排上的狀態位址關聯;在該狀態位址上輪詢一或多個中斷;及基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組的操作。
進一步考慮該系統,在部分實作中,若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。在部分實作中,該狀態位址係全域共享位址。在部分實作中,該狀態位址係固定位址。在部分實作中,當執行該邏輯時,可進一步操作以實施包括以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個輪詢中斷。在部分實作中,當執行該邏輯時,可進一步操作以實施包括以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。
實作通常相關於促進模組化系統中的通訊。在部分實作中,一種方法包括啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始。該方法更包括決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯。該方法更包括若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊。
進一步考慮該方法,在部分實作中,啟始該通訊包括在該動態位址上實施一或多個寫入操作。在部分實作中,該動態位址係獨特位址。在部分實作中,決定該匯流排上的任何其他模組是否啟始中斷包括在該狀態位址上實施一或多個讀取操作。在部分實作中,該狀態位址係全域共享位址。在部分實作中,繼續與該至少一個第一模組通訊包括經由與該至少一個第一模組關聯的該動態位址轉移資訊。在部分實作中,繼續與該至少一個第一模組通訊包括從該動態位址實施一或多個讀取操作。
在部分實作中,一種電腦可讀儲存媒體於其上運載一或多個指令序列。當由一或多個處理器執行時,該指令導致一或多個處理器實施包括啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始;決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯;及若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊的操作。
進一步考慮該電腦可讀儲存媒體,在部分實作中,啟始該通訊包括在該動態位址上實施一或多個寫入操作。在部分實作中,該動態位址係獨特位址。在部分實作中,為決定該匯流排上的任何其他模組是否啟始中斷,當執行該指令時,更導致該一或多個處理器實施包括在該狀態位址上實施一或多個讀取操作的操作。在部分實作 中,該狀態位址係全域共享位址。在部分實作中,為繼續與該至少一個第一模組通訊,當執行該指令時,更導致該一或多個處理器實施包括經由與該至少一個第一模組關聯之該動態位址轉移資訊的操作。在部分實作中,為繼續與該至少一個第一模組通訊,當執行該指令時,更導致該一或多個處理器實施包括從該動態位址實施一或多個讀取操作的操作。
在部分實作中,一種系統包括一或多個處理器,並包括編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行的邏輯。當執行時,該邏輯可操作實施包括啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始;決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯;及若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊的操作。
進一步考慮該系統,在部分實作中,啟始該通訊包括在該動態位址上實施一或多個寫入操作。在部分實作中,該動態位址係獨特位址。在部分實作中,為決定該匯流排上的任何其他模組是否啟始中斷,當執行該邏輯時,可進一步操作以實施包括在該狀態位址上實施一或多個讀取操作的操作。在部分實作中,該狀態位址係全域共享位址。在部分實作中,為繼續與該至少一個第一模組通 訊,當執行該邏輯時,可進一步操作以實施包括經由與該至少一個第一模組關聯之該動態位址轉移資訊的操作。
實作通常相關於促進模組化系統中的一般通訊。在部分實作中,一種方法包括接收針對第一資料類別之資料的請求。該方法更包括決定由匯流排上之一或多個個別模組支援的資料類別,其中該資料類別包括第一資料類別。該方法更包括選擇該模組的至少一者用以服務所請求的該資料。該方法更包括從該選擇的至少一個模組提供該第一資料類別的該資料。
進一步考慮該方法,在部分實作中,該資料類別包括一或多個生命徵象資料類別。在部分實作中,該資料類別包括一或多個定位資料類別。在部分實作中,該資料類別包括一或多個大氣資料類別。在部分實作中,該一或多個個別模組的各模組與一或多組函數關聯,其中各組函數包括支援預定資料類別的至少一個資料類別函數。在部分實作中,決定由該一或多個個別模組支援的該資料類別包括:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。在部分實作中,該選擇係基於預定優先度策略。在部分實作中,該方法更包括致能該模組的一或多者進入睡眠模式及自其喚醒。
在部分實作中,一種電腦可讀儲存媒體於其上運載一或多個指令序列。當由一或多個處理器執行時,該指令導致一或多個處理器實施包括接收針對第一資料類別之資料的請求;決定由匯流排上之一或多個個別模組支 援的資料類別,其中該資料類別包括第一資料類別;選擇該模組的至少一者用以服務所請求的該資料;及從該選擇的至少一個模組提供該第一資料類別的該資料的操作。
進一步考慮該電腦可讀儲存媒體,在部分實作中,該資料類別包括一或多個生命徵象資料類別。在部分實作中,該資料類別包括一或多個定位資料類別。在部分實作中,該資料類別包括一或多個大氣資料類別。在部分實作中,該一或多個個別模組的各模組與一或多組函數關聯,且其中各組函數包括支援預定資料類別的至少一個資料類別函數。在部分實作中,為決定由該一或多個個別模組支援的該資料類別,當執行該指令時,更導致該一或多個處理器實施包括下列步驟的操作:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。在部分實作中,該選擇係基於預定優先度策略。在部分實作中,當執行時,該指令更導致該一或多個處理器實施包括致能該模組的一或多者進入睡眠模式及自其喚醒的操作。
在部分實作中,一種系統包括一或多個處理器,並包括編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行的邏輯。當執行時,該邏輯可操作以實施包括接收針對第一資料類別之資料的請求;決定由匯流排上之一或多個個別模組支援的資料類別,其中該資料類別包括第一資料類別;選擇該模組的至少一者用以服務所請求的該資料;及從該選擇的至少一個 模組提供該第一資料類別的該資料的操作。
進一步考慮該系統,在部分實作中,該資料類別包括一或多個生命徵象資料類別。在部分實作中,該資料類別包括一或多個定位資料類別。在部分實作中,該資料類別包括一或多個大氣資料類別。在部分實作中,該一或多個個別模組的各模組與一或多組函數關聯,且其中各組函數包括支援預定資料類別的至少一個資料類別函數。在部分實作中,為決定由該一或多個個別模組支援的該資料類別,當執行該邏輯時,更可操作以實施包括下列步驟的操作:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。
可藉由參考本說明書的其餘部分及隨附圖式實現對本文揭示之特定實作的本質及優點的進一步理解。
100、200‧‧‧模組化系統
102‧‧‧核心
104a、104b、204、1214、1216、1218‧‧‧模組
106、206‧‧‧核心集線器
108‧‧‧核心處理器
110a、110b‧‧‧處理器或微控制器
112a、112b‧‧‧感測器
114、1226‧‧‧匯流排
202‧‧‧應用層
208‧‧‧既存框架
210‧‧‧硬體抽象層(HAL)
212、214、216‧‧‧檔案節點
218‧‧‧核心集線器驅動程式
220‧‧‧定製的API
402‧‧‧狀態位址
404a、404b‧‧‧動態位址
600、700、800‧‧‧資料結構
602、802‧‧‧動態位址欄位
604、804‧‧‧長度欄位
606、708、806‧‧‧命令欄位
608、808‧‧‧資料欄位
610、710、810‧‧‧核對和欄位
702‧‧‧狀態位址欄位
704‧‧‧狀態欄位
706‧‧‧軟體位址欄位
900‧‧‧優先表
1100、1200、1300‧‧‧計算系統
1102、1202、1302‧‧‧處理器
1104‧‧‧作業系統
1106、1206‧‧‧記憶體
1108‧‧‧輸入/輸出(I/O)介面
1110‧‧‧軟體應用程式
1204‧‧‧快取記憶體
1208‧‧‧唯讀記憶體(ROM)
1210、1308‧‧‧隨機存取記憶體(RAM)
1212、1310‧‧‧儲存裝置
1220‧‧‧輸入裝置
1222、1312‧‧‧輸出裝置
1224、1306‧‧‧通訊介面
1304‧‧‧晶片組
1314‧‧‧橋接器
1316‧‧‧使用者介面組件
圖1描繪可用於本文描述的實作之範例模組化系統的方塊圖。
圖2描繪可用於本文描述的實作之範例模組化系統的方塊圖。
圖3根據部分實作描繪用於在模組化系統中提供定址的範例流程圖。
圖4根據部分實作描繪與狀態位址及動態位址關聯之模組的方塊圖。
圖5根據部分實作描繪用於促進模組化系統 中之通訊的範例流程圖。
圖6根據部分實作描繪寫入操作之背景中的範例資料結構。
圖7根據部分實作描繪狀態檢查操作之背景中的範例資料結構。
圖8根據部分實作描繪讀取操作之背景中的範例資料結構。
圖9根據部分實作描繪範例優先表。
圖10根據部分實作描繪用於促進模組化系統中之一般通訊的範例流程圖。
圖11描繪可用於本文描述的部分實作之範例計算系統的方塊圖。
圖12描繪可用於本文描述的部分實作之範例計算系統的方塊圖。
圖13描繪可用於本文描述的部分實作之範例計算系統的方塊圖。
本文描述的實作致能、促進、及管理模組化系統中的通訊。如本文所更詳細地描述的,實作通常相關於在模組化系統中提供定址,並促進模組化系統中的各種通訊。例如,實作致能個人裝置,諸如,智慧型手錶,經由能擴展、昇級、及/或改變的模組提供功能組,並允許在規律的基礎上(例如,每天或每週的基礎上等)客製 化。在部分實作中,模組係能附接至智慧型手錶的主體並自其拆卸的實體單元,其中各模組提供經由智慧型手錶供應給使用者的一或多個功能。
在各種實作中,智慧型手錶包括與模組化系統中的一或多個模組通訊的核心。在部分實作中,該核心偵測連接至匯流排的一或多個模組,其中該一或多個模組未初始化。如本文所更詳細地描述的,該核心將未初始化模組與匯流排上的全域共享狀態位址關聯。該核心也在狀態位址上輪詢中斷,並基於中斷將個別動態位址指派給未初始化模組。
在部分實作中,該核心在匯流排上啟始與至少一個模組的通訊,其中該通訊經由與該模組關聯的動態位址啟始。該核心決定匯流排上的任何其他模組是否基於在共享狀態位址的資訊啟始中斷。若沒有匯流排上的其他模組啟始中斷,該核心繼續與模組通訊。
在部分實作中,該核心接收針對特定資料類別之資料的請求。該核心決定由匯流排上的一或多個模組支援的資料類別。該核心選擇模組的至少一者以供應所請求的資料,並從該選擇的模組提供該特定資料類別的資料。
下文陳述的實施方式企圖作為本專利技術之各種組態的描述,且未企圖代表能於其中實踐本專利技術的唯一組態。將隨附圖式併入本文中並構成實施方式的一部分。實施方式包括用於提供對本專利技術更徹底理解之 目的的具體細節。然而,本專利技術未限於本文陳述的具體細節並可不使用此等細節實踐將係清楚而明顯的。在部分實例中,結構及組件以方塊圖形式顯示以避免混淆本專利技術的觀念。
圖1描繪可用於本文描述的實作之範例模組化系統100的方塊圖。如所示的,模組化系統100包括核心102,其與一或多個模組104a、104b等通訊。
如所示的,在各種實作中,核心102包括核心集線器106及核心處理器108(標示為「CPU」)。在各種實作中,模組104a也包括處理器110a或微控制器110a(標示為「MCU」)及感測器112a。相似地,模組104b包括處理器110b或微控制器110b(標示為「MCU」)及感測器112b。
在各種實作中,核心102經由匯流排114與模組104a、104b等通訊。在部分實作中,處理器108及指定模組的微控制器(例如,處理器110a、處理器110b等)之間的通訊主要使用內部整合電路(I2C)技術的修改版本實現。此也使用核心集線器106(或任何其他合適的集線器裝置)實現。在部分實作中,匯流排114為I2C匯流排。如本文所更詳細地描述的,核心102係主控器,且核心102的核心集線器106管理係受控器的模組104a、104b等。在各種實作中,核心102啟始與模組的所有通話。
在各種實作中,核心102與模組之間的通訊 可用二種模式操作。例如,通訊可用高速模組或低速模組操作。在部分實作中,通訊預設以低速模組發生。在部分實作中,高速可使用通用串列匯流排(USB)實現。在部分實作中,低速可使用I2C實現。在部分實作中,匯流排上之具有不同速度需求的模組可使用USB及I2C二者同時操作。實作未限於此等協定。
如本文所更詳細地描述的,為移除有限I2C位址空間的限制,協定使用動態定址。在核心裝置通電時,實作支援模組的熱插拔。實作也致能獨立模組中斷核心並以及時方式定址。此等特性係藉由結合下文更詳細地描述的封包劫持機制在所有模組之間使用全域共享位址實現。
在部分實作中,模組化系統100包括模組化框架,其負責回應通訊匯流排上的事件、與模組通訊、將模組事件通知應用程式、及提供感測器的存取方法(例如,至第三方開發者等)。
在部分實作中,模組化系統100實作用於核心102及模組104a、104b等之間的通訊的通訊協定。該通訊協定促進高速模式及低速模式二者、允許中斷及模組偵測、並致能在睡眠狀態之模組的喚醒。
在部分實作中,模組化系統100包括在各模組104a、104b等上運行的模組平台。模組平台的主要功能係促進核心102及模組104a、104b等之間的通訊。模組平台包含啟動載入器,其更新裝置韌體並可由模組製造 商擴展以運行用於(例如,模組製造商之)模組的特定碼。
在部分實作中,核心102包括適用於各種應用,諸如,可穿戴裝置,之供應使用者體驗的核心作業系統。在部分實作中,核心集線器106包括核心集線器韌體並管理模組(例如,模組102a、104b等)。核心集線器韌體負責管理通訊匯流排、初始化及登錄模組狀態、及偵測事件,諸如,模組連接及分斷、或由模組引起的中斷。
在各種實作中,模組係基於階層匯流排組織,其中核心102,或更精準地說,核心集線器106,係匯流排上的主控器。在部分實作中,核心102及核心集線器106之間的匯流排可係串列周邊介面(SPI)匯流排,但未限於SPI匯流排。匯流排的具體種類可取決於具體實作變化。在各種實作中,核心集線器106在任何指定時間決定何種通訊發生在模組之間。係在模組之上的主控器的核心集線器106對簡單通訊管理係有利的。各模組如自足周邊般地運作。在實作係在實施特定功能之核心集線器106的背景中於本文描述的同時,另一合適組件或模組化系統100之組件的其他組合或任何合適處理器或與模組化系統100關聯的處理器,諸如,CPU 108,可實施本文描述的實作。在各種實作中,模組化系統100可不具有圖1所示的所有組件,及/或可具有其他元件,包括取代本文所示組件,或本文所示組件以外之其他種類的組件。
圖2描繪可用於本文描述的實作之範例模組 化系統200的方塊圖。應用層202沿著在本文中更詳細地描述的各種資料流路徑經由核心集線器206與模組204通訊。
在部分實作中,一般通訊使用既存框架的容量及控制邏輯經由既存框架流動。在此情景中,資料流路徑在應用層開始、通過既存框架208、硬體抽象層(HAL)210、檔案節點212、214、216等、核心集線器驅動器218、然後通過核心集線器206。
在部分實作中,其中一般通訊經由既存框架流動,核心集線器206管理模組性樣態,且感測器驅動程式掛接至HAL 210中。在各種實作中,HAL 210處理框架(其由應用程式使用)及硬體之間的通訊。核心集線器206封裝儘可能多的模組性,使得既存基底作業系統不知道該模組性。此致能應用程式開發者輕易地使用作業系統的先前知識建立應用程式而不必考慮模組被分斷等。
在部分實作中,一般通訊經由定製的應用程式發展介面(API)流動。在部分實作中,另一資料流路徑在應用層開始、通過定製的API 220、然後通過核心集線器206。此情景也涉及與檔案節點212、214、216等關聯之感測器的通訊。在各種實作中,此情景致能非模組化框架如致能開發者與模組一般通訊之模組化框架般地運作。
在部分實作中,其中一般通訊經由定製的API 220流動,該定製的API界定能由應用程式請求的一組能 力。模組可登錄當請求時彼等直接支援的模準函數(例如,每個模組能具有函數GET_SUPPORTED_DATA_TYPES,其傳回所支援的資料類別列表)。當特定能力由應用程式請求時,核心集線器206的核心集線器驅動程式218中斷該能力並決定其需要呼叫何標準函數。然後驅動程式向核心集線器206請求其支援所指定的標準函數集之模組的列表。一旦選擇匹配模組,資訊(例如,原始資料等)能由模組請求及提供。
在部分實作中,應用程式可登錄一或多個下列回呼:查詢可用能力、間隔地提供能力、可用能力(例如,連接等)、不可用能力(例如,分斷等)。因此,在此實例中,應用程式登錄以在連接事件時被通知,但在更高抽象層(例如,應用程式不關注應用程式正與之通訊的特定模組),僅傳回特定資料類別。
在部分實作中,直接通訊經由定製的API流動。在部分實作中,另一資料流路徑在應用層開始、通過定製的API 220、然後通過核心集線器206。在各種實作中,此情景致能非模組化框架如致能開發者與模組直接通訊之模組化框架般地運作。致能與模組的直接通訊依次允許低階控制模組。例如,各種實作支援與連接至匯流排之模組關聯的各種感測器功能。結果,核心集線器206可與模組通訊以從與任何指定模組關聯之任何種類的感測器收集資料。
在部分實作中,其中直接通訊經由定製的API 流動,各模組登錄特定型號(例如,與特定型號關聯的數值識別符等)。應用程式可請求與特定(範圍的)型號(等)通訊。核心集線器206提供包含與該查詢符合的該組模組及用於每一者之使用的句柄(例如,數字識別符等)的回應。然後,經由定製API/框架的後續直接呼叫可請求句柄,使得核心集線器206知道與何模組通訊。此等函數可稱為供應商函數。
在部分實作中,與使用標準固定硬體定址的系統相反(例如,在位址1及位址126之間等),核心使用致能模組的熱抽換之使用活動受控器的動態定址。在部分實作中,核心可使用動態定址而不使用優先中斷(例如,輪詢)以致能模組熱抽換。
再度參考圖1,在各種實作中,當指定模組(例如,模組104a、模組104b等)首先連接至模組化系統100的匯流排114時,該模組尚未初始化且需要初始化以與核心102通訊。在部分實作中,為請求初始化,模組引起與核心集線器106的中斷並等待指派動態位址。
如本文指示的,實作致能新連接(「活動」)模組與核心102(主控器)協商動態位址,並致能在核心102及模組之間的未來通訊。此移除能產生的模組數目的硬性限制。在初始化後,然後模組將具有二個受控器位址,其動態位址及(所有模組共享的)通用狀態位址。
圖3根據部分實作描繪用於在模組化系統中 提供定址的範例流程圖。參考圖1及3二者,方法在方塊302啟始,其中核心102偵測連接至匯流排114的一或多個模組。在此等範例實作中,各模組係未初始化的。在各種實作中,若一或多個模組不具有指派給彼等的動態位址,該一或多個模組係未初始化的。例如,若特定模組不具有指派給其的動態位址,該特定模組係未初始化的。例如,若模組新連接至匯流排,該特定模組可不具有指派或配置給其的動態位址。新連接(例如,實體耦接至匯流排或無線耦接至匯流排)至匯流排的部分模組未初始化(例如,不具有指派的動態位址),同時連接至匯流排的其他既存模組已初始化(例如,具有指派的動態位址)係可能的。
在各種實作中,核心102可用各種方式偵測連接至匯流排的新模組。例如,在部分實作中,新模組可經由匯流排傳送信號至核心102,以指示模組的存在。如本文所更詳細地描述的,模組可藉由傳送中斷信號至核心102而啟始中斷,其中中斷指示指定的對應模組未初始化且需要動態位址。在部分實作中,核心102可週期地傳送信號至不同動態位址以偵測回應。在部分實作中,一或多個感測器可用於偵測匯流排上的新模組,並將任何新連接模組通知核心102。
在各種實作中,匯流排上的每一個組件(例如,模組)均包含用於位址及衝突排解之其自有的MCU。
在方塊304,核心102在匯流排上將一或多個未初始化模組與狀態位址關聯。在各種實作中,狀態位址係全域共享位址,其中多個模組或全部模組共享相同的狀態裝置。換言之,核心102指派相同的狀態位址給所有模組。
各種實作係在單一狀態位址與所有模組關聯的背景中於本文描述。其他替代實作係可能的。例如,在部分實作中,核心102可使用多個狀態位址(例如,2個狀態位址、3個狀態位址等),其中本文描述的實作施用至多個狀態位址。例如,在本文描述的方塊306中,核心102可實質同時地輪詢多個狀態位址上的中斷。此種設計可係有用的,例如,若一或多種模組與第一狀態位址關聯,且一或多個其他種類的模組與第二狀態位址關聯。因此,各狀態位址可由多個模組共享。在部分實作中,不同狀態位址可具有不同優先度,其中核心102首先由具有較高優先度的狀態位址中斷。
圖4根據部分實作描繪與狀態位址402及動態位址404a、404b關聯之模組104a及104b的方塊圖。如圖所示,核心102將二模組104a及模組104b關聯至相同的全域共享狀態位址402。換言之,核心102指派相同的狀態位址給多個或所有模組。如本文所指示的,在各種實作中,狀態位址係固定匯流排位址。例如,在各種實作中,狀態位址不必改變,其中匯流排上的相同狀態位址用於所有模組。最初,各個模組均使用相同的固定狀態位 址。如本文所更詳細地描述的,核心102將模組104a關聯至獨特動態位址404a,並將模組104b關聯至獨特動態位址404b。
在方塊306,核心102在狀態位址上輪詢一或多個中斷。在部分實作中,核心102以預定間隔輪詢狀態位址。在部分實作中,當模組將中斷設定在狀態位址上時,核心102輪詢狀態位址。在部分實作中,當核心102輪詢狀態位址時,各未初始化模組以其後跟隨其獨特軟體位址的中斷回應。
在部分實作中,回應於輪詢,核心102分別從未初始化模組的一或多者接收一或多個輪詢中斷。在部分實作中,核心102可每次在狀態位址偵測中斷。在部分實作中,多個中斷可儲存在緩衝器中,從而致能核心102在接收到多個中斷時處理彼等。
在部分實作中,也回應於輪詢,核心102也分別從未初始化模組接收獨特識別符。在各種實作中,各中斷指示指定的對應模組未初始化且需要動態位址。在部分實作中,中斷係高優先度中斷。在部分實作中,各模組具有針對模組種類的獨特位址,其致能相同種類的多個模組存在於匯流排上。
在各種實作中,若核心102接收至少一個中斷,核心102可暫時暫停正常常式以初始化一或多個新的未初始化模組。
在方塊308,核心102基於中斷指派一或多個 個別動態位址至一或多個未初始化模組。在各種實作中,動態位址係獨特位址。因此,將獨特動態位址指派或配置給各模組。例如,仍參考圖4,核心102將模組104a及104b各者關聯至獨特動態位址。如所示的,模組104a與動態位址404a關聯,且模組104b與動態位址404b關聯。
如本文所指示的,核心102基於中斷指派一或多個個別動態位址至一或多個未初始化模組。例如,在各種實作中,核心102基於受控器仲裁將動態位址指派給未初始化模組。例如,在各種實作中,為確保將獨特動態位址供應給各模組,核心102需要各模組提供獨特軟體識別符/位置給核心102。因此,在指派動態位址給特定未初始化模組之前,核心102基於不同的未初始化模組的獨特軟體位址在彼等之中區分。核心102使用動態位址供應給各未初始化模組,例如,每次一個,以確保將獨特動態位址指派給各模組。在部分實作中,此種動態位址的指派可在先來先供應或其他合適優先度序列或設計(例如,基於何時從各模組接收個別中斷等)的基礎上發生。在指派動態位址至此等特定初始化模組後,核心102基於不同模組(現在已初始化模組)的獨特動態位址在彼等之中區分。
在部分實作中,匯流排具有開汲極電路。匯流排的開汲極本質能用於促進動態定址。藉由使用匯流排的開汲極本質,若多個模組在相同匯流排上通訊,只要彼等傳輸獨特資訊,在低位元的資料線上引起固有優先度。 例如,假設二個模組企圖同時協商動態位址。在彼等個別獨特位址中有位元不同的第一點,模組的一者輸掉仲裁並重設其狀態、停止其自有協商、允許先將動態位址指派給另一模組。在範例情景中,假設同時模組A傳輸1111且模組B傳輸1101。參考第一位元,若二模組寫入HIGH(1)至匯流排,二模組繼續在匯流排上通訊。相似地,參考第二位元,若二模組寫入HIGH(1)至匯流排,二模組繼續在匯流排上通訊。參考第三位元,若模組B寫入LOW(0)至匯流排,模組B「勝」過將HIGH(1)寫至匯流排的模組A。模組A注意到匯流排與模組A企圖傳送的內容不匹配。結果,模組A停止傳輸。由核心集線器106接收的訊息迄今仍與模組B傳輸的內容一致(例如,110...)。
從軟體觀點,各種實作由於用於將位址動態指派至任意數目之同時連接模組的此技術,熱抽換能力依據匯流排上的通訊自動實現。活動受控器能用於促進含有使用軟體動態地改變位址的複雜處理。在部分實作中,使用無聲受控器實現也係可行的。
雖然步驟、操作、或計算可用具體次序呈現,該次序可在特定實作中改變。取決於特定實作,步驟的其他次序係可能的。在部分特定實作中,在此說明書中顯示為序列的多個步驟可同時實施。又,部分實作可不具有所示的所有步驟及/或可具有取代本文所示步驟或本文所示步驟以外的其他步驟。
在各種實作中,將模組連接至匯流排114的模組連接線可包括下列線:VBUS線(例如,額定3.3V~5.0V,實際可能係3.0V~5.5V等)、接地(GND)、資料線(例如,I2C資料線、SDA資料線等)、時鐘線(例如,I2C時鐘線、SCL等)、正資料終端(DP)(USB資料)、負資料終端(DM)(USB資料)等。在各種實作中,可將位址佈置或位址空間分節如下:0x0A至0x70-動態區塊位址空間、0x7C-未初始化模組位址、0x7A-狀態位址。特定位址佈置可變化並將取決於特定實作。
在部分實作中,當新模組連接至匯流排時,新模組具有0x7C(例如,取代其動態位址的未初始化模組位址)及0x7A(例如,其狀態位址)的受控器位置。如本文指示的,在活動時,所有模組均具有一般狀態位址,且該狀態位址在模組之間全域地共享。
在各種實作中,在模組已加至系統100的匯流排114並對其初始化之後,各模組在正常操作期間同時在至少二個位址上聆聽(例如,I2C位址等)。在部分實作中,正常操作可係後初始化(例如,在指定模組在匯流排上初始化後)。在部分實作中,正常操作排除在睡眠模式或深度睡眠模組中花費的時間。
在部分實作中,動態位址係在連接時間指派給模組。在部分實作中,連接時間係當模組最初連接至匯流排時。又,在各種實作中,動態位址係核心102的核心 集線器106及指定模組之間的主要資料傳輸方法。如本文所指示的,在各種實作中,狀態位址係由匯流排上的所有模組共享的全域位址。狀態位址可用於報告狀態及引起中斷的目的。
以下實作使用核心102實作,其係在模組化系統中啟動與其係模組化系統中之受控元件的模組之通訊的主控元件。
當支援相同資料類別或能力的二或多個模組在匯流排上時,作為主控元件的核心102控制及管理通訊並避免碰撞/衝突。無論此種模組係相同模組種類或不同模組種類均施用此。例如,若有二個LED模組連接至匯流排,且使用者請求「LED開啟」,核心集線器106負責協商及推斷與何模組通訊。也同樣地施用於若不同模組種類的不同模組二者具有相同能力(例如,「LED開啟」)的情形。
實作使用最小輪詢以促進匯流排上發生的高速及優先中斷。此致能模組用於以高速率偵測事件,其在部分匯流排上,諸如,I2C匯流排,通常會係不可能的。範例應用可包括模組上的按鍵偵測、GPS地理圍欄定位等。
如本文所指示的,假設使用固定匯流排或假設所有動態位址(例如,I2C位址)均已被解決,將匯流排上的至少二個硬體位址指派給相同匯流排上的各模組,其中各模組在正常通訊期間在二位址上回應。又,該匯流 排上的各模組在匯流排上具有動態位址。在部分實作中,動態位址可係固定的匯流排上的獨特位址。如本文指示的,動態位址對各模組係獨特的,且匯流排上的各模組在匯流排上具有狀態位址。
在部分實作中,狀態位址係固定的,且係由其他模組共享的共同位址。在部分實作中,狀態位址係由所有其他模組全域地共享的共同位址。共享的狀態位址可稱為過載位址。在部分實作中,狀態位址可係當未初始化模組首次連接至匯流排時該未初始化模組所具有的相同位址。
圖5根據部分實作描繪用於促進模組化系統中之通訊的範例流程圖。參考圖1及5二者,方法在方塊502啟始,其中核心102在匯流排上啟始與模組,諸如,模組104a,的通訊。在各種實作中,通訊係經由與模組關聯的動態位址啟始。為易於說明,此特定範例假設核心102啟始與模組104a的通訊。為易於說明,此等實作係在一個模組的背景中描述。此等實作及其他實作也可施用至模組104b及/或一或多個其他模組。
在各種實作中,核心102及模組之間的通訊的啟始涉及核心102在與模組104a關聯的動態位址上實施一或多個寫入操作。此種寫入操作可包括在正常操作期間(例如,發佈命令,設定資訊等)的任何寫入操作。如本文所指示的,在部分各種實作內,動態位址係與模組關聯的獨特位址。換言之,將獨特動態位址指派給各模組, 使得不將相同的動態位址指派給匯流排上的二個模組。
圖6根據部分實作描繪寫入操作之背景中的範例資料結構600。資料結構600係可在部分實作中使用的範例輸出框(例如,從核心102寫至模組104a)。如圖所示,資料結構600包括動態位址欄位602、長度欄位604、命令欄位606、資料欄位608、及核對和欄位610。小括號中的數目係每欄位位元的範例數目,其可取決於特定實作變化。在部分實作中,長度欄位604指示之後的資料的長度。在部分實作中,命令欄位606包含在模組內呼叫的命令。該命令可由模組內部地登錄或指示在與模組之驅動程式關聯的標頭檔案內。在部分實作中,資料欄位608包含將作為引數傳送的資料。在部分實作中,核對和欄位610包含核對和位元組。在接收資料結構600的資料時,已定址模組進入準備回應模式。在各種實作中,資料結構600可不具有所示的所有欄位及/或可具有取代本文所示欄位或本文所示欄位以外的其他欄位。
在方塊504,核心102決定匯流排上的任何其他模組是否啟始中斷,且核心102基於狀態位址的資訊產生該決定。例如,在部分實作中,為決定匯流排上的任何其他模組是否啟始中斷,核心102在狀態位址上實施讀取操作,且核心102從狀態位址讀取狀態。例如,核心102可針對中斷讀取狀態位址,以決定未初始化模組是否需要初始化。如本文所指示的,在各種實作中,狀態位址係在模組(例如,所有模組)之中共享的共同或全域共享位 址。
在此時,若沒有中斷發生,核心102及模組之間的通訊如常進行。在部分導致中,狀態可藉由預定尺寸(例如,一位元組)的資料指示。若匯流排上的任何模組在狀態位址上拉低一位元,核心102繼續在狀態位址上讀取並也確定中斷模組的動態位址。然後核心102可視情況處理中斷。
圖7根據部分實作描繪狀態檢查操作之背景中的範例資料結構700。資料結構700係可使用在部分實作中的範例輸入狀態框(例如,從模組104a的全域狀態位址至核心102的讀取)。如圖所示,資料結構700包括狀態位址欄位702、狀態欄位704、軟體位址欄位706、命令欄位708、及核對和欄位710。在各種實作中,模組在軟體位址欄位706中提供獨特軟體位址。在各種實作中,資料結構700可不具有所示的所有欄位及/或可具有取代本文所示欄位或本文所示欄位以外的其他欄位。
在方塊506,若沒有匯流排上的其他模組啟始中斷,核心102繼續與模組通訊。換言之,只要沒有目前中斷,例如,指示其他模組需要初始化,核心102繼續與模組通訊。
在部分實作中,在讀取來自特定模組的狀態結果之前,核心集線器106首先檢查全域狀態位址以決定匯流排上是否有任何其他模組啟始中斷。在部分實作中,在正常操作期間,在準備回應模組中的模組報告0xFE的 狀態(例如,正常回應狀態旗標)。在部分實作中,若核心集線器106從狀態位址讀取0xFE,核心集線器106知道沒有其他模組企圖引起中斷,且繼續實施從模組的動態位址讀取的操作。回應的結構係一樣的,且回應中的命令與所呼叫的命令交互參考以檢查其以正確方式回應(例如,命令匹配)。在部分實作中,若匯流排上的模組企圖引起中斷,當核心集線器106讀取狀態位元組時,其將低於0xFE。因此,準備回應模式中的模組在此時將輸掉仲裁,且當請求將過期時,將繼續等待回應直到逾時。
在各種實作中,核心102藉由經由與模組關聯之動態位址的通訊(例如,轉移資訊等)繼續與模組的通訊(例如,交換資訊、接收原始資料等)。在部分實作中,核心102藉由實施從與模組關聯的動態位址讀取的一或多個操作繼續與模組的通訊。
在部分實作中,通訊係使用最初寫入操作啟始。模組進入準備回應模式並知道即將自其讀取。當模組回應時,其以請求資料回應。在範例情景中,若核心集線器106寫入命令,諸如,WRITE(DYN_ADDR,GET_TEMPERATURE),模組收集備妥的請求資料並等待自其讀取,例如,T=GET_TEMPERATURE_DATA( ),ENTER_READY_TO_RESPOND_MODE(t)。然後核心集線器106實施讀取操作,其中回應係T,例如,READ(DYN_ADDR)。
圖8根據部分實作描繪讀取操作之背景中的 範例資料結構800。資料結構800係可使用在部分實作中的範例輸入框(例如,從模組104a至核心102的讀取)。如圖所示,資料結構800包括動態位址欄位802、長度欄位804、命令欄位806、資料欄位808、及核對和欄位810。在各種實作中,資料結構700可不具有所示的所有欄位及/或可具有取代本文所示欄位或本文所示欄位以外的其他欄位。
雖然步驟、操作、或計算可用具體次序呈現,該次序可在特定實作中改變。取決於特定實作,步驟的其他次序係可能的。在部分特定實作中,在此說明書中顯示為序列的多個步驟可同時實施。又,部分實作可不具有所示的所有步驟及/或可具有取代本文所示步驟或本文所示步驟以外的其他步驟。
在部分實作中,當模組需要引起主動請求而非等待輪詢時,模組可劫持狀態位址的一部分。例如,模組可在核心集線器106讀取全域狀態位址時劫持狀態位元組。
在部分實作中,當模組回覆正常資料請求時,應將狀態旗標設定成(例如,0xFE)指示此在正常通話中。若模組需要劫持通話,模組可干擾任何目前通訊以改變狀態旗標。此將引發仲裁失敗。
在各種實作中,狀態旗標具有優先等級。此係匯流排之佈線及邏輯的本質所固有的(例如,I2C匯流排)。在受控器企圖在資料線上(例如,SDA資料線)設 定邏輯高位準且模組不能設定邏輯高位準的第一實例,模組將停止企圖通訊且輸掉仲裁。
圖9根據部分實作描繪範例優先表900。如圖所示,優先表900包括狀態旗標值及關聯優先度。在部分實作中,各狀態旗標值可臨時界定(例如,0xFE-正常回應狀態旗標、0x00-新模組連接旗標等)。
根據部分實作,下文係模組藉由其引起中斷的範例處理。模組等待在核心集線器106及固定位址上的任何其他模組之間的匯流排上的偶發通訊。當目標模組開始回應時,中斷模組劫持回應狀態位元組。此導致原始目標模組輸掉仲裁。然後模組傳輸其軟體位址及與中斷有關的資料,其將由核心集線器106處理。當核心集線器106認知狀態位元已改變,核心集線器106處理該中斷。
在模組連接事件的情形中,序列如下文所示地進行。核心集線器106進行登錄新模組的軟體位址。然後核心集線器106產生及傳輸獨特動態位址至模組。模組將其次級I2C位址設定為動態位址。
以下實作關於模組登錄。最初,在部分實作中,模組在狀態位址上(以引起中斷),而非在其動態位址上(其預設值係0x7C-未初始化的)聆聽。
在模組連接在匯流排上後,模組等待核心102檢查匯流排之狀態(例如,當核心102的核心集線器106從狀態位址實施READ操作時),且核心102發佈最高優先度中斷以示意其需要初始化的次一時間點。
然後模組應開始傳輸其獨特軟體位址、或獨特區塊模組識別符(UBMID)至核心102。在部分實作中,當生產/製造時,將獨特軟體位址或ID指定給各獨立模組。此確保此方法運行,因為二個未初始化模組將不會具有相同的最初軟體位址。在部分實作中,軟體位址係在緊接於模組劫持其以實施中斷的狀態位元組之後的位元組中。
在各種實作中,若二模組同時連接,核心102使用受控器仲裁機制。在部分實作中,若模組成功地在處理中傳輸其全部軟體位址而未輸掉仲裁,模組決定其係能如此完成的唯一模組。其他受控器/模組當然已在完成前的某個點輸掉仲裁,由於UBMID係獨特的且因此彼等的值在傳輸期間的某個點偏離。
然後模組開始在其動態位址上聆聽(例如,預設的未初始化位址0x7C)。核心集線器106首先傳輸其接收的UBMID(例如,針對藉由模組的檢查以證實其係預期接收方),之後係在先前界定之動態位址空間中的I2C硬體位址。然後模組將其動態位址切換至由核心集線器106提供的位址。
在部分實作中,若模組在傳輸其軟體位址的同時輸掉仲裁,模組決定也有另一模組在協商位址。然後輸掉仲裁的模組停止企圖與核心102通訊,並等待次一狀態封包以再度企圖引發中斷。
在各種實作中,核心102要求模組104a、 104b等具有進入模組降低或減緩至少部分其功能以省電之睡眠模式、深度睡眠模式的能力。例如,在部分實作中,當在睡眠模式中的同時,部分模組的功能可降低至被喚醒的功能。在部分實作中,當在睡眠模式中的同時,部分模組可實作特定功能,諸如,從一或多個環境感測器收集資料、將資料儲存在區域模組MCU板上、且當喚醒時傳輸資料至核心102。在部分實作中,核心102下令指定模組實施深度睡眠。模組解登錄其固定模組位址,其係與匯流排上所有其他未睡眠模組共享的狀態位址。在各種實作中,模組保持其動態位址。
在部分實作中,當模組進入睡眠狀態時,核心集線器106知道及記得何模組在睡眠。當核心集線器106要求模組動作時,核心集線器106能藉由與模組的動態位址通訊而暫時喚醒模組。例如,核心集線器106暫時喚醒模組以致能模組報告其連接狀態。在供應動態請求後,模組返回至深度睡眠模組或清醒(例如,若將喚醒命令傳送至該模組)。
在各種實作中,模組化通訊框架促進高階應用層組件及模組之間的二種通訊,其係一般通訊及直接通訊。使用任一種通訊,核心102的功能如同主控裝置且模組的功能如同受控裝置。
考慮一般通訊,應用程式開發者可請求特定類別的資料。此種資料可包括由感測器收集的感測器資料。如本文所更詳細地描述的,資料類別可包括人類生命 徵象資料類別,諸如,心跳率、體溫等。資料類別也可包括定位資料類別,諸如,緯度、經度、高度等。資料類別也可包括命令資料類別,諸如,用於燈光的資料輸入命令等。在各種實作中,核心102透明地或無縫地供應請求資料類別的資料,其中核心102不需要提供其之硬體的任何具體知識而經由模組化通訊框架不可知地供應此種資料至模組。
考慮直接通訊,應用程式開發者可請求與指定類別的硬體直接通訊。例如,應用程式開發者可經由核心102直接與特定硬體通訊。
圖10根據部分實作描繪用於促進模組化系統中之一般通訊的範例流程圖。參考圖1及10二者,方法在方塊1002啟始,其中核心102接收針對特定資料類別之資料的請求。該資料類別可取決於特定實作變化。例如,在部分實作中,資料類別可包括一或多個生命徵象資料類別。在部分實作中,資料類別可包括一或多個定位資料類別。在部分實作中,資料類別可包括一或多個大氣資料類別。
在方塊1004,核心102決定由匯流排上的一或多個個別模組支援的資料類別。在部分實作中,各模組與一或多個函數組關聯,且各組函數包括支援預定資料類別的至少一個資料類別函數。例如,若資料類別係心跳率資料,核心102決定何模組支援/提供心跳率資料。在另一範例中,若資料類別係溫度,核心102決定何模組支援 溫度資料。多個模組支援溫度資料係可能的。因此,將各模組與一或多個資料類別關聯。
在各種實作中,核心102藉由從模組接收資料類別資訊決定由匯流排上的一或多個個別模組支援的資料類別。例如,在部分實作中,核心102從各模組接收函數的編號列表。
在部分實作中,當模組首次連接至匯流排時,可將由模組支援的資料類別通訊至核心102。因此,核心102在任何點呼叫來自該具體模組的函數以從該模組接收資料。在部分實作中,當核心102接收針對資料的請求時,核心102遍及目前連接的模組搜尋以決定彼等的任一者是否支援請求的資料類別。
在範例情景中,假定使用者具有二個連接的溫度感測器,且使用者到裝置上的溫度監視應用程式。當模組首次連接至匯流排時,若將由模組支援的資料類別通訊至核心102,一旦連接到二個模組,核心102會已認知有二個模組能提供溫度資料。在部分實作中,當使用者請求資料時,使用者能預選擇使用者希望資料來自何感測器。
若核心102接收針對溫度的請求,然後遍及目前連接的模組搜尋以決定彼等的任一者是否支援請求的資料類別,核心102會掃描以發現支援該資料類別(例如,溫度資料)的模組。在範例中,若偵測到二個模組支援該資料類別,則核心102會基於預定優先度策略提供來 自一或二個模組的資料。
在部分實作中,為決定由一或多個個別模組支援的資料類別,核心102對各模組決定一或多個關聯函數組。然後核心102針對該組函數各者決定一或多個資料類別。此等資料類別係由個別模組所支援。
在方塊1006,核心102選擇該模組的至少一者供應所請求的資料。在部分實作中,各模組登錄所支援之資料類別的列表。資料類別可全域地界定。如本文所指示的,各資料類別可具有也可全域地界定的關聯函數組。此等函數致能指定模組供應指定資料類別的資料。例如,函數,諸如,取得溫度函數,可收集及供應溫度資料。函數,諸如,校正溫度感測器函數,可校正溫度函數。
在各種實作中,各模組也可登錄模組可執行以供應或提供特定資料類別的資料之函數的列舉集(例如,函數的編號列表)。在各種實作中,指定模組的功能可係提供特定函數組。例如,模組的功能可如同具有,例如,收集使用者的目前心跳率之一組函數的心率監視器。在另一範例實作中,模組可執行提供觀賞或裝飾燈光的一組函數。其他實作係可能的。
此等函數可任意編號以提供列舉表。係匯流排上之主控元件的核心102可呼叫此函數列表,並基於支援資料類別的函數取得特定資料類別的資料。例如,核心102可藉由數字呼叫特定函數。在部分實作中,模組開發者可經由核心102控制模組及彼等的個別函數。
在各種實作中,模組可係可穿戴的。例如,係心率監視器模組的模組可穿在使用者的手腕或其他部分上。此種心率監視器能收集資料,其能基於來自核心102的指令供應。
在範例情景中,當開發者請求供應特定資料類別時,核心102可檢查該組連接模組以查看何者支援該資料類別。然後核心102決定或選擇何模組用於供應該資料類別。
在部分實作中,供應該資料之模組的選擇係基於預定優先度策略。例如,在部分實作中,優先度策略可基於使用者偏好或使用者評等。在部分實作中,優先度策略可基於可用性。在部分實作中,優先度策略可基於效能。
在方塊1008,核心102提供來自該選擇模組之特定資料類別的資料。在各種實作中,核心102透明地或無縫地將請求資料類別的資料供應至請求應用程式。資料的供應可係不可知的,其中核心102處理所有初始化及標準函數呼叫而不涉及應用程式開發者。在部分實作中,核心102基於預定間隔服務該資料。例如,在部分實作中,該間隔可係使用者選擇的。在部分實作中,該間隔落係預定間隔(例如,每x微秒等)。
雖然步驟、操作、或計算可用具體次序呈現,該次序可在特定實作中改變。取決於特定實作,步驟的其他次序係可能的。在部分特定實作中,在此說明書中 顯示為序列的多個步驟可同時實施。又,部分實作可不具有所示的所有步驟及/或可具有取代本文所示步驟或本文所示步驟以外的其他步驟。
圖11描繪可用於本文描述的部分實作之範例計算系統1100的方塊圖。例如,計算系統1100可用於實作圖1之核心102、核心集線器106、模組104a、及模組104b的一或多者,以及實施本文描述的實作。在部分實作中,計算裝置1100可包括處理器1102、作業系統1104、記憶體1106、及輸入/輸出(I/O)介面1108。
在各種實作中,處理器1102可用於實作本文描述的各種功能及特性,以及實施本文描述之方法實作。在將處理器1102描述為實施本文描述之實作的同時,任何合適組件或計算系統1100之組件的組合或任何合適處理器或與計算系統1100關聯的處理器或任何合適系統可實施所描述的步驟。本文描述的實作可實行在使用者裝置上、伺服器上、或二者的組合上。
在各種實作中,計算系統1100也包括軟體應用程式1110,其可儲存在記憶體1106上或在任何其他合適儲存位置或電腦可讀媒體上。軟體應用程式1110提供致能處理器1102實施本文描述之實作及其他功能的指令。軟體應用程式也可包括引擎,諸如,用於實施與一或多個網路及網路通訊關聯之各種功能的網路引擎。計算系統1100的組件可藉由一或多個處理器或硬體裝置的任何組合,以及硬體、軟體、韌體的任何組合等實作。
為易於說明,圖11為處理器1102、作業系統1104、記憶體1106、I/O介面1108、及軟體應用程式1110各者顯示一個方塊。此等方塊1102、1104、1106、1108、及1110可代表多個處理器、作業系統、記憶體、I/O介面、及軟體應用程式。在各種實作中,計算系統1100可不具有所示的所有組件,及/或可具有其他元件,包括取代本文所示組件,或本文所示組件以外之其他種類的組件。
圖12描繪可用於本文描述的部分實作之範例計算系統1200的方塊圖。例如,計算系統1200可用於實作圖1之核心102、核心集線器106、模組104a、及模組104b的一或多者,以及實施本文描述的實作。
在部分實作中,計算系統1200可包括處理器1202、快取記憶體1204、記憶體1206、唯讀記憶體(ROM)1208、隨機存取記憶體(RAM)1210、及儲存裝置1212。如所示的,儲存裝置1212可包括一或多個模組1214、1216、1218等(標示為MOD1、MOD2、MOD3等)。計算系統1200也包括輸入裝置1220、輸出裝置1222、及通訊介面1224。計算系統1200也包括連接各種組件的匯流排1226。
在各種實作中,處理器1202可用於實作本文描述的各種功能及特性,以及實施本文描述之方法實作。在將處理器1202描述為實施本文描述之實作的同時,任何合適組件或計算系統1200之組件的組合或任何合適處 理器或與計算系統1200關聯的處理器或任何合適系統可實施所描述的步驟。本文描述的實作可實行在使用者裝置上、伺服器上、或二者的組合上。
在各種實作中,計算系統1200可包括軟體應用程式,其可儲存在記憶體1206上或在任何其他合適儲存位置或電腦可讀媒體上。軟體應用程式提供致能處理器1202實施本文描述之實作及其他功能的指令。軟體應用程式也可包括引擎,諸如,用於實施與一或多個網路及網路通訊關聯之各種功能的網路引擎。計算系統1200的組件可藉由一或多個處理器或硬體裝置的任何組合,以及硬體、軟體、韌體的任何組合等實作。
為易於說明,圖12為上述元件各者顯示一個方塊。此等方塊可代表多個處理器、作業系統、記憶體、I/O介面、及軟體應用程式。在各種實作中,計算系統1200可不具有所示的所有組件,及/或可具有其他元件,包括取代本文所示組件,或本文所示組件以外之其他種類的組件。
圖13描繪可用於本文描述的部分實作之範例計算系統1300的方塊圖。例如,計算系統1300可用於實作圖1之核心102、核心集線器106、模組104a、及模組104b的一或多者,以及實施本文描述的實作。
在部分實作中,計算系統1300可包括處理器1302、晶片組1304、通訊介面1306、及RAM 1308、儲存裝置1310、輸出裝置1312、橋接器1314、及一或多個使 用者介面組件1316。
在各種實作中,處理器1302可用於實作本文描述的各種功能及特性,以及實施本文描述之方法實作。在將處理器1302描述為實施本文描述之實作的同時,任何合適組件或計算系統1300之組件的組合或任何合適處理器或與計算系統1300關聯的處理器或任何合適系統可實施所描述的步驟。本文描述的實作可實行在使用者裝置上、伺服器上、或二者的組合上。
在部分實作中,計算系統1300可包括軟體應用程式,其可儲存在記憶體1306上或在任何其他合適儲存位置或電腦可讀媒體上。軟體應用程式提供致能處理器1302實施本文描述之實作及其他功能的指令。軟體應用程式也可包括引擎,諸如,用於實施與一或多個網路及網路通訊關聯之各種功能的網路引擎。計算系統1300的組件可藉由一或多個處理器或硬體裝置的任何組合,以及硬體、軟體、韌體的任何組合等實作。
為易於說明,圖13為上述元件各者顯示一個方塊。此等方塊可代表多個處理器、作業系統、記憶體、I/O介面、及軟體應用程式。在各種實作中,計算系統1300可不具有所示的所有組件,及/或可具有其他元件,包括取代本文所示組件,或本文所示組件以外之其他種類的組件。
本文描述的實作提供各種利益。例如,關於模組平台的實作促進模組及核心之間經由核心集線器的通 訊。相關於通訊協定的實作促進核心及模組之間的通訊、促進高速及低速模式二者、允許中斷及模組偵測、及容許喚醒在睡眠狀態中的模組。相關於模組化框架的實作管理通訊匯流排、管理與模組的通訊、將匯流排事件通知系統、及提供對感測器的存取方法。
雖然本描述已相關於其之特定實施例描述,此等特定實施例僅係說明而非限制。在範例中說明的觀念可施用至其他範例及實作。
在各種實作中,用於由一或多個處理器執行之編碼的軟體係在一或多個非暫態電腦可讀媒體中。當由一或多個處理器執行時,軟體可操作以實施本文描述的實作及其他功能。
能將任何合適的程式化語言用於實作特定實施例的常式,包括C、C++、Java、組合語言等。能使用不同程式技術,諸如,程序化或物件導向。常式能在單處理裝置或多處理器上執行。雖然步驟、操作、或計算可用具體次序呈現,此次序可在不同的特定實施例中改變。在部分特定實施例中,在此說明書中顯示為序列的多個步驟能同時實施。
特定實施例可實作在供指令執行系統、設備、或裝置使用或與其結合的非暫態電腦可讀儲存媒體(也稱為機器可讀儲存媒體)中。特定實施例能以軟體或硬體或二者之組合的形式實作。當由一或多個處理器執行時,控制邏輯可操作以實施本文描述的實作及其他功能。 例如,實體媒體,諸如,硬體儲存裝置,能用於儲存能包括可執行指令的控制邏輯。
特定實施例可藉由使用可程式化通用數位電腦、及/或藉由使用特定應用積體電路、可程式化邏輯裝置、場效可規劃閘極陣列、光學、化學、生物學、量子、或奈米工程系統、組件、及機制實作。通常,特定實施例的功能能藉由本技術已知的任何機構實現。能使用分散式、網路系統、組件、及/或電路。資料的通訊或傳輸可係有線的、無線的、或藉由任何其他機構。
「處理器」可包括處理資料、信號、或其他資訊的任何合適硬體及/或軟體系統、機制、或組件。處理器可包括具有用於實現功能的通用中央處理單元、多處理單元、專用電路的系統,或其他系統。處理不必限於地理位置,或具有時間限制。例如,處理器可用「即時」、「離線」、以「批次模式」等方式實施其功能。處理部分可在不同時間及不同地點藉由不同(或相同)處理系統實施。電腦可係與記憶體通訊的任何處理器。記憶體可係任何合適的資料儲存器、記憶體、及/或非暫態電腦可讀儲存媒體,包括電子儲存裝置,諸如,隨機存取記憶體(RAM)、唯讀記憶體(ROM)、磁性儲存裝置(硬碟驅動器等)、快閃記憶體、光學儲存裝置(CD、或DVD等)、磁或光碟、或適用於儲存用於由處理器執行之指令(例如,程式或軟體指令)的其他實體媒體。例如,實體媒體,諸如,硬體儲存裝置,能用於儲存能包括可執行指 令的控制邏輯。指令也能包含在並提供為電子信號,例如,採用從伺服器(例如,分散式系統及/或雲端計算系統)遞送的軟體即服務(SaaS)的形式。
也將理解描畫在圖式/圖中之元件的一或多者也能以更分散或積集的方式實作,或甚至在特定情形中移除或呈現為不可操作,根據特定應用程式係有用的。實作能儲存在機器可讀媒體中以允許電腦實施任何上述方法的程式或碼也在精神及範圍內。
如在本文之描述及下文之申請專利範圍通篇中所使用的,除非上下文另行明確地指定,「一(a)」、「一(an)」、及「該」包括複數個參考。如在本文之描述及下文之申請專利範圍通篇中所使用的,除非上下文另行明確地指定,「在…中」的意義也包括「在…中」及「在…上」。
因此,當特定實施例已於本文描述的同時,修改、各種改變、及置換的範圍意圖在上述揭示中,且將理解在部分實例中,將使用特定實施例的一些特性而不需要其他特性的對應使用並未脫離所陳述的範圍及精神。因此,可產生許多修改以使特定情況或材料適應基本範圍及精神。
為清晰解釋,在部分實例中,本技術可呈現為包括獨立功能方塊,其包括包括裝置、裝置組件、以軟體具現之方法中的步驟或常式、或硬體及軟體之組合的功能方塊。
在部分實施例中,電腦可讀儲存裝置、媒體、及記憶體能包括包含位元串流等的有線及無線信號。然而,當提及時,非暫態電腦可讀儲存媒體明確地排除,諸如,本質上係能量、載波信號、電磁波、及信號的媒體。
根據上述範例的方法能使用電腦可讀媒體儲存或另外自其供應的電腦可執行指令實作。此種指令能包括,例如,其導致或另外組態通用電腦、特殊用途電腦、或特殊用途處理裝置實施特定函數或函數組的指令及資料。所使用之電腦資源的一部分能透過網路存取。電腦可執行指令可係,例如,二進位、中間格式指令,諸如,組合語言、韌體、或原始碼。可用於儲存指令、所使用之資訊、及/或在根據描述範例之方法期間產生的資訊之電腦可讀媒體的範例包括磁或光碟、快閃記憶體、設有非揮發性記憶體的USB裝置、及網路儲存裝置等。
實作根據此等揭示之方法的裝置能包括硬體、韌體、及/或軟體,並能採用任何各式各樣的形狀因子。此種形狀因子的典型範例包括膝上型電腦、智慧型手機、小尺寸個人電腦、個人數位助理、機架安裝式裝置、及獨立裝置等。本文描述的功能也能具現在周邊或附加卡中。藉由另一範例,此種功能也能實作在不同晶片之中的電路板或在單一裝置中執行的不同處理上。
指令、用於運送此種指令的媒體、用於執行彼等的計算資源、及用於支援此種計算資源的其他結構係 用於提供在此等揭示中描述之功能的機構。
雖然各式各樣的範例及其他資訊用於解釋在隨附的申請專利範圍之範圍內的樣態,基於此種範例中的特定特性或配置不應暗示申請專利範圍的限制,而熟悉本技術的人士會能使用此等範例以導出各式各樣的實作。另外,雖然部分專利標的已用對結構化特性及/或方法步驟具體的語言描述,待理解界定在隨附之申請專利範圍中的專利標的不必受限於所描述的此等特性或作為。例如,此種功能能不同地分散在本文標識之組件以外的組件中或在其中實施。更確切地說,將所描述的特性及步驟揭示為在隨附的申請專利範圍之範圍內的系統及方法之組件的範例。再者,敘述一組「的至少一者」的聲明語言指明該組的一個成員或該組的多個成員滿足該聲明。
為清晰解釋,在部分實例中,本技術可呈現為包括獨立功能方塊,其包括包含裝置、裝置組件、以軟體具現之方法中的步驟或常式、或硬體及軟體之組合的功能方塊。
須注意在特定範例實作中,本文略述的最佳化及/或配置可藉由編碼在一或多個實體、非暫態媒體中的邏輯實作,諸如,設置在特定應用積體電路(ASIC)中的嵌入式邏輯、數位訊號處理器(DSP)指令、軟體(可能包括待由處理器或其他相似機器等執行的目的碼及原始碼)。電腦可讀儲存裝置、媒體、及記憶體能包括包含位元串流等的有線及無線信號。然而,當提及時,非暫 態電腦可讀儲存媒體明確地排除,諸如,本質上係能量、載波信號、電磁波、及信號的媒體。
100‧‧‧模組化系統
102‧‧‧核心
104a、104b‧‧‧模組
106‧‧‧核心集線器
108‧‧‧核心處理器
110a、110b‧‧‧處理器或微控制器
112a、112b‧‧‧感測器
114‧‧‧匯流排

Claims (62)

  1. 一種方法,包含:偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的;將該一或多個模組與該匯流排上的狀態位址關聯;在該狀態位址上輪詢一或多個中斷;及基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組。
  2. 如申請專利範圍第1項的方法,其中若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。
  3. 如申請專利範圍第1項的方法,其中該狀態位址係全域共享位址。
  4. 如申請專利範圍第1項的方法,其中該狀態位址係固定位址。
  5. 如申請專利範圍第1項的方法,更包含,回應於該輪詢,從該個別模組的一或多者接收一或多個輪詢中斷。
  6. 如申請專利範圍第1項的方法,更包含,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。
  7. 如申請專利範圍第1項的方法,其中該一或多個動態位址係獨特位址。
  8. 一種運載程式指令於其上的非暫態電腦可讀儲存 媒體,當該指令由一或多個處理器執行時,導致該一或多個處理器實施包含下列步驟的操作:偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的;將該一或多個模組與該匯流排上的狀態位址關聯;在該狀態位址上輪詢一或多個中斷;及基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組。
  9. 如申請專利範圍第8項的電腦可讀儲存媒體,其中若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。
  10. 如申請專利範圍第8項的電腦可讀儲存媒體,其中該狀態位址係全域共享位址。
  11. 如申請專利範圍第8項的電腦可讀儲存媒體,其中該狀態位址係固定位址。
  12. 如申請專利範圍第8項的電腦可讀儲存媒體,其中當執行該指令時,更導致該一或多個處理器實施包含以下步驟的操作,回應於該輪詢,從該個別模組的一者接收一或多個輪詢中斷。
  13. 如申請專利範圍第8項的電腦可讀儲存媒體,其中當執行該指令時,更導致該一或多個處理器實施包含以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。
  14. 如申請專利範圍第8項的電腦可讀儲存媒體,其 中該一或多個動態位址係獨特位址。
  15. 一種系統,包含:一或多個處理器;及邏輯,編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行,且當執行時,可操作以實施包含下列步驟的操作:偵測連接至匯流排的一或多個模組,其中該一或多個模組係未初始化的;將該一或多個模組與該匯流排上的狀態位址關聯;在該狀態位址上輪詢一或多個中斷;及基於該一或多個中斷,指派一或多個個別動態位址給該一或多個模組。
  16. 如申請專利範圍第15項的系統,其中若該一或多個模組不具有指派給彼等的動態位址,則該一或多個模組係未初始化的。
  17. 如申請專利範圍第15項的系統,其中該狀態位址係全域共享位址。
  18. 如申請專利範圍第15項的系統,其中該狀態位址係固定位址。
  19. 如申請專利範圍第15項的系統,其中當執行該邏輯時,可進一步操作以實施包含以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個輪詢中斷。
  20. 如申請專利範圍第15項的系統,其中當執行該 邏輯時,可進一步操作以實施包含以下步驟的操作,回應於該輪詢,從該個別模組的一或多者接收一或多個獨特識別符。
  21. 一種方法,包含:啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始;決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯;及若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊。
  22. 如申請專利範圍第21項的方法,其中啟始該通訊包含在該動態位址上實施一或多個寫入操作。
  23. 如申請專利範圍第21項的方法,其中該動態位址係獨特位址。
  24. 如申請專利範圍第21項的方法,其中決定該匯流排上的任何其他模組是否啟始中斷包含在該狀態位址上實施一或多個讀取操作。
  25. 如申請專利範圍第21項的方法,其中該狀態位址係全域共享位址。
  26. 如申請專利範圍第21項的方法,其中繼續與該至少一個第一模組通訊包含經由與該至少一個第一模組關聯的該動態位址轉移資訊。
  27. 如申請專利範圍第21項的方法,其中繼續與該至少一個第一模組通訊包含從該動態位址實施一或多個讀取操作。
  28. 一種運載程式指令於其上的非暫態電腦可讀儲存媒體,當該指令由一或多個處理器執行時,導致該一或多個處理器實施包含下列步驟的操作:啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始;決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯;及若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊。
  29. 如申請專利範圍第28項的電腦可讀儲存媒體,其中啟始該通訊包含在該動態位址上實施一或多個寫入操作。
  30. 如申請專利範圍第28項的電腦可讀儲存媒體,其中該動態位址係獨特位址。
  31. 如申請專利範圍第28項的電腦可讀儲存媒體,其中,為決定該匯流排上的任何其他模組是否啟始中斷,當執行指令時,更導致該一或多個處理器實施包含在該狀態位址上實施一或多個讀取操作的操作。
  32. 如申請專利範圍第28項的電腦可讀儲存媒體, 其中該狀態位址係全域共享位址。
  33. 如申請專利範圍第28項的電腦可讀儲存媒體,其中,為繼續與該至少一個第一模組通訊,當執行該指令時,更導致該一或多個處理器實施包含經由與該至少一個第一模組關聯之該動態位址轉移資訊的操作。
  34. 如申請專利範圍第28項的電腦可讀儲存媒體,其中,為繼續與該至少一個第一模組通訊,當執行該指令時,更導致該一或多個處理器實施包含從該動態位址實施一或多個讀取操作的操作。
  35. 一種系統,包含:一或多個處理器;及邏輯,編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行,且當執行時,可操作以實施包含下列步驟的操作:啟始與在匯流排上的至少一個第一模組的通訊,其中該通訊係經由與該至少一個第一模組關聯的動態位址啟始;決定該匯流排上的至少一個第二模組是否啟始中斷,其中該決定係基於在狀態位址的資訊,且其中該狀態位址與該第一模組及該第二模組關聯;及若沒有該匯流排上的其他模組啟始中斷,繼續與該至少一個第一模組通訊。
  36. 如申請專利範圍第35項的系統,其中啟始該通訊包含在該動態位址上實施一或多個寫入操作。
  37. 如申請專利範圍第35項的系統,其中該動態位址係獨特位址。
  38. 如申請專利範圍第35項的系統,其中,為決定該匯流排上的任何其他模組是否啟始中斷,當執行該邏輯時,可進一步操作以實施包含在該狀態位址上實施一或多個讀取操作的操作。
  39. 如申請專利範圍第35項的系統,其中該狀態位址係全域共享位址。
  40. 如申請專利範圍第35項的系統,其中,為繼續與該至少一個第一模組通訊,當執行該邏輯時,可進一步操作以實施包含經由與該至少一個第一模組關聯之該動態位址轉移資訊的操作。
  41. 一種方法,包含:接收針對第一資料類別之資料的請求;決定由匯流排上之一或多個個別模組支援的資料類別,其中該資料類別包括第一資料類別;選擇該模組的至少一者用以服務所請求的該資料;及從該選擇的至少一個模組提供該第一資料類別的該資料。
  42. 如申請專利範圍第41項的方法,其中該資料類別包含一或多個生命徵象資料類別。
  43. 如申請專利範圍第41項的方法,其中該資料類別包含一或多個定位資料類別。
  44. 如申請專利範圍第41項的方法,其中該資料類 別包含一或多個大氣資料類別。
  45. 如申請專利範圍第41項的方法,其中該一或多個個別模組的各模組與一或多組函數關聯,且其中各組函數包括支援預定資料類別的至少一個資料類別函數。
  46. 如申請專利範圍第41項的方法,其中決定由該一或多個個別模組支援的該資料類別包含:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。
  47. 如申請專利範圍第41項的方法,其中該選擇係基於預定優先度策略。
  48. 如申請專利範圍第41項的方法,更包含致能該模組的一或多者進入睡眠模式及自其喚醒。
  49. 一種運載程式指令於其上的非暫態電腦可讀儲存媒體,當該指令由一或多個處理器執行時,導致該一或多個處理器實施包含下列步驟的操作:接收針對第一資料類別之資料的請求;決定由匯流排上之一或多個個別模組支援的資料類別,其中該資料類別包括第一資料類別;選擇該模組的至少一者用以服務所請求的該資料;及從該選擇的至少一個模組提供該第一資料類別的該資料。
  50. 如申請專利範圍第49項的電腦可讀儲存媒體,其中該資料類別包含一或多個生命徵象資料類別。
  51. 如申請專利範圍第49項的電腦可讀儲存媒體, 其中該資料類別包含一或多個定位資料類別。
  52. 如申請專利範圍第49項的電腦可讀儲存媒體,其中該資料類別包含一或多個大氣資料類別。
  53. 如申請專利範圍第49項的電腦可讀儲存媒體,其中該一或多個個別模組的各模組與一或多組函數關聯,且其中各組函數包括支援預定資料類別的至少一個資料類別函數。
  54. 如申請專利範圍第49項的電腦可讀儲存媒體,其中,為決定由該一或多個個別模組支援的該資料類別,當執行該指令時,更導致該一或多個處理器實施包含下列步驟的操作:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。
  55. 如申請專利範圍第49項的電腦可讀儲存媒體,其中該選擇係基於預定優先度策略。
  56. 如申請專利範圍第49項的電腦可讀儲存媒體,其中當執行該指令時,更導致該一或多個處理器實施包含致能該模組的一或多者進入睡眠模式及自其喚醒的操作。
  57. 一種系統,包含:一或多個處理器;及邏輯,編碼在該一或多個非暫態電腦可讀儲存媒體中,用於由該一或多個處理器執行,且當執行時,可操作以實施包含下列步驟的操作:接收針對第一資料類別之資料的請求; 決定由匯流排上之一或多個個別模組支援的資料類別,其中該資料類別包括第一資料類別;選擇該模組的至少一者用以服務所請求的該資料;及從該選擇的至少一個模組提供該第一資料類別的該資料。
  58. 如申請專利範圍第57項的系統,其中該資料類別包含一或多個生命徵象資料類別。
  59. 如申請專利範圍第57項的系統,其中該資料類別包含一或多個定位資料類別。
  60. 如申請專利範圍第57項的系統,其中該資料類別包含一或多個大氣資料類別。
  61. 如申請專利範圍第57項的系統,其中該一或多個個別模組的各模組與一或多組函數關聯,且其中各組函數包括支援預定資料類別的至少一個資料類別函數。
  62. 如申請專利範圍第57項的系統,其中,為決定由該一或多個個別模組支援的該資料類別,當執行該邏輯時,可進一步操作以實施包含下列步驟的操作:針對該模組各者決定一或多組關聯函數;及針對該組函數各者決定一或多個資料類別。
TW105143937A 2015-12-31 2016-12-29 模組化通訊架構 TW201737103A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562274043P 2015-12-31 2015-12-31
US201562274040P 2015-12-31 2015-12-31
US201562274038P 2015-12-31 2015-12-31

Publications (1)

Publication Number Publication Date
TW201737103A true TW201737103A (zh) 2017-10-16

Family

ID=59225604

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105143937A TW201737103A (zh) 2015-12-31 2016-12-29 模組化通訊架構

Country Status (5)

Country Link
US (1) US20190013962A1 (zh)
EP (1) EP3398299A1 (zh)
CN (1) CN108702314A (zh)
TW (1) TW201737103A (zh)
WO (1) WO2017117396A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI723119B (zh) * 2017-01-20 2021-04-01 香港商斑馬智行網絡(香港)有限公司 相機應用的圖像預覽方法、裝置及相機應用系統

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713102B2 (en) * 2016-07-05 2020-07-14 Matias Klein Unmanned ground and aerial vehicle attachment system
CN110445700B (zh) * 2019-08-14 2021-12-17 深圳市优必选科技股份有限公司 主从机通信系统、方法及终端设备
CN110932915B (zh) * 2019-12-18 2022-07-12 北京中企智造科技有限公司 一种多模块拼装自动识别拓扑网络的方法
CN111092967B (zh) * 2019-12-31 2022-07-15 重庆菲莫科技有限公司 一种设备地址冲突处理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636342A (en) * 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5938742A (en) * 1995-08-18 1999-08-17 General Magic, Inc. Method for configuring an intelligent low power serial bus
US5928345A (en) * 1996-09-30 1999-07-27 Rosemont Inc. Field instrument with data bus communications protocol
US5974475A (en) * 1997-06-24 1999-10-26 Microchip Technology Incorporated Method for flexible multiple access on a serial bus by a plurality of boards
US20050283555A1 (en) * 2004-06-22 2005-12-22 General Electric Company Computer system and method for transmitting interrupt messages through a parallel communication bus
CA2906071A1 (en) * 2013-03-15 2014-09-18 Hayward Industries, Inc. System and method for dynamic device discovery and address assignment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI723119B (zh) * 2017-01-20 2021-04-01 香港商斑馬智行網絡(香港)有限公司 相機應用的圖像預覽方法、裝置及相機應用系統

Also Published As

Publication number Publication date
EP3398299A1 (en) 2018-11-07
US20190013962A1 (en) 2019-01-10
CN108702314A (zh) 2018-10-23
WO2017117396A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
TW201737103A (zh) 模組化通訊架構
US20190108149A1 (en) I3c in-band interrupts directed to multiple execution environments
TWI410789B (zh) 單晶片系統及用於其之方法
TWI506559B (zh) 可動態和選擇性停用核心以及重新設定之多核心微處理器及其方法
KR101843782B1 (ko) 모바일 기기
US10241551B2 (en) Control and synchronization mechanism for a complex distributed power management system
US8397053B2 (en) Multi-motherboard server system
TWI673955B (zh) 具有信號標功能的系統晶片以及信號標指派方法
EP2898659B1 (en) Method and apparatus for dynamic address assignment
WO2019233322A1 (zh) 资源池的管理方法、装置、资源池控制单元和通信设备
EP3844628B1 (en) Slave-to-slave direct communication
WO2017032112A1 (zh) 一种与无中央处理器单板通讯的方法及通讯设备
US10942798B2 (en) Watchdog timer hierarchy
CN116243995B (zh) 通信方法、装置、计算机可读存储介质以及电子设备
TW202014904A (zh) I3c上的低等待時間虛擬通用輸入/輸出
JP6933022B2 (ja) 通信装置、通信端末、及び通信システム
EP3812895A1 (en) Network-adapter configuration using option-rom in multi-cpu devices
US9201663B2 (en) Computer system and remote control method for computer device
CN116830082A (zh) 嵌入式系统的启动控制方法和装置、存储介质和电子设备
CN106489137A (zh) 通用串行总线(usb)通信系统和方法
CN110612520A (zh) 配置参数传送
US9892073B1 (en) Bus addressing systems and methods using repurposed bits
TWI685749B (zh) 用於通信波形的短位址模式
CN110572387A (zh) 一种链路层处理方法
JP2012038260A (ja) バス転送システム