欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 嵌入式運(yùn)動(dòng)驅(qū)動(dòng)5.1.1中文教程 全文 [打印本頁]

作者: laomo1    時(shí)間: 2018-8-28 11:30
標(biāo)題: 嵌入式運(yùn)動(dòng)驅(qū)動(dòng)5.1.1中文教程 全文
嵌入式運(yùn)動(dòng)驅(qū)動(dòng)5.1.1教程

InvenSense提供的這一信息被認(rèn)為是準(zhǔn)確和可靠的。然而,InvenSense公司不對(duì)其使用或因其使用而造成的對(duì)第三方專利或其他權(quán)利的任何侵犯承擔(dān)任何責(zé)任。規(guī)格如有更改,恕不另行通知。InvenSense保留對(duì)本產(chǎn)品進(jìn)行更改的權(quán)利,包括其電路和軟件,以改進(jìn)其設(shè)計(jì)和/或性能,無需事先通知。InvenSense不對(duì)本文件所載信息和規(guī)格作出任何保證,無論是明示的還是默示的。InvenSense不對(duì)因本文件所載信息或因使用本文件所述產(chǎn)品和服務(wù)而引起的任何索賠或損害承擔(dān)任何責(zé)任。這包括但不限于基于侵犯專利、版權(quán)、面具作品和/或其他知識(shí)產(chǎn)權(quán)的索賠或損害賠償。

2.用途

運(yùn)動(dòng)驅(qū)動(dòng)程序是一種傳感器驅(qū)動(dòng)層,它可以方便地配置和利用InvenSense的運(yùn)動(dòng)跟蹤設(shè)備的車載數(shù)字運(yùn)動(dòng)處理器(DMP)功能。運(yùn)動(dòng)驅(qū)動(dòng)程序是嵌入式MotionApps軟件的一個(gè)子集,可以更容易地移植到多個(gè)MCU架構(gòu)。本文檔說明了運(yùn)動(dòng)驅(qū)動(dòng)程序庫的實(shí)際使用。包含的教程是為了與TI公司的MSP 430嵌入式微控制器兼容而編寫的,因此,本文推薦了MSP 430體系結(jié)構(gòu)的一些知識(shí)。MSP 430僅用作示例平臺(tái)。運(yùn)動(dòng)驅(qū)動(dòng)可以很容易地移植到任何單片機(jī)。

4.運(yùn)動(dòng)驅(qū)動(dòng)程序簡(jiǎn)介

運(yùn)動(dòng)驅(qū)動(dòng)程序由一組用ANSI兼容C編寫的API組成,用于使用和配置InvenSense運(yùn)動(dòng)跟蹤設(shè)備的不同功能,包括DMP操作。本教程提供了一個(gè)示例項(xiàng)目,它將從加速度計(jì)和陀螺儀(6軸四元數(shù))的融合四元數(shù)據(jù)發(fā)送到PC的串口,由用python編寫的客戶端處理,以便在屏幕上顯示和旋轉(zhuǎn)一個(gè)三維立方體。此驅(qū)動(dòng)程序支持6軸和9軸InvenSense設(shè)備。

在本運(yùn)動(dòng)驅(qū)動(dòng)程序教程中討論了以下內(nèi)容:

-如何加載、配置和利用DMP函數(shù)。

-MSP 430的I2C驅(qū)動(dòng)程序示例。

-陀螺儀和加速度計(jì)自測(cè)試功能調(diào)用的I2C驅(qū)動(dòng)示例基于硬件自測(cè)試文檔。(請(qǐng)參閱產(chǎn)品寄存器映像文件以獲得完整的自我測(cè)試描述)。

-硬件寄存器內(nèi)的加速度計(jì)校準(zhǔn)和更新參數(shù)。

-陀螺儀校準(zhǔn)

-配置低功率加速度計(jì)運(yùn)動(dòng)中斷的能力

-改變陀螺儀和加速度計(jì)的傳感器輸出數(shù)據(jù)速率(ODR)的能力。

-選擇在FIFO中填充哪些數(shù)據(jù)的能力。

5. 在CodeComposerStudio中打開運(yùn)動(dòng)驅(qū)動(dòng)程序項(xiàng)目

1.在“文件”菜單下選擇“導(dǎo)入”。

2.選擇現(xiàn)有的CCS Eclipse項(xiàng)目。

3.單擊“瀏覽”按鈕選擇“運(yùn)動(dòng)驅(qū)動(dòng)程序”文件夾

圖為打開運(yùn)動(dòng)驅(qū)動(dòng)程序項(xiàng)目的步驟1至3。

4.單擊Finish打開運(yùn)動(dòng)驅(qū)動(dòng)程序項(xiàng)目

顯示步驟4和帶有運(yùn)動(dòng)驅(qū)動(dòng)程序的最終IDE的圖

5.在SIMPLE_APPS文件夾下打開文件motiondrivertest.c。該文件將被稱為“主要”文件貫穿本教程。主文件包括關(guān)于如何配置Motion驅(qū)動(dòng)程序的示例,并包含源代碼中的文檔,以幫助用戶閱讀每一行代碼。

6.更詳細(xì)地解釋運(yùn)動(dòng)驅(qū)動(dòng)程序和功能規(guī)范

6.1 DMP

DMP每次芯片供電時(shí)都會(huì)利用這一功能。運(yùn)動(dòng)驅(qū)動(dòng)程序DMP圖像支持的功能包括:

6.2 I2C驅(qū)動(dòng)程序與InvenSense IC接口

1.本文為MSP430F5528平臺(tái)實(shí)現(xiàn)了I2C驅(qū)動(dòng)程序,并給出了相應(yīng)的源程序,使其可以方便地移植到任何MCU平臺(tái)上,msp 430_i2c_寫和msp430_i2c_c_read函數(shù)為MSP430F5528提供了讀寫數(shù)據(jù)的主要功能,而msp 430_i2c_Enable和msp 430_i2c_禁用是為MSP430F5528提供的啟用和禁用I2C通信的功能。這些函數(shù)要求讀取和寫入從地址、寄存器地址、長(zhǎng)度和數(shù)據(jù)。有關(guān)實(shí)現(xiàn)的更多細(xì)節(jié),請(qǐng)查看文件mps430_i2c.c。

6.3陀螺儀和加速度計(jì)自檢功能調(diào)用

MPU的陀螺儀和加速度計(jì)自檢功能允許用戶測(cè)試陀螺儀和加速度計(jì)的機(jī)械和電氣部分。當(dāng)自我測(cè)試啟動(dòng)時(shí),車載電子設(shè)備將啟動(dòng)相應(yīng)的傳感器.這種驅(qū)動(dòng)將陀螺儀的驗(yàn)證質(zhì)量移動(dòng)到相當(dāng)于預(yù)定義的科里奧利力的距離上,模擬加速度計(jì)上的外力。這將導(dǎo)致傳感器輸出的變化,這反映在輸出信號(hào)中。輸出信號(hào)與自測(cè)試寄存器相結(jié)合,用于觀察自測(cè)試響應(yīng).自測(cè)試響應(yīng)(STR)定義如下:

此自測(cè)試響應(yīng)用于通過從自測(cè)試響應(yīng)的工廠剪裁中查找更改來確定該部件是否通過了自我測(cè)試:

INTMPU_RUN_SEL_TEST(Long*gyro,Long*Accel)API由運(yùn)動(dòng)驅(qū)動(dòng)程序提供,用于對(duì)陀螺儀和加速度計(jì)進(jìn)行自我測(cè)試。如果成功執(zhí)行自測(cè)試,則返回0。從MPU_RUN_Self_test獲得的陀螺儀值應(yīng)縮放到當(dāng)前的陀螺儀靈敏度設(shè)置。通過調(diào)用mpu_get_gyro_sens(Float*sens),可以獲得陀螺的靈敏度參數(shù)。縮小陀螺儀和加速度計(jì)的Q16格式化值,以存儲(chǔ)新獲得的陀螺偏置值。

執(zhí)行加速度計(jì)自測(cè)試是為了確保加速度計(jì)正常工作,并與函數(shù)MPU_run_Self_test()一起完成,該函數(shù)依次調(diào)用另一個(gè)函數(shù)Accel_Self_test(Accel,Accel_st)。Accel_st參數(shù)是指通過調(diào)用get_st_biases從MPU寄存器獲得的標(biāo)準(zhǔn)加速度計(jì)偏置值。

有關(guān)更多詳細(xì)信息,請(qǐng)參閱Motion_Driver_test.c中的Run_Self_test函數(shù)作為示例。有關(guān)更多信息,請(qǐng)參閱下列函數(shù):

·mpu_run_Self_test

·get_st_biases

·Accel_S

6.4加速度計(jì)校準(zhǔn)

如果必要的話,加速度計(jì)校準(zhǔn)可以更新偏置值,并且可以通過在平面上放置板來比較零運(yùn)動(dòng)期間的當(dāng)前加速度值來完成。加速度計(jì)校準(zhǔn)采用Accel_Self_test函數(shù)(Accel,Accel_st),它包含在inv_mpu.c中。此函數(shù)從MPU寄存器中檢索加速度計(jì)的標(biāo)準(zhǔn)偏差(函數(shù)調(diào)用get_st_biases返回標(biāo)準(zhǔn)偏差) 和電流加速度計(jì)讀數(shù),然后計(jì)算兩者的位移方差。2將其與分配給實(shí)例的最大值和最小g值進(jìn)行比較。test_s結(jié)構(gòu),即在inv_mpu.c中

