Xtrinsic智慧型系統架構(ISF)是一個全面而強大的運行架構,在Xtrinsic智慧感測器中運行的低功耗處理器,能夠發揮開放式感測器集線器的作用。智慧型系統架構讓客戶能直接在Xtrinsic智慧感測器上開發及執行其自定義的感測器演算法,從而開啟感測器資料處理的新紀元。
Xtrinsic智慧型系統架構可處理常見任務,如設定感測器的組態、調度安排感測器交替、設定處理器電源模式以及處理低端通訊協定等,讓開發人員能專心實施其特定應用。簡言之,智慧型系統架構允許使用者專注於使用感測器資料,而不是獲得資料。
解析嵌入式感測器應用
嵌入式系統的韌體(Firmware)負責處理一些基本功能,包括系統啟動時的初始化、透過不同的通訊協定向感測器發送和接收消息、配置各個感測器、調度定期資料處理、控制處理器提供的各種電源模式、管理中斷向量表、配置系統的其他外部裝置、發送和接收主機消息、管理堆疊指標和相關的上下文切換、實施處理併發的機制、計算不同應用的有用的輸出等。
然而,從應用開發人員的角度來看,上述的大多數功能只是為了計算有用的輸出。那些其他功能,在需要時也只是為了獲得目標輸出而進行的、必要的內務處理。理想情況是,開發人員希望一次性編寫所有這些基本功能,然後重複使用它們,從而可以專注於應用的實現。
如果應用需要不同的處理器或新的感測器時,這種思路就不再適用。當系統添加新的或不同的處理器和感測器時,必須更改或擴展基本程式碼。如果開發人員確實想對該應用投入時間和精力,則需要對所有基本程式碼進行大量不必要的維護。
這正是智慧型系統架構的價值所在。該架構的設計理念是處理所有的硬體、通訊,並維護這些基本功能,允許開發人員和使用者能夠將精力集中於他們真正的興趣所在--應用。智慧型系統架構可處理並管理處理器和感測器的基本服務。此外,隨著新硬體逐步應用於新裝置,該架構允許應用程式碼輕鬆地轉移到這些新裝置中,不須為新平台重新開發整個基礎架構。
智慧型系統架構專門用來處理與應用獲得並使用感測器資料,以及處理傳輸給主機的應用輸出等有關的常見功能。這些透過一組可設定、可組合的元件來實現,允許開發人員只選擇其特殊應用所需要的元件,例如提供一個I2C協定適配器(Adapter)與感測器進行通訊。
此外,還提供感測器適配器來處理感測器組態設定。適配器模式用於輕鬆添加新協定和感測器。如果未提供一個相應的適配工具,廠商則會提供一塊範本和多個範例來協助開發人員編寫自己的感測器適配器。
|
圖1 智慧型系統架構圖 |
採用一個特定元件來處理前面介紹的各個內部處理功能,將這些元件組合在一起就構成了智慧型系統架構的核心庫(圖1)。由於記憶體是嵌入式系統的一個關鍵元件,因此智慧型系統架構將提供做為組合元件的可程式庫,這使得開發人員能夠只選擇其特定應用所需要的元件。
該架構為開發人員萃取出底層實施細節,使其能專注於應用的功能。這相當於開發人員只負責駕駛,而不必建造發動機。此概念適用於整個軟體堆疊(Software Stack)的多個層級。在每一個層級,使用者決定期望的抽象級別,並將其用於支援應用。智慧型系統架構支援各個層次的使用者,涵蓋從想要最高抽象等級的使用者到想要提供每個細節等級的使用者。
|
圖2 智慧型系統架構流程圖 |
圖2為智慧型系統架構資料流程圖,描述了資料如何從感測器傳輸到應用,以及主機如何與應用進行互動。以下將更詳細地介紹這些內容。
檢視感測器資料流程
|
圖3 主要的感測器資料流程 |
圖3描述了感測器資料的主要發布-訂閱資料流程,共有五個基本步驟。一開始,先接收感測器資料,將訂閱參數傳給感測器管理器。指定感測器的訂閱參數包括採樣率、報告率、目標採樣解析度等,以及特定於某感測器類型的組態設定參數,如加速度感測器的g-Range等。返回訂戶訊標(Subscription Token),在後面的步驟中用於接收資料。
在內部,為了滿足使用者的需求,智慧型系統架構感測器管理器設定或重新設定相應的感測器組態。訂閱的感測器資料只有請求啟動(Start)後才能提供給使用者。一旦調用啟動,感測器管理器就開始接收樣本資料,然後觸發一個事件。使用者等待該事件,只要提供新資料,就會觸發該事件。如果使用者希望暫停接收感測器資料,就應該調用停止(Stop)。最後,如果不再需要來自感測器管理器的資料,訂閱就終止(Ended)(圖4)。
|
圖4 主要的主機介面資料流程 |
了解主機介面資料流程
主要的主機介面資料流程處理應用與主機處理器之間的資料傳輸,可透過兩種方式進行。第一種方式是,只要計算出資料應用就非同步更新其輸出資料,允許主機隨時讀取資料。第二種方式則是允許主機中斷系統,並請求同步返回特定資料。智慧型系統架構命令解析器(Command Interpreter)組件為應用執行這些功能。
使用額外可設定介面
如前所述,智慧型系統架構允許使用者控制系統特性,無須了解底層的細節。下面簡要描述系統的其他可設定的特性。
該架構包含Freescale MQX RTOS版本,用於處理中斷向量表、任務背景切換和同步。而匯流排管理器(Bus Manager)組件可處理週期性任務和事件的時鐘。開發人員則能夠透過可修改的預設組態設定對系統的通訊通道進行設定。裝置控制也可設定系統中的其他外部裝置。另外,電源管理器(Power Manager)允許系統在特定間隔期間採用最低功率位準(若是這樣設定的話)。
系統組態設定取決於所涉及感測器的數量和類型,以及每個感測器的特性。智慧型系統架構允許使用者通知系統是否有可用感測器,並描述他們之間的互動。系統期望感測器以最小頻率的倍數提供資料。以上過程可由使用者直接完成,或者向系統發出指令,根據指定配置提供最佳組態設定。
除此之外,標頭檔(Header File)用於打開或關閉智慧型系統架構元件,允許這些元件在啟動時自動進行初始化。
善用所有可用資源
使用者可向Xtrinsic FXLC95000智慧加速度感測器(該感測器採用一個修改後的ColdFire V1內核)的供應商購買這款智慧型系統架構軟體。該智慧型系統架構元件除了提供內核庫外,還提供至少可用於加速度感測器(MMA865x系列)、磁力計(MAG3110)、陀螺儀(FXAS21000)、加速度感測器和磁力計組合(FXOS8700),以及壓力感測器(MPL3115)的感測器適配器;該感測器適配器清單仍在不斷增加。除了感測器適配器外,也提供嵌入式應用檔示例,做為CodeWarrior項目。這可讓使用者根據每個所提供的器件修改並擴展應用。
此外,還提供兩個虛擬感測器,允許使用者使用一些原廠的應用,包括虛擬陀螺儀或同時使用加速度感測器和磁力計的電子羅盤應用。
此外,預建的韌體映射與每個感測器適配器關聯的嵌入式應用相對應,也可載入含有處理器和感測器的評估板。而此文檔包括介紹系統詳細情況的《軟體參考手冊》、介紹介面詳細資訊的《API參考手冊》、在PC上載入智慧型系統架構以及將韌體載入到開發板上的安裝說明。
此外,還提供培訓模組,講解如何下載和安裝韌體、將韌體載入到元件、從預定義專案中創建韌體、修改專案、添加新元件以及添加新感測器。每個模組都以基本的加速度感測器例子開始,介紹智慧型系統架構的特性,然後逐步展示必要的更改。
廠商已經將智慧型系統架構擴展到Kinetis系列處理器上,該系列最初提供一個KL25Z Freedom板卡版本,目前還可提供一個感測器多用板,附著在Freedom板上,允許使用者嘗試使用多種感測器。借助智慧型系統架構庫、感測器適配器和樣本應用,可更輕鬆地實現上述目標。
未來廠商計畫是透過兩種方式整合智慧型系統架構與Processor Expert。第一種方式是,將智慧型系統架構與Processor Expert工具相整合,從微處理器中抽象出智慧型系統架構。第二種方式是,在Processor Expert內創建智慧型系統架構元件,允許使用者透過Processor Expert GUI選擇功能。
感測器資料處理開創新局面
市場上也推出了其他感測器集線器配置。然而,它們僅限於固定配置或特定硬體。智慧型系統架構讓使用者能夠採用其他同類產品無法提供的方法。此架構透過感測器集線器功能,支援直接向系統添加其他感測器,並管理感測器提供的資料。更重要的是,它提供一個開放式應用程式介面(API),為軟體發展人員提供基礎設施和機制,讓他們能夠集中精力開發他們的應用。
Xtrinsic智慧型系統架構是一個嶄新且開放的機制,讓軟體發展人員可以集中精力使用感測器資料進行高階演算法開發,而不是獲得感測器資料,如此一來,使用者可以投入更多時間和精力增加所開發產品的價值。
(本文作者任職於飛思卡爾)