# XLSW-3DP-Sensor-UltraSonic&IR | **版本号** | **修改内容** | **日期** | **修改人** | |:-------:|:--------:|:----------:|:-------:| | v0.0.1 | 非稳定版本 | 2025-01-20 | Hulk | | v0.2.0 | 硬件修改RS485接口芯片为SP3485(非自动换向) | 2025-06-03 | Hulk | ## US&IR传感器模块通信协议 通信协议:[US&IR通信协议](CommunicationProtocol.md) --- ## 300K超声换能头工作流程 ### **1. 超声波发送** 通过TIMER13定时器,配置为输出300KHz的PWM信号,驱动超声换能头发射超声波。TIMER13的输出模式为PWM1模式,同时用TIMER13的更新中断触发次数进行计数。 最终使驱动引脚发送300KHz 50%占空比 5个周期的PWM信号。同时开启计时。 ### **2. 超声波计时** 通过TIMER15定时器,配置为us计时器,并传入预先测得的超声消隐延时值(例如:230us)。该定时器用于在发送超声波后延时一段时间,确保接收通道不会受到发射信号的干扰。但是暂不开启该定时器。 同时在TIMER15的更新中断中断服务函数中,开启外部输入中断,用以检测超声回波,并开启TIMER16定时器。 TIMER16定时器输入捕获,用于计算超声回波的时间。 通过前面的消隐时间与回波时间的和值,计算出实际的距离值。 ### **3. 距离值输出** \[ \frac{\frac{(\verb|TIME_CORRECTION_US| + \verb|us_value|)\times 340\,\text{m/s}}{10^{3} \ast 10^{3}} }{2} \] 其中,`TIME_CORRECTION_US`为超声消隐延时定时器的初始值,`us_value`为外部输入中断计数值。