最近工作上有碰到sensor的相關(guān)問(wèn)題,正好分析下其流程作個(gè)筆記。
這個(gè)筆記分三個(gè)部分:
sensor硬件和驅(qū)動(dòng)的工作機(jī)制
sensor 上層app如何使用
從驅(qū)動(dòng)到上層app這中間的流程是如何
Sensor硬件和驅(qū)動(dòng)的工作機(jī)制
先看看Accerometer +Gyro Sensor的原理圖:
總結(jié)起來(lái)分四個(gè)部分(電源,地,通信接口,中斷腳)。電源和地與平臺(tái)和芯片本身有關(guān)系,與我們分析的沒(méi)有多少關(guān)系,根據(jù)sensor的特性保證sensor正常工作的上電時(shí)序。關(guān)于通信接口,sensor與ap之間通信一般有兩種接口(I2C/SPI)。因sensor數(shù)據(jù)量不大,I2C的速度足矣,目前使用I2C的居多。SDA是I2C的數(shù)據(jù)線(xiàn),SCL是I2C的clock線(xiàn)。關(guān)于中斷腳就是INT。Sensor有兩個(gè)工作模式。一種是主動(dòng)上報(bào)數(shù)據(jù)(每時(shí)每刻將獲取到的數(shù)據(jù)上報(bào)給系統(tǒng)),另個(gè)一種是中斷模式(當(dāng)數(shù)據(jù)的變化大于了之前設(shè)置的觸發(fā)條件),比如手機(jī)翻轉(zhuǎn)大于45度,就會(huì)將當(dāng)前的變化及當(dāng)前數(shù)據(jù)上報(bào)給系統(tǒng)。