<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 傳感器節點(diǎn)控制器 助力未來(lái)連網(wǎng)傳感器

傳感器節點(diǎn)控制器 助力未來(lái)連網(wǎng)傳感器

作者:Marios Iliopoulos, Fotios Kerasiotis, Nikolaos Moschopoulos 時(shí)間:2019-04-28 來(lái)源:電子產(chǎn)品世界 收藏

引言

本文引用地址:http://dyxdggzs.com/article/201904/399992.htm

今天的便攜式設備通過(guò)持續的活動(dòng)監測和情境感知來(lái)了解周?chē)h(huán)境。為了實(shí)現這個(gè)功能,設備集成了越來(lái)越多的傳感器和外設,由此產(chǎn)生大量數據。這反過(guò)來(lái)使得集成更強大的變得很有必要,以便執行越來(lái)越多的計算。同時(shí),必須縮小設計尺寸,降低成本和功耗,但又不犧牲最終產(chǎn)品不斷提升的功能要求。

(Sensor hub)的概念被越來(lái)越多地采用到當今的SoC設計中,以滿(mǎn)足“始終運行”的傳感器/外設訪(fǎng)問(wèn)和控制(甚至以高速率)的要求,而且不會(huì )增加功耗和設計成本。可以是小型內核,與傳感器/外設連接,并通過(guò)執行后臺操作并僅在需要時(shí)“喚醒”主處理器,充當功耗較大的主處理器的卸載引擎的角色。

用于傳感器采集的基于處理器的典型架構

應用在集成多個(gè)傳感器的系統中的典型基于微控制器的架構包括以下組件[1]:

a)一個(gè)微控制器單元(MCU) - 也稱(chēng)為處理子系統,MCU控制系統內所有構成部分的運行并處理數據。它包括一個(gè)處理器、一個(gè)內部或外部存儲器、以及本地數據處理所需的所有外設和子系統。在典型的基于MCU的架構中,控制器執行所有傳感器數據收集、處理和存儲。

b)傳感器元件(或傳感子系統) - 一組傳感器,可以是無(wú)源或有源,數字或模擬的任意組合。這些傳感器將來(lái)自外部環(huán)境的輸入信息轉換成電信號。在大多數應用中,傳感器用于監測運動(dòng)、光、氣壓、振動(dòng)、流速、溫度、通風(fēng)、電等。通常來(lái)說(shuō),傳感器元件在其輸出端生成電壓或電流信號。在數據被處理、存儲和傳輸之前,這些信號一般會(huì )被放大,并通過(guò)模數轉換器轉換成數字信號。

c)無(wú)線(xiàn)電 - 一種短距離收發(fā)器,提供與主機的無(wú)線(xiàn)通信。

d)電源子系統 - 通常連接到電池或能量采集器。該子系統充當可控單元,可單獨打開(kāi)和關(guān)閉系統構建塊的電源。它通常是MCU軟件中的一個(gè)軟件塊。電源子系統負責為每個(gè)單獨的硬件組件提供合適的電源電壓。

在具有多個(gè)傳感器的更復雜的基于微控制器的架構中,在硬件中集成了智能,用來(lái)控制各種子系統。 例如,從傳感器到存儲器傳輸數據耗時(shí)又耗電,這一部分工作其實(shí)可以從處理器轉移到直接內存存?。―MA)單元。電源管理單元(PMU)還可以被編程為對特定事件做出反應并關(guān)閉各種子系統,例如外設、傳感器和無(wú)線(xiàn)電。

1556420164436860.jpg

圖1. 基于微控制器的典型架構

這種先進(jìn)架構的目的是盡可能減少主MCU活躍的時(shí)間。原來(lái)需要MCU干預的任務(wù),現在可以由智能子系統執行。然而,還存在一個(gè)問(wèn)題,就是每次有來(lái)自傳感器、無(wú)線(xiàn)電或各種子系統的事件時(shí),MCU都需要被喚醒,因為它是唯一可以部署邏輯來(lái)處理這些事件的元件。

優(yōu)化功率的技術(shù) - 添加傳感器節點(diǎn)控制器

