社区导航

 

搜索
查看: 3503|回复: 30

[力学传感器] LSM6DS3电流过大原来是这个原因

  [复制链接]

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-3-19 13:57 | 显示全部楼层 |阅读模式
LSM6DS3是ST的一款6轴力学传感器,3轴加速度+3轴陀螺仪
前段时间在玩STEVAL-IDB007V1板子的发现它上边的LSM6DS3比较耗电
为了找到原因手里的STEVAL-IDB007V1已经被我动了大手术
然后又在淘宝上买了一颗LSM6DS3的开发板拿来解剖
QQ图片20180319133250.png

LSM6DS3耗电大的原因是因为在画板的时候没有处理特定I/O
如果单片机在处于掉电模式下不能实现对应I/O的输出就会导致LSM6DS3的某些引脚处于浮动状态
去掉上拉电阻的评估板
QQ图片20180319133143.png


LSM6DS3同时兼容SPI和I2C接口
通过CS引脚切换
在CS引脚为高时启用I2C接口
在CS引脚为低时启用SPI接口
上电CS默认为高电平
LSM6DS3还包含一个辅助I2C接口,用来控制更多的I2C设备
为了降低LSM6DS3的功耗需要这些具有输入(大概是这样)功能的引脚都要维持高电平或者低电平
除了pin12(CS)引脚
这些引脚包括pin1(SDO/SA0),pin2(SDx),pin3(SCx),pin13(SCL),pin14(SDA)
pin4(INT1)和pin9(INT2)不具备输入功能可以不处理


虾扯蛋


回复

使用道具 举报

4192

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-3-20 17:01 | 显示全部楼层
“LSM6DS3耗电大的原因是因为在画板的时候没有处理特定I/O”,虾哥这句话,我表示没有看太懂

点评

把I/O写成引脚会好些 具有输入功能的引脚需要处理,比如接上/下拉电阻或直接连接到电源和地  详情 回复 发表于 2018-3-20 23:00


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-3-20 23:00 来自手机 | 显示全部楼层
huaiqiao 发表于 2018-3-20 17:01
“LSM6DS3耗电大的原因是因为在画板的时候没有处理特定I/O”,虾哥这句话,我表示没有看太懂

把I/O写成引脚会好些
具有输入功能的引脚需要处理,比如接上/下拉电阻或直接连接到电源和地

点评

哦哦,这样啊。 就是说引脚需要配置,不同的配置电流会不一样在你使用的这个中。可以这样理解吗  详情 回复 发表于 2018-3-21 09:27


回复

使用道具 举报

4192

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-3-21 09:27 | 显示全部楼层
littleshrimp 发表于 2018-3-20 23:00
把I/O写成引脚会好些
具有输入功能的引脚需要处理,比如接上/下拉电阻或直接连接到电源和地

哦哦,这样啊。
就是说引脚需要配置,不同的配置电流会不一样在你使用的这个中。可以这样理解吗

点评

要想办法不能让引脚悬空 悬空的输入引脚会特别耗电 前段时间看过一个为什么单片机引脚浮动会影响功耗低文章写的很详细 后来找不到了  详情 回复 发表于 2018-3-21 10:31


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-3-21 10:31 来自手机 | 显示全部楼层
huaiqiao 发表于 2018-3-21 09:27
哦哦,这样啊。
就是说引脚需要配置,不同的配置电流会不一样在你使用的这个中。可以这样理解吗

要想办法不能让引脚悬空 悬空的输入引脚会特别耗电
前段时间看过一个为什么单片机引脚浮动会影响功耗低文章写的很详细 后来找不到了

点评

哦哦,这样啊。 你的意思是在引脚在输入情况下,悬空比较耗电? 那么,比如在一些设计中,其他不用的IO情况,那应该怎么配置。也需要配置么。 说起你提到的这个,我随便找了个F4的中文参考手册。在GPIO那个章  详情 回复 发表于 2018-3-21 10:56


回复

使用道具 举报

4192

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-3-21 10:56 | 显示全部楼层
littleshrimp 发表于 2018-3-21 10:31
要想办法不能让引脚悬空 悬空的输入引脚会特别耗电
前段时间看过一个为什么单片机引脚浮动会影响功耗低 ...

哦哦,这样啊。

你的意思是在引脚在输入情况下,悬空比较耗电?
那么,比如在一些设计中,其他不用的IO情况,那应该怎么配置。也需要配置么。

说起你提到的这个,我随便找了个STM32F4的中文参考手册。在GPIO那个章节。

在复位期间及复位刚刚完成后,复用功能尚未激活,I/O  端口被配置为输入浮空模式。



点评

st单片机这方面做得很好 stm32好像推荐配置成模拟输入 bluenrg-1的gpio即使悬空不处理也不会影响功耗  详情 回复 发表于 2018-3-21 16:00


回复

使用道具 举报

594

TA的帖子

103

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2018-3-21 15:36 | 显示全部楼层
本帖最后由 gs001588 于 2018-3-21 15:39 编辑



的确是,这个片子比较不按套路出牌。
CS脚说明:I2C/SPI mode selection
      1: SPI idle mode / I2C communication enabled;
      0: SPI communication mode / I2C disabled

傲游截图20180321151608.png


设置IO的目的就是既不让SPI工作,也不让I2C工作。
CS拉高时,把SDA、SCL也拉高,这样SPI不工作,总线处于空闲状态,I2C不传输数据,但可能会有一定功耗,应该比较节能。
CS拉低时,不管SDA、SCL的状态,I2C都不工作,SPC和SCL复用,SCL必须拉高,才能让SPI不传输数据,但这时传感器是SPI接口是工作的,SPI接口应该会有部分功耗。

点评

