<del id="mmfr0"><em id="mmfr0"></em></del>
    <bdo id="mmfr0"></bdo>
      <option id="mmfr0"><rt id="mmfr0"></rt></option>
      <form id="mmfr0"></form>
    1. <wbr id="mmfr0"></wbr>
      <strong id="mmfr0"><center id="mmfr0"></center></strong>

      專注于應(yīng)變式傳感器及儀表

      集設(shè)計(jì)、安裝、銷售于一體的專業(yè)化測(cè)控專家

      服務(wù)電話:0311-68002401

      傳感器越來(lái)越多,如何提升傳感器的功能要求?

      今天的便攜式設(shè)備通過(guò)持續(xù)的活動(dòng)監(jiān)測(cè)和情境感知來(lái)了解周圍環(huán)境。為了實(shí)現(xiàn)這個(gè)功能,設(shè)備集成了越來(lái)越多的傳感器和外設(shè),由此產(chǎn)生大量數(shù)據(jù)。這反過(guò)來(lái)使得集成更強(qiáng)大的CPU變得很有必要,以便執(zhí)行越來(lái)越多的計(jì)算。同時(shí),必須縮小設(shè)計(jì)尺寸,降低成本和功耗,但又不犧牲最終產(chǎn)品不斷提升的功能要求。這些傳感器怎么樣才能更好地接連在一起呢?


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


      用于傳感器采集的基于處理器的典型架構(gòu)


      應(yīng)用在集成多個(gè)傳感器的系統(tǒng)中的典型基于微控制器的架構(gòu)包括以下組件:


      a)一個(gè)微控制器單元(MCU) - 也稱為處理子系統(tǒng),MCU控制系統(tǒng)內(nèi)所有構(gòu)成部分的運(yùn)行并處理數(shù)據(jù)。它包括一個(gè)處理器、一個(gè)內(nèi)部或外部存儲(chǔ)器、以及本地?cái)?shù)據(jù)處理所需的所有外設(shè)和子系統(tǒng)。在典型的基于MCU的架構(gòu)中,控制器執(zhí)行所有傳感器數(shù)據(jù)收集、處理和存儲(chǔ)。


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


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


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


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


      圖1. 基于微控制器的典型架構(gòu)


      這種先進(jìn)架構(gòu)的目的是盡可能減少主MCU活躍的時(shí)間。原來(lái)需要MCU干預(yù)的任務(wù),現(xiàn)在可以由智能子系統(tǒng)執(zhí)行。然而,還存在一個(gè)問(wèn)題,就是每次有來(lái)自傳感器、無(wú)線電或各種子系統(tǒng)的事件時(shí),MCU都需要被喚醒,因?yàn)樗俏ㄒ豢梢圆渴疬壿媮?lái)處理這些事件的元件。


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


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


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


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


      圖2. 具有傳感器節(jié)點(diǎn)控制器外設(shè)的應(yīng)用處理器架構(gòu)


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


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


      輕松創(chuàng)建指向內(nèi)存緩沖區(qū)的指針


      輪詢串行接口狀態(tài)位


      比較閾值


      ·系統(tǒng)RAM用于微碼存儲(chǔ)和數(shù)據(jù)


      ·DMA功能,用于將數(shù)據(jù)直接從通信接口傳輸?shù)较到y(tǒng)RAM


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


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


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


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


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


      使用此類專用硬件執(zhí)行傳感器和外設(shè)數(shù)據(jù)操作的架構(gòu)的主要優(yōu)點(diǎn)是:


      ·主CPU睡眠時(shí)間更長(zhǎng),從而可以節(jié)省功耗


      ·節(jié)省MIPS,因?yàn)镃PU不必訪問(wèn)慢速外設(shè)或執(zhí)行簡(jiǎn)單的數(shù)據(jù)操作


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


      節(jié)省功耗和MIPS


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


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


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


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


      表2:SNC寫/讀8 bit數(shù)據(jù)所需的時(shí)間以及CPU相應(yīng)所需的時(shí)間


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


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


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


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


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


      降低編程復(fù)雜度


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


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


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


      ·支持完整的系統(tǒng)整體調(diào)試 - 而不是單獨(dú)調(diào)試每個(gè)CPU內(nèi)核,因?yàn)榭赡軣o(wú)法檢測(cè)到當(dāng)內(nèi)核并行運(yùn)行時(shí)的系統(tǒng)行為錯(cuò)誤。


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


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


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


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


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


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


      ·可觀察性和高級(jí)調(diào)試機(jī)制同時(shí)應(yīng)用于SNC和主處理器執(zhí)行情境。


      傳感器越來(lái)越多,如何提升傳感器的功能要求?


      圖4. SNC編程框架


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


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


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


      ·SNC適配器采用特殊的SNC微碼,根據(jù)相應(yīng)的微碼列表實(shí)現(xiàn)注冊(cè)的SNC微碼執(zhí)行的調(diào)度,并通過(guò)其低級(jí)驅(qū)動(dòng)器控制SNC硬件模塊。


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


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


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


      通知


      數(shù)據(jù)(即:SNC 隊(duì)列)


      除了上述實(shí)現(xiàn)輕松編程SNC函數(shù)的結(jié)構(gòu)之外,還提供以下內(nèi)容以支持調(diào)試:


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


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


      總結(jié)


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



        你覺(jué)得這篇文章怎么樣?

        00
        關(guān)注微信公眾號(hào)
        咨詢熱線

        0311-68002401

        久久精品无码一电影,国产免费观看黄AV片麻豆,播放中文字幕红色熟女,啪啪视频观看无码
        <del id="mmfr0"><em id="mmfr0"></em></del>
          <bdo id="mmfr0"></bdo>
            <option id="mmfr0"><rt id="mmfr0"></rt></option>
            <form id="mmfr0"></form>

          1. <wbr id="mmfr0"></wbr>
            <strong id="mmfr0"><center id="mmfr0"></center></strong>