超声波传感器(CH101&ch201) - Ⅱ

本文介绍了超声波传感器CH101/CH201的工作原理,它们利用超声波飞行时间(ToF)测量距离。传感器通过I2C接口配置,有两种通信方式。此外,文章对比了超声波传感器与红外线传感器,并提及了官方发布的Horn类型及开发评估套件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 前言

上一篇简单的引入了CH101/CH201 这两种传感器。这种传感器使用的时候除了需要芯片外,还需要一个声学的“帽子”(FOV Horn)。
这个传感器的配置参数是通过I2C接口将 外部的数据(数组)写入片上SOC的。 因此,传感器的I2C读写包括两种方式: 一种是读写寄存器,I2C通信包含了从机地址、寄存器地址、数据、数据长度字段。另一种原始I2C,只有从机地址、数据、数据长度。 因此,对传感器的配置信息采用 Program Slave 模式,对传感器的应用参数采用application slave ( 即存在两个从机地址,Program Slave Address,是芯片reset后的固定地址 : 0x45。application slave address,每个firmware init的函数入口重置 )
关于I2C的详细操作,后面会详细介绍

这种传感器是通过发射超声波脉冲并测量该脉冲穿过空气的飞行时间 (ToF) 来测量距离(范围)。该脉冲要么反射回发射传感器,要么由第二个传感器接收。
CHx01 传感器是一个超声波收发器,这意味着它可以发送和接收超声波信号。 与其他无源传感器不同,CHx01 主动向环境中发送信号。 为了进行基本的距离测量,传感器会发出一个非常短暂的超声

### 修改超声波传感器的I2C地址 对于CH101/CH201这类超声波传感器,其初始配置中的I2C地址是在出厂时设定好的。具体来说,在芯片复位之后,默认使用的Program Slave Address为`0x45`[^1]。当涉及到应用层面的操作时,则会切换到Application Slave Address。 要改变这些传感器的I2C地址,通常不是直接修改硬件上的预设地址,而是通过软件手段来实现逻辑上的变更。这可以通过向特定寄存器发送命令完成。例如: - **设置新的从机地址**:需要找到能够接受新地址值并将其存储下来的寄存器位置,并按照制造商文档指示的方式编写相应的程序去更新这个寄存器的内容。 ```c void setNewAddress(uint8_t newAddr){ uint8_t data[] = {REGISTER_ADDRESS, newAddr}; // 假定REGISTER_ADDRESS是要写入的新地址对应的寄存器地址 i2c_write(PROGRAM_SLAVE_DEFAULT_ADDR, data, sizeof(data)); // 使用默认的program slave address (通常是0x45) 来执行这次写操作 } ``` 需要注意的是,上述代码仅为示意性质,实际开发过程中应当参照具体的器件手册获取确切的信息关于哪些寄存器可以被用来保存自定义的I2C地址以及如何正确地对其进行访问。 另外,某些情况下可能不允许动态更改设备的实际物理I2C地址;相反,可能会提供一种机制允许应用程序指定不同的逻辑地址用于后续通讯,而真正的硬件地址保持不变。因此,在尝试任何改动前,请务必查阅最新的官方技术资料确认支持情况及具体方法[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「Thunder Studio」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值