基于STM32CUBEMX驱动TMOS模块STHS34PF80(1)----获取ID

发布时间:2024-06-07  

概述

STHS34PF80 是一款非冷却、工厂校准的红外运动和存在检测传感器,工作波长在 5 µm 至 20 µm 之间。
STHS34PF80 传感器设计用于测量视野内物体发出的红外辐射量。该信息由 ASIC 进行数字处理,可以对其进行编程以监控运动、存在或过热状况。
凭借其卓越的灵敏度,STHS34PF80 可以在最远 4 米的距离内检测到人体的存在,而无需光学镜头。
STHS34PF80 采用小型 3.2 x 4.2 x 1.455(最大)mm 10 引脚 LGA 封装。

最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。
在这里插入图片描述
STHS34PF80是一种红外传感器,可用于检测静止和移动物体的存在,以及过温条件。它使用独特的TMOS技术测量物体的红外辐射,以便在物体位于视场内时检测其存在或运动。
在传感器上沉积了一个光学带通滤波器,将其工作范围限制在5微米到20微米的波长范围内,使其不对可见光和其他频段敏感。
传感器基于一组连接在一起并作为单个感应元件运作的浮动真空热晶体管MOS(TMOS)矩阵。得益于ST独特的MEMS制造技术,实现了先进的热隔离,使传感器能够将最小的温度变化转化为电信号,然后将这些信号馈送给ASIC。
传感器分为两个部分,一个暴露于红外辐射,另一个被屏蔽。通过在两个部分之间进行差分读数,可以消除传感器自加热的影响。
STHS34PF80集成了高精度温度传感器,用于测量环境温度并测量物体的精确红外辐射。
ASIC还实现了专门的智能处理,以检测/区分静止和移动物体,并可以断言专用中断。
可用不同的输出数据速率(ODR),范围从0.25赫兹到30赫兹,以及单次测量模式。
STHS34PF80配备了I²C / 3线SPI接口,并采用了与SMD安装兼容的OLGA 3.2 x 4.2 x 1.455 mm 10L封装。
封装所保证的视场为80°。
在这里插入图片描述

样品申请

https://www.wjx.top/vm/OhcKxJk.aspx#

视频教程

https://www.bilibili.com/video/BV11u4y1X7JY/

完整代码下载

[https://download.csdn.net/download/qq_24312945/88216813]

所有功能

● 主要特性
○ 高灵敏度红外存在和运动检测传感器
○ 对于尺寸为 70 x 25 cm² 的物体,在不使用镜头的情况下可达 4 米
○ 集成硅红外滤光片
○ SMD 友好
○ 能够检测静止物体
○ 能够区分静止和移动的物体
○ 80° 视野
○ 工厂校准
○ 低电量
○ 用于存在/运动检测的嵌入式智能算法
● 电气规格
○ 电源电压:1.7V 至 3.6V
○ 电源电流:10μA
○ 2 线 I²C / 3 线 SPI 串行接口
○ 可编程 ODR(0.25 Hz 至 30 Hz)
○ 一击模式
● 传感规格
○ 红外灵敏度:2000 LSB/°C
○ RMS 噪声:25 LSB rms
○ 工作波长:5 µm 至 20 µm
○ 本地温度传感器精度:±0.3℃
● 包装规格
○ LGA 10 引线,3.2 x 4.2 x 1.455(最大)毫米
○ 符合 ECOPACK 和 RoHS 标准
在这里插入图片描述

接口

STHS34PF80模块接口的示意图如下所示,支持IIC或者SPI通讯。
在这里插入图片描述

最小系统图

在这里插入图片描述

生成STM32CUBEMX

串口配置

查看原理图,PA9和PA10设置为开发板的串口。
在这里插入图片描述

配置串口。
在这里插入图片描述

IIC配置

在这个应用中,STS34PF80模块通过I2C(IIC)接口与主控器通信。具体来说,STS34PF80模块的I2C引脚连接到主控器的PB6(引脚B6)和PB7(引脚B7)两个IO口。

在这里插入图片描述

配置IIC为普通模式,速度为100k。
在这里插入图片描述

IO口设置

STS34PF80IO设置如下所示。
在IIC模式下CS需要给个高电平。
在这里插入图片描述
官方提供IIC接线如下所示。
在这里插入图片描述
在这里插入图片描述

需要把PA8配置为输出模式,默认高电平,配置PA7为输入模式。

在这里插入图片描述

串口重定向

打开魔术棒,勾选MicroLIB

在这里插入图片描述

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。


/* USER CODE BEGIN Includes */

#include "stdio.h"

/* USER CODE END Includes */

函数声明和串口重定向:


/* USER CODE BEGIN PFP */

int fputc(int ch, FILE *f){

HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);

return ch;

}

