這里演示了在應用程序中如何在不需要外部電平移位器的情況下使用具有內(nèi)置多電壓輸入/輸出外圍設備的MCU。
這個由兩篇文章組成的系列的第一篇文章討論了一種稱為多電壓 I/O (MVIO) 的新外設,該外設可用于AVR DB系列微控制器。簡而言之,MVIO 是微控制器芯片上的內(nèi)部電平轉(zhuǎn)換器,它允許一個 I/O 端口在與設備其余部分不同的電壓域中工作。這減少了物料清單 (BOM) 和設計區(qū)域,同時提供了比外部解決方案更大的靈活性。
本文將介紹在應用程序中使用的 MVIO。它基于一個使用 3D 磁力計作為窗戶安全傳感器來檢測窗戶是打開還是關(guān)閉的演示。
檢測窗戶是否打開的最簡單方法之一是使用磁簧開關(guān)。簧片開關(guān)是一種帶有電觸點的簡單裝置,可通過磁場的存在打開或關(guān)閉。通過將磁鐵安裝到窗戶并將開關(guān)固定在固定位置,可以通過觸點的連續(xù)性來確定窗戶的狀態(tài)。但是,簧片開關(guān)有兩個限制。
首先,它無法區(qū)分破裂的窗戶和打開的窗戶。如果使用了報警器,那么在不關(guān)閉報警器的情況下是無法破解窗戶的。其次,通過在附近放置第二塊磁鐵,可以很容易地篡改簧片開關(guān)。當窗戶打開時,次級磁鐵將開關(guān)的觸點固定到位。
為了提高防篡改和可用性,使用磁力計開發(fā)了一種替代解決方案。與打開或關(guān)閉的簧片開關(guān)不同,磁力計測量和數(shù)字化磁場分量。通過監(jiān)測場分量,傳感器可以區(qū)分破裂的窗戶和打開的窗戶,并且對放置在傳感器附近的磁鐵具有更強的防篡改能力。
為了展示基于磁力計的解決方案的優(yōu)勢,我們與基于半導體的傳感解決方案供應商 Melexis 共同開發(fā)了一種智能窗戶安全傳感器。它基于 AVR DB 系列的微控制器,這是第一款具有 MVIO 外設的微控制器。在這里,MLX90392 3D 磁力計已用于監(jiān)測磁場強度。磁力計由 1.8 V 供電,并通過 I 2 C進行通信。
該演示還使用MLX90632遠紅外線 (FIR) 傳感器來監(jiān)測房間的溫度。選擇的 FIR 傳感器比本地溫度傳感器更好,因為節(jié)點會遇到氣流和陽光直射,這可能會導致測量誤差。雖然 MLX90632 采用 3.3 V 供電,但還有一種器件型號專為 1.8 VI 2 C 通信而設計。
對于無線連接,為簡單起見,使用了RN4870藍牙模塊。這允許用戶通過智能手機與演示進行交互,而不是定制開發(fā)的通信橋。但是,在生產(chǎn)應用中,我們建議為每個傳感器節(jié)點切換到更簡單、功耗更低的無線電解決方案,例如Sub-GHz無線電。源代碼和文檔鏈接在文末。
原型設計和開發(fā)設置
對于開發(fā),我們使用了Curiosity Nano Base for Click Boards (AC164162)和AVR DB Curiosity Nano 開發(fā)板 (EV35L43A)。MikroElektronika 的 Click 板上提供 RN4870 藍牙模塊和 MLX90632 溫度傳感器(RN4870 Click和IrThermo 3 Click)。MLX90392 磁力計由 Melexis 在 MLX90392 的預組裝評估板上提供。
在最初的傳感器通信測試之后,我們很快意識到需要一個測試夾具來控制磁鐵和傳感器的位置。利用我們潛在的手工藝能力,我們用紙板和熱膠組裝了一個簡單的測試夾具,如下所示。

