基於I2C總線的MPU6050學習筆記


MPU6050學習筆記

1. 簡述

一直想自己做個四軸飛行器,卻無從下手,終於狠下決心,拿出塵封已久的MPU6050模塊,開始摸索着數據手冊分析,一步一步地實現了MPU6050模塊的功能,從MPU6050模塊中讀取出加速度值和陀螺儀采樣值。

模塊如下圖所示:

MPU6050模塊

2. 模塊簡介

MPU-60X0將3軸陀螺儀,3軸加速度計和數字運動處理器(DMP)組合在一起。通過I2C總線可以接受外部3軸羅盤的輸入,提供9軸輸出。

MPU-60X0具有三個用於數字化陀螺儀輸出的16位ADC轉換器和三個用於數字化加速度計輸出的16位ADC轉換器。
對於快速和慢速運動的精確跟蹤,這些器件具有用戶可編程的滿量程±250,±500,±1000和±2000°/秒(dps)的用戶可編程陀螺儀和用戶可編程加速度計滿量程 范圍為±2g,±4g,±8g和±16g。

I2C通訊速率400KHz,SPI通訊速率1MHz(僅MPU-6000)。高速通訊SPI通訊速率20MHz(僅MPU-6000)。

MPU-60X0電源電壓范圍:2.375V ~ 3.46V

MPU-6000和MPU-6050相同,只是MPU-6050僅支持I2C接口,並具有單獨的VLOGIC參考引腳。MPU-6000支持I2C和SPI接口,並具有單電源引腳VDD。

MPU-60X0具有16位ADC和信號調理的三軸MEMS陀螺儀
MPU-60X0由三個獨立的振動MEMS速率陀螺儀組成,可檢測繞X軸,Y軸和Z軸的旋轉。 當陀螺儀圍繞任何感應軸旋轉時,科里奧利效應會引起由電容感應檢測到的振動。 所得到的信號被放大,解調和濾波以產生與角速率成比例的電壓。 使用單獨的片內16位模數轉換器(ADC)對該電壓進行數字化,以對每個軸進行采樣。 陀螺儀傳感器的滿量程范圍可以數字編程為±250,±500,±1000或±2000度/秒(dps)。 ADC采樣速率可以從每秒8,000個采樣點編程到每秒3.9個采樣點,用戶可選的低通濾波器可實現寬范圍的截止頻率。

MPU-60X0的坐標軸關系如下圖所示:

MPU6050的坐標軸關系

3. I2C通信協議

參考I2C通信協議

4. MPU6050寄存器讀寫

I2C通訊中,主處理器芯片作為主設備,MPU6050作為從設備。

4.1 從設備地址

MPU6050作為從設備使用時,有一個芯片自身的7位的設備地址,該地址為:0b110100X,7位地址的LSB位由引腳AD0的值決定,這樣在一個板子的同一個I2C總線上可以同時使用兩個MPU6050芯片,所以MPU6050的從設備地址為:0b1101000(0x68,AD0為低)或者0b1101001(0x69,AD0為高)。

4.2 寫寄存器

 主設備發送一個起始位(S),再發送I2C的從設備地址數據(由從7bit設備地址和1bit讀標志位0組成),在第9個時鍾SCL為高電平時,從設備發送應答信號(ACK)。接着,主設備發送從設備的寄存器地址(RA,8bit),等待從設備應答(ACK)后,主設備再發送要在寄存器中寫入的數據(8bit),等待從設備應答(ACK)后,可以發送停止位(P)結束數據傳輸。

如果要寫多個寄存器,在上一步中可以先不發停止位(P),而是繼續發送數據(8bit),這樣就可以實現連續寫入多個寄存器數據了。MPU6050芯片會自動增加寄存器地址,並將連續寫入的數據字節,按順序依次寫入到相鄰的寄存器中。

兩種寫數據的格式如下圖所示:

MPU6050的I2C寫寄存器順序

4.3 讀寄存器

 主設備發送一個起始位(S),再發送I2C的從設備地址數據(由從7bit設備地址和1bit寫標志位0組成),在第9個時鍾SCL為高電平時,從設備發送應答信號(ACK)。然后發送要讀取的寄存器地址,在接收到從設備發送的應答信號(ACK)后,主設備發送一個起始位(Sr),再發送從設備地址(由從7bit設備地址和1bit讀標志位1組成 )。從設備會發送一個應答信號(ACK),再發送寄存器中的數據(8bit)。主設備發送一個非應答信號(NOACK),和一個停止位(P),停止I2C傳輸。

如果要讀取多個連續的寄存器,在上一步中不能發送非應答信號(NOACK)和停止位(P),而是要發送一個應答信號(ACK),等待下一個從設備發送的數據,直到最后一個數據接收完成后,主設備發送一個非應答信號(NOACK),和一個停止位(P),停止I2C傳輸。

兩種讀寄存器數據的格式如下圖所示:

MPU6050的I2C讀寄存器順序

4.4 MPU6050通訊中的簡寫符號

I2C通訊中的簡寫符號

5. 總結

至此,I2C總線通訊協議及MPU6050寄存器的讀寫已經介紹完畢,下一步就是用程序實現I2C通訊,並通過I2C讀寫MPU6050的寄存器數據。具體內容,請參考下一節。

6. 參考資料

MPU-6000 and MPU-6050 Product Specification Revision 3.4(MPU-6050_DataSheet_V3 4.pdf)
MPU-6000 and MPU-6050 Register Map and Descriptions Revision 4.2(MPU-6000-Register-Map1.pdf)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM