傳感器已成為許多系統(tǒng)中的常規(guī)功能。它們與許多其他外圍設(shè)備一起存在,以增加可以納入系統(tǒng)正在完成的工作的環(huán)境輸入范圍。但是,在某些系統(tǒng)中,傳感器的數(shù)量可能會壓倒其他更傳統(tǒng)的外圍設(shè)備,并且可能比其他外圍設(shè)備更能影響性能。
與智能手機(jī)相比,這不是一個問題。從一個或兩個具有專用功能的傳感器,移動平臺大大增加了傳感器的數(shù)量,并向那些夢想有新事物的有進(jìn)取心的開發(fā)人員開放了傳感器數(shù)據(jù)。建筑師在整合傳感器時可能從未設(shè)想過這些應(yīng)用。
因此,當(dāng)直接連接到應(yīng)用處理器(AP)時,傳感器(包括用于屏幕的觸摸傳感器)變得更加沉重。借助用于環(huán)境光,接近度,加速度,旋轉(zhuǎn)甚至磁場,壓力,濕度,輻射和化學(xué)傳感的傳感器,可以有效地從AP卸載傳感器的管理。
如果AP需要每一塊傳感器數(shù)據(jù),那么除了用這些數(shù)據(jù)充斥AP之外別無選擇。然而,傳感器,如果他們正在工作,只需報告他們看到的內(nèi)容。從最基本的角度來看,它們并不意味著對數(shù)據(jù)的意義 - 這就是處理器的作用。傳感器在過去幾年變得更加智能化,但傳感器的決策范圍仍然有限。之后,某些處理器必須決定與數(shù)據(jù)有關(guān)的內(nèi)容(如果有的話)。
雖然AP最終可能會使用相關(guān)數(shù)據(jù),但只是為了跟蹤數(shù)據(jù)并確定相關(guān)內(nèi)容,這可能是一項相當(dāng)大的工作。正如專用電路處理無線電,視頻,圖形和其他密集功能一樣,傳感器集線器可以通過屏蔽AP免受可能被忽略的傳感器事件來釋放處理器帶寬。通過允許AP進(jìn)入睡眠狀態(tài),即使傳感器仍處于活動狀態(tài),傳感器集線器也可以延長電池壽命。
傳感器接口
傳感器具有多種接口,用于與系統(tǒng)的其余部分進(jìn)行數(shù)據(jù)通信。大多數(shù)人使用SPI或I2C等外設(shè)總線方案來傳輸數(shù)據(jù),但這就是大部分共性的結(jié)束。我們將看幾個例子,這些例子可以說明為什么可以保證傳感器集線器。
一個例子是來自Kionix的加速度計KXTIK-1004,它展示了基本和更復(fù)雜的相互作用。它碰巧有一個I2C接口,雖然有SPI變種。它是一個三軸加速度計,能夠檢測x,y和z方向的加速度。它是一款體積較小的器件,采用3 x3mm2LGA封裝。它具有可編程范圍,允許+/- 2,4或8 g范圍。其框圖如圖1所示。
圖1:KXTIK-1004框圖。 (由Kionix提供。)
與大多數(shù)傳感器一樣,KXTIK-1004采樣內(nèi)部狀態(tài) - 在這種情況下是相對電容 - 并提供一組運(yùn)行的數(shù)據(jù)。這曾經(jīng)是舊傳感器上傳輸數(shù)據(jù)的唯一方式,需要不斷監(jiān)聽。問題在于傳感器從根本上報告當(dāng)前的加速度,并且由聽眾決定加速度是否已經(jīng)變得足夠有意義以及決定其意義是什么。
KXTIK-1004仍允許訪問原始數(shù)據(jù)。傳感器將所有采樣數(shù)據(jù)存儲在8位寄存器中,可通過I2C端口訪問。數(shù)據(jù)分辨率可以是12位,這需要使用兩個寄存器,或者只需要8位,將讀取時間減半;控制設(shè)置指定分辨率。可以使用圖2將寄存器值或“計數(shù)”轉(zhuǎn)換為實際加速度值。
圖2:加速度可以從寄存器值確定。 (由Kionix提供。)
由于未直接讀取加速度,如果使用此方法需要絕對值,則讀者必須執(zhí)行轉(zhuǎn)換。如果這是訪問數(shù)據(jù)的唯一方法,那么連接到它的處理器將需要不斷輪詢,觀察值的有用變化。
輪詢頻率也很重要。寄存器值定期更新。如果輪詢速度太慢,那么您只會對偶爾的讀數(shù)進(jìn)行采樣,而忽略臨時讀數(shù)。使用此特定傳感器,您可以將輸出數(shù)據(jù)速率(ODR)設(shè)置為更接近輪詢速率。理論上,當(dāng)使用12位分辨率時,時序可能是一個問題,這需要讀取兩個寄存器:在讀取一個寄存器之后但在讀取第二個寄存器之前,不希望數(shù)據(jù)更新。幸運(yùn)的是,在這種情況下,讀取受到保護(hù),以確保讀取的兩個寄存器都反映相同的數(shù)據(jù)樣本。
中斷電路減少了輪詢的需要,中斷電路不僅可以通知處理器新數(shù)據(jù)何時可用,還可以識別幾種常見類型的加速事件。減少了處理器的負(fù)擔(dān),不僅因為它不必計算事件,還因為當(dāng)事件發(fā)生時,發(fā)送中斷。這意味著,如果這些事件都很重要,則不需要輪詢。
KXTIK-1004可以識別四個一般事件:運(yùn)動,輕擊,傾斜變化和“水印”事件(稍后會詳細(xì)介紹)。有一個中斷引腳,引腳11(INT)。可以將引腳編程為由于任何這些事件而觸發(fā)。當(dāng)中斷觸發(fā)時,可以讀取狀態(tài)寄存器以確定發(fā)生了什么事件并收集任何相關(guān)數(shù)據(jù)。
讓我們以“傾斜”為例。此功能會創(chuàng)建一個中斷,可以指示系統(tǒng)在手機(jī)上旋轉(zhuǎn)屏幕。可以在控制寄存器中設(shè)置許多參數(shù)。這些包括傾斜O(jiān)DR(可以與其他功能的ODR不同),在確定手機(jī)處于新狀態(tài)之前傾斜的時間長度,滯后以及它決定手機(jī)的時間點“平坦”(即無法分辨旋轉(zhuǎn)屏幕的方式)。給定這些參數(shù),當(dāng)傳感器檢測到電話已進(jìn)入新的傾斜狀態(tài)時,它可以發(fā)出中斷。
當(dāng)發(fā)生中斷時,處理器可以讀取兩個寄存器,其中一個提供先前的傾斜位置,另一個提供新的傾斜位置。傾斜位置表示為一個狀態(tài),每個寄存器有六位標(biāo)識適當(dāng)?shù)臓顟B(tài),如圖3所示。
圖3:Tilt狀態(tài)由TILT_POS_CUR和TILT_POS_PRE寄存器中的位指示。 (由Kionix提供。)
同樣,可以識別單擊和雙擊,以及喚醒單位的運(yùn)動事件,所有這些都具有可以設(shè)置的各種參數(shù)。數(shù)據(jù)緩沖也可以由FIFO處理,該FIFO可以在FIFO模式下使用(一旦完整,沒有寫入新數(shù)據(jù) - FILO也可用)或流模式(當(dāng)滿時,最舊的數(shù)據(jù)被新數(shù)據(jù)覆蓋)。可以定義“水印”級別,指示何時達(dá)到特定填充水平;當(dāng)水印被擊中時,可以觸發(fā)中斷。
在這個傳感器中,有許多選項可以減少處理器必須做的工作量 - 然而仍然需要管理中斷事件并對其來源進(jìn)行排序這樣就可以采取適當(dāng)?shù)男袆印?/p>
另一個傳感器示例是意法半導(dǎo)體的L3G4200D陀螺儀(見圖4)。它允許通過I2C或SPI接口進(jìn)行通信。它還有一個基本的DRY(數(shù)據(jù)就緒)中斷,用于指示準(zhǔn)備讀取的新樣本,并且它有一個可以在FIFO或流模式下工作的FIFO。
圖圖4:L3G4200D陀螺儀的框圖。 (STMicroelectronics提供。)
無論是簡單地讀取數(shù)據(jù)還是使用FIFO,讀取速率都很重要。如果你閱讀速度太慢,你可能會錯過樣本,或者你可能會從一個樣本中讀取X數(shù)據(jù),然后從下一個樣本中讀取Y數(shù)據(jù),然后從第三個樣本中讀取Z數(shù)據(jù),這意味著您將永遠(yuǎn)不會獲得單個樣本的所有信息樣品。 (BDU功能允許您在覆蓋之前讀取兩半樣本數(shù)據(jù)。)在FIFO模式下使用FIFO時,讀取太慢將導(dǎo)致阻塞;在流模式下,它會導(dǎo)致溢出。
這使得處理器的負(fù)擔(dān)在使用這些模式時繼續(xù)關(guān)注陀螺儀。但是,該器件確實為水印,F(xiàn)IFO溢出,移動(用于喚醒),不移動和選擇軸活動提供中斷。這些中斷減少了一些閱讀工作。
使用“組合”傳感器可以緩解一些監(jiān)測多個傳感器的工作。例如,ADI公司的ADIS16367(見圖5)結(jié)合了加速度計和陀螺儀。它有一個可用作數(shù)據(jù)就緒中斷的信號,因此通過SPI接口讀取的數(shù)據(jù)可以提供來自兩個傳感器的樣本。
圖5:框圖ADIS16367組合加速度計和陀螺儀。 (由Analog Devices,Inc。提供)
最后一個例子是Atmel的AT42QT1110觸摸控制器。該設(shè)備與觸摸板一起工作,以在特定鍵的電容發(fā)生變化時發(fā)出信號,表示觸摸。它可以使用7鍵或11鍵鍵盤,并且可以通過SPI進(jìn)行通信。
在7鍵模式下,每個鍵都有一個引腳用于指示觸摸。在11鍵模式下,使用內(nèi)部時鐘或通過提供外部SYNC信號(將可檢測到的焊盤數(shù)量減少到10)定期進(jìn)行讀取。該器件還有一個CHANGE引腳,可在鍵發(fā)生變化(觸摸或釋放)時發(fā)出信號。這可以充當(dāng)中斷,減少與實際觸摸或釋放事件一致的讀取次數(shù)。
管理傳感器數(shù)據(jù)采集和中斷
在所有這些情況下,可以選擇直接讀取原始數(shù)據(jù)或響應(yīng)任何中斷。如果中斷準(zhǔn)確地提供了感興趣的事件,并且如果這些事件需要由AP處理,則可能需要直接的傳感器到AP連接。但是,有幾個原因可能導(dǎo)致不建議直接連接。
如果需要原始數(shù)據(jù),讀取所需的時間可能需要AP過多關(guān)注。/li》
即使有中斷,一些傳感器 - 尤其是允許滑動和多點觸摸的觸摸屏 - 也會產(chǎn)生大量中斷。
如果需要進(jìn)一步處理數(shù)據(jù)資格或融合,然后這成為AP的負(fù)擔(dān)。
對事件的一些較低級別的響應(yīng) - 比如屏幕的旋轉(zhuǎn) - 可能不需要AP完成,這意味著某些較低級別實體可以在不涉及AP的情況下捕獲和執(zhí)行該事件。
最后,也許最重要的是,AP消耗大量功率,重要的是AP在不需要時進(jìn)入休眠狀態(tài)。如果AP承擔(dān)管理傳感器的全部責(zé)任,則無法進(jìn)入睡眠狀態(tài)。 (事實上,傳感器中斷可用于喚醒AP。)
由于這些原因,越來越傾向于在傳感器和AP之間放置一個設(shè)備;這樣的設(shè)備通常被稱為“傳感器集線器”。它的職責(zé)是維持與所有傳感器的低級對話,監(jiān)視事件,在其低級權(quán)限內(nèi)執(zhí)行這些事件,處理低級融合,并傳遞只有那些既是AP關(guān)注的相關(guān)和必要用途的事件,也只對AP有用。
兩種設(shè)備中的一種可以承擔(dān)傳感器集線器的角色。 FPGA具有邏輯意義,但只有非常小的FPGA具有必須考慮用于移動設(shè)備等應(yīng)用的成本結(jié)構(gòu)。另一種選擇,更典型的是微控制器。監(jiān)控傳感器的關(guān)鍵資源歸結(jié)為I2C或SPI的可用性,以及微控制器如何處理外部中斷。
例如,Atmel的ATmega48A是一個8位RISC微控制器,具有4 K字節(jié)的FLASH,256 K字節(jié)的EEPROM和512 K字節(jié)的RAM;它可以通過I2C和SPI進(jìn)行通信。該器件有兩種類型的中斷:“引腳更改”中斷和“外部”中斷。前者允許24個引腳中的任何一個通過三個中斷標(biāo)志觸發(fā)中斷(每個標(biāo)志對應(yīng)一個不同的中斷向量)。每個標(biāo)志與24個引腳中的8個相關(guān)聯(lián)。
還有兩個電平或邊沿觸發(fā)的外部中斷引腳,稱為INT0和INT1。每個都有自己的中斷向量。這產(chǎn)生了總共26個引腳和五個不同的矢量目標(biāo),為許多傳感器和其他可能的外部中斷源留出了空間。
Microchip的PIC18F2520是一款16位微控制器,具有32 K的FLASH,1536字節(jié)的SRAM和256字節(jié)的EEPROM,也可以通過兩種接口類型進(jìn)行通信。它有三個邊沿敏感的外部中斷引腳,具有可編程優(yōu)先級,INT1和INT2可以為高電平或低電平(INT0的優(yōu)先級固定為高電平)。此外,PORTB的引腳7:4可用作引腳更改中斷;它們的優(yōu)先級也可以編程為高或低。最后,飛思卡爾半導(dǎo)體的MCF51QE32是一款32位ColdFire微控制器,具有32 K字節(jié)的FLASH和8 K字節(jié)的RAM,具有兩個SPI和兩個I2C端口。它有一個IRQ外部中斷引腳和精心設(shè)計的優(yōu)先級方案。中斷有七個“級別”,每個級別有七個優(yōu)先級。各種中斷(主要是內(nèi)部生成的)在結(jié)果矩陣中占據(jù)不同的位置(見圖6)。外部中斷引腳以最高級別,中點優(yōu)先級運(yùn)行。這種單引腳方案可以很好地用于多傳感器組合,對所有傳感器數(shù)據(jù)更新都有一個中斷。
圖6:MCF51QE32的中斷優(yōu)先級矩陣。 IRQ引腳在7級具有中級優(yōu)先級。(由飛思卡爾半導(dǎo)體公司提供。)
總結(jié)
隨著傳感器的數(shù)量被集成到各種嵌入式系統(tǒng)中,應(yīng)用處理器因為需要的周期而成為管理它們的不良選擇,這樣做意味著AP無法入睡,消除了關(guān)鍵機(jī)會節(jié)省電力。使用小型低功耗微控制器來聚合傳感器信號允許主處理器專注于更重要的事情或睡眠,只有在有重要事項應(yīng)該解決時才會被中斷。
-
傳感器
+關(guān)注
關(guān)注
2553文章
51533瀏覽量
757425 -
半導(dǎo)體
+關(guān)注
關(guān)注
335文章
27860瀏覽量
224046 -
SPI
+關(guān)注
關(guān)注
17文章
1725瀏覽量
92336
發(fā)布評論請先 登錄
相關(guān)推薦
構(gòu)建安全,低功耗的藍(lán)牙集線器和傳感器網(wǎng)絡(luò)
提高傳感器性能方法零位法微差法
七項板載傳感器功能的綜合傳感器集線器解決方案
傳感器集線器是“永遠(yuǎn)在線”應(yīng)用的理想選擇
利用傳感器集線器提高性能和功耗
![利用<b class='flag-5'>傳感器</b><b class='flag-5'>集線器</b><b class='flag-5'>提高性能</b>和<b class='flag-5'>功耗</b>](https://file.elecfans.com/web2/M00/49/96/pYYBAGKhtGaAOWGnAAA5ST-TUlw354.png)
提高渦流式接近傳感器性能
![<b class='flag-5'>提高</b>渦流式接近<b class='flag-5'>傳感器</b><b class='flag-5'>性能</b>](https://file.elecfans.com/web2/M00/49/3F/poYBAGKhwJSALGKiAAAWI_xvVxU626.jpg)
ADT7470:溫度傳感器集線器和風(fēng)扇控制器數(shù)據(jù)表
![ADT7470:溫度<b class='flag-5'>傳感器</b><b class='flag-5'>集線器</b>和風(fēng)扇控制<b class='flag-5'>器</b>數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
群控集線器工程分線盒振弦溫度頻率傳感器集線器SHxxx使用說明
基于mcu的組合傳感器和集線器解決方案
![基于mcu的組合<b class='flag-5'>傳感器</b>和<b class='flag-5'>集線器</b>解決方案](https://file.elecfans.com/web2/M00/5D/70/pYYBAGLxyH-AffWsAASS94lbLCA705.png)
傳感器集線器能發(fā)揮哪些作用
![<b class='flag-5'>傳感器</b><b class='flag-5'>集線器</b>能發(fā)揮哪些作用](https://file.elecfans.com/web2/M00/5C/F5/poYBAGLyHG-ACquuAAHYc8yAo3o249.png)
制作智能Zigbee連接的家庭傳感器集線器
![制作智能Zigbee連接的家庭<b class='flag-5'>傳感器</b><b class='flag-5'>集線器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論