【ST防水气压传感器LPS27HHW测评1】硬件准备和资料收集
<p>首先感谢论坛给我这个机会,也感谢论坛管理员的及时追踪和提醒,让我们能拿到LPS27HHW这颗传感器试用一下,和大家一起分享一下使用心得。</p><p> </p>
<p><span style="font-size:24px;"><strong>1.实物照片</strong></span></p>
<hr />
<p></p>
<p>和之前STM32的Sensor Kit相比,这次的开发板应该不是官网直发的:少了包装。只有一个裸板放到静电袋中,排针都是我后来焊接的。</p>
<p>因为之前下载资料熟悉了一阵,需要的几个GPIO在板子上已经标注出来:<span style="color:#c0392b;"><strong>Vdd, Vdd_IO, SDA, SCL, GND, INT.</strong></span></p>
<p>Demo Kit的原理图如下:</p>
<p></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><strong><span style="font-size:24px;">2. 硬件连接</span></strong></p>
<hr />
<p>STM32L0系列的MCU因其他原理无法使用,所以我用了STM32L4R9-DIC开发板做测试使用。</p>
<p>STM32L4R9有个专用的IIC接口CN7, 原理图如下:</p>
<p></p>
<p>实物连接如下:(VddIO/SCL/SDA/INT/GND直接和STM32L4R9 EXT_I2C Connect对应引脚相连,Vdd被我直接连接到3.3V上)</p>
<p></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><strong><span style="font-size:24px;">3 .传感器的相关信息</span></strong></p>
<hr />
<p>(以下内容来自传感器的使用手册:https://www.st.com/resource/zh/application_note/dm00650819-lps27hhw-mems-pressure-sensor-with-waterresistant-package-stmicroelectronics.pdf 如果使用这个传感器可以仔细看一下)</p>
<p> </p>
<p><strong><span style="font-size:20px;">1).引脚和说明</span></strong></p>
<p></p>
<p></p>
<p> </p>
<p><strong><span style="font-size:20px;">2).寄存器</span></strong></p>
<hr />
<p></p>
<p> </p>
<p><strong><span style="font-size:20px;">3).三种工作模式</span></strong></p>
<p>• 下电模式:下电模式用于令器件置于休眠状态;</p>
<p>• 单触发模式:单触发模式用于以所需速率执行单次数据采集。采集完成后,器件自动设置为下电模式;</p>
<p>• Continue 模式:连续模式旨在以特定的预定义可选输出数据率(ODR)持续读取数据。根据选定的 ODR 频率使用每个给定时间更 新的读数更新输出寄存器;</p>
<p>可以根据实际情况选择合适的工作模式。</p>
<p> </p>
<p> </p>
<p><strong><span style="font-size:20px;">4).传感器框架图</span></strong></p>
<p></p>
<p><strong><span style="font-size:16px;">标准和FIFO输出寄存器的数据路径</span></strong></p>
<p></p>
<p><strong><span style="font-size:20px;">5).读取数据的格式</span></strong></p>
<p><strong>以下是一个简单的示例,说明如何获取气压 LSB 数据并将其转换成 hPa:</strong></p>
<ul>
<li>从传感器获取原始数据: – PRESS_OUT_XL(@28h):1Ah – PRESS_OUT_L(@29h):84h – PRESS_OUT_H(@2Ah):3Eh</li>
<li>将寄存器串联: – PRESS_OUT_H & PRESS_OUT_L & PRESS_OUT_XL:3E841Ah</li>
<li>计算带符号的十进制值(来自带符号 2 的补码 24 位二进制): – P:+4097050d</li>
<li>应用 Psens 灵敏度: – P = +4097050 / 4096 = +1000.2563</li>
</ul>
<p> </p>
<p><strong>温度数据示例 以下是一个简单的示例,说明如何获取温度 LSB 数据并将其转换成°C:</strong></p>
<ul>
<li>从传感器获取原始数据: – TEMP_OUT_L(@2Bh):7Bh – TEMP_OUT_H(@2Ch):FEh</li>
<li>将寄存器串联: – TEMP_OUT_H & TEMP_OUT_L:FE7Bh</li>
<li>计算带符号的十进制值(表示为二进制补码格式的 16 位带符号): – T:-389d</li>
<li>应用 Tsens 灵敏度: – T[°C] = -389 / 100 = -3.89</li>
</ul>
<p> </p>
<p> </p>
<p><strong><span style="font-size:20px;">6).初始化</span></strong></p>
<p>在ST提供的驱动包中,没有看到特意的初始化相关内容。</p>
<p>可能在默认的寄存器设置中已提供了数据输出功能。</p>
<p>我在后面的帖子中实际使用起来再更新相关内容。</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>谢谢分享,很不错</p>
页:
[1]