感測器模組

什麼是感應器模組?

感應器模組是一種軟體,可透過智慧方式將數種感應器的資料結合起來,作為改善應用或系統性能之用。結合來自多個感應器的資料也能夠更正個別感應器的缺點,以便計算出正確的位置與方向資訊。

MEMS 感應器在過去數年期間已經成為電子系統中關鍵組成部分。  常見的 MEMS 感應器系列現在可以在所有行動裝置上獲得支援,並且提供例如螢幕旋轉、手勢辨識、遊戲、計步以及個人導航等支援。  隨著行動市場持續將焦點放在感應器整合,為產品提高附加價值過程的作法使得感應器模組在 Kionix 作為成功的感應器供應商上扮演重要角色。

Kionix 感應器模組解決方案

Kionix 感應器模組解決方案擁有絕佳的靈活性,可提供硬體組態 (表示軟體可以在內嵌的微控制器上執行) 與軟體組態 (表示可以在應用處理器上執行)。如此可在多感應器實施的完整範圍中提供無以倫比的擴展性。此外,Kionix 感應器模組支援多種感應器類型的組合 (加速度感應器-地磁感應器、加速度感應器-陀螺儀和加速度感應器-地磁感應器-陀螺儀),支援客戶層級的產品系列策略需求,甚至還支援其他製造商生產的零件。

Kionix 硬體與軟體感應器模組組態。

Kionix 感應器模組也能夠在各種作業系統間進行擴充從嵌入式固定點微控制器 RTOS 系統到浮動點、32-位元行動電話 OS (例如 Android 和 Windows 8)。 它包括先進的電源管理技術,可協助設計人員管理感應器互動與資料處理,並且只需最低的成本即可獲得無以倫比的功率與性能。

Kionix 感應器模組甚至可支援協力廠商或訂製開發的軟體以增強行動處理與應用程式特定功能,而 Kionix 可為合格的客戶提供完整的原始碼,以及領先應用處理器的直接支援與 BSP (板支援封裝),未來也會提供RF IC。使用 Kionix 感應器模組的設計者能夠校準、補償與更正偏壓與異常;管理感應器的功率提供以增加電池壽命;並且避免不同類型感應器之間彼此的干擾。  Kionix 感應器模組為客戶提供需要的靈活性與性能,使它成為市場上功能最強的組合。

Kionix 軟體庫提供:

加速度感應器

  • 最低 MIPS 的最小組態
  • 裝置方向 (螢幕、裝置盒的 6 面)
  • 計步器
  • 行動啟動「開關開啟」

加速度感應器/地磁感應器

  • 大多數智慧手機的主要組態
  • 重力補償的地磁感應器
  • 硬/軟磁場抑制的高演算複雜性
  • 免除 "圖 8" 終端使用者校準的 IP
  • ~600uA 電流可供感應器進行 3MIPS 運算

加速度感應器/地磁感應器/陀螺儀

  • 高階智慧手機、平板電腦、Win8 平板的組態
  • 高取樣率可提供改良的回應與精確性
  • 陀螺儀不會受到外部環境效應的影響
  • 提供功率管理、零校準和 LBS 的 IP
  • 6mA 功率可提供感應器進行 8-10MIPS 運算

Kionix 軟體解決方案 / Android 感應器硬體抽象層架構

Kionix 的 Android 感應器具體實現了 Google 為 Android 系統指定的感應器硬體抽象層 (HAL)。 它形成了處於低級內核驅動程式與高級 Android java 框架之間的中間層。 Kionix 感應器庫實現了感應器模組,將來自加速度感應器、地磁感應器和陀螺儀的輸入合併成一個複合 3D 方向輸出。 該庫包括電源狀態最佳化;不需要使用的感應器設定到一種低功耗模式以便節省設備電池的電量。該庫的內部狀態管理模組還在啟動 3D 方向輸出時執行資料速率仲裁。

解決方案架構

Kionix 軟體解決方案包括 C++ 程式庫和相關的標題檔案。程式庫的完整來源以及重達程式庫的說明也包括在內。程式庫包括工作感應器硬體抽象層實現以及實體裝置加速度感應器、地磁感應器和陀螺儀的支援。它可以立即使用以便在 Android 裝置上提供 3D 方向輸出。

此外,庫介面會匯出物件導向的應用程式介面以存取實體感應器 (陀螺儀、羅盤、加速度感應器) 和透過 Kionix 感應器模組建置產生的綜合感應器。軟體產生的合成感應器類型包括方向 (請參閱 Android 說明文件)、旋轉向量、線性加速和重力。此介面可以讓 Android 裝置廠商將 Kionix 解決方案與現有的感應器管理軟體 (例如可支援照明、溫度和壓力感應器的現有硬體抽象層) 整合。

Kionix 軟體解決方案與 Android 事件規格和目前的 CCD "Android 4.0 相容性定義" 完全相容。 符合的具體點如下:

  • 支援的感應器類型包括:
    • SENSOR.TYPE_ACCELEROMETER (實體, 單位為 m/s^2)
    • SENSOR.TYPE_MAGNETIC_FIELD (實體, 單位為 micro-Tesla)
    • SENSOR.TYPE_GYROSCOPE (實體, 單位為rad/s)
    • SENSOR.TYPE_GRAVITY (合成, 單位為 m/s^2)
    • SENSOR.TYPE_LINEAR_ACCELERATION (合成, 單位為 m/s^2)
    • SENSOR.TYPE_ROTATION_VECTOR (合成, 無限)
      • 依據 Android 規範實現 – X、Y 和 Z 欄位映射到具有正 W 元件值的正規化四元數的 X、Y 和 Z 欄位
    • SENSOR.TYPE_ORIENTATION (合成, 度量單位)
      • 依據 Android 規範作為方位角、俯仰角和滾動角(單位為度)實現
  • 所有支援感應器的輸出符合 SensorEvent API 定義的座標系統。
  • 所有感應器類型(實體與合成)支援精度事件欄位。  
  • 所有裝置類型(實體與合成)支援時間戳欄位.
    • 首選 Kionix 實現將資料就緒中斷用於每種實體感應器,這樣可以產生非常精確的時間戳對該中斷做出回應。  
    • 加速度感應器和陀螺儀感應器支援定期資料流程,為驗證時間戳精度提供了更多資訊。
  • 根據 7.3 節的 "Android 4.0 相容性定義",
    • 軟體實現提供支援的感應器的清單
    • 軟體實現在所有其他感應器應用程式介面的合理行為。 尤其是,
      • 應用嘗試登錄傾聽者的回覆時,實現將會傳回 TRUE 或 FALSE,
      • 如果對應的感應器不存在,將不會呼叫感應器傾聽者,以及
      • 支援電源管理 – 可以設定讓沒有作用中感應器傾聽者的任何感應器實現電源關閉或進入睡眠模式。

內核介面

Kionix 感應器庫必須與加速度感應器、陀螺儀和地磁感應器的內核驅動程式連接。  首選類型的內核驅動程式是具有用於進行控制(例如,啟用、資料速率和偏移)的 sysfs 屬性的輸入事件驅動程式。  這類驅動程式是 Linux 內核中感應器驅動程式的實際標準。  使用這類驅動程式的優點包括複雜性更低、可靠性高並且透明性增強。  如果某個輸入事件驅動程式不可用於某一具體的感應器晶片,Kionix 庫可以擴展以便與任何類型的驅動程式連接。

Kionix 硬體抽象層架構

支援的整合模型

  • AP 架構:原始串流感應器資料 (完全在應用處理器上執行的處理。
  • HUB 架構:專屬小型集線器段處理器上的自載感應器模組。