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

提高渦流式接近傳感器性能

ADT7470:溫度傳感器集線器和風(fēng)扇控制器數(shù)據(jù)表

群控集線器工程分線盒振弦溫度頻率傳感器集線器SHxxx使用說(shuō)明
基于mcu的組合傳感器和集線器解決方案

傳感器集線器能發(fā)揮哪些作用

制作智能Zigbee連接的家庭傳感器集線器

評(píng)論