在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

有淺入深的介紹BLE與MEMS中的開(kāi)發(fā)板設(shè)計(jì)

MEMS技術(shù) ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-03-31 08:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)BLE遇到MEMS,就如同天使有了翅膀。本期從有淺入深的介紹BLE與MEMS的那些事,就從ST的STEVAL-IDB007V1開(kāi)發(fā)板中BLE_SensorDemo例程開(kāi)始。

藍(lán)牙入門(mén)網(wǎng)上資料很多,可參考《藍(lán)牙BLE權(quán)威教程》,或者看看干貨 | BLE開(kāi)發(fā),你要知道這幾件事

開(kāi)發(fā)環(huán)境搭建請(qǐng)參考論壇帖子STEVAL-IDB007V1之透?jìng)餮菔静僮髁鞒毯退柢浖Y源下載(http://bbs.eeworld.com.cn/thread-604229-1-1.html),從開(kāi)始菜單進(jìn)入BlueNRG-1 Navigator可以實(shí)際運(yùn)行各種例程查看效果。

硬件連接:使用ST-Link V2中SWCLK與SWDIO與開(kāi)發(fā)板對(duì)應(yīng)的引腳連接,用來(lái)仿真;供電和串口都通過(guò)USB線纜。

下圖是局部放大圖:

會(huì)發(fā)現(xiàn)陀螺儀的值會(huì)跳變(不同的傾角下跳變的概率不一樣,更新頻率越高,跳變的概率越大),由于陀螺儀在原始的寄存器值上乘以了70,將跳變值除以70后為+255和-255。

經(jīng)過(guò)一系列的摸索,和ST工程師的幫助,終于解決了問(wèn)題,見(jiàn)下圖,那就是將BDU(Block Data Update)位置1,沒(méi)有置1的話,數(shù)據(jù)沒(méi)有準(zhǔn)備好就被讀出來(lái)也是有可能的,這也就是為何更新頻率設(shè)置的越高就會(huì)越容易出現(xiàn)錯(cuò)誤值的原因。

其實(shí)早在2015年在數(shù)據(jù)手冊(cè)中就建議將BDU位置1了,后來(lái)的官方初始化程序中也都將BDU置1了。

下面是不動(dòng)芯片,僅僅將BDU置1后的效果:

因此想要準(zhǔn)確的的獲取的數(shù)據(jù)記得將BDU位置1哦。

更高效的讀取數(shù)據(jù)傳感器使用的是SPI接口,這點(diǎn)很好,相比于IIC,SPI這是要快太多了,我們可以節(jié)約更多的時(shí)間用來(lái)做其他的事,也有利于節(jié)能,該芯片最高支持10MHz的SPI速度,但是驅(qū)動(dòng)卻寫(xiě)的不是很高效,官方代碼如下:

  1. static IMU_6AXES_StatusTypeDef LSM6DS3_G_GetAxes( int32_t *pData )

  2. {

  3. /*Here we have to add the check if the parameters are valid*/

  4. int16_t pDataRaw[3];

  5. float sensitivity = 0.0f;

  6. if(LSM6DS3_G_GetAxesRaw(pDataRaw) != IMU_6AXES_OK)

  7. {

  8. return IMU_6AXES_ERROR;

  9. }

  10. if(LSM6DS3_G_GetSensitivity( &sensitivity ) != IMU_6AXES_OK)

  11. {

  12. return IMU_6AXES_ERROR;

  13. }

  14. pData[0] = (int32_t)(pDataRaw[0] * sensitivity);

  15. pData[1] = (int32_t)(pDataRaw[1] * sensitivity);

  16. pData[2] = (int32_t)(pDataRaw[2] * sensitivity);

  17. return IMU_6AXES_OK;

  1. static IMU_6AXES_StatusTypeDef LSM6DS3_G_GetAxesRaw( int16_t *pData )

  2. {

  3. /*Here we have to add the check if the parameters are valid*/

  4. uint8_t tempReg[2] = {0, 0};

  5. if(LSM6DS3_IO_Read(&tempReg[0], LSM6DS3_XG_MEMS_ADDRESS, LSM6DS3_XG_OUT_X_L_G, 2) != IMU_6AXES_OK)

  6. {

  7. return IMU_6AXES_ERROR;

  8. }

  9. pData[0] = ((((int16_t)tempReg[1]) << 8) + (int16_t)tempReg[0]);

  10. if(LSM6DS3_IO_Read(&tempReg[0], LSM6DS3_XG_MEMS_ADDRESS, LSM6DS3_XG_OUT_Y_L_G, 2) != IMU_6AXES_OK)

  11. {

  12. return IMU_6AXES_ERROR;

  13. }

  14. pData[1] = ((((int16_t)tempReg[1]) << 8) + (int16_t)tempReg[0]);

  15. if(LSM6DS3_IO_Read(&tempReg[0], LSM6DS3_XG_MEMS_ADDRESS, LSM6DS3_XG_OUT_Z_L_G, 2) != IMU_6AXES_OK)

  16. {

  17. return IMU_6AXES_ERROR;

  18. }

  19. pData[2] = ((((int16_t)tempReg[1]) << 8) + (int16_t)tempReg[0]);

  20. return IMU_6AXES_OK;

  21. }

每次都是單次讀取(讀兩個(gè)字節(jié))每一軸的數(shù)據(jù),而且還獲取了一次sensitivity(讀一個(gè)字節(jié))。

我們知道SPI要完成一次讀數(shù)據(jù)的操作,本質(zhì)是需要讀寫(xiě)兩次的,第一次將地址寫(xiě)進(jìn)去,然后再將0寫(xiě)入,將數(shù)據(jù)弄出來(lái)。因此驅(qū)動(dòng)如果需要讀取6軸的數(shù)據(jù)一共需要寫(xiě)12次,讀18次SPI。而我認(rèn)為sensitivity是開(kāi)始設(shè)置的,可以不讀,然后6軸的數(shù)據(jù)可以一次全部讀出來(lái),因?yàn)槟J(rèn)SPI地址是會(huì)累加的,

因此程序可以改成如下,然后將陀螺儀值乘以70,加速度計(jì)值乘以0.122

  1. void Get_Sensor_RawData(void){

  2. Sensor_IO_Read(NULL,LSM6DSL_ACC_GYRO_OUTX_L_G,regValue, 12);

  3. for(int i=0;i<6;i++){

  4. Sensor_Raw_Data[/size][/font][font=微軟雅黑][size=3] = ( ( ( ( int16_t )m_rx_buf[2*i+2] ) << 8 ) + (int16_t )m_rx_buf[2*i+1] );

  5. }

  6. }

從0x22地址開(kāi)讀,也就是寫(xiě)1次,讀12次,而且還節(jié)約了SPI的開(kāi)啟和關(guān)閉的耗時(shí),這樣就大大的提高的數(shù)據(jù)獲取的速度,如果可以使用DMA能夠更高效。

因此如果想要更加高效的使用陀螺儀加速度計(jì),記得要連續(xù)的讀取12個(gè)字節(jié)且無(wú)需讀取靈敏度哦。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mems
    +關(guān)注

    關(guān)注

    129

    文章

    4143

    瀏覽量

    194086
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    846

    瀏覽量

    99954
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1176

    瀏覽量

    130446

原文標(biāo)題:干貨 | 當(dāng)BLE遇到MEMS——收服和調(diào)教

文章出處:【微信號(hào):wwzhifudianhua,微信公眾號(hào):MEMS技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何選擇合適的芯科科技Wi-Fi開(kāi)發(fā)板

    您正在尋找適用于超低功耗物聯(lián)網(wǎng)應(yīng)用項(xiàng)目的Wi-Fi 開(kāi)發(fā)板嗎?本文將介紹Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗藍(lán)牙5.4解決方案的Wi-Fi 開(kāi)發(fā)板。SiWx917是目前市場(chǎng)上最節(jié)能
    的頭像 發(fā)表于 07-09 09:15 ?459次閱讀

    微愛(ài)芯32位MCU開(kāi)發(fā)板AiP32RV15X介紹

    AiP32RV15X開(kāi)發(fā)板是一款基于RISCV內(nèi)核的32位MCU開(kāi)發(fā)板,提供了板載調(diào)試器、RESET、WAKEUP按鍵、三色LED、CAN收發(fā)器、USB接口、UART、ADC、SPI、IIC、RTC、TIMER、WDT、GPIO等資源。
    的頭像 發(fā)表于 06-17 10:54 ?268次閱讀
    <b class='flag-5'>中</b>微愛(ài)芯32位MCU<b class='flag-5'>開(kāi)發(fā)板</b>AiP32RV15X<b class='flag-5'>介紹</b>

    ARM,NPU,F(xiàn)PGA三種核心的開(kāi)發(fā)板 — 米爾安路飛龍派開(kāi)發(fā)板

    最近我發(fā)現(xiàn)一個(gè)有趣的開(kāi)發(fā)板。這個(gè)開(kāi)發(fā)板集合了ARM核心,NPU核心甚至還有FPGA核心。它就是米爾新出的YM90X開(kāi)發(fā)板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所科創(chuàng)
    的頭像 發(fā)表于 06-13 08:03 ?577次閱讀
    <b class='flag-5'>有</b>ARM,NPU,F(xiàn)PGA三種核心的<b class='flag-5'>開(kāi)發(fā)板</b> — 米爾安路飛龍派<b class='flag-5'>開(kāi)發(fā)板</b>

    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開(kāi)發(fā)板、藍(lán)牙模塊開(kāi)發(fā)板、無(wú)線模塊開(kāi)發(fā)板

    新品上市圖傳數(shù)傳模塊開(kāi)發(fā)板藍(lán)牙模塊開(kāi)發(fā)板國(guó)產(chǎn)無(wú)線模塊開(kāi)發(fā)板部分型號(hào)參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠(yuǎn)距離圖傳數(shù)傳模塊開(kāi)發(fā)板EWT611-900NW20S是一款入
    的頭像 發(fā)表于 06-12 19:33 ?324次閱讀
    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊<b class='flag-5'>開(kāi)發(fā)板</b>、藍(lán)牙模塊<b class='flag-5'>開(kāi)發(fā)板</b>、無(wú)線模塊<b class='flag-5'>開(kāi)發(fā)板</b>

    第二章 開(kāi)發(fā)板與芯片介紹 詳解W55MH32芯片及開(kāi)發(fā)板

    本章介紹了W55MH32芯片及開(kāi)發(fā)板。該芯片采用Cortex-M3內(nèi)核,主頻216MHz,集成以太網(wǎng)功能,L和Q兩種型號(hào)。配套開(kāi)發(fā)板L-EVB功能豐富、Q-EVB為最小系統(tǒng)
    的頭像 發(fā)表于 05-26 09:19 ?366次閱讀
    第二章 <b class='flag-5'>開(kāi)發(fā)板</b>與芯片<b class='flag-5'>介紹</b>  詳解W55MH32芯片及<b class='flag-5'>開(kāi)發(fā)板</b>

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2788次閱讀
    迅為RK3568<b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)指南Linux<b class='flag-5'>中</b>通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3576開(kāi)發(fā)板核心與底板接口硬件介紹

    迅為RK3576開(kāi)發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?1487次閱讀
    迅為RK3576<b class='flag-5'>開(kāi)發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口硬件<b class='flag-5'>介紹</b>

    瑞芯微主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示

    本文介紹瑞芯微方案主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻的方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示,通用RK3566、RK3568、RK3588等
    的頭像 發(fā)表于 12-13 11:40 ?920次閱讀
    瑞芯微主板/<b class='flag-5'>開(kāi)發(fā)板</b>Linux系統(tǒng)播放音頻方法,觸覺(jué)智能RK3562<b class='flag-5'>開(kāi)發(fā)板</b>演示

    【迅為】瑞芯微RK3588開(kāi)發(fā)板RK3568開(kāi)發(fā)板區(qū)別及優(yōu)勢(shì)

    RK3568開(kāi)發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1458次閱讀
    【迅為】瑞芯微RK3588<b class='flag-5'>開(kāi)發(fā)板</b>RK3568<b class='flag-5'>開(kāi)發(fā)板</b>區(qū)別及優(yōu)勢(shì)

    正點(diǎn)原子fpga開(kāi)發(fā)板不同型號(hào)

    正點(diǎn)原子作為國(guó)內(nèi)領(lǐng)先的FPGA開(kāi)發(fā)板供應(yīng)商,其產(chǎn)品線覆蓋了從入門(mén)級(jí)到高端應(yīng)用的各個(gè)領(lǐng)域。這些開(kāi)發(fā)板不僅適用于學(xué)術(shù)研究,還廣泛應(yīng)用于工業(yè)控制、通信、圖像處理等多個(gè)領(lǐng)域。 1. 入門(mén)級(jí)開(kāi)發(fā)板 1.1
    的頭像 發(fā)表于 11-13 09:30 ?3640次閱讀

    【干貨】了這份HK32F407ZGT7開(kāi)發(fā)板介紹,1萬(wàn)個(gè)項(xiàng)目輕松拿捏!

    2024-11-0811:39·航順HK32MCUHK32F407ZGT7開(kāi)發(fā)板開(kāi)發(fā)板簡(jiǎn)介開(kāi)發(fā)板是基于航順芯片公司F4系列HK32F407ZGT7開(kāi)發(fā)的一款
    的頭像 發(fā)表于 11-08 13:28 ?794次閱讀
    【干貨】<b class='flag-5'>有</b>了這份HK32F407ZGT7<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>介紹</b>,1萬(wàn)個(gè)項(xiàng)目輕松拿捏!

    【BearPi-Pico H3863星閃開(kāi)發(fā)板體驗(yàn)連載】藍(lán)牙 BLE 透?jìng)鳒y(cè)試

    藍(lán)牙 BLE 透?jìng)鳒y(cè)試 小熊派 Pico-H3863 開(kāi)發(fā)板支持 BLE 1MHz/2MHz 頻寬、BLE4.0/4.1/4.2/5.0/5.1/5.2 協(xié)議、
    發(fā)表于 10-04 11:57

    51開(kāi)發(fā)板芯片資料

    51開(kāi)發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    瑞薩開(kāi)發(fā)板?RX-FSOE-REF-KIT功能安全使用介紹(上)

    本文基于瑞薩官方開(kāi)發(fā)板RX-FSOE-REF-KIT,介紹EtherCAT通訊的功能安全應(yīng)用開(kāi)發(fā)以及實(shí)現(xiàn)過(guò)程所需的開(kāi)發(fā)環(huán)境。
    的頭像 發(fā)表于 08-20 15:25 ?1192次閱讀
    瑞薩<b class='flag-5'>開(kāi)發(fā)板</b>?RX-FSOE-REF-KIT功能安全使用<b class='flag-5'>介紹</b>(上)

    EFR32MG24開(kāi)發(fā)板介紹及IDE使用

    EFR32MG24開(kāi)發(fā)板介紹及IDE使用
    的頭像 發(fā)表于 08-10 10:47 ?1409次閱讀
    EFR32MG24<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>介紹</b>及IDE使用
    主站蜘蛛池模板: 永久黄色免费网站 | 韩国三级床戏合集 | 成在线人永久免费播放视频 | 五月婷婷六月婷婷 | 一本到卡二卡三卡福利 | 免费在线观看污视频 | 欧美另类色 | 激情综合激情五月 | 国产片一级aaa毛片视频 | 日本免费大黄 | 四虎国产精品永久在线看 | 91在线免费看 | 精品精品国产自在久久高清 | 给我一个可以看片的www日本 | 日本黄色高清视频网站 | 69性xxxxfreexxxx| 久久98精品久久久久久婷婷 | 成人中文字幕一区二区三区 | 在线视频观看你懂的 | 欧美性幼 | 全免费一级午夜毛片 | 免费免费啪视频视频观看 | 欧美人与z0zoxxxx特 | 国产欧美一区二区日本加勒比 | 亚洲综合色丁香婷婷六月图片 | 日本www色视频 | 色吧综合| 欧美性色生活片天天看99 | 三级在线观看 | jdav视频在线观看 | 新版天堂资源中文在线 | 日日躁夜夜躁狠狠天天 | 天天综合亚洲 | 婷婷激情六月 | xx在线观看 | 免费播放欧美毛片欧美aaaaa | 美女视频黄a视频美女大全 美女视频一区二区 | 四虎永久在线精品免费影视 | 中文字幕在线永久在线视频2020 | 亚洲三级色 | 日本一区二区三区在线网 |