若要更新存儲(chǔ)在MPU硬件寄存器中的加速度計(jì)偏置值,請(qǐng)調(diào)用MPU_SET_Accel_偏差。注意,陀螺儀偏差在DMP存儲(chǔ)器中被更新,而加速度計(jì)偏差被存儲(chǔ)在硬件寄存器中。有關(guān)更多詳細(xì)信息,請(qǐng)參閱實(shí)現(xiàn)MPU_SET_Accel_偏差。

6.5陀螺儀校準(zhǔn)

DMP提供了一種基于設(shè)備的無運(yùn)動(dòng)狀態(tài)來校準(zhǔn)陀螺儀偏置的方法。可以通過在DMP特性中選擇DMP_FeatureGyro_CAL來啟用此特性。一旦啟用了這一功能,如果板在8秒內(nèi)沒有移動(dòng),陀螺儀將被自動(dòng)校準(zhǔn)。

6.6低功率加速度計(jì)運(yùn)動(dòng)中斷

這一段解釋了驅(qū)動(dòng)程序中幫助實(shí)現(xiàn)低功耗(LP)加速度計(jì)中斷模式的部分,該模式可用于在沒有運(yùn)動(dòng)的情況下睡眠主機(jī)處理器,直到檢測(cè)到運(yùn)動(dòng)為止。函數(shù)INT MPU_LP_MORY_INTERCT(無符號(hào)短閾值、無符號(hào)字符時(shí)間、無符號(hào)字符lpa_freq)使用三個(gè)參數(shù)(在嵌入式運(yùn)動(dòng)驅(qū)動(dòng)程序API規(guī)范文檔中進(jìn)一步描述)配置LP加速度計(jì)中斷模式,包括閾值、時(shí)間和LPA頻率。

6.7改變陀螺儀和加速度計(jì)傳感器ODR的能力

InvenSense MPU為陀螺儀和加速度計(jì)提供了可編程的輸出數(shù)據(jù)速率范圍。它可以通過向SMPLRT_DIV寫入一個(gè)值來配置,陀螺儀輸出數(shù)據(jù)速率可以給出如下:

運(yùn)動(dòng)驅(qū)動(dòng)程序提供了一種使用MPU_SET_SAMPLE_Rate函數(shù)配置陀螺儀ODR的簡(jiǎn)單方法。但是,當(dāng)DMP被打開時(shí),陀螺儀被預(yù)設(shè)為200 Hz的采樣率,并且不應(yīng)該使用MPU_SET_SAMPLE_Rate。當(dāng)關(guān)閉DMP時(shí),最大值可以配置為8khz,這取決于MPU設(shè)備規(guī)范。當(dāng)DLPF被禁用時(shí)(DLPF_CFG=0或7),則最大陀螺輸出速率為8 kHz,當(dāng)啟用DLPF時(shí)為1 kHz。最大加速度計(jì)輸出速率為1 kHz。對(duì)于大于1 kHz的采樣率,相同的加速度計(jì)采樣可以輸出到FIFO、DMP和傳感器寄存器超過一次。

8

如果使用帶有集成羅盤的InvenSense MPU-9150或連接到二級(jí)I2C總線的輔助羅盤的6軸MPU,則運(yùn)動(dòng)驅(qū)動(dòng)器具有從指南針中提取原始數(shù)據(jù)的能力。通過使用INV_XYZ_COMPASS傳感器掩碼,運(yùn)動(dòng)驅(qū)動(dòng)函數(shù)MPU_SET_Sensors()也用于配置指南針。配置完后,函數(shù)MPU_SET_COMPAST_SAMATE_Rate()將以最大為100 Hz.mpu_get_羅經(jīng)_reg()函數(shù)設(shè)置羅盤采樣率,以允許在芯片幀中獲取羅盤數(shù)據(jù)。

9.羅盤集成與校準(zhǔn)

本節(jié)提供關(guān)于如何集成和校準(zhǔn)指南針以實(shí)現(xiàn)9軸傳感器融合的一般指南和參考。運(yùn)動(dòng)驅(qū)動(dòng)源不涵蓋或支持任何指南針校準(zhǔn)或9軸傳感器融合參考指出在本節(jié)。本節(jié)主要介紹指南針的校準(zhǔn)和集成,并指出TI和MEMSense的參考文獻(xiàn),其中提供了應(yīng)用說明和來源。

磁強(qiáng)計(jì)的測(cè)量受地球磁場(chǎng)的存在和局部鐵磁材料的影響。考慮到理想情況,沿三軸磁強(qiáng)計(jì)的磁場(chǎng)分量應(yīng)形成一個(gè)原點(diǎn)為(0,0,0)的球體。但是,由于外部影響的存在,情況并非如此。如果這些外部效應(yīng)來自固定的磁場(chǎng),或“硬鐵”,那么它將引起(∆x,∆y,∆z)對(duì)球體原點(diǎn)的偏移,并且可以很容易地根據(jù)類似偏置偏移校正的地球場(chǎng)數(shù)據(jù)進(jìn)行校準(zhǔn)。“軟鐵”效應(yīng)是材料彎曲和扭曲局部磁場(chǎng)的結(jié)果,從而導(dǎo)致角度精度誤差。軟鐵效果也應(yīng)該消除,以獲得正確的指南針值。

下面的鏈接解釋并給出了進(jìn)行指南針校準(zhǔn)和指南針集成的源代碼。應(yīng)用程序說明將更詳細(xì)地解釋如何使用硬件。

10.SPI驅(qū)動(dòng)程序?qū)崿F(xiàn)

根據(jù)產(chǎn)品規(guī)格,InvenSense MPU通過I2C和/或SPI接口與MCU平臺(tái)通信。本教程的參考MCU MSP430F5528包含一個(gè)USCI系統(tǒng),它提供了與SPI一起使用的四個(gè)模塊。默認(rèn)情況下,MotionFit板沒有連接到MSP 430的SPI行,因此使用一個(gè)單獨(dú)的項(xiàng)目來測(cè)試SPI接口,如果需要,用戶需要一個(gè)開發(fā)板來測(cè)試SPI驅(qū)動(dòng)程序。

開發(fā)板使用UCSIB1模塊作為SPI接口,因此目前SPI驅(qū)動(dòng)程序被配置為與該UCSIB1模塊一起使用。SPI驅(qū)動(dòng)程序?qū)崿F(xiàn)不是運(yùn)動(dòng)驅(qū)動(dòng)程序最終發(fā)布的一部分,而是作為一個(gè)單獨(dú)的模塊來提供,以說明MPU和MSP 430之間的SPI通信接口。有關(guān)更多細(xì)節(jié),請(qǐng)參閱msp430sp.c和msp430_sp.h。

總之,SPI驅(qū)動(dòng)程序?qū)崿F(xiàn)中有四個(gè)主要的功能,即

11.附錄

11.1附錄A

移動(dòng)驅(qū)動(dòng)程序客戶端控制臺(tái)應(yīng)用程序作為移動(dòng)驅(qū)動(dòng)程序的客戶端提供。此應(yīng)用程序作為Python源代碼提供。它具有以下功能:

提供一個(gè)簡(jiǎn)單的多維數(shù)據(jù)集演示,用于可視化傳感器融合輸出。2.由于運(yùn)動(dòng)驅(qū)動(dòng)程序客戶端是作為Python源代碼提供的,因此用戶需要安裝以下組件才能運(yùn)行Python環(huán)境:

下載Python2.x Windows安裝程序(pyserial-2.5.win32.exe)

以下網(wǎng)站下載Windows/Python2.5版本(pygame-1.9.1 Relase.win32-py2.5.exe)

您必須先安裝Python,然后才能安裝pySeries和pyGames庫。安裝python之后,使用命令提示符來安裝pySeries。在命令提示符中輸入“python installpyerial.py”。

為了方便起見,您可能需要將Python添加到您的路徑中。在Windows中,右鍵單擊“我的計(jì)算機(jī)”,選擇“屬性”,然后在“高級(jí)”選項(xiàng)卡中選擇“環(huán)境變量”。在用戶變量(頂部部分)中,選擇PATH,單擊Edit,然后將目錄C:\Python 25添加到列表的末尾。

一旦有了工作的Python環(huán)境,就可以使用命令從命令行運(yùn)行MotionDriverClient應(yīng)用程序。要接受數(shù)據(jù),必須給python定位python多維數(shù)據(jù)集的位置。運(yùn)動(dòng)驅(qū)動(dòng)程序-client.py<comport>其中<comport>在安裝USB驅(qū)動(dòng)程序時(shí)檢測(cè)到COM#。

11.2附錄B

按&#983265;+R鍵打開Run對(duì)話框。鍵入devmgmt.msc并按Enter鍵打開設(shè)備管理器。

設(shè)備管理器對(duì)話框?qū)⒈淮蜷_。通過單擊箭頭展開端口部分,并查找嵌入式運(yùn)動(dòng)應(yīng)用程序(CDC),端口標(biāo)題旁邊應(yīng)該有一個(gè)com號(hào)。這是移動(dòng)驅(qū)動(dòng)程序客戶端應(yīng)該使用的端口號(hào)i.e.

12.參考文獻(xiàn)


完整的Word格式文檔51黑下載地址:

mpu6050翻譯成中文資料.docx (395.85 KB, 下載次數(shù): 8)








歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1