為了延長(cháng)具有多個(gè)傳感器的系統的續航時(shí)間,已經(jīng)提出了很多種降低功耗的技術(shù)[2],[3]。有些技術(shù)在媒體訪(fǎng)問(wèn)控制層面進(jìn)行節能[4],[5],有些技術(shù)從數據聚合或融合著(zhù)手[6],[7],有的則采用芯片設計優(yōu)化技術(shù),如片上功率門(mén)控[ 8]或動(dòng)態(tài)電壓調節[9]。

本文介紹了一種不同的技術(shù),來(lái)優(yōu)化多傳感器系統中的電源使用,同時(shí)將主處理器用于數據采集的喚醒時(shí)間控制到最短。該技術(shù)基于集成復雜的硬件狀態(tài)機,可以接管主處理器上的重復性任務(wù),如傳感器輪詢(xún)和讀取,從而實(shí)現集成的低功耗概念。專(zhuān)用硬件狀態(tài)機可以更快地喚醒,并使用更少的模塊來(lái)將數據從傳感器/外設傳輸到內存,以及反向傳輸,而主處理器保持休眠狀態(tài)。此外,傳感器中樞可以對數據執行簡(jiǎn)單操作,因此主處理器只需要在要求復雜數據操作時(shí)喚醒。

這種方法的一個(gè)很好的例子,是集成在Dialog半導體公司的DA1469x藍牙低功耗SoC解決方案中的傳感器節點(diǎn)控制器(SNC)硬件模塊[10]。SNC是一種微型硬件狀態(tài)機,能運行由有限的指令集組成的微碼(μcode),有助于開(kāi)發(fā)人員操控通信控制器(即SPI、I2C等)、傳感器和外設。它可以通過(guò)使用其最小指令集自動(dòng)運行,無(wú)需喚醒系統的其余部分。這允許它執行眾多操作 - 例如:輪詢(xún)傳感器狀態(tài)位、比較寄存器與內存地址內容(值)、將數據從通信接口傳輸到系統RAM以及比較分支 - 同時(shí)消耗最低電流。

1556420191490888.jpg

圖2. 具有傳感器節點(diǎn)控制器外設的應用處理器架構

SNC的主要特性如下(圖3):

·傳感器節點(diǎn)指令集(SeNIS),包含10條微碼生成指令,適用于:

o輕松創(chuàng )建指向內存緩沖區的指針

o輪詢(xún)串行接口狀態(tài)位

o比較閾值

·系統RAM用于微碼存儲和數據

·DMA功能,用于將數據直接從通信接口傳輸到系統RAM

·直接訪(fǎng)問(wèn)所有外設和寄存器

·通過(guò)PMU在中斷觸發(fā)和域上電(例如定時(shí)器、GPIO)后立即執行

·SNC到主處理器通知,以及反向通知

SNC與所有通信接口(SPI、I2C和UART)位于相同的電源域,SNC還可以控制其他電源域。它執行駐留在系統RAM中的微碼,其中SNC具有直接內存連接;以系統時(shí)鐘速度運行;并且可以生成中斷以通知PMU所有操作都已完成,從而可以關(guān)閉整個(gè)系統的電源。

1556420215818188.jpg

圖3. 傳感器節點(diǎn)控制器框圖

使用此類(lèi)專(zhuān)用硬件執行傳感器和外設數據操作的架構的主要優(yōu)點(diǎn)是:

·主睡眠時(shí)間更長(cháng),從而可以節省功耗

·節省MIPS,因為CPU不必訪(fǎng)問(wèn)慢速外設或執行簡(jiǎn)單的數據操作

不過(guò)它有一些缺點(diǎn)。SNC編程模型的非常簡(jiǎn)單的指令集僅允許基本操作。另外,編程SNC需要使用匯編語(yǔ)言。最后,由于SNC是一個(gè)非常簡(jiǎn)單的模塊,調試會(huì )變得復雜。

節省功耗和MIPS

