首先簡單介紹一下MEMS傳感器,這種全稱為“微型電子機械系統(tǒng)”(Micro-Electro Mechanical System)的技術(shù),在上世紀(jì)八十年代,已被學(xué)者預(yù)言“會給人類社會帶來另一次技術(shù)革命”,與傳統(tǒng)的傳感器相比,它具有體積小、重量輕、成本低、功耗 低、可靠性高、適于批量化生產(chǎn)、易于集成和實現(xiàn)智能化的特點。同時,在微米量級的特征尺寸使得它可以完成某些傳統(tǒng)機械傳感器所不能實現(xiàn)的功能。目前 MEMS 技術(shù)已經(jīng)被廣泛應(yīng)用于航空航天、電子、生物、醫(yī)藥等高新技術(shù)領(lǐng)域,儼然成為了一項關(guān)系到國防安全、科技發(fā)展、經(jīng)濟繁榮的關(guān)鍵技術(shù)。
2015年對全球MEMS產(chǎn)業(yè)來說是不尋常的一年,排名前30位的MEMS企業(yè)在這一年里命運迥異。有5家MEMS企業(yè)在2015年增長速度超過了 20%:安華高(Avago Technologies) 為41%;應(yīng)美盛 (InvenSense)為33%;臺積電(TSMC)為29%;Qorvo為28%;瑞聲科技(AAC)為22%。2015年全球MEMS企業(yè)30強名單唯一的變化就是臺積電取代了紅外成像產(chǎn)品制造商ULIS,ULIS因2015年與臺積電有數(shù)百萬美元的營收差距,從而失去2014年榜單第30名的位置。
傳感器的數(shù)量在整個地球表面和人們生活周遭空間激增,提供世界各種數(shù)據(jù)訊息。這些價格親民的傳感器是物聯(lián)網(wǎng)(IoT)發(fā)展和我們的社會正面臨數(shù)字化革命,背后的驅(qū)動力,然而,連接和獲取來自傳感器的數(shù)據(jù)并不總是直線前進或那么容易,以下有5個技巧以協(xié)助緩解工程師與傳輸接口到傳感器的第一次戰(zhàn)爭。
技巧1—先從總線工具開始
第一步,工程師應(yīng)當(dāng)采取首次介接到傳感器時,是透過一個總線工具的方式以限制未知。一個總線工具連接一臺個人計算機(PC),然后到傳感器的I2C、 SPI或其他可讓傳感器可以“說話”的協(xié)議。與總線工具相關(guān)的PC應(yīng)用程序,提供了一個已知與工作來源用以發(fā)送和接收數(shù)據(jù),且不是未知、未經(jīng)認(rèn)證的嵌入式微控制器(MCU)驅(qū)動程序。在總線工具的工作環(huán)境下,開發(fā)人員可以傳送和接收訊息以得到該部分如何運作的理解,在試圖于嵌入式等級操作之前。
技巧2—在Python編寫傳輸接口碼
一 旦開發(fā)者已嘗試使用總線工具的傳感器,下一步就是為傳感器編寫應(yīng)用程序代碼。并非直接跳到微控制器的代碼,而是在Python編寫應(yīng)用程序代碼。許多總線 工具在編寫腳本(wriTIng scripts)配置了插件(plug-in)和范例碼,Python通常是隨著.NET中可用的語言之一。在Python編寫應(yīng)用程序是快速且容易的, 其并提供一個方法已在應(yīng)用程序中測試傳感器,這個方式并未如同在嵌入式環(huán)境測試的復(fù)雜。擁有高層級的代碼,將使非嵌入式工程師易于挖掘傳感器的腳本及測 試,而不需要一個嵌入式軟件工程師的照看。
技巧3—以Micro Python測試傳感器
在 Python寫下第一段應(yīng)用程序代碼的其中一個優(yōu)勢是,透過調(diào)用Micro Python,應(yīng)用程序調(diào)用到總線工具應(yīng)用程序編程接口(API)可易于進行更換。Micro Python運作在實時嵌入式軟件內(nèi),其中有許多傳感器可供工程師來了解其價值,Micro Python運作在一個Cortex-M4處理器,且其是一個很好的環(huán)境,以從中為應(yīng)用程序代碼除錯。不僅是簡單的,這里也不需要去寫I2C 或SPI驅(qū)動程序,因為它們已被涵蓋在Micro Python的函式庫中。(可在EDN網(wǎng)站閱讀Using Micro Python for real-TIme software development或5 Advantages of using Micro Python for Embedded Software Programming兩篇文章,以獲得更多相關(guān)細(xì)節(jié)。)
技巧4—利用傳感器供貨商代碼
任何可以從傳感器制造商“搜括”到的范例碼,工程師需要走一段很長的路才能了解傳感器如何工作的原理。不幸的是,許多傳感器供貨商并非嵌入式軟件設(shè)計的專家,因此不要期待可以發(fā)現(xiàn)一個可投入生產(chǎn)的漂亮架構(gòu)和優(yōu)雅的例子。就使用供貨商代碼,學(xué)習(xí)這部分如何運作,之后重構(gòu)的挫折感將出現(xiàn),直到它可以被干凈利索地整合到嵌入式軟件。它可能如“意大利面條般(spaghetTI)”開始,但利用制造商對其傳感器如何運作的理解,在產(chǎn)品推出之前,將有助于減少許多得 被毀掉的周末時間。
技巧5—使用一個傳感器融合函式庫
機 會是,傳感器的傳輸接口并不是太新,且先前沒有人這么做過。已知的所有函式庫,如由許多芯片制造商提供的“傳感器融合函式庫”,以協(xié)助開發(fā)人員快速掌握、 甚至更好,更可避免他們陷入重新開發(fā)或大幅修改產(chǎn)品架構(gòu)的輪回。許多傳感器可以被整合至一般類型或類別,而這些類型或類別將使驅(qū)動程序順利被開發(fā),若處理得當(dāng),幾乎是普遍或是少可重復(fù)使用。尋找這些傳感器融合函式庫,并學(xué)習(xí)它們的優(yōu)點和短處。
最后的想法
感測器被整合至嵌入式系統(tǒng)時,有許多方式可以幫助提高設(shè)計時程和易用性。開發(fā)者在開始設(shè)計時,透過一個高層次抽象概念,以及在把傳感器整合進一個較低等級的 系統(tǒng)之前,學(xué)習(xí)傳感器如何運作,就絕對不會“走錯路”。今天存在的眾多資源將可協(xié)助開發(fā)人員“旗開得勝”,而無須從頭開始。