天天看點

幹貨:在嵌入式系統設計中,五個讓傳感器變得更簡單的技巧!

【創客資訊】幹貨:在嵌入式系統設計中,五個讓傳感器變得更簡單的技巧!

http://www.landzo.cn/thread-12763-1-1.html

(出處: 藍宙創客空間)

傳感器的數量在整個地球表面和人們生活周遭空間激增,提供世界各種資料訊息。這些價格親民的傳感器是物聯網(IoT)發展和我們的社會正面臨數字化革命背後的驅動力,然而,連接配接和擷取來自傳感器的資料并不總是直線前進或那麼容易,以下有5個技巧以協助緩解工程師與傳輸接口到傳感器的第一次戰争。

技巧1——先從總線工具開始

第一步,工程師應當采取首次介接到傳感器時,是透過一個總線工具的方式以限制未知。一個總線工具連接配接一台個人計算機(PC),然後到傳感器的I2C、 SPI或其他可讓傳感器可以“說話”的協定。與總線工具相關的PC應用程式,提供了一個已知與工作來源用以發送和接收資料,且不是未知、未經認證的嵌入式微控制器(MCU)驅動程式。在總線工具的工作環境下,開發人員可以傳送和接收訊息以得到該部分如何運作的了解,在試圖于嵌入式等級操作之前。

幹貨:在嵌入式系統設計中,五個讓傳感器變得更簡單的技巧!

技巧2——在Python編寫傳輸接口碼

一旦開發者已嘗試使用總線工具的傳感器,下一步就是為傳感器編寫應用程式代碼。并非直接跳到微控制器的代碼,而是在Python編寫應用程式代碼。許多總線 工具在編寫腳本(writing scripts)配置了插件(plug-in)和範例碼,Python通常是随着.NET中可用的語言之一。在Python編寫應用程式是快速且容易的, 其并提供一個方法已在應用程式中測試傳感器,這個方式并未如同在嵌入式環境測試的複雜。擁有高層級的代碼,将使非嵌入式工程師易于挖掘傳感器的腳本及測試,而不需要一個嵌入式軟體工程師的照看。

技巧3——以Micro Python測試傳感器

在Python寫下第一段應用程式代碼的其中一個優勢是,透過調用Micro Python,應用程式調用到總線工具應用程式程式設計接口(API)可易于進行更換。Micro Python運作在實時嵌入式軟體内,其中有許多傳感器可供工程師來了解其價值,Micro Python運作在一個Cortex-M4處理器,且其是一個很好的環境,以從中為應用程式代碼除錯。不僅是簡單的,這裡也不需要去寫I2C 或SPI驅動程式,因為它們已被涵蓋在Micro Python的函式庫中。

技巧4——利用傳感器供貨商代碼

任何可以從傳感器制造商“搜括”到的範例碼,工程師需要走一段很長的路才能了解傳感器如何工作的原理。不幸的是,許多傳感器供貨商并非嵌入式軟體設計的專家,是以不要期待可以發現一個可投入生産的漂亮架構和優雅的例子。就使用供貨商代碼,學習這部分如何運作,之後重構的挫折感将出現,直到它可以被幹淨利索地整合到嵌入式軟體。它可能如“意大利面條般(spaghetti)”開始,但利用制造商對其傳感器如何運作的了解,在産品推出之前,将有助于減少許多得被毀掉的周末時間。

技巧5——使用一個傳感器融合函式庫

機會是,傳感器的傳輸接口并不是太新,且先前沒有人這麼做過。已知的所有函式庫,如由許多晶片制造商提供的“傳感器融合函式庫”,以協助開發人員快速掌握、甚至更好,更可避免他們陷入重新開發或大幅修改産品架構的輪回。許多傳感器可以被整合至一般類型或類别,而這些類型或類别将使驅動程式順利被開發,若處理得當,幾乎是普遍或是少可重複使用。尋找這些傳感器融合函式庫,并學習它們的優點和短處。

最後的一點建議

感測器被整合至嵌入式系統時,有許多方式可以幫助提高設計時程和易用性。開發者在開始設計時,透過一個高層次抽象概念,以及在把傳感器整合進一個較低等級的系統之前,學習傳感器如何運作,就絕對不會“走錯路”。今天存在的衆多資源将可協助開發人員“旗開得勝”,而無須從頭開始。

繼續閱讀