国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2030|回復(fù): 0
打印 上一主題 下一主題

【飛控開(kāi)發(fā)基礎(chǔ)教程6】開(kāi)源編隊(duì)無(wú)人機(jī)-SPI(六軸傳感器數(shù)據(jù)獲取)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-19 11:13:49 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
COCOFLY教程
——瘋殼·無(wú)人機(jī)·系列
SPI(六軸傳感器數(shù)據(jù)獲取)



   
    圖1


    一、ICM20602 簡(jiǎn)介
    六軸傳感器在當(dāng)今智能穿戴和定位導(dǎo)航產(chǎn)品中被廣泛應(yīng)用,而六軸傳感器中做的最好的要屬 InvenSense 公司的產(chǎn)品了,ICM20602 便是其推出的優(yōu)秀六軸傳感器之一。
    ICM20602 集成 3 軸加速度計(jì)和 3 軸陀螺儀,其中陀螺儀量程范圍可以選擇
    +/-250dps,+/-500dps,+/-1000dps 和+/-2000dps 這四種,而加速度計(jì)量程范圍可選擇+/-2g,+/-4g,+/-8g 和+/-16g 四種。
    ICM20602 支持高達(dá) 400KHz 的 I2C 以及高達(dá) 10MHz 的 SPI,具有較高的接口兼容性。
    ICM20602 的實(shí)物圖如下所示。

   
    圖2
    ICM20602 的引腳如下圖所示。

   
    圖3


    二、SPI 概述
    SPI 是指 Serial Peripheral Interface 的縮寫(xiě),即串行外圍設(shè)備接口,是一種高速的、全雙工、同步的通信總線(xiàn),并且在芯片的管腳上只占用四根線(xiàn),節(jié)約了芯片的引腳,SPI 的 4 條通信線(xiàn)為:
    (1)MISO 主入從出接口;
    (2)MOSI 主出從入接口;
    (3)SCLK 由主設(shè)備產(chǎn)生的時(shí)鐘信號(hào);
    (4)CS 由主設(shè)備控制的從設(shè)備片選信號(hào)。
    STM32F103 的 SPI 的時(shí)鐘最高可達(dá) 18MHz,支持 DMA。SPI 主從機(jī)通信,如下圖所示:

   
    圖4
    當(dāng)有多個(gè)設(shè)備掛載在 SPI 總線(xiàn)上,其接線(xiàn)圖如下圖所示。

   
    圖5
    單片機(jī)和外圍器件之間進(jìn)行 SPI 同步串行數(shù)據(jù)傳輸時(shí),在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,低位在前,高位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來(lái)說(shuō)比 I2C 總線(xiàn)要快,速度可達(dá)到幾 Mbp,相比于其它總線(xiàn),SPI 協(xié)議簡(jiǎn)單,相對(duì)數(shù)據(jù)速率高,但是 SPI 也有它的缺點(diǎn),比如沒(méi)有指定的流控制,沒(méi)有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。

    三、SPI 總線(xiàn)協(xié)議
    SPI 通信需要掌握以下知識(shí): 時(shí)鐘極性、時(shí)鐘相位以及 SPI 的傳輸時(shí)序。

    (1)時(shí)鐘極性,SPI 通過(guò)時(shí)鐘極性(CPOL)來(lái)決定在總線(xiàn)空閑時(shí),同步時(shí)鐘(SCLK)信號(hào)線(xiàn)的電平是高電平還是低電平。當(dāng)時(shí)鐘極性為 0 時(shí)(CPOL=0), SCLK 信號(hào)線(xiàn)在空閑時(shí)為低電平;當(dāng)時(shí)鐘極性為 1 時(shí)(CPOL=1),SCLK 信號(hào)線(xiàn)在空閑時(shí)為高電平;
    (2)時(shí)鐘相位,SPI 通過(guò)時(shí)鐘相位(CPHA)用來(lái)決定何時(shí)進(jìn)行信號(hào)采樣。當(dāng)時(shí)鐘相位為 1 時(shí)(CPHA=1),在 SCK 信號(hào)線(xiàn)的第二個(gè)跳變沿進(jìn)行采樣;這里的跳變沿究竟是上升沿還是下降沿?這取決于時(shí)鐘的極性。當(dāng)時(shí)鐘極性為 0
    時(shí),取下降沿;當(dāng)時(shí)鐘極性為 1 時(shí),取上升沿;如下圖所示:


