完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
TMP007 - 带集成数学引擎的红外热电堆传感器,非接触式红外线温度传感
TMP007 是一款红外 (IR) 热电堆传感器,此传感器在无需接触物体的情况下测量这个物体的温度。 集成热电堆吸收物体在传感器感测范围内发出的红外能量。 热电堆电压被数字化,并且作为输入,连同芯片温度 (TDIE) 一起提供给集成数学引擎。 然后,数学引擎计算相应的物体温度。 缺省校准和热瞬态系数被存储在内置非易失性 ERPOM 存储器中。 可存储应用特定值来提升准确度。 可提供一个警报功能,并且此功能可在比较器或中断模式下设定。 TMP007 与 I2C 和 SMBus 接口兼容,并且可在一条总线上支持多达 8 个器件。 低功耗连同低运行电压是电池供电应用的理想选择。 TMP007 提供便捷的、非接触式热解决方案来测量经厂家校准的温度。 这款器件还适用于具有用户定制系统校准的工业和消费类应用。 TMP007特性: 数据表地址: http://www.ti.com/lit/ds/symlink/tmp007.pdf 在原理图中的电路图 与处理器之间采用IIC接口通信。 芯片内部框图: Pin脚定义: SCL和SDA使用开漏输出,必须接上拉,典型值为10K。ALERT报警输出,也是采用开漏输出,比较接上拉。 IIC接口描述: TMP007只能作为从机。 TMP007确定地址: 我们的电路上ADR1为1,ADR0为0;所以地址为1000100. 在程序就中就是对寄存器操作了。 在协议栈中添加TMP007服务,使用了TI-RTOS。直接加一个进程就可以了。 SensorTagTmp_createTask()就是为TMP007添加的任务的入口。 回调sensorTaskFxn函数是TMP007的任务处理函数。 ICall_registerApp()注册到BLE协议栈。sensorTaskInit()初始化任务。 IRTemp_addService()在协议栈中添加TMP007服务。 GATTServApp_RegisterService函数中的sensorAttrTable参数是一个数组,定义参照下表: 接着说sensorTaskInit()中的SensorTagTmp_reset(),这个初始化TMP007传感器。 然后回到任务函数中sensorTaskFxn 这里就是读取温度值,并传送到客户端。 sensorTmp007Enable是使能或禁止传感器。看寄存器02h的第12位。 sensorTmp007Read是读取传感器值。 首先读取状态,看是否转换完成。没有完成置一个错误的数据。转换完成,读取温度值。 读取后 sensorTmp007Enable(false);休眠传感器,节省功耗。 最后到我们最关键的一步,就是把读取的值上传到客户端。 IRTemp_setParameter上传函数。调用GATTServApp_ProcessCharCfg这个函数把数据发送出去。 读取值乘以0.03125 就是实际温度值。 |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
532 浏览 1 评论
386 浏览 1 评论
584 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
831 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
689 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
137浏览 29评论
718浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
294浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
249浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
100浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 00:11 , Processed in 0.735129 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号