你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STWINKT1B评测】4.测试板载ISM330DHCX(6轴)

[复制链接]
jundao721 发布时间:2024-8-10 22:42
      过节吃完饭,回来继续测试板载传感器。本次测试ISM330DHCX,3轴加速度+3轴陀螺仪传感器,读Datasheet发现,是带嵌入式机器学习内核的,这部分还没有测试,趁这会先把基本功能测试一下。读完datasheet,了解个大概,看原理图,如图1所示:
6 z- |/ K6 U0 f5 c# O) e6 Y 4-2.JPG , |5 V* ?$ d4 C% k
- F0 u& C8 y; {7 k* s0 L
图1
: ~3 g- j5 J6 z* k依然使用的SPI接口,根据前面的IC测试,思路搬过来使用。依然使用CubeMx现把框架搭一下,引脚定义如图2所示:
5 a1 }+ ]5 i% @9 _$ Q% u 4-3.JPG , ~2 \& ?; }3 N. I8 ]

" `5 }2 O; h/ m, \7 \8 Z" Z图2
/ X; j, c& Z! u! Q* q下面就是添加所需要的初始化代码,IC初始化如下:
) y9 o  g: |  {1 Z0 p) ^
  1. /* Start device configuration. */" {1 J! t& }7 p
  2.   ism330dhcx_device_conf_set(&dev_ctx, PROPERTY_ENABLE);7 t. F, B2 B. u( ^) T& @9 M$ p
  3.   /* Enable Block Data Update */
    1 x/ X1 d2 A7 z
  4.   ism330dhcx_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);% w8 m! A9 Z3 f! j  x! w) G4 f
  5.   /* Set Output Data Rate */, V4 K5 o. G  f
  6.   ism330dhcx_xl_data_rate_set(&dev_ctx, ISM330DHCX_XL_ODR_12Hz5);
    * O3 ~2 W9 H  K/ i% d% V
  7.   ism330dhcx_gy_data_rate_set(&dev_ctx, ISM330DHCX_GY_ODR_12Hz5);% [. j/ Z9 \0 ?4 @% F' ~# ^& m. g
  8.   /* Set full scale */
    - V  D# M; D" w/ m9 E# z1 [$ O. n
  9.   ism330dhcx_xl_full_scale_set(&dev_ctx, ISM330DHCX_2g);/ q+ g5 D& O, F: [8 z6 J
  10.   ism330dhcx_gy_full_scale_set(&dev_ctx, ISM330DHCX_2000dps);
    5 P5 y. L, o% o; O0 z4 S$ o2 {
  11.   /* Configure filtering chain(No aux interface)
      h/ v  M; s& n, E8 U# J, {
  12.    *
    2 N! ~' q6 Q2 l
  13.    * Accelerometer - LPF1 + LPF2 path
    ( P+ j2 X9 ?' `# d0 G9 c) G" d1 ]
  14.    */
    * W& |" g* s9 W( K8 Z- L1 p
  15.   ism330dhcx_xl_hp_path_on_out_set(&dev_ctx, ISM330DHCX_LP_ODR_DIV_100);
    & a0 Q1 z+ ~3 l
  16.   ism330dhcx_xl_filter_lp2_set(&dev_ctx, PROPERTY_ENABLE);
复制代码

5 c0 @) a9 |& d; P* d- t在while中添加读取数据的code,如下所示:% R9 t0 ?1 I* q* h$ H- Q1 w9 m
  1. ism330dhcx_xl_flag_data_ready_get(&dev_ctx, &dreg);9 Q9 }4 f- c3 V( j
  2.                 if(dreg)
    ! B: z) F- p8 x3 Z' {+ ]* e% y
  3.                 {
    3 Y+ ]& ~" o4 ^- y
  4.                          /* Read acceleration field data */2 q% `" f# \6 e
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    : D, ^. d/ U* c; P& E% M9 Y
  6.       ism330dhcx_acceleration_raw_get(&dev_ctx, data_raw_acceleration);: t  S1 G1 m6 w0 |4 |, u% D  H* w
  7.       acceleration_mg[0] =
    - X& y8 m8 I7 [1 y5 y  m! e
  8.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[0]);, H: z7 Q0 r  `! l  K8 Z
  9.       acceleration_mg[1] =
    6 \2 T) m9 K0 \% ^8 w0 A
  10.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[1]);/ T3 m: G5 G+ P! J: G( A+ k" b
  11.       acceleration_mg[2] =, u7 d+ r  m" u6 ^* A. r$ o+ \3 G
  12.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[2]);1 T% i: `, x* w/ m2 w- d
  13.                 }
    2 H! g" Y- }5 E0 ?( C; s7 V0 L2 M
  14.                  ism330dhcx_gy_flag_data_ready_get(&dev_ctx, &dreg);
    ) t6 o7 q( k- T
  15. 1 t3 [8 x2 S! c1 Q* Z+ j7 C
  16.     if (dreg) {
    8 |+ U1 D$ D* p4 G+ q( k
  17.       /* Read angular rate field data */
    * P+ o: r' r4 T1 f4 z
  18.       memset(data_raw_angular_rate, 0x00, 3 * sizeof(int16_t));8 p6 ~7 w8 u6 F0 ~% y6 t6 _
  19.       ism330dhcx_angular_rate_raw_get(&dev_ctx, data_raw_angular_rate);# A  m4 u3 S0 ~
  20.       angular_rate_mdps[0] =+ U, u5 `1 t- I) Z
  21.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[0]);0 j/ X6 b; h1 Z- X
  22.       angular_rate_mdps[1] =
    # ^* t; E/ y% v5 {$ f$ u9 O+ h
  23.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[1]);7 _8 g* u. b; v
  24.       angular_rate_mdps[2] =
    , ^0 I' a8 T! E$ Z: N: ^
  25.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[2]);' U/ U. |# i. \. b  l( Z( Y% `
  26.   % G; J8 d/ O" i* ^+ m+ F6 Z
  27.     }2 T+ `8 _9 U6 |3 D4 W' S4 q! X1 U

  28. ) H9 P) H" I$ ^( _
  29.     ism330dhcx_temp_flag_data_ready_get(&dev_ctx, &dreg);
    * M* u9 L8 d0 m& A# W

  30. 1 z, a0 a7 ^0 @# e" u1 G: |
  31.     if (dreg) {5 Q6 v$ \4 D9 N6 V0 f
  32.       /* Read temperature data */
    5 m% q: v: Y, @! d  R4 S0 Q
  33.       memset(&data_raw_temperature, 0x00, sizeof(int16_t));
    ; }) _1 h9 W4 U4 \/ ^: y
  34.       ism330dhcx_temperature_raw_get(&dev_ctx, &data_raw_temperature);
    : b/ Q9 k! Q! }/ i
  35.       temperature_degC = ism330dhcx_from_lsb_to_celsius(1 x5 i( v1 p6 H- Y
  36.                            data_raw_temperature);6 N  {  d" s# [) t0 ~
  37. 4 X3 w" d  p! K
  38.     }
复制代码
( O& }4 ~! f7 H2 o: Z4 {

" G+ c' H! p% H: |# e

6 {& q& ~- @1 [0 ^7 E' e测试失败,显示hardware_fault,硬件错误。想了想,是晚上有点恍惚,把时钟配置错了,板载的外部时钟是16M,而cubemx中的默认时钟是8M,修改过来,重新生成项目,debug,测试结果如下;4 i8 J, m' [1 f  \% @/ h/ Q' W
4-1.JPG
3 I1 _0 Y1 K9 F+ S

: T- ]0 P( e7 e3 P图3
. C6 L$ L  t+ D$ o0 |2 t! e2 @5 _/ I; M+ z: j

6 N* N. B0 }# X# S, ~这段时间总是感觉知识浮于基础,得往深处继续挖掘学习。下次试一试Nano edge AI。4 ?7 w) l! c- s, O! G) U
0 Y" p& i8 Z4 Z1 W% g. q# l
赞 收藏 评论7 发布时间:2024-8-10 22:42

举报

7个回答
y369369 回答时间:2024-10-18 10:01:12
Nano edge AI有得一搞啊楼主
7 U5 n  |8 i! r7 j. r
你也是双下巴 回答时间:2024-10-18 10:04:42
y369369 发表于 2024-10-18 10:01
( Y9 D" o1 ~, b" y# uNano edge AI有得一搞啊楼主

' w& o' ~& z. S7 L: d属实可以,等楼主4 j' o- F6 j, M# l8 f# D
STMCU-管管 回答时间:2024-10-18 10:07:28
你也是双下巴 发表于 2024-10-18 10:04$ u) B+ {4 X' `1 A, D4 c, J  I$ x
属实可以,等楼主

6 |! l' S9 s( S1 r# X. H论坛有分享Nano edge AI 使用教程的可参考,https://shequ.stmicroelectronics.cn/thread-636670-1-1.html% z  R4 ~! H  v  O: `
embiied 回答时间:2024-10-18 10:32:11

STMCU-管管 发表于 2024-10-18 10:07
论坛有分享Nano edge AI 使用教程的可参考,<a href="https://shequ.stmicroelectronics.cn/thread-636670-1-1.htm">https://shequ.stmicroelectronics.cn/thread-636670-1-1.htm</a> ...

这个帖子之前看过,写的不错

ghost110 回答时间:2024-10-18 10:37:44

加油

jundao721 回答时间:2024-10-18 13:26:23

y369369 发表于 2024-10-18 10:01
Nano edge AI有得一搞啊楼主

哈哈,稍等片刻。

jundao721 回答时间:2024-10-18 13:26:51

你也是双下巴 发表于 2024-10-18 10:04
属实可以,等楼主

必须更新!

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版