我們已經(jīng)進(jìn)行了一系列測量,證明了使用SNC可以實(shí)現的功耗和MIPS節省。這些測量是在Dialog的基于A(yíng)RM Cortex-M33的DA1469x SoC上進(jìn)行的,并比較了只使用主CPU和在SNC支持下執行的相同任務(wù)。 第一組測量集中在訪(fǎng)問(wèn)通常用于傳感器讀數的慢速外設(如I2C和SPI)時(shí)節省的功耗/MIPS。第二組測量著(zhù)眼于使用DA1469x中包含的藍牙低功耗(BLE)通信模塊的實(shí)際應用案例。

表1描述了傳輸小型SPI或I2C數據事務(wù)(如寫(xiě)/讀16/128字節)時(shí)的能耗。

1556420268158853.jpg

表1:傳輸小型數據事務(wù)時(shí)的能耗(數字為1.8 V,8-bit傳輸)

與CPU(CM33)相比,SNC執行事務(wù)所需的時(shí)間要短很多,如表2所示。由于CPU可能需要執行忙等待,因此節省了時(shí)間相當于節省了MIPS。

1556420287177274.jpg

表2:SNC寫(xiě)/讀8 bit數據所需的時(shí)間以及CPU相應所需的時(shí)間

對現實(shí)生活中的使用案例,我們比較了每隔1500毫秒(表3)和500毫秒(表4)進(jìn)行廣播時(shí)所消耗的功率,同時(shí)使用SPI每100毫秒讀取加速計傳感器一次。

1556420320556414.jpg

      表3:每1500毫秒進(jìn)行廣播時(shí)的能耗,使用SPI每100毫秒進(jìn)行一次傳感器讀取

1556420338765637.jpg

表4:每500毫秒進(jìn)行廣播時(shí)的能耗,使用SPI每100毫秒進(jìn)行一次傳感器讀取

在復雜的應用中,如果需要訪(fǎng)問(wèn)多個(gè)傳感器,考慮到緩存未命中和任務(wù)切換等問(wèn)題,對MCU的占用會(huì )更大。

降低編程復雜度

上面提到過(guò),使用集成的傳感器節點(diǎn)控制器時(shí)面臨的最大挑戰之一,是確?;A系統功能的編程、調試和充分利用與采用通用MCU的方案一樣簡(jiǎn)單。挑戰的主要方面有:

·提供對開(kāi)發(fā)人員友好的抽象編程,以有效控制驅動(dòng)與連接的傳感器/外設的通信接口,以及與主CPU通信相對應的基本功能。

·利用10指令匯編式編程,并提供更高級別的編程結構,以簡(jiǎn)化和加速軟件開(kāi)發(fā)。

·支持完整的系統整體調試 - 而不是單獨調試每個(gè)CPU內核,因為可能無(wú)法檢測到當內核并行運行時(shí)的系統行為錯誤。

為了解決這些挑戰,我們需要一個(gè)完整、易于使用的編程框架。它必須包括抽象和程序,將并發(fā)操作系統任務(wù)的范例擴展到在SNC上執行的相應(并行)處理。我們已經(jīng)為Dialog DA1469x解決方案開(kāi)發(fā)了這樣的編程框架(圖4)。它具有以下特點(diǎn):

·簡(jiǎn)化的SNC微碼開(kāi)發(fā)

o通過(guò)定義基于SeNIS的類(lèi)C編程語(yǔ)言,可以同時(shí)支持匯編和類(lèi)C編程。

·用于編程的“混合”編碼模型

o在相同的源和頭文件中同時(shí)包含針對SNC和主處理器情境(context)的代碼開(kāi)發(fā) -  使用了一個(gè)C預處理器來(lái)定義基于SeNIS的語(yǔ)言結構,方便開(kāi)發(fā)人員。

·與驅動(dòng)主處理器通信接口、交換SNC通知、和操作系統資源相關(guān)的基礎機制和功能的抽象,作為一組完整且易于使用的API程序/類(lèi)C函數。

·可觀(guān)察性和高級調試機制同時(shí)應用于SNC和主處理器執行情境。

1556420375696501.jpg

圖4. SNC編程框架

SNC編程模型的特征可歸納如下:

·DA1469x應用包括由OS任務(wù)和SNC 微碼并行執行的進(jìn)程。