圖6
    當(dāng)時(shí)鐘相位為 0 時(shí)(CPHA=0),在 SCK 信號(hào)線(xiàn)的第一個(gè)跳變沿進(jìn)行采樣。跳變沿同樣與時(shí)鐘極性有關(guān):當(dāng)時(shí)鐘極性為 0 時(shí),取上升沿;當(dāng)時(shí)鐘極性為 1
    時(shí),取下降沿;如下圖所示:

   
    圖7
    四、 SPI 寄存器
    在本次實(shí)驗(yàn)中使用到的是 STM32 的硬件 SPI,STM32 的硬件 SPI 所涉及的寄存器較多,這里挑選較為重要的來(lái)講解。

    (1)SPI_CR1:SPI 控制寄存器 1,如下圖所示:

   
    圖8
    其中 SPE 為 SPI 使能控制位,等于 1 時(shí)使能 SPI,等于 0 時(shí)關(guān)閉 SPI;BR[2:0]為 SPI 的波特率控制位,BR[2:0]等于 000 則波特率為 fPCLK/2,等于 001 則波特率為 fPCLK/4,等于 010 則波特率為 fPCLK/8,等于 011 則波特率為 fPCLK/16,等于100 則波特率為 fPCLK/32,等于 101 則波特率為 fPCLK/64,等于 110 則波特率為fPCLK/128,等于 111 則波特率為 fPCLK/256;MSTR 為 SPI 主從模式選擇位,等于0 時(shí)為從模式,等于 1 時(shí)為主模式;CPOL 為 SPI 時(shí)鐘極性設(shè)置位,為 0 則空閑時(shí)鐘為低電平,為 1 則空閑時(shí)鐘為高電平;CPHA 為 SPI 時(shí)鐘相位設(shè)置位,等于0 時(shí),在第一個(gè)時(shí)鐘跳邊沿開(kāi)始采集,等于 1 時(shí),在第 2 個(gè)時(shí)鐘跳邊沿開(kāi)始采集。
    (2)SPI_SR:SPI 狀態(tài)寄存器,如下圖所示:

   
    圖9
    其中 TXE 是發(fā)送緩沖區(qū)狀態(tài)位,該位為 0 時(shí)發(fā)送緩沖區(qū)非空,為 1 時(shí)發(fā)送緩沖區(qū)為空;RXNE 為接收緩沖區(qū)狀態(tài)位,該位為 0 時(shí)接收緩沖區(qū)為空,該位為1 時(shí),接收緩沖區(qū)為非空。
    (3)SPI_DR:SPI 數(shù)據(jù)寄存器,用于存儲(chǔ)接收或者發(fā)送的數(shù)據(jù)。SPI_DR 的描述如下圖所示:

   
    圖10
    其中 DR[15:0]存放 SPI 數(shù)據(jù)。
    五、六軸傳感器數(shù)據(jù)獲取實(shí)驗(yàn)

    六軸傳感器數(shù)據(jù)獲取實(shí)驗(yàn)使用 STM32 的硬件 SPI 與六軸傳感器 ICM20602 相連接,串口 1 即 UART1,通過(guò) USB 轉(zhuǎn)串口模塊連接電腦,把 SPI 獲取到的六軸數(shù)據(jù)通過(guò)串口 1 傳輸?shù)诫娔X端的串口調(diào)試助手顯示出來(lái)。做該實(shí)驗(yàn)的時(shí)候需要把視覺(jué)模組暫時(shí)取下,并且把 USB 轉(zhuǎn)串口的線(xiàn)接到視覺(jué)模組接口處。六軸傳感器 ICM20602 在無(wú)人機(jī)頂部的白色 RGB 彩燈盒里,通過(guò)軟排把 SPI 及供電口接出,如下圖所示。

   
    圖11
    根據(jù)原理圖,可以看到 ICM20602 的的 SPI 接口分別是:PB13、PA5、PA6、PA7,如下圖所示。


    圖12
    串口 1 的配置可以參考《串口(基礎(chǔ)收發(fā)),配置代碼(通過(guò)調(diào)用官方庫(kù)) 獲取 ICM20602 的數(shù)據(jù)代碼編寫(xiě)的思路如下:

    代碼思路

   
    表1
    SPI 初始化代碼如下:

   
    圖13
    SPI 的讀寫(xiě)代碼如下。

  
    圖14
    ICM20602 的初始化代碼如下。

  
    圖15
    ICM20602 的讀寫(xiě)代碼如下。

   
    圖16
    這里注意要把串口的發(fā)送也配置好,這樣才能把數(shù)據(jù)發(fā)送到電腦。串口 1 通過(guò) USB 轉(zhuǎn)串口模塊接到電腦,獲取 ICM20602 代碼如下。


  
    圖17
    保存、編譯、下載代碼,可以看到 USB 轉(zhuǎn)串口模塊在不斷地打印 ICM20602
    的 X 軸加速度高 8 位,數(shù)據(jù)如下圖所示:

   
    圖18






更多完整學(xué)習(xí)資料和對(duì)應(yīng)開(kāi)源套件,請(qǐng)登陸官網(wǎng):“瘋殼”

如需定制開(kāi)發(fā),請(qǐng)通過(guò)官網(wǎng)“瘋殼”網(wǎng)頁(yè)底部的“聯(lián)系我們”進(jìn)行聯(lián)系

    文件下載請(qǐng)點(diǎn)擊: 【6】SPI(六軸傳感器數(shù)據(jù)獲取).pdf (1.19 MB)


本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲自拍偷拍区 | 亚洲国产日韩在线一区 | 国产在线一区二区三区四区 | 草莓视频免费下载观看丝瓜 | 二级片在线 | 日韩在线一区二区三区 | 国产大毛片 | 日本经典影片免费在线看 | 免费看黄网站大全 | 国产一区二区不卡免费观在线 | 国产一在线精品一区在线观看 | 黄色网址视频在线播放 | 艹逼网| 日韩在线一区二区三区视频 | 久久精品国产影库免费看 | 久久笫一福利免费导航 | 国产手机在线国内精品 | 免费在线观看毛片 | 久草网站在线 | 99尹人香蕉国产免费天天在线 | 亚洲高清在线观看播放 | 亚洲国产成人精品一区91 | 国产一久久香蕉国产线看观看 | 成人在线a | www.欧美在线| 日韩成人精品视频 | 亚洲人成一区二区三区 | 欧美污污网站 | 久久精品99视频 | 不卡中文字幕 | 99精品国产第一福利网站 | 99re综合 | 成年男人的天堂 | 99成人免费视频 | 日韩免费毛片视频杨思敏 | 免费大片国产在线观看下载 | 日本www视频 | 精品第一国产综合精品蜜芽 | 亚洲精品高清国产一线久久97 | 香蕉1024| 狂野欧美老黑粗又硬 |