圖 1 在此原型測試夾具和設置中,連接到夾具的小白盒來自現(xiàn)成的門開關(guān)。隨附的磁鐵用作測試目的的標準安全磁鐵的示例。資料來源:微芯片
磁力計
從概念上講,這個系統(tǒng)的窗口警報方面似乎是最容易實現(xiàn)的,但它比我們最初想象的要復雜得多。增加復雜性有幾個原因。
首先,磁力計非常靈敏。磁鐵或磁力計位置的微小差異會使數(shù)字顯著下降。下圖來自未經(jīng)校準或標準化的磁力計的原始值(圖 2)。在數(shù)據(jù)收集過程中,滑動機構(gòu)來回滑動。
圖 2 該圖顯示了原始磁力計場分量強度。資料來源:微芯片
我們沒有直接監(jiān)測每個組件的最大值和最小值,這將根據(jù)傳感器的安裝位置而變化,而是使用總磁場強度 (R = √(X 2 + Y 2 + Z 2 )。出于軟件優(yōu)化的原因,應用程序使用磁場強度的平方。下圖顯示了相同測試期間的磁場大小。在應用程序中,大小是根據(jù)歸一化的 16 位值計算的,如圖 3 所示。

圖 3 該圖顯示了測試期間磁場強度的大小。資料來源:微芯片
為了使系統(tǒng)整體更靈敏,每個軸的磁場值都進行了歸一化。從顯示的樣本數(shù)據(jù)來看,Y 軸的幅度最大,其次是 Z,然后是 X。每個軸以不同的速率增加。這在直覺上是有道理的,因為磁通量在垂直方向上最高,在平行方向上最弱。為了標準化每個軸,微控制器通過將結(jié)果右移以適合有符號的 8 位值來縮放每個軸。在用戶校準序列期間計算比例因子,以使系統(tǒng)整體更加靈敏。
最初,該應用程序還打算計算 X/Y、X/Z 和 Y/Z 的角度比,以獲得額外的防篡改功能。但在測試中,由于場強的巨大差異,這種計算被發(fā)現(xiàn)非常不可靠。這些角度增加了演示的內(nèi)存使用和活動時間。我們發(fā)現(xiàn)應用程序在沒有它們的情況下運行良好,并通過宏禁用了它們。從早期數(shù)據(jù)計算的角度比如下所示(圖 4)。

圖 4 磁力計的 X/Y、X/Z 和 Y/Z 角比是根據(jù)早期數(shù)據(jù)計算得出的。資料來源:微芯片
為了可靠地利用磁力計,我們開發(fā)了一個四步校準過程。此過程必須在初始設置期間執(zhí)行,但如果需要,用戶可以稍后重新觸發(fā)它。校準應用程序的四個步驟是:
歸零
正常化
設置閾值
確認
在歸零時,窗口完全打開,使磁鐵盡可能遠離傳感器。每個軸記錄的平均值定義為偏移值。接下來,關(guān)閉窗口,使磁鐵非??拷鼈鞲衅?。每個軸的場強在這個位置被平均。在設定的樣本數(shù)之后,微控制器計算每個軸的歸一化因子。
接下來,用戶將窗口打開到所需的打開/關(guān)閉閾值。當用戶打開窗口時,應用程序正在監(jiān)控記錄的最大場強 (R 2 )。根據(jù)定位,最大場強應出現(xiàn)在或接近關(guān)閉窗口的位置。
在這一步之后,用戶將關(guān)閉窗口。此時,系統(tǒng)正在檢查窗口關(guān)閉時是否會觸發(fā)警報。如果警報確實跳閘,則校準失敗并應重新進行。另一方面,當校準成功時,將值寫入內(nèi)部 EEPROM 以供以后使用。
實現(xiàn)溫度傳感器
為了與 MLX90632 傳感器接口,我們開發(fā)了一種新的輕量級 API,旨在利用微控制器特定的功能來提高性能。對于 MLX90632 溫度傳感器,我們實施了一個校準常數(shù)緩存系統(tǒng),將傳感器的出廠常數(shù)存儲到微控制器的 EEPROM 中。這是由微控制器自動執(zhí)行的。啟動時,微控制器檢查其 EEPROM 以確定來自傳感器的常數(shù)是否已被編程到內(nèi)存中。為了驗證常數(shù),微控制器:
將存儲的序列號與傳感器的序列號匹配
驗證內(nèi)存段末尾序列號的異或
如果任一檢查失敗,微控制器將重新獲取傳感器的常數(shù),計算浮點等效值,然后將它們重新寫入 EEPROM。如果內(nèi)存被認為是有效的,微控制器只需讀取存儲的常量,而不是重新獲取和重新計算它們。
可以通過取消定義宏在軟件中禁用此功能。或者,如果在應用程序啟動時按住校準按鈕,應用程序?qū)⒁园踩J絾?,該模式認為 EEPROM 中的所有設置和值無效,并將重新獲取/重新編程(如果啟用)。
使用 1.8 V
在 1.8 V 時,必須比更常見的 3.3 V 或 5 V 類型更仔細地處理串行通信。例如,微控制器中的內(nèi)部上拉電阻對于總線來說可能太弱而無法滿足時序要求。為了解決這個問題,我們在總線上添加了外部上拉電阻。
在早期測試中,我們嘗試使用精密數(shù)字萬用表直接測量外部 1.8V 電源的電流消耗。然而,萬用表的負載電壓剛好足以使總線在串行通信期間斷電。我們在原型中解決了這個問題,方法是在電源中添加一個大型槽路電容器,以確保在儀表測量電流消耗時總線保持在掉電閾值以上。這在整個應用中都不是問題,因為可以從電源輸入測量電流,并且電源在板上進行調(diào)節(jié),而不是在外部進行調(diào)節(jié)。
最終結(jié)果
一旦系統(tǒng)正常運行,我們就開始開發(fā)專用 PCB。下圖是已顯影的電路板(在沒有塑料外殼的情況下拍攝)。該原型系統(tǒng)將于 6 月 27 日至 29 日在Sensors Converge 2022的 Microchip 展位 #218 上展示。