·SNC適配器向DA1469x系統注冊或注銷(xiāo)SNC微碼,從而創(chuàng )建一列SNC微碼,每個(gè)微碼由特定PMU事件觸發(fā)。

·SNC適配器采用特殊的SNC微碼,根據相應的微碼列表實(shí)現注冊的SNC微碼執行的調度,并通過(guò)其低級驅動(dòng)器控制SNC硬件模塊。

·定義了一組基于SeNIS的結構預處理器宏,從而生成一組匯編和類(lèi)C語(yǔ)言結構用于SNC微碼開(kāi)發(fā)。

·提供一組低級驅動(dòng)器SNC微碼,可用于驅動(dòng)SPI、I2C等通信外設。

·為操作系統任務(wù)和SNC微碼提供了一種機制,進(jìn)行交換:

o通知

o數據(即:SNC 隊列)

除了上述實(shí)現輕松編程SNC函數的結構之外,還提供以下內容以支持調試:

·使用SNC斷點(diǎn)和逐步調試區域來(lái)調試SNC微碼的機制。

·SNC仿真器,而不是SNC硬件模塊,用于改進(jìn)和簡(jiǎn)化SNC微碼調試過(guò)程。

總結

本文介紹了一種新的架構,可最大限度地降低集成了多個(gè)傳感器和外設的便攜式系統的功耗。該架構使用復雜的硬件狀態(tài)機來(lái)卸載主處理器上的一些重復性任務(wù),例如傳感器/外設輪詢(xún)和讀取。與其他架構相比,這種新架構在功耗和MIPS優(yōu)化方面具有很大的優(yōu)勢,不過(guò)會(huì )使編程模型變的更復雜。因此,我們還介紹了一種對開(kāi)發(fā)人員友好的編程框架來(lái)克服該問(wèn)題。

參考文獻

[1] Goran Nikoli?, Mile Stoj?ev, Zoran Stamenkovi?, Goran Pani?, Branislav Petrovi?, “Wireless Sensor Node with low power sensing”, Electronics and EnergeticsVol. 27, No 3, September 2014, pp. 435 - 453

[2] V. Raghunathan, S. Ganerival, and M. Srivastava, "Emerging Techniques for Long Lived Wireless Sensor Networks", IEEE Communication Magazine, 2006, Vol.41, No. 4, (pp. 130-141)

[3] G. Anastasi, M. Conti, M. Di Francesco, and A. Passarella, "Energy Conservation in Wireless Sensor Networks: A survey", Ad Hoc Networks, 2009, Vol. 7, (pp. 537–568)

[4] W. Ye, J. Heidemann, and D. Estrin, "An Energy-Efficient Mac Protocol for Wireless Sensor Networks," Proc. IEEE Infocom, New York (USA) 2002, (pp. 1567-1576).

[5] M. Al Ameen, S.M. Riazul Islam, and K. Kwak, "Energy Saving Mechanisms for MAC Protocols in Wireless Sensor Networks", Hindawi Publishing Corporation International Journal of Distributed Sensor Networks, Volume 2010 (2010), Article ID 163413, (pp 1-16)

[6] M. Hempstead, N. Tripathi, P. Mauro, G.-Y. Wei, and D. Brooks, "An Ultra Low Power System Architecture for Sensor Network Applications," Proc. 32nd Annual International Symposium on Computer Architecture, Madison (USA) 2005, (pp. 208-219).

[7] A. Boulis, S. Ganeriwal, and M. Srivastava, "Aggregation in Sensor Networks: An Energy Accuracy Trade-Off", Ad Hoc Networks, Vol. 1, 2003, (pp. 317–331)

[8] G. Pani?, Z. Stamenkovi?, and R. Kraemer, "Power Gating in Wireless Sensor Networks", Wireless Pervasive Computing, 2008. ISWPC2008. 3rd International Symposium on Santorini, Greece, May 2008, (pp. 499-503)

[9] T. Burd, and R. Brodersen, "Energy Efficient Microprocessor Design", Kluwer Academic Publishers, Norwell MA, USA, 2002

[10] Dialog Semiconductor, “DA1469x Datasheet”



關(guān)鍵詞: 傳感器中樞 CPU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>