最詳細(xì)的MPU6050寄存器說明手冊-中文_第1頁
最詳細(xì)的MPU6050寄存器說明手冊-中文_第2頁
最詳細(xì)的MPU6050寄存器說明手冊-中文_第3頁
最詳細(xì)的MPU6050寄存器說明手冊-中文_第4頁
最詳細(xì)的MPU6050寄存器說明手冊-中文_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1. /技術(shù)文檔未公布的寄存器 主要用于官方DMP操作2. #define MPU6050_RA_XG_OFFS_TC 0x00 /bit7 PWR_MODE, 6:1 XG_OFFS_TC, bit 0 OTP_BNK_VLD3. #define MPU6050_RA_YG_OFFS_TC 0x01 /7 PWR_MODE, 6:1 YG_OFFS_TC, 0 OTP_BNK_VLD4. /bit7的定義,當(dāng)設(shè)置為1,輔助I2C總線高電平是VDD。當(dāng)設(shè)置為0,輔助I2C總線高電平是VLOGIC5. 6. #define MPU6050_RA_ZG_OFFS_TC 0

2、x02 /7 PWR_MODE, 6:1 ZG_OFFS_TC, 0 OTP_BNK_VLD7. #define MPU6050_RA_X_FINE_GAIN 0x03 /7:0 X_FINE_GAIN8. #define MPU6050_RA_Y_FINE_GAIN 0x04 /7:0 Y_FINE_GAIN9. #define MPU6050_RA_Z_FINE_GAIN 0x05 /7:0 Z_FINE_GAIN10. 11. #define MPU6050_RA_XA_OFFS_H 0x06 /15:0 XA_OFFS 兩個(gè)寄存器合在一起12. #define MPU6050_RA_X

3、A_OFFS_L_TC 0x0713. 14. #define MPU6050_RA_YA_OFFS_H 0x08 /15:0 YA_OFFS 兩個(gè)寄存器合在一起15. #define MPU6050_RA_YA_OFFS_L_TC 0x0916. 17. #define MPU6050_RA_ZA_OFFS_H 0x0A /15:0 ZA_OFFS 兩個(gè)寄存器合在一起18. #define MPU6050_RA_ZA_OFFS_L_TC 0x0B19. 20. #define MPU6050_RA_XG_OFFS_USRH 0x13 /15:0 XG_OFFS_USR 兩個(gè)寄存器合在一起21

4、. #define MPU6050_RA_XG_OFFS_USRL 0x1422. 23. #define MPU6050_RA_YG_OFFS_USRH 0x15 /15:0 YG_OFFS_USR 兩個(gè)寄存器合在一起24. #define MPU6050_RA_YG_OFFS_USRL 0x1625. 26. #define MPU6050_RA_ZG_OFFS_USRH 0x17 /15:0 ZG_OFFS_USR 兩個(gè)寄存器合在一起27. #define MPU6050_RA_ZG_OFFS_USRL 0x1828. 29. /*陀螺儀的采樣頻率*/30. /*傳感器的寄存器輸出,FI

5、FO輸出,DMP采樣、運(yùn)動(dòng)檢測、31. *零運(yùn)動(dòng)檢測和自由落體檢測都是基于采樣率。32. *通過SMPLRT_DIV把陀螺儀輸出率分頻即可得到采樣率33. *采樣率=陀螺儀輸出率/ (1 + SMPLRT_DIV)34. *禁用DLPF的情況下(DLPF_CFG = 0或7) ,陀螺儀輸出率= 8 khz35. *在啟用DLPF(見寄存器26)時(shí),陀螺儀輸出率= 1 khz36. *加速度傳感器輸出率是1 khz。這意味著,采樣率大于1 khz時(shí),37. *同一個(gè)加速度傳感器的樣品可能會(huì)多次輸入到FIFO、DMP和傳感器寄存器*/38. #define MPU6050_RA_SMPLRT_DI

6、V 0x19 /0-7 陀螺儀輸出分頻采樣率39. 40. /*配置外部引腳采樣和DLPF數(shù)字低通濾波器*/41. #define MPU6050_RA_CONFIG 0x1A42. /bit5-bit3 一個(gè)連接到FSYNC端口的外部信號可以通過配置EXT_SYNC_SET來采樣43. / 也就是說,這里設(shè)置之后,FSYNC的電平0或1進(jìn)入最終數(shù)據(jù)寄存器,具體如下44. /0 不使用 1 FSYNC電平進(jìn)入所有數(shù)據(jù)寄存器 2 FSYNC電平進(jìn)入GYRO_XOUT_L 3 FSYNC電平進(jìn)入GYRO_YOUT_L45. /4 FSYNC電平進(jìn)入GYRO_ZOUT_L 5 FSYNC電平進(jìn)入AC

7、CEL_XOUT_L 6 FSYNC電平進(jìn)入ACCEL_YOUT_L46. /7 FSYNC電平進(jìn)入SYNC_ACCEL_ZOUT_L47. /bit2-bit0 數(shù)字低通濾波器 用于濾除高頻干擾 高于這個(gè)頻率的干擾被濾除掉48. /*對應(yīng)關(guān)系如下49. * * | 加速度傳感器 | 陀螺儀50. * * DLPF_CFG | 帶寬 | 延遲 | 帶寬 | 延遲 | 采樣率51. * -+-+-+-+-+-52. * 0| 260Hz | 0ms | 256Hz | 0.98ms | 8kHz53. * 1| 184Hz | 2.0ms | 188Hz | 1.9ms | 1kHz54. *

8、2| 94Hz | 3.0ms | 98Hz | 2.8ms | 1kHz55. * 3| 44Hz | 4.9ms | 42Hz | 4.8ms | 1kHz56. * 4| 21Hz | 8.5ms | 20Hz | 8.3ms | 1kHz57. * 5| 10Hz | 13.8ms | 10Hz | 13.4ms | 1kHz58. * 6| 5Hz | 19.0ms | 5Hz | 18.6ms | 1kHz59. * 7| Reserved | Reserved | Reserved60. * */61. 62. 63. /*陀螺儀的配置,主要是配置陀螺儀的量程與自檢(通過相應(yīng)的位

9、7 6 5 開啟自檢)*/64. #define MPU6050_RA_GYRO_CONFIG 0x1B65. /bit4-bit3 量程設(shè)置如下66. / 0 = +/- 250 度/秒67. / 1 = +/- 500 度/秒68. / 2 = +/- 1000 度/秒69. / 3 = +/- 2000 度/秒*/70. 71. /*加速度計(jì)的配置,主要是配置加速度計(jì)的量程與自檢(通過相應(yīng)的位7 6 5 開啟自檢)72. *另外,還能配置系統(tǒng)的高通濾波器*/73. #define MPU6050_RA_ACCEL_CONFIG 0x1C74. /bit7 啟動(dòng)X自檢 加速度計(jì)的自檢75.

10、 /bit6 啟動(dòng)Y自檢76. /bit5 啟動(dòng)Z自檢77. /bit4-bit3 加速度傳感器的量程配置78. / 0 = +/- 2g79. / 1 = +/- 4g80. / 2 = +/- 8g81. / 3 = +/- 16g*/82. /bit0到bit2 加速度傳感器的高通濾波器83. /*DHPF是在路徑中連接于運(yùn)動(dòng)探測器(自由落體,運(yùn)動(dòng)閾值,零運(yùn)動(dòng))的一個(gè)濾波器模塊。84. *高通濾波器的輸出值不在數(shù)據(jù)寄存器中85. *高通濾波器有三種模式:86. *重置:在一個(gè)樣本中將濾波器輸出值設(shè)為零。這有效的禁用了高通濾波器。這種模式可以快速切換濾波器的設(shè)置模式。87. *開啟:高通濾

11、波器能通過高于截止頻率的信號88. *持續(xù):觸發(fā)后,過濾器持續(xù)當(dāng)前采樣。過濾器輸出值是輸入樣本和持續(xù)樣本之間的差異89. *設(shè)置值如下所示90. * ACCEL_HPF | 高通濾波模式| 截止頻率91. * -+-+-92. * 0 | Reset | None93. * 1 | On | 5Hz94. * 2 | On | 2.5Hz95. * 3 | On | 1.25Hz96. * 4 | On | 0.63Hz97. * 7 | Hold | None98. */99. 100. #define MPU6050_RA_FF_THR 0x1D101. /*自由落體加速度的閾值102.

12、*這個(gè)寄存器為自由落體的閾值檢測進(jìn)行配置。103. *FF_THR的單位是1LSB = 2mg。當(dāng)加速度傳感器測量而得的三個(gè)軸的絕對值104. *都小于檢測閾值時(shí),就可以測得自由落體值。這種情況下,(加速度計(jì)每次檢測到就+1以下,所以還要依靠加速度采樣率)105. *自由落體時(shí)間計(jì)數(shù)器計(jì)數(shù)一次 (寄存器30)。當(dāng)自由落體時(shí)間計(jì)數(shù)器達(dá)到106. *FF_DUR中規(guī)定的時(shí)間時(shí),自由落體被中斷(或發(fā)生自由落體中斷)107. */108. 109. #define MPU6050_RA_FF_DUR 0x1E110. /*111. *自由落體加速度的時(shí)間閾值112. * 這個(gè)寄存器為自由落體時(shí)間閾值計(jì)

13、數(shù)器進(jìn)行配置。113. * 時(shí)間計(jì)數(shù)頻率為1 khz,因此FF_DUR的單位是 1 LSB = 1毫秒。114. * 當(dāng)加速度器測量而得的絕對值都小于檢測閾值時(shí),115. * 自由落體時(shí)間計(jì)數(shù)器計(jì)數(shù)一次。當(dāng)自由落體時(shí)間計(jì)數(shù)器116. * 達(dá)到該寄存器的規(guī)定時(shí)間時(shí),自由落體被中斷。117. * (或發(fā)生自由落體中斷)118. * */119. 120. #define MPU6050_RA_MOT_THR 0x1F121. /*122. *運(yùn)動(dòng)檢測的加速度閾值123. *這個(gè)寄存器為運(yùn)動(dòng)中斷的閾值檢測進(jìn)行配置。124. *MOT_THR的單位是 1LSB = 2mg。125. *當(dāng)加速度器測量而

14、得的絕對值都超過該運(yùn)動(dòng)檢測的閾值時(shí),126. *即可測得該運(yùn)動(dòng)。這一情況下,運(yùn)動(dòng)時(shí)間檢測計(jì)數(shù)器計(jì)數(shù)一次。127. *當(dāng)運(yùn)動(dòng)檢測計(jì)數(shù)器達(dá)到MOT_DUR的規(guī)定時(shí)間時(shí),運(yùn)動(dòng)檢測被中斷。128. * 運(yùn)動(dòng)中斷表明了被檢測的運(yùn)動(dòng)MOT_DETECT_STATUS (Register 97)的軸和極性。129. */130. 131. #define MPU6050_RA_MOT_DUR 0x20132. /*133. *運(yùn)動(dòng)檢測時(shí)間的閾值。134. *這個(gè)寄存器為運(yùn)動(dòng)中斷的閾值檢測進(jìn)行配置。135. *時(shí)間計(jì)數(shù)器計(jì)數(shù)頻率為1 kHz ,因此MOT_THR的單位是 1LSB = 1ms。136. *當(dāng)加

15、速度器測量而得的絕對值都超過該運(yùn)動(dòng)檢測的閾值時(shí)(Register 31),137. *運(yùn)動(dòng)檢測時(shí)間計(jì)數(shù)器計(jì)數(shù)一次。當(dāng)運(yùn)動(dòng)檢測計(jì)數(shù)器達(dá)到該寄存器規(guī)定的時(shí)間時(shí),138. *運(yùn)動(dòng)檢測被中斷。139. */140. 141. #define MPU6050_RA_ZRMOT_THR 0x21142. /*143. *零運(yùn)動(dòng)檢測加速度閾值。144. * 這個(gè)寄存器為零運(yùn)動(dòng)中斷檢測進(jìn)行配置。145. * ZRMOT_THR的單位是1LSB = 2mg。146. * 當(dāng)加速度器測量而得的三個(gè)軸的絕對值都小于檢測閾值時(shí),147. * 就可以測得零運(yùn)動(dòng)。這種情況下,零運(yùn)動(dòng)時(shí)間計(jì)數(shù)器計(jì)數(shù)一次 (寄存器34)。14

16、8. * 當(dāng)自零運(yùn)動(dòng)時(shí)間計(jì)數(shù)器達(dá)到ZRMOT_DUR (Register 34)中規(guī)定的時(shí)間時(shí),零運(yùn)動(dòng)被中斷。149. * 與自由落體或運(yùn)動(dòng)檢測不同的是,當(dāng)零運(yùn)動(dòng)首次檢測到以及當(dāng)零運(yùn)動(dòng)檢測不到時(shí),零運(yùn)動(dòng)檢測都被中斷。150. * 當(dāng)零運(yùn)動(dòng)被檢測到時(shí),其狀態(tài)將在MOT_DETECT_STATUS寄存器(寄存器97) 中顯示出來。151. * 當(dāng)運(yùn)動(dòng)狀態(tài)變?yōu)榱氵\(yùn)動(dòng)狀態(tài)被檢測到時(shí),狀態(tài)位設(shè)置為1。當(dāng)零運(yùn)動(dòng)狀態(tài)變?yōu)檫\(yùn)動(dòng)狀態(tài)被檢測到時(shí),152. * 狀態(tài)位設(shè)置為0。153. */154. 155. #define MPU6050_RA_ZRMOT_DUR 0x22156. /*157. *零運(yùn)動(dòng)檢測的時(shí)

17、間閾值158. * 這個(gè)寄存器為零運(yùn)動(dòng)中斷檢測進(jìn)行時(shí)間計(jì)數(shù)器的配置。159. * 時(shí)間計(jì)數(shù)器的計(jì)數(shù)頻率為16 Hz,因此ZRMOT_DUR的單位是1 LSB = 64 ms。160. * 當(dāng)加速度器測量而得的絕對值都小于檢測器的閾值(Register 33)時(shí),161. * 運(yùn)動(dòng)檢測時(shí)間計(jì)數(shù)器計(jì)數(shù)一次。當(dāng)零運(yùn)動(dòng)檢測計(jì)數(shù)器達(dá)到該寄存器規(guī)定的時(shí)間時(shí),162. * 零運(yùn)動(dòng)檢測被中斷。163. */164. 165. 166. /*167. *設(shè)備的各種FIFO使能,包括溫度 加速度 陀螺儀 從機(jī)168. *將相關(guān)的數(shù)據(jù)寫入FIFO緩沖中169. */170. #define MPU6050_RA_F

18、IFO_EN 0x23171. /bit7 溫度fifo使能172. /bit6 陀螺儀Xfifo使能173. /bit5 陀螺儀Yfifo使能174. /bit4 陀螺儀Zfifo使能175. /bit3 加速度傳感器fifo使能176. /bit2 外部從設(shè)備2fifo使能177. /bit1 外部從設(shè)備1fifo使能178. /bit0 外部從設(shè)備0fifo使能179. 180. #define MPU6050_RA_I2C_MST_CTRL 0x24181. /配置單主機(jī)或者多主機(jī)下的IIC總線182. /bit7 監(jiān)視從設(shè)備總線,看總線是否可用 MULT_MST_EN設(shè)置為1時(shí),MP

19、U-60X0的總線仲裁檢測邏輯被打開183. /bit6 延遲數(shù)據(jù)就緒中斷,直達(dá)從設(shè)備數(shù)據(jù)也進(jìn)入主機(jī)再觸發(fā) 相當(dāng)于數(shù)據(jù)同步等待184. /bit5 當(dāng)設(shè)置為1時(shí),與Slave3 相連的外部傳感器數(shù)據(jù)(寄存器73 到寄存器 96)寫入FIFO緩沖中,每次都寫入185. /bit4 主機(jī)讀取一個(gè)從機(jī)到下一個(gè)從機(jī)讀取之間的動(dòng)作 為0 讀取之間有一個(gè)restart,為1 下一次讀取前會(huì)有一個(gè)重啟,然后186. /一直讀取直到切換寫入或者切換設(shè)備187. /bit3-bit0 配置MPU作為IIC主機(jī)時(shí)的時(shí)鐘,基于MPU內(nèi)部8M的分頻188. /* I2C_MST_CLK | I2C 主時(shí)鐘速度 | 8

20、MHz 時(shí)鐘分頻器189. * -+-+-190. * 0 | 348kHz | 23191. * 1 | 333kHz | 24192. * 2 | 320kHz | 25193. * 3| 308kHz | 26194. * 4| 296kHz | 27195. * 5| 286kHz | 28196. * 6| 276kHz | 29197. * 7| 267kHz | 30198. * 8| 258kHz | 31199. * 9| 500kHz | 16200. * 10| 471kHz | 17201. * 11| 444kHz | 18202. * 12| 421kHz | 19

21、203. * 13| 400kHz | 20204. * 14| 381kHz | 21205. * 15| 364kHz | 22206. * */207. 208. 209. 210. /*MPU鏈接IIC從設(shè)備控制寄存器,沒使用從機(jī)連接的基本不用考慮這些*/211. /*指定slave (0-3)的I2C地址212. * 注意Bit 7 (MSB)控制了讀/寫模式。如果設(shè)置了Bit 7,那么這是一個(gè)讀取操作,213. * 如果將其清除,那么這是一個(gè)編寫操作。其余位(6-0)是slave設(shè)備的7-bit設(shè)備地址。214. * 在讀取模式中,讀取結(jié)果是存儲(chǔ)于最低可用的EXT_SENS_DAT

22、A寄存器中。215. * MPU-6050支持全5個(gè)slave,但Slave 4有其特殊功能(getSlave4* 和setSlave4*)。216. * 如寄存器25中所述,I2C數(shù)據(jù)轉(zhuǎn)換通過采樣率體現(xiàn)。用戶負(fù)責(zé)確保I2C數(shù)據(jù)轉(zhuǎn)換能夠217. * 在一個(gè)采樣率周期內(nèi)完成。218. * I2C slave數(shù)據(jù)傳輸速率可根據(jù)采樣率來減小。219. * 減小的傳輸速率是由I2C_MST_DLY(寄存器52)所決定的。220. * slave數(shù)據(jù)傳輸速率是否根據(jù)采樣率來減小是由I2C_MST_DELAY_CTRL (寄存器103)所決定的。221. * slave的處理指令是固定的。Slave的處理

23、順序是Slave 1, Slave 2, Slave 3 和 Slave 4。222. * 如果某一個(gè)Slave被禁用了,那么它會(huì)被自動(dòng)忽略。223. * 每個(gè)slave可按采樣率或降低的采樣率來讀取。在有些slave以采樣率讀取有些以減小224. * 的采樣率讀取的情況下,slave的讀取順序依舊不變。然而,225. * 如果一些slave的讀取速率不能在特定循環(huán)中進(jìn)行讀取,那么它們會(huì)被自動(dòng)忽略226. * 更多降低的讀取速率相關(guān)信息,請參閱寄存器52。227. * Slave是否按采樣率或降低的采樣率來讀取由寄存器103得Delay Enable位來決定228. */229. 230. /

24、從機(jī)0設(shè)置相關(guān)231. #define MPU6050_RA_I2C_SLV0_ADDR 0x25232. /bit7 當(dāng)前IIC 從設(shè)備0的操作,1為讀取 0寫入233. /bit6-bit0 從機(jī)設(shè)備的地址234. /* 要讀取或者要寫入的設(shè)備內(nèi)部的寄存器地址,不管讀取還是寫入*/235. #define MPU6050_RA_I2C_SLV0_REG 0x26236. /*iic從機(jī)系統(tǒng)配置寄存器*/237. #define MPU6050_RA_I2C_SLV0_CTRL 0x27238. /bit7 啟動(dòng)或者禁止這個(gè)設(shè)備的IIC數(shù)據(jù)傳送過程239. /bit6 當(dāng)設(shè)置為1時(shí),字節(jié)交換

25、啟用。當(dāng)啟用字節(jié)交換時(shí),詞對的高低字節(jié)即可交換240. /bit5 當(dāng) I2C_SLV0_REG_DIS 置 1,只能進(jìn)行讀取或者寫入數(shù)據(jù)。當(dāng)該位清 0,可以再讀取241. /或?qū)懭霐?shù)據(jù)之前寫入一個(gè)寄存器地址。當(dāng)指定從機(jī)設(shè)備內(nèi)部的寄存器地址進(jìn)行發(fā)送或接收242. /數(shù)據(jù)時(shí),該位必須等于 0243. /bit4指定從寄存器收到的字符對的分組順序。當(dāng)該位清 0,寄存器地址244. / 0和 1, 2 和 3 的字節(jié)是分別成對(甚至,奇數(shù)寄存器地址 ) ,作為一個(gè)字符對。當(dāng)該位置 1,245. /寄存器地址 1 和 2, 3 和 4 的字節(jié)是分別成對的,作為一個(gè)字符對246. /bit3-bit0

26、指定從機(jī) 0 發(fā)送字符的長度。由Slave 0轉(zhuǎn)換而來和轉(zhuǎn)換至Slave 0的字節(jié)數(shù),(IIC一次傳輸?shù)拈L度)247. / 該位清 0,I2C_SLV0_EN 位自動(dòng)置 0.248. 249. /*IIC SLAVE1配置寄存器,與0相同*/250. 251. #define MPU6050_RA_I2C_SLV1_ADDR 0x28252. #define MPU6050_RA_I2C_SLV1_REG 0x29253. #define MPU6050_RA_I2C_SLV1_CTRL 0x2A254. 255. /*IIC SLAVE2配置寄存器,與0相同*/256. #define MP

27、U6050_RA_I2C_SLV2_ADDR 0x2B257. #define MPU6050_RA_I2C_SLV2_REG 0x2C258. #define MPU6050_RA_I2C_SLV2_CTRL 0x2D259. 260. /*IIC SLAVE3配置寄存器,與0相同*/261. #define MPU6050_RA_I2C_SLV3_ADDR 0x2E262. #define MPU6050_RA_I2C_SLV3_REG 0x2F263. #define MPU6050_RA_I2C_SLV3_CTRL 0x30264. 265. /*slave4的I2C地址 IIC4與前

28、幾個(gè)的寄存器定義有所不同*/266. #define MPU6050_RA_I2C_SLV4_ADDR 0x31/與IIC SLAVE1類似 267. #define MPU6050_RA_I2C_SLV4_REG 0x32/*slave4的當(dāng)前內(nèi)部寄存器*/268. #define MPU6050_RA_I2C_SLV4_DO 0x33269. /*寫于slave4的新字節(jié)這一寄存器可儲(chǔ)存寫于slave4的數(shù)據(jù)。270. * 如果I2C_SLV4_RW設(shè)置為1(設(shè)置為讀取模式),那么該寄存器無法執(zhí)行操作*/271. #define MPU6050_RA_I2C_SLV4_CTRL 0x342

29、72. /當(dāng)設(shè)置為1時(shí),此位啟用了slave4的轉(zhuǎn)換操作。當(dāng)設(shè)置為0時(shí),則禁用該操作273. #define MPU6050_I2C_SLV4_EN_BIT 7274. /當(dāng)設(shè)置為1時(shí),此位啟用了slave4事務(wù)完成的中斷信號的生成。275. / 當(dāng)清除為0時(shí),則禁用了該信號的生成。這一中斷狀態(tài)可在寄存器54中看到。276. #define MPU6050_I2C_SLV4_INT_EN_BIT 6277. /當(dāng)設(shè)置為1時(shí),只進(jìn)行數(shù)據(jù)的讀或?qū)懖僮鳌.?dāng)設(shè)置為0時(shí),278. / 在讀寫數(shù)據(jù)之前將編寫一個(gè)寄存器地址。當(dāng)指定寄存器地址在slave設(shè)備中時(shí)279. / ,這應(yīng)該等于0,而在該寄存器中會(huì)進(jìn)

30、行數(shù)據(jù)處理。280. #define MPU6050_I2C_SLV4_REG_DIS_BIT 5281. /采樣率延遲,這為根據(jù)采樣率減小的I2C slaves傳輸速率進(jìn)行了配置。282. / 當(dāng)一個(gè)slave的傳輸速率是根據(jù)采樣率而降低的,那么該slave是以每1 / (1 + I2C_MST_DLY) 個(gè)樣本進(jìn)行傳輸。283. / 這一基本的采樣率也是由SMPLRT_DIV (寄存器 25)和DLPF_CFG (寄存器26)所決定的的。284. / slave傳輸速率是否根據(jù)采樣率來減小是由I2C_MST_DELAY_CTRL (寄存器103)所決定的285. #define MPU60

31、50_I2C_SLV4_MST_DLY_BIT 4/4:0286. #define MPU6050_I2C_SLV4_MST_DLY_LENGTH 5287. /*slave4中可讀取的最后可用字節(jié)*/288. #define MPU6050_RA_I2C_SLV4_DI 0x35289. 290. /*291. * IIC輔助從機(jī)系統(tǒng)中斷狀態(tài)292. */293. #define MPU6050_RA_I2C_MST_STATUS 0x36294. /bit7 此位反映了一個(gè)與MPU-60X0相連的外部設(shè)備的FSYNC中斷狀態(tài)。295. /當(dāng)設(shè)置為1且在INT_PIN_CFG(寄存器55)中

32、斷言FSYNC_INT_EN時(shí),中斷產(chǎn)生。296. /bit6 當(dāng)slave4事務(wù)完成時(shí),設(shè)備會(huì)自動(dòng)設(shè)置為1 如果定義了INT_ENABLE中的I2C_MST_INT_EN則產(chǎn)生中斷297. /bit5 I2C主機(jī)失去輔助I2C總線(一個(gè)錯(cuò)誤狀態(tài))的仲裁,此位自動(dòng)設(shè)置為1.如果斷言了INT_ENABLE寄存器298. /(寄存器56)中的I2C_MST_INT_EN位,則中斷產(chǎn)生299. /bit4slave4的NACK狀態(tài)300. /bit3 slave3的NACK狀態(tài)301. /bit2 slave2的NACK狀態(tài)302. /bit1 slave1的NACK狀態(tài)303. /bit0 sla

33、ve0的NACK狀態(tài)304. 305. 306. /*中斷引腳配置寄存器*/307. #define MPU6050_RA_INT_PIN_CFG 0x37308. /bit7 中斷的邏輯電平模式,高電平時(shí),設(shè)置為0;低電平時(shí),設(shè)置為1309. /bit6 中斷驅(qū)動(dòng)模式,推拉模式設(shè)置為0,開漏模式設(shè)置為1.310. /bit5 中斷鎖存模式.50us-pulse模式設(shè)置為0,latch-until-int-cleared模式設(shè)置為1311. /bit4 中斷鎖存清除模式 status-read-only狀態(tài)設(shè)置為0,any-register-read狀態(tài)設(shè)置為1.312. /bit3 FSYN

34、C中斷邏輯電平模式 0=active-high, 1=active-low313. /bit2 FSYNC端口中斷啟用設(shè)置設(shè)置為0時(shí)禁用,設(shè)置為1時(shí)啟用314. /bit1 I2C支路啟用狀態(tài),此位等于1且I2C_MST_EN (寄存器 106 位5)等于0時(shí),主機(jī)應(yīng)用程序處理器能夠直接訪問MPU-60X0的輔助I2C總線315. /否則無論如何都不能直接訪問316. /bit0 當(dāng)此位為1時(shí),CLKOUT端口可以輸出參考時(shí)鐘。當(dāng)此位為0時(shí),輸出禁用317. 318. 319. /*部分中斷使能*/320. #define MPU6050_RA_INT_ENABLE 0x38321. /bit

35、7 自由落體中斷使能322. /bit6 運(yùn)動(dòng)檢測中斷使能323. /bit5 零運(yùn)動(dòng)檢測中斷使能324. /bit4 FIFO溢出中斷使能325. /bit3 IIC主機(jī)所有中斷源使能326. /bit0 數(shù)據(jù)就緒中斷使能327. 328. 329. /*DMP中斷使能*/330. #define MPU6050_RA_DMP_INT_STATUS 0x39331. /不知道這些位的具體作用是什么,官方語焉不詳,但是的確存在332. #define MPU6050_DMPINT_4_BIT 4333. #define MPU6050_DMPINT_3_BIT 3334. #define MP

36、U6050_DMPINT_2_BIT 2335. #define MPU6050_DMPINT_1_BIT 1336. #define MPU6050_DMPINT_0_BIT 0337. 338. /*DMP中斷配置*/339. #define MPU6050_RA_INT_STATUS 0x3A340. /DMP中斷位之一使能341. #define MPU6050_INTERRUPT_PLL_RDY_INT_BIT 2342. /DMP中斷位之二使能343. #define MPU6050_INTERRUPT_DMP_INT_BIT 1344. 345. /*加速度X輸出*/346. #

37、define MPU6050_RA_ACCEL_XOUT_H 0x3B347. #define MPU6050_RA_ACCEL_XOUT_L 0x3C348. 349. /*加速度Y輸出*/350. #define MPU6050_RA_ACCEL_YOUT_H 0x3D351. #define MPU6050_RA_ACCEL_YOUT_L 0x3E352. 353. /*加速度Z輸出*/354. #define MPU6050_RA_ACCEL_ZOUT_H 0x3F355. #define MPU6050_RA_ACCEL_ZOUT_L 0x40356. 357. /*溫度值輸出*/3

38、58. #define MPU6050_RA_TEMP_OUT_H 0x41359. #define MPU6050_RA_TEMP_OUT_L 0x42360. 361. /*陀螺儀X輸出*/362. #define MPU6050_RA_GYRO_XOUT_H 0x43363. #define MPU6050_RA_GYRO_XOUT_L 0x44364. 365. /*陀螺儀Y輸出*/366. #define MPU6050_RA_GYRO_YOUT_H 0x45367. #define MPU6050_RA_GYRO_YOUT_L 0x46368. 369. /*陀螺儀Z輸出*/370

39、. #define MPU6050_RA_GYRO_ZOUT_H 0x47371. #define MPU6050_RA_GYRO_ZOUT_L 0x48372. 373. /*從IIC從機(jī)上獲取到的數(shù)據(jù)*/374. #define MPU6050_RA_EXT_SENS_DATA_00 0x49375. #define MPU6050_RA_EXT_SENS_DATA_01 0x4A376. #define MPU6050_RA_EXT_SENS_DATA_02 0x4B377. #define MPU6050_RA_EXT_SENS_DATA_03 0x4C378. #define MPU

40、6050_RA_EXT_SENS_DATA_04 0x4D379. #define MPU6050_RA_EXT_SENS_DATA_05 0x4E380. #define MPU6050_RA_EXT_SENS_DATA_06 0x4F381. #define MPU6050_RA_EXT_SENS_DATA_07 0x50382. #define MPU6050_RA_EXT_SENS_DATA_08 0x51383. #define MPU6050_RA_EXT_SENS_DATA_09 0x52384. #define MPU6050_RA_EXT_SENS_DATA_10 0x533

41、85. #define MPU6050_RA_EXT_SENS_DATA_11 0x54386. #define MPU6050_RA_EXT_SENS_DATA_12 0x55387. #define MPU6050_RA_EXT_SENS_DATA_13 0x56388. #define MPU6050_RA_EXT_SENS_DATA_14 0x57389. #define MPU6050_RA_EXT_SENS_DATA_15 0x58390. #define MPU6050_RA_EXT_SENS_DATA_16 0x59391. #define MPU6050_RA_EXT_SEN

42、S_DATA_17 0x5A392. #define MPU6050_RA_EXT_SENS_DATA_18 0x5B393. #define MPU6050_RA_EXT_SENS_DATA_19 0x5C394. #define MPU6050_RA_EXT_SENS_DATA_20 0x5D395. #define MPU6050_RA_EXT_SENS_DATA_21 0x5E396. #define MPU6050_RA_EXT_SENS_DATA_22 0x5F397. #define MPU6050_RA_EXT_SENS_DATA_23 0x60398. 399. /運(yùn)動(dòng)檢測的

43、狀態(tài)400. #define MPU6050_RA_MOT_DETECT_STATUS 0x61401. /bit7 x軸反向運(yùn)動(dòng)檢測中斷狀態(tài)402. /bit6 x軸正向運(yùn)動(dòng)檢測中斷狀態(tài)403. /bit5 Y軸反向運(yùn)動(dòng)檢測中斷狀態(tài)404. /bit4 Y軸正向運(yùn)動(dòng)檢測中斷狀態(tài)405. /bit3 Z軸反向運(yùn)動(dòng)檢測中斷狀態(tài)406. /bit2 Z軸正向運(yùn)動(dòng)檢測中斷狀態(tài)407. /bit1408. /bit0 零運(yùn)動(dòng)檢測中斷狀態(tài)409. /410. 411. 412. /*寫入到IIC從機(jī)中的數(shù)據(jù),指定的slv數(shù)據(jù)輸出容器*/413. #define MPU6050_RA_I2C_SLV0_D

44、O 0x63414. #define MPU6050_RA_I2C_SLV1_DO 0x64415. #define MPU6050_RA_I2C_SLV2_DO 0x65416. #define MPU6050_RA_I2C_SLV3_DO 0x66417. 418. /*外部影子寄存器的配置,這個(gè)寄存器用于指定外部傳感器數(shù)據(jù)影子的時(shí)間419. *當(dāng)啟用了某一特定的slave,其傳輸速率就會(huì)減小。420. *當(dāng)一個(gè)slave的傳輸速率是根據(jù)采樣率而降低的,那么該slave是以421. *每1 / (1 + I2C_MST_DLY) 個(gè)樣本進(jìn)行傳輸。422. * 1 / (1 + I2C_MS

45、T_DLY) Samples423. * 這一基本的采樣率也是由SMPLRT_DIV (寄存器 25)和DLPF_CFG (寄存器26)所決定的的。*/424. #define MPU6050_RA_I2C_MST_DELAY_CTRL 0x67425. /DELAY_ES_SHADOW設(shè)置為1,跟隨外部傳感器數(shù)據(jù)影子將會(huì)延遲到所有的數(shù)據(jù)接收完畢。426. #define MPU6050_DELAYCTRL_DELAY_ES_SHADOW_BIT 7427. /slv4-0的配置428. #define MPU6050_DELAYCTRL_I2C_SLV4_DLY_EN_BIT 4429. #

46、define MPU6050_DELAYCTRL_I2C_SLV3_DLY_EN_BIT 3430. #define MPU6050_DELAYCTRL_I2C_SLV2_DLY_EN_BIT 2431. #define MPU6050_DELAYCTRL_I2C_SLV1_DLY_EN_BIT 1432. #define MPU6050_DELAYCTRL_I2C_SLV0_DLY_EN_BIT 0433. 434. /*用于陀螺儀,加速度計(jì),溫度傳感器的模擬和數(shù)字信號通道的復(fù)位。435. 復(fù)位會(huì)還原模數(shù)轉(zhuǎn)換信號通道和清除他們的上電配置*/436. #define MPU6050_RA_SI

47、GNAL_PATH_RESET 0x68437. /bit2 重置陀螺儀的信號路徑438. /bit1 重置加速度傳感器的信號路徑439. /bit0 重置溫度傳感器的信號路徑440. 441. 442. /*獲取加速度傳感器啟動(dòng)延遲 還有濾波器的一些配置443. * 加速度傳感器數(shù)據(jù)路徑為傳感器寄存器、運(yùn)動(dòng)檢測、444. * 零運(yùn)動(dòng)檢測和自由落體檢測模塊提供樣本。在檢測模塊開始操作之前,445. * 包含過濾器的信號路徑必須用新樣本來啟用。446. * 默認(rèn)的4毫秒喚醒延遲時(shí)間可以加長3毫秒以上。在ACCEL_ON_DELAY中規(guī)定447. * 這個(gè)延遲以1 LSB = 1 毫秒為單位。除非

48、InvenSense另行指示,448. * 用戶可以選擇任何大于零的值。*/449. #define MPU6050_RA_MOT_DETECT_CTRL 0x69450. /具體的有效控制位451. /bit5-bit4 5:41-4ms 延時(shí)時(shí)間1-4ms選擇452. /bit3-bit2 自由落體檢測計(jì)數(shù)器的減量配置。453. / 當(dāng)指定數(shù)量的樣本的加速度測量都滿足其各自的閾值條件時(shí),454. / 檢測結(jié)果存儲(chǔ)于自由落體檢測模塊中。當(dāng)滿足閾值條件時(shí),455. / 相應(yīng)的檢測計(jì)數(shù)器遞增1。用戶可通過FF_COUNT配置不滿足閾值條件來減量。456. / 減量率可根據(jù)下表進(jìn)行設(shè)置:457.

49、/* FF_COUNT | 計(jì)數(shù)器減量458. * -+-459. * 0| 重置460. * 1| 1461. * 2| 2462. * 3| 4463. * 當(dāng)FF_COUNT配置為0(復(fù)位)時(shí),任何不合格的樣品都將計(jì)數(shù)器重置為0*/464. /bit1-bit0 運(yùn)動(dòng)檢測計(jì)數(shù)器的減量配置。465. / 當(dāng)指定數(shù)量的樣本的加速度測量都滿足其各自的閾值條件時(shí),466. / 檢測結(jié)果存儲(chǔ)于運(yùn)動(dòng)檢測模塊中。當(dāng)滿足閾值條件時(shí),相應(yīng)的檢測計(jì)數(shù)器遞增1。467. / 用戶可通過MOT_COUNT配置不滿足閾值條件來減量。減量率可根據(jù)下表進(jìn)行設(shè)置:468. / MOT_COUNT | 計(jì)數(shù)器減量469.

50、 /* -+-470. * 0 | 重置471. * 1 | 1472. * 2 | 2473. * 3 | 4474. * 當(dāng)MOT_COUNT配置為0(復(fù)位)時(shí),任何不合格的樣品都將計(jì)數(shù)器重置為0*/475. 476. 477. /*這個(gè)寄存器允許用戶使能或使能 FIFO 緩沖區(qū),478. *I2C 主機(jī)模式和主要 I2C 接口。FIFO 緩沖479. 區(qū),I2C 主機(jī),傳感器信號通道和傳感器寄存器也可以使用這個(gè)寄存器復(fù)位*/480. #define MPU6050_RA_USER_CTRL 0x6A481. /bit7 DMP禁止482. /bit6 當(dāng)此位設(shè)置為0,FIFO緩沖是禁用的483. /bit5 當(dāng)這個(gè)模式被啟用,MPU-60X0即成為輔助I2C總線上的外部傳感器slave設(shè)備的I2C主機(jī)484. /當(dāng)此位被清除為0時(shí),輔助I2C總線線路(AUX_DA and AUX_CL)理論上是由I2C總線485. /(SDA和SCL)驅(qū)動(dòng)的。這是啟用旁路模式的一個(gè)前提486. /bit4 I2C轉(zhuǎn)換至SPI模式(只允許MPU-6000)487. /bit3 重置DMP模式,官方文檔未說明的寄存器488. /bit2 重置FIFO當(dāng)設(shè)置為1時(shí),此位將重置FIFO緩沖區(qū),此時(shí)FIFO_EN等于0。觸發(fā)重置后,此位將自動(dòng)清為0489. /bit1重

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論