OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 35769|回复: 27

买了ST公司 的一个激光测距传感器,型号VL53L0X,将来要同时好几个,但是它们的地址都一样,如何修改它们的设备地址? 让我好...

[复制链接]

18

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2017-8-24
在线时间
75 小时
发表于 2017-10-20 13:59:27 | 显示全部楼层 |阅读模式
3金钱
买了ST公司 的一个激光测距传感器,型号VL53L0X,将来要同时好几个,但是它们的地址都一样,如何修改它们的设备地址?
让我好分别对它们进行通信,修改地址之后复位上电地址又恢复默认电平,请问有什么办法能解决呢


最佳答案

查看完整内容[请看2#楼]

自己这边的电路加个使能功能,使能对应的sensor才能进行通信
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
608
金钱
608
注册时间
2017-9-21
在线时间
171 小时
发表于 2017-10-20 13:59:28 | 显示全部楼层
自己这边的电路加个使能功能,使能对应的sensor才能进行通信
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-10-20 15:03:46 | 显示全部楼层
每个sensor一个I2C接口,然后分别调用就可以了,哈哈
回复

使用道具 举报

35

主题

309

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2641
金钱
2641
注册时间
2016-8-10
在线时间
470 小时
发表于 2017-10-20 15:57:45 | 显示全部楼层
每个芯片用一个iic接口就阔以了  
回复

使用道具 举报

18

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2017-8-24
在线时间
75 小时
 楼主| 发表于 2017-10-20 17:48:21 | 显示全部楼层
八度空间 发表于 2017-10-20 15:03
每个sensor一个I2C接口,然后分别调用就可以了,哈哈

就服你
回复

使用道具 举报

18

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2017-8-24
在线时间
75 小时
 楼主| 发表于 2017-10-20 17:49:05 | 显示全部楼层
哆啦A萌 发表于 2017-10-20 15:45
自己这边的电路加个使能功能,使能对应的sensor才能进行通信

想到这种方法,但是单片机的脚应该用不少
回复

使用道具 举报

18

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2017-8-24
在线时间
75 小时
 楼主| 发表于 2017-10-20 17:49:21 | 显示全部楼层
huyang201306 发表于 2017-10-20 15:57
每个芯片用一个iic接口就阔以了

谢谢大神
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-10-20 17:50:57 | 显示全部楼层

前提是你的MCU IO够用,否则得想另外的方法了,使能是个不错的选择,类似SPI的CS管脚功能
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

2

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1878
金钱
1878
注册时间
2011-9-16
在线时间
421 小时
发表于 2017-10-20 21:44:04 | 显示全部楼层
加个便宜的CPLD做逻辑端口映射,用STM32端口控制CPLD切换通道
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2017-10-20 23:01:57 | 显示全部楼层
应该有使能控制的吧
回复

使用道具 举报

19

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2011-3-23
在线时间
5 小时
发表于 2017-11-29 21:19:46 | 显示全部楼层
楼主实现了这个功能没?我也正需要使用这个功能。
回复

使用道具 举报

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
226
金钱
226
注册时间
2016-9-21
在线时间
63 小时
发表于 2017-11-29 21:28:56 | 显示全部楼层
一直用多个IO来模拟I2C,貌似有I2C多路开关的,但印象中有点贵,实在不行用一个便宜的STM8来做数据采集器,把数据打包后传给主MCU
回复

使用道具 举报

19

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2011-3-23
在线时间
5 小时
发表于 2017-11-30 13:26:17 | 显示全部楼层
laxsystem01 发表于 2017-11-29 21:28
一直用多个IO来模拟I2C,貌似有I2C多路开关的,但印象中有点贵,实在不行用一个便宜的STM8来做数据采集器, ...

你这么做的话程序量好大的
回复

使用道具 举报

3

主题

37

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1461
金钱
1461
注册时间
2016-7-1
在线时间
288 小时
发表于 2018-1-30 21:02:47 | 显示全部楼层
XSHUT可以选择处于活跃状态的设备,另外,可以设置每个器件的i2c地址的。
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-30 21:08:55 | 显示全部楼层
直接用一个MUX芯片连SCL线不就行了
回复

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2015-3-2
在线时间
36 小时
发表于 2018-1-31 14:14:33 | 显示全部楼层
如果你的Sensor用的不是太多的话可以考虑下面的方法:

拿STM32F407ZET6举例,
其GPIO  PB6&PB7和PB8&PB9都可以映射成I2C1
GPIO  PB10&PB11和PF0&PF1和PH4&PH5可以映射成 I2C2
GPIO PA8&PC9和PH7和PH8可以映射成I2C3

这样通过不同GPIO的映射,在这个芯片上可以接7组地址相同的I2C从设备。 访问哪个设备的时候就将相应的GPIO映射成I2C,不过这其实就失去了I2C总线本来的优点。
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2019-2-28
在线时间
9 小时
发表于 2019-2-28 15:52:40 | 显示全部楼层
请问楼主这个问题解决了吗?本人也遇到这个问题,想用一个IIC总线控制多个VL53L0X。但是通过修改地址,调试了一个星期还没有成功。请问楼主可以分享一下经验吗?不甚感激。。。
回复

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
发表于 2019-3-12 17:10:04 | 显示全部楼层
好小孩li 发表于 2019-2-28 15:52
请问楼主这个问题解决了吗?本人也遇到这个问题,想用一个IIC总线控制多个VL53L0X。但是通过修改地址,调试 ...

你要挂载几个?用74HC4052模拟开关,可以扩展为4路iic
回复

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
发表于 2019-3-12 17:10:42 | 显示全部楼层
好小孩li 发表于 2019-2-28 15:52
请问楼主这个问题解决了吗?本人也遇到这个问题,想用一个IIC总线控制多个VL53L0X。但是通过修改地址,调试 ...

不过需要再用两个GPIO
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-3-12 18:58:22 | 显示全部楼层
很少看到用IIC的外设没有几个备用地址的, 何况是ST这类公司, 楼主你在规格书看找过了?
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-3-12 19:14:15 | 显示全部楼层
我就说嘛, 不太可能IIC的Device只有一个Address
规格书的主要特性就有这一条, Programmable I2C address
去官网下一份 AN4846, 它有教你怎热 Programmable I2C address
回复

使用道具 举报

7

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2017-9-14
在线时间
50 小时
发表于 2019-3-12 22:16:43 | 显示全部楼层
如果不计成本的话可以用一个单片机与一个传感器通信,再用一个主机与这些单片机通信。目前我已经实现了三个VL53L0X的测距,如果后期要进行阵列测距或者平面扫描的话只需要增加单片机并自己设置地址,主机就轮询获取从机数据。可以参考下面的例子:
https://blog.csdn.net/changshengxiao/article/details/88069376
回复

使用道具 举报

93

主题

746

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2012-9-16
在线时间
286 小时
发表于 2019-3-13 13:57:06 | 显示全部楼层
没有地址的话,通过使能先配置地址,设置地址成功,然后通过地址,去和不同的设备通信
纵浪大化中,不喜亦不惧;应尽便须尽,无复独多虑!
回复

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2019-3-31
在线时间
17 小时
发表于 2019-4-3 11:45:25 | 显示全部楼层
楼主可以发一份代码来参考吗?我现在校准出现了问题,一直没办法搞定。邮箱1277024711@qq.com
回复

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2019-5-30
在线时间
38 小时
发表于 2019-7-20 20:06:56 | 显示全部楼层
Seri。 发表于 2018-1-30 21:02
XSHUT可以选择处于活跃状态的设备,另外,可以设置每个器件的i2c地址的。

您好,我看数据手册上说 XSHUT选择某个芯片时,其他芯片都是掉电复位的状态,设置地址还有意义吗? 下一次使能时相当于重新上电了,重新设置的地址不就丢失了吗?
回复

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2019-5-30
在线时间
38 小时
发表于 2019-7-20 20:07:54 | 显示全部楼层
象牙塔 发表于 2019-3-13 13:57
没有地址的话,通过使能先配置地址,设置地址成功,然后通过地址,去和不同的设备通信

每一次使能一个模块吧?
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-3-5
在线时间
8 小时
发表于 2020-5-10 10:09:34 | 显示全部楼层
想问一下楼主实现多个vl53l0模块测距了吗,可以分享一下吗784431974@qq.com
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2019-5-4
在线时间
0 小时
发表于 2020-7-13 10:27:00 | 显示全部楼层
想问一下楼主实现多个vl53l0模块测距了吗,可以分享一下吗, 谢谢你了1951853624@qq.com
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 13:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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