新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 五個讓傳感器變得更簡單的技巧

        五個讓傳感器變得更簡單的技巧

        作者: 時間:2017-10-20 來源:網絡 收藏

          

        本文引用地址:http://www.104case.com/article/201710/366689.htm

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

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

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

          技巧2―在編寫傳輸接口碼

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

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

          在Python寫下第一段應用程序代碼的其中一個優勢是,透過調用Micro Python,應用程序調用到總線工具應用程序編程接口(API)可易于進行更換。Micro Python運作在實時嵌入式軟件內,其中有許多傳感器可供工程師來了解其價值,Micro Python運作在一個Cortex-M4處理器,且其是一個很好的環境,以從中為應用程序代碼除錯。不僅是簡單的,這里也不需要去寫I2C 或SPI驅動程序,因為它們已被涵蓋在Micro Python的函式庫中。(可在EDN網站閱讀Using Micro Python for real-time software development或5 Advantages of using Micro Python for Embedded Software Programming兩篇文章,以獲得更多相關細節。)

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

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

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

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

          最后的想法

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江西省| 苍山县| 林口县| 三原县| 宁德市| 花莲县| 井冈山市| 彰化县| 临漳县| 正蓝旗| 绥芬河市| 陇南市| 青海省| 大英县| 刚察县| 凯里市| 文昌市| 灵山县| 枣阳市| 石首市| 兴安盟| 宝鸡市| 石门县| 鄂托克前旗| 民县| 河西区| 宜良县| 江都市| 自贡市| 德惠市| 河源市| 类乌齐县| 尉氏县| 田林县| 隆林| 武川县| 舞阳县| 泸水县| 库车县| 固原市| 华池县|