CS为高时浮动的引脚可能会触发I2C工作是一种可能还有一种可能是像下边说的那样 [attachimg]347681[/attachimg] 当GPIO管脚配置为输入管脚且外部电平处于浮动状态时(0  详情 回复 发表于 2018-3-21 20:38


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-3-21 16:00 来自手机 | 显示全部楼层
huaiqiao 发表于 2018-3-21 10:56
哦哦,这样啊。

你的意思是在引脚在输入情况下,悬空比较耗电?
那么,比如在一些设计中,其他不用的 ...

st单片机这方面做得很好 stm32好像推荐配置成模拟输入
bluenrg-1的gpio即使悬空不处理也不会影响功耗

点评

说实话,很多时候我都管过那些不用的引脚。 就像楼主我给你回复的,复位后,那些不用的引脚应该是默认的输入浮空模式  详情 回复 发表于 2018-3-21 16:12


回复

使用道具 举报

4192

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-3-21 16:12 | 显示全部楼层
littleshrimp 发表于 2018-3-21 16:00
st单片机这方面做得很好 stm32好像推荐配置成模拟输入
bluenrg-1的gpio即使悬空不处理也不会影响功耗

说实话,很多时候我都管过那些不用的引脚。
就像楼主我给你回复的,复位后,那些不用的引脚应该是默认的输入浮空模式

点评

设计时如果考虑到了能为以后调试省去很多麻烦  详情 回复 发表于 2018-3-21 20:38


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-3-21 20:38 | 显示全部楼层
gs001588 发表于 2018-3-21 15:36
的确是,这个片子比较不按套路出牌。
CS脚说明:I2C/SPI mode selection
      1: SPI idle mode / I ...

CS为高时浮动的引脚可能会触发I2C工作是一种可能还有一种可能是像下边说的那样
295e4ca64746eb74841b3ce7177cb97b.png
当GPIO管脚配置为输入管脚且外部电平处于浮动状态时(0<Vin<Vcc),那么内部的MOSFETs管的导通电流本身就处于一个不稳定的值,会导致整体功耗的升高,示意图见上图右半边。

虾扯蛋


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-3-21 20:38 | 显示全部楼层
huaiqiao 发表于 2018-3-21 16:12
说实话,很多时候我都管过那些不用的引脚。
就像楼主我给你回复的,复位后,那些不用的引脚应该是默认的 ...

设计时如果考虑到了能为以后调试省去很多麻烦
虾扯蛋


回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-7-9 13:39 | 显示全部楼层
你好楼主, 我现在在用STM32 通过SPI连接 LSM6Ds3. 但是不知道为什么MISO的数据一直不对,用示波器也看了, MOSI的是对的,但是MISO的不对。 你能分享一下你的电路图吗?我用的是下面的,谢谢
Capture.PNG

点评

MISO是连到传感器板子的jp1-2了吗?数据是什么样的?  详情 回复 发表于 2018-7-9 13:50


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-7-9 13:50 | 显示全部楼层
haaozhang 发表于 2018-7-9 13:39
你好楼主, 我现在在用STM32 通过SPI连接 LSM6Ds3. 但是不知道为什么MISO的数据一直不对,用示波器也看了 ...

MISO是连到传感器板子的jp1-2了吗?数据是什么样的?
虾扯蛋


回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-7-9 14:05 | 显示全部楼层
MISO 连到了 SDO/SA0 引脚(第一个引脚),但是没有接上拉电阻,不知道会不会影响。 数据一直是零。但是WHO_AM_I 是对的0X69。 所以很困惑。你在淘宝买的开发版有电路图吗

点评

WHO AM I 正确就不应该是通信的问题 是不你没配置正确就读OUTx寄存器了? 试试复位读一下0x18或0x19看一下得到的数据和手册上给的一样吗[attachimg]363049[/attachimg]  详情 回复 发表于 2018-7-9 14:21


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-7-9 14:21 | 显示全部楼层
haaozhang 发表于 2018-7-9 14:05
MISO 连到了 SDO/SA0 引脚(第一个引脚),但是没有接上拉电阻,不知道会不会影响。 数据一直是零。但是WHO ...

WHO AM I 正确就不应该是通信的问题
是不你没配置正确就读OUTx寄存器了?
试试复位读一下0x18或0x19看一下得到的数据和手册上给的一样吗 QQ图片20180709141922.png
虾扯蛋


回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-7-9 14:32 | 显示全部楼层
我读了CTRL3_C, 结果是0x00, 应该是0x04. 我写了一个值, 然后又读还是0x00. 我使用cubemx生成的代码。他把所有的GIPO配成 AF_PP的

点评

你确定每次读取who am i都是正确的吗? 试试往ctrl3_c写0x01等待一段时间后再读ctrl3_c看看是多少  详情 回复 发表于 2018-7-9 14:43


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-7-9 14:43 | 显示全部楼层
haaozhang 发表于 2018-7-9 14:32
我读了CTRL3_C, 结果是0x00, 应该是0x04. 我写了一个值, 然后又读还是0x00. 我使用cubemx生成的代码。他 ...

你确定每次读取who am i都是正确的吗?
试试往ctrl3_c写0x01等待一段时间后再读ctrl3_c看看是多少
虾扯蛋


回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-7-9 14:46 | 显示全部楼层
WHO_AMI_I 是对的 0x69 准备明天试试加个上拉电阻 试试。 你买的淘宝的板子又电路图吗?MISO 有上拉电阻ma

点评

没有电路图,应该有上拉,你可以直接在STM32里加个上拉试试[attachimg]363065[/attachimg]  详情 回复 发表于 2018-7-9 14:54


回复

使用道具 举报

5951

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2018-7-9 14:54 | 显示全部楼层
haaozhang 发表于 2018-7-9 14:46
WHO_AMI_I 是对的 0x69 准备明天试试加个上拉电阻 试试。 你买的淘宝的板子又电路图吗?MISO 有上拉电阻ma

没有电路图,应该有上拉,你可以直接在STM32里加个上拉试试 QQ图片20180709145024.png
虾扯蛋


回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-7-9 15:03 | 显示全部楼层
跟我想的一样, 先用内部的试试。 明天测完告诉你结果


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-5-24 08:45 , Processed in 0.488923 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表