/* USER CODE END PFP */


模块地址

STHS34PF80模块的默认设备地址为1011010(0x5A)。设备地址是用来识别和通信特定设备的标识符。通过将VL6180模块的设备地址设置为1011010(0x5A),您可以确保与该模块进行正常的通信和控制。
在这里插入图片描述

参考demo

这里参考ST在GITHUB上发布的案例来进行修改。
https://github.com/STMicroelectronics/sths34pf80-pid/blob/master/sths34pf80_reg.c
物体存在检测demo。
https://github.com/STMicroelectronics/STMems_Standard_C_drivers/blob/master/sths34pf80_STdC/examples/sths34pf80_tmos_presence_detection.c

IIC写函数

参考例程序中对应的驱动程序为sths34pf80_write_reg(),如下所示。
在这里插入图片描述
由上面表格可以得知,地址为101 1010(0x5A),如果是写操作,那么具体的地址为1011 0100(0xB4)。

/**

  * @brief  读取数据

  *

  * @param  add   模块地址

  * @param  reg   寄存器地址

  * @param  data  buffer 缓冲区

  * @param  len   读取长度

  * @retval ret   正常返回HAL_OK

  *

  */

uint8_t sths34pf80_read_reg(uint8_t add,uint8_t reg,  uint8_t * data, uint8_t len)

{

uint8_t ret;

ret=HAL_I2C_Mem_Read(&hi2c1 ,(add< < 1)|1,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);


return ret;

}


IIC读函数

参考例程序中对应的驱动程序为sths34pf80_read_reg(),如下所示。
在这里插入图片描述

由上面表格可以得知,地址为101 1010(0x5A),如果是读操作,那么具体的地址为1011 0101(0xB5)。


/**

  * @brief  写入数据

  *

  * @param  add   模块地址

  * @param  reg   寄存器地址

  * @param  data  buffer 缓冲区

  * @param  len   写入长度

  * @retval ret   正常返回HAL_OK

  *

  */

uint8_t sths34pf80_write_reg(uint8_t add,uint8_t reg, uint8_t * data, uint8_t len)

{

uint8_t ret;

HAL_I2C_Mem_Write(&hi2c1 ,(add< < 1)|0,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);

return ret;


}


参考程序初始化

在这里插入图片描述

获取ID

参考例程序中对应的获取ID驱动程序,如下所示。
在这里插入图片描述

获取ID可以查看0x0F,读出来的值应该为0xD3。
在这里插入图片描述

读取函数如下所示。


/**

  * @brief  获取设备ID

  *

  * @param  add      设备地址

  * @param  val      设备ID.

  * @retval ret    正常返回HAL_OK

  *

  */


uint8_t STHS34PF80_getChipID(uint8_t add)

{

  uint8_t temp[1]={0};

sths34pf80_read_reg(add,STHS34PF80_WHO_AM_I,temp,1);

  return temp[0];

}

主函数

/* USER CODE BEGIN 2 */


uint8_t STHS34PF80_ID =STHS34PF80_getChipID(STHS34PF80_ADDRESS);

printf("STHS34PF80_ID=0x%xn",STHS34PF80_ID);

  /* USER CODE END 2 */


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>