1. 程式人生 > >MPU6050開發 -- 基本概念簡介

MPU6050開發 -- 基本概念簡介

上一篇文章簡單的介紹了 MPU6050,裡面有好多概念不明白,3軸、6軸、9軸、加速度計、磁力針、DMP等等。

都是什麼玩意。。。啊!!這道題我不會做,太難了!

帶著這些問題,繼續看晶片手冊。

一、概述

MPU-60X0由以下幾個關鍵塊和功能組成:

1、帶有16位ADC和訊號調理的三軸MEMS速率陀螺儀感測器
2、具有16位ADC和訊號調理的三軸MEMS加速度感測器
3、數字運動處理器(DMP)引擎
4、主I2C和SPI(僅MPU-6000)序列通訊介面
5、用於第三方磁力計和其他感測器的輔助I2C序列介面
6、時鐘
7、感測器資料暫存器
8、FIFO
9、中斷
10、數字輸出溫度感測器
11、陀螺儀和加速度計自檢
12、偏見和LDO
13、充電泵

其系統結構圖:


接下來就一一的開始看。

二、帶有16位ADC和訊號調理的三軸MEMS陀螺儀

MPU-60X0由三個獨立的振動MEMS速率陀螺儀組成,可檢測旋轉角度X軸,Y軸和Z軸。 當陀螺儀圍繞任何感應軸旋轉時,科里奧利效應就會產生電容式感測器檢測到的振動。 所得到的訊號被放大,解調和濾波產生與角速度成比例的電壓。 該電壓使用單獨的片內數字化16位模數轉換器(ADC)對每個軸進行取樣。 陀螺儀感測器可以全面範圍的被數字程式設計為每秒±250,±500,±1000或±2000度(dps)。 ADC樣本速率可以從每秒8,000個取樣點程式設計到每秒3.9個取樣點,並且可由使用者選擇低通濾波器可實現廣泛的截止頻率。

三、具有16位ADC和訊號調理的
三軸MEMS加速度計

MPU-60X0的3軸加速度計為每個軸使用單獨的檢測質量。 加速沿著一條特定軸在相應的檢測質量上引起位移,並且電容式感測器檢測到該位移位移有差別。 MPU-60X0的架構降低了加速度計的敏感度製造變化以及熱漂移。 當裝置放置在平坦的表面上時,將進行測量在X和Y軸上為 0g,在Z軸上為+ 1g。 加速度計的比例因子在工廠進行校準並且在名義上與電源電壓無關。 每個感測器都有一個專用的sigma-delta ADC來提供數字輸出。 數字輸出的滿量程範圍可以調整到±2g,±4g,±8g或±16g。

四、數字運動處理器(DMP)

嵌入式數字運動處理器(DMP)位於MPU-60X0內部,可從主機處理器中解除安裝運動處理演算法的運算。 DMP從加速度計,陀螺儀以及其他第三方感測器(如磁力計)獲取資料,並處理資料。
結果資料可以從DMP的暫存器中讀取,或者可以在FIFO中緩衝。 DMP可以訪問其中的一個MPU的外部引腳,可用於產生中斷。
DMP的目的是解除安裝主機處理器的時序要求和處理能力。通常,運動處理演算法應該以高速執行,通常在200Hz左右,以提供低延遲的精確結果。即使應用程式以更低的速率更新,這也是必需的。例如,一個低功率的使用者介面可能會以5Hz的速度更新,但運動處理仍然應該以200Hz執行。 DMP可以作為一種工具使用,以最大限度地降低功耗,簡化定時,簡化軟體架構,並在主機處理器上節省寶貴的MIPS,以便在應用中使用。

五、主要 I2C 和 SPI 序列通訊介面

MPU-60X0使用 SPI(僅MPU-6000) I2C 序列通訊至系統處理器介面。 與系統處理器通訊時,MPU-60X0始終充當從屬裝置 LSB的 I2C 從地址的地址由引腳9(AD0)設定(一般接地)。
MPU-60X0與其主機之間的通訊邏輯電平如下:
    MPU-6000:與主機通訊的邏輯電平由VDD上的電壓設定
    MPU-6050:與主機通訊的邏輯電平由VLOGIC上的電壓設定

六、輔助I2C序列介面

MPU-60X0 具有一個輔助 I2C 匯流排,用於與片外3軸數字輸出磁力計進行通訊或其他感測器。 

兩種工作模式:

I2C Master Mode,此時MPU-60X0作為主裝置與外接感測器通訊; 

Pass-Through Mode, 此時僅用作連線, 允許MPU和外接感測器同時和晶片通訊。

因為我沒有用到磁力針,這部分不詳講。

到此就搞清楚了:

GY-521MPU6050 是三維角度感測器,為全球首例整合六軸感測器的運動處理元件。

這裡的六軸,代表的是它內建了一個三軸 MEMS 陀螺儀、一個三軸 MEMS 加速度計,一個數字運動處理引擎(DMP)。它還有用於第三方的數字感測器介面的輔助 I2C 序列介面,比如當輔助 I2C 序列介面連線到一個三軸磁力計MPU6050 能提供一個完整的九軸融合輸出到其主 I2C 埠。 

下圖示明瞭感測器的參考座標系( XYZ組成右手系)以及 3個測量軸和旋轉方向。

旋轉的正向可用右手螺旋定則判斷

        

七、內部時鐘生成

MPU-60X0具有靈活的時鐘方案,允許多種內部或外部時鐘源用於內部同步電路。這個同步電路包括訊號調理和
ADC,DMP以及各種控制電路和暫存器。片內PLL提供了靈活性允許輸入產生這個時鐘。
產生內部時鐘的允許的內部源是:
    內部張弛振盪器
    任何X,Y或Z陀螺(在整個溫度範圍內變化±1%的MEMS振盪器)
允許的外部時鐘源是:
    32.768kHz方波
    19.2MHz方波

生成內部同步時鐘源的選擇取決於外部的可用性來源以及對功耗和時鐘精度的要求。這些要求將是最多的可能因操作模式而異。例如,在一種模式中,最關心的是電量消耗,使用者可能希望操作MPU-60X0的數字運動處理器進行處理加速計資料,同時保持陀螺儀關閉。在這種情況下,內部張弛振盪器是一個好時鐘選擇。但是,在另一種陀螺儀啟用的模式下,選擇陀螺儀作為時鐘源提供更精確的時鐘源。時鐘精度非常重要,因為時序誤差直接影響數字運動處理器(以及任何處理器的擴充套件)執行的距離和角度計算。還有啟動條件要考慮。當MPU-60X0首次啟動時,裝置使用其內部時鐘,直到程式設計從另一個來源操作。這允許使用者例如等待使MEMS振盪器在被選為時鐘源之前穩定下來。

八、感測器資料暫存器

感測器資料暫存器包含最新的陀螺儀,加速度計,輔助感測器和溫度測量資料。 它們是隻讀暫存器,可通過序列介面訪問。 這些暫存器的資料可以隨時讀取。 但是,可以使用中斷函式來確定新資料何時可用。

九、FIFO

MPU-60X0包含一個可通過序列介面訪問的1024位元組FIFO暫存器 FIFO配置暫存器決定哪個資料寫入FIFO。 可能的選擇包括陀螺儀資料,加速計資料,溫度讀數,輔助感測器讀數和 FSYNC 輸入。 FIFO 計數器跟蹤 FIFO 中包含的有效資料位元組數。 FIFO暫存器支援突發讀取。 中斷功能可用於確定新資料何時可用。

十、中斷

中斷功能通過中斷配置暫存器進行配置。 可配置的專案包括INT引腳配置,中斷鎖存和清除方法以及中斷觸發器。 可觸發中斷的專案有:

(1)時鐘發生器鎖定到新的參考振盪器(用於切換時鐘源); 

(2)可以讀取新資料(來自FIFO和資料暫存器); 

(3)加速度計事件中斷; 

(4)MPU-60X0 沒有收到輔助感測器的確認I2C匯流排。 

中斷狀態可以從中斷狀態暫存器讀取。

十一、數字輸出溫度感測器

片上溫度感測器和ADC用於測量MPU-60X0晶片溫度。 ADC的讀數可以從FIFO或感測器資料暫存器讀取

十二、偏壓和LDO

偏壓和LDO部分產生MPU-60X0所需的內部電源和參考電壓和電流。 其兩個輸入是一個2.375至3.46V的未調整VDD和一個1.71V至VDD(僅MPU-6050)的VLOGIC邏輯參考電源電壓。 在REGOUT,LDO輸出被一個電容旁路。

十三、電荷泵

板載電荷泵產生MEMS振盪器所需的高電壓。 其輸出在CPOUT旁邊被一個電容旁路。