這里演示了在應(yīng)用程序中如何在不需要外部電平移位器的情況下使用具有內(nèi)置多電壓輸入/輸出外圍設(shè)備的MCU。
這個由兩篇文章組成的系列的第一篇文章討論了一種稱為多電壓 I/O (MVIO) 的新外設(shè),該外設(shè)可用于AVR DB系列微控制器。簡而言之,MVIO 是微控制器芯片上的內(nèi)部電平轉(zhuǎn)換器,它允許一個 I/O 端口在與設(shè)備其余部分不同的電壓域中工作。這減少了物料清單 (BOM) 和設(shè)計區(qū)域,同時提供了比外部解決方案更大的靈活性。
本文將介紹在應(yīng)用程序中使用的 MVIO。它基于一個使用 3D 磁力計作為窗戶安全傳感器來檢測窗戶是打開還是關(guān)閉的演示。
檢測窗戶是否打開的最簡單方法之一是使用磁簧開關(guān)。簧片開關(guān)是一種帶有電觸點的簡單裝置,可通過磁場的存在打開或關(guān)閉。通過將磁鐵安裝到窗戶并將開關(guān)固定在固定位置,可以通過觸點的連續(xù)性來確定窗戶的狀態(tài)。但是,簧片開關(guān)有兩個限制。
首先,它無法區(qū)分破裂的窗戶和打開的窗戶。如果使用了報警器,那么在不關(guān)閉報警器的情況下是無法破解窗戶的。其次,通過在附近放置第二塊磁鐵,可以很容易地篡改簧片開關(guān)。當(dāng)窗戶打開時,次級磁鐵將開關(guān)的觸點固定到位。
為了提高防篡改和可用性,使用磁力計開發(fā)了一種替代解決方案。與打開或關(guān)閉的簧片開關(guān)不同,磁力計測量和數(shù)字化磁場分量。通過監(jiān)測場分量,傳感器可以區(qū)分破裂的窗戶和打開的窗戶,并且對放置在傳感器附近的磁鐵具有更強(qiáng)的防篡改能力。
為了展示基于磁力計的解決方案的優(yōu)勢,我們與基于半導(dǎo)體的傳感解決方案供應(yīng)商 Melexis 共同開發(fā)了一種智能窗戶安全傳感器。它基于 AVR DB 系列的微控制器,這是第一款具有 MVIO 外設(shè)的微控制器。在這里,MLX90392 3D 磁力計已用于監(jiān)測磁場強(qiáng)度。磁力計由 1.8 V 供電,并通過 I 2 C進(jìn)行通信。
該演示還使用MLX90632遠(yuǎn)紅外線 (FIR) 傳感器來監(jiān)測房間的溫度。選擇的 FIR 傳感器比本地溫度傳感器更好,因為節(jié)點會遇到氣流和陽光直射,這可能會導(dǎo)致測量誤差。雖然 MLX90632 采用 3.3 V 供電,但還有一種器件型號專為 1.8 VI 2 C 通信而設(shè)計。
對于無線連接,為簡單起見,使用了RN4870藍(lán)牙模塊。這允許用戶通過智能手機(jī)與演示進(jìn)行交互,而不是定制開發(fā)的通信橋。但是,在生產(chǎn)應(yīng)用中,我們建議為每個傳感器節(jié)點切換到更簡單、功耗更低的無線電解決方案,例如Sub-GHz無線電。源代碼和文檔鏈接在文末。
原型設(shè)計和開發(fā)設(shè)置
對于開發(fā),我們使用了Curiosity Nano Base for Click Boards (AC164162)和AVR DB Curiosity Nano 開發(fā)板 (EV35L43A)。MikroElektronika 的 Click 板上提供 RN4870 藍(lán)牙模塊和 MLX90632 溫度傳感器(RN4870 Click和IrThermo 3 Click)。MLX90392 磁力計由 Melexis 在 MLX90392 的預(yù)組裝評估板上提供。
在最初的傳感器通信測試之后,我們很快意識到需要一個測試夾具來控制磁鐵和傳感器的位置。利用我們潛在的手工藝能力,我們用紙板和熱膠組裝了一個簡單的測試夾具,如下所示。
圖 1 在此原型測試夾具和設(shè)置中,連接到夾具的小白盒來自現(xiàn)成的門開關(guān)。隨附的磁鐵用作測試目的的標(biāo)準(zhǔn)安全磁鐵的示例。資料來源:微芯片
磁力計
從概念上講,這個系統(tǒng)的窗口警報方面似乎是最容易實現(xiàn)的,但它比我們最初想象的要復(fù)雜得多。增加復(fù)雜性有幾個原因。
首先,磁力計非常靈敏。磁鐵或磁力計位置的微小差異會使數(shù)字顯著下降。下圖來自未經(jīng)校準(zhǔn)或標(biāo)準(zhǔn)化的磁力計的原始值(圖 2)。在數(shù)據(jù)收集過程中,滑動機(jī)構(gòu)來回滑動。
圖 2 該圖顯示了原始磁力計場分量強(qiáng)度。資料來源:微芯片
我們沒有直接監(jiān)測每個組件的最大值和最小值,這將根據(jù)傳感器的安裝位置而變化,而是使用總磁場強(qiáng)度 (R = √(X 2 + Y 2 + Z 2 )。出于軟件優(yōu)化的原因,應(yīng)用程序使用磁場強(qiáng)度的平方。下圖顯示了相同測試期間的磁場大小。在應(yīng)用程序中,大小是根據(jù)歸一化的 16 位值計算的,如圖 3 所示。
圖 3 該圖顯示了測試期間磁場強(qiáng)度的大小。資料來源:微芯片
為了使系統(tǒng)整體更靈敏,每個軸的磁場值都進(jìn)行了歸一化。從顯示的樣本數(shù)據(jù)來看,Y 軸的幅度最大,其次是 Z,然后是 X。每個軸以不同的速率增加。這在直覺上是有道理的,因為磁通量在垂直方向上最高,在平行方向上最弱。為了標(biāo)準(zhǔn)化每個軸,微控制器通過將結(jié)果右移以適合有符號的 8 位值來縮放每個軸。在用戶校準(zhǔn)序列期間計算比例因子,以使系統(tǒng)整體更加靈敏。
最初,該應(yīng)用程序還打算計算 X/Y、X/Z 和 Y/Z 的角度比,以獲得額外的防篡改功能。但在測試中,由于場強(qiáng)的巨大差異,這種計算被發(fā)現(xiàn)非常不可靠。這些角度增加了演示的內(nèi)存使用和活動時間。我們發(fā)現(xiàn)應(yīng)用程序在沒有它們的情況下運(yùn)行良好,并通過宏禁用了它們。從早期數(shù)據(jù)計算的角度比如下所示(圖 4)。
圖 4 磁力計的 X/Y、X/Z 和 Y/Z 角比是根據(jù)早期數(shù)據(jù)計算得出的。資料來源:微芯片
為了可靠地利用磁力計,我們開發(fā)了一個四步校準(zhǔn)過程。此過程必須在初始設(shè)置期間執(zhí)行,但如果需要,用戶可以稍后重新觸發(fā)它。校準(zhǔn)應(yīng)用程序的四個步驟是:
歸零
正常化
設(shè)置閾值
確認(rèn)
在歸零時,窗口完全打開,使磁鐵盡可能遠(yuǎn)離傳感器。每個軸記錄的平均值定義為偏移值。接下來,關(guān)閉窗口,使磁鐵非常靠近傳感器。每個軸的場強(qiáng)在這個位置被平均。在設(shè)定的樣本數(shù)之后,微控制器計算每個軸的歸一化因子。
接下來,用戶將窗口打開到所需的打開/關(guān)閉閾值。當(dāng)用戶打開窗口時,應(yīng)用程序正在監(jiān)控記錄的最大場強(qiáng) (R 2 )。根據(jù)定位,最大場強(qiáng)應(yīng)出現(xiàn)在或接近關(guān)閉窗口的位置。
在這一步之后,用戶將關(guān)閉窗口。此時,系統(tǒng)正在檢查窗口關(guān)閉時是否會觸發(fā)警報。如果警報確實跳閘,則校準(zhǔn)失敗并應(yīng)重新進(jìn)行。另一方面,當(dāng)校準(zhǔn)成功時,將值寫入內(nèi)部 EEPROM 以供以后使用。
實現(xiàn)溫度傳感器
為了與 MLX90632 傳感器接口,我們開發(fā)了一種新的輕量級 API,旨在利用微控制器特定的功能來提高性能。對于 MLX90632 溫度傳感器,我們實施了一個校準(zhǔn)常數(shù)緩存系統(tǒng),將傳感器的出廠常數(shù)存儲到微控制器的 EEPROM 中。這是由微控制器自動執(zhí)行的。啟動時,微控制器檢查其 EEPROM 以確定來自傳感器的常數(shù)是否已被編程到內(nèi)存中。為了驗證常數(shù),微控制器:
將存儲的序列號與傳感器的序列號匹配
驗證內(nèi)存段末尾序列號的異或
如果任一檢查失敗,微控制器將重新獲取傳感器的常數(shù),計算浮點等效值,然后將它們重新寫入 EEPROM。如果內(nèi)存被認(rèn)為是有效的,微控制器只需讀取存儲的常量,而不是重新獲取和重新計算它們。
可以通過取消定義宏在軟件中禁用此功能。或者,如果在應(yīng)用程序啟動時按住校準(zhǔn)按鈕,應(yīng)用程序?qū)⒁园踩J絾樱撃J秸J(rèn)為 EEPROM 中的所有設(shè)置和值無效,并將重新獲取/重新編程(如果啟用)。
使用 1.8 V
在 1.8 V 時,必須比更常見的 3.3 V 或 5 V 類型更仔細(xì)地處理串行通信。例如,微控制器中的內(nèi)部上拉電阻對于總線來說可能太弱而無法滿足時序要求。為了解決這個問題,我們在總線上添加了外部上拉電阻。
在早期測試中,我們嘗試使用精密數(shù)字萬用表直接測量外部 1.8V 電源的電流消耗。然而,萬用表的負(fù)載電壓剛好足以使總線在串行通信期間斷電。我們在原型中解決了這個問題,方法是在電源中添加一個大型槽路電容器,以確保在儀表測量電流消耗時總線保持在掉電閾值以上。這在整個應(yīng)用中都不是問題,因為可以從電源輸入測量電流,并且電源在板上進(jìn)行調(diào)節(jié),而不是在外部進(jìn)行調(diào)節(jié)。
最終結(jié)果
一旦系統(tǒng)正常運(yùn)行,我們就開始開發(fā)專用 PCB。下圖是已顯影的電路板(在沒有塑料外殼的情況下拍攝)。該原型系統(tǒng)將于 6 月 27 日至 29 日在Sensors Converge 2022的 Microchip 展位 #218 上展示。
圖 5 原型板沒有塑料外殼的照片。資料來源:微芯片
連接混合電壓域是許多設(shè)計的關(guān)鍵要素。在大多數(shù)情況下,必須使用外部電平轉(zhuǎn)換器在電壓域之間進(jìn)行轉(zhuǎn)換。MVIO 消除了這個組件并將其集成到微控制器中,這使得開發(fā)人員幾乎看不到它。有許多可能的設(shè)計和應(yīng)用將受益于在系統(tǒng)中添加 MVIO 外設(shè)。
上述應(yīng)用程序的源代碼和文檔可在以下位置獲得:
https://github.com/microchip-pic-avr-examples/avr128db28-smart-security-sensor-mplab
作者特別感謝 Melexis 協(xié)助開發(fā)此應(yīng)用程序。
—Robert Perkel 是 Microchip Technology 的 8 位 MCU 業(yè)務(wù)部門的應(yīng)用工程師。
審核編輯 黃昊宇
-
微控制器
+關(guān)注
關(guān)注
48文章
7668瀏覽量
152239 -
電平轉(zhuǎn)換器
+關(guān)注
關(guān)注
1文章
180瀏覽量
19636
發(fā)布評論請先 登錄
相關(guān)推薦
使用獨(dú)立于內(nèi)核的外設(shè)實現(xiàn)降壓轉(zhuǎn)換器設(shè)計和反饋控制器
![使用獨(dú)立于內(nèi)核的外設(shè)<b class='flag-5'>實現(xiàn)</b>降壓<b class='flag-5'>轉(zhuǎn)換器</b>設(shè)計和反饋<b class='flag-5'>控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
微控制器中的PWM模塊介紹
嵌入式系統(tǒng)中微控制器與微處理器的區(qū)別
![嵌入式系統(tǒng)<b class='flag-5'>中</b><b class='flag-5'>微控制器</b>與微處理<b class='flag-5'>器</b>的區(qū)別](https://file1.elecfans.com/web2/M00/F6/98/wKgZomaCbKKATk8bAAAtr-PyoJc849.png)
針對TMS320C2834x微控制器采用DCDC轉(zhuǎn)換器的高集成度、高效率電源解決方案
![針對TMS320C2834x<b class='flag-5'>微控制器</b>采用DCDC<b class='flag-5'>轉(zhuǎn)換器</b>的高集成度、高效率電源解決方案](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
效率優(yōu)化型、同步反激式、高功率PoE控制器/轉(zhuǎn)換器
![效率優(yōu)化型、同步反激式、高功率PoE<b class='flag-5'>控制器</b>/<b class='flag-5'>轉(zhuǎn)換器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
什么是DC/DC轉(zhuǎn)換器?
![](https://file1.elecfans.com/web2/M00/06/BF/wKgZombqeeaAUZJ9AAhxjsrDDIo198.png)
微控制器內(nèi)部的存儲器有哪些
微控制器的結(jié)構(gòu)和應(yīng)用
微控制器與運(yùn)動控制器的區(qū)別
微控制器的定義和工作原理
嵌入式微控制器的自動代碼生成
![嵌入式<b class='flag-5'>微控制器</b>的自動代碼生成](https://file1.elecfans.com/web2/M00/D0/DF/wKgaomYiOiSAVlb4AADcUp1rTz8050.png)
愛普生轉(zhuǎn)換器的低功耗16位微控制器
帶EMI濾波器和ESD保護(hù)的控制和電平轉(zhuǎn)換器NXS0506數(shù)據(jù)手冊
![帶EMI濾波<b class='flag-5'>器</b>和ESD保護(hù)的<b class='flag-5'>控制</b>和<b class='flag-5'>電平</b><b class='flag-5'>轉(zhuǎn)換器</b>NXS0506數(shù)據(jù)手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論