圖 5 原型板沒有塑料外殼的照片。資料來源:微芯片
連接混合電壓域是許多設計的關(guān)鍵要素。在大多數(shù)情況下,必須使用外部電平轉(zhuǎn)換器在電壓域之間進行轉(zhuǎn)換。MVIO 消除了這個組件并將其集成到微控制器中,這使得開發(fā)人員幾乎看不到它。有許多可能的設計和應用將受益于在系統(tǒng)中添加 MVIO 外設。
上述應用程序的源代碼和文檔可在以下位置獲得:
https://github.com/microchip-pic-avr-examples/avr128db28-smart-security-sensor-mplab
作者特別感謝 Melexis 協(xié)助開發(fā)此應用程序。
—Robert Perkel 是 Microchip Technology 的 8 位 MCU 業(yè)務部門的應用工程師。
審核編輯 黃昊宇
-
微控制器
+關(guān)注
關(guān)注
49文章
8901瀏覽量
165962 -
電平轉(zhuǎn)換器
+關(guān)注
關(guān)注
1文章
286瀏覽量
21206
發(fā)布評論請先 登錄
深入解析ADG3301:單通道雙向邏輯電平轉(zhuǎn)換器
ADG3308/ADG3308 - 1:低電壓雙向邏輯電平轉(zhuǎn)換器的深度剖析
ADG3300:低電壓雙向邏輯電平轉(zhuǎn)換器的卓越之選
基于TPS56xx控制器的高密度同步降壓轉(zhuǎn)換器設計
TPS65198:LCD TVs和顯示器的13通道電平轉(zhuǎn)換器
RL78/L1C微控制器:特性、規(guī)格與應用全解析
解析ISL6420A:高性能DC/DC降壓轉(zhuǎn)換器控制器
SGM4565:SIM卡接口電平轉(zhuǎn)換器的卓越之選
詳解TPS65192:9通道電平轉(zhuǎn)換器的卓越性能與應用
TPS65197x系列電平轉(zhuǎn)換器:LCD顯示應用的理想選擇
SRK2001A:LLC諧振轉(zhuǎn)換器的自適應同步整流控制器
HT0104 4路雙向電平轉(zhuǎn)換器詳解
國產(chǎn)電平轉(zhuǎn)換器雙雄登場!GS0104/GS0108 如何破解多場景電壓適配難題?
Texas Instruments TXG104x 4位接地電平轉(zhuǎn)換器數(shù)據(jù)手冊
消除微控制器應用中的電平轉(zhuǎn)換器:設計實現(xiàn)
評論