E931.96人体感应控制IC自学笔记

E931.96人体感应控制IC自学笔记

公司以前的人体红外感应的产品功耗较高,听说E931.96这款芯片功耗很低,所以最近我在做测试,调试了几天,发现这款芯片真的挺不错的。加上外壳之后,探测距离、灵敏度、误触发等测试的结果都还行,相比以前的产品功耗也确实低很多,目前还没发现有什么问题。所以现在给大家分享一下这款IC。

一、IC介绍

E931.96是一个超低功耗运动侦测控制IC,适用于电池供电的无线运动传感。目前最常用的PIR人体感应传感器检测到人时输出的信号都比较小,需要进行放大、滤波等处理,而E931.96其实就是一款信号处理IC。它的优点是可以根据项目需求自由配置灵敏度,窗口检测时间等参数,而且所有的信号都是数字信号,和MCU通讯很方便。另外,它的功耗也很低,官方给的数据是35uA,PIR一般是8.524uA,我实际测试stm8L101+E931+PIR最低功耗16uA,功耗确实比以前的产品要低很多。

二、引脚定义

Pin Name Description
1 VSS 供电电源负极
2 INT/DOCI 中断输出/数据输出
3 SERIN 输入,MCU接口
4 VDD 供电电源正极
5 VPIR 稳压器输出电源(可以给PIR供电)
6 NPIRN PIR输入正极(接PIR信号输出)
7 PIRN PIR输入负极
8 TEST 测试引脚,接到VSS

在这里插入图片描述

三、通讯方式

通讯方式类似于单总线协议。MCU的IO口给SERIN引脚发送数据就可以配置E931。E931的INT/DOCI引脚可以作为红外触发的中断脚,MCU也可以通过这个引脚读取E931寄存器的数据。这个通讯的方式挺简单的,我们其实只需要通过SERIN引脚配置好参数,然后等待接收INT引脚的中断就可以了。
SERIN引脚通讯的时序图如2所示。MCU需要在SERIN引脚上产生一个0到1的跳变(图2的蓝色线条部分),之后跟随数据位(0/1)。数据位的电平持续时间至少为E931.96的2个系统时钟周期,1个系统27~35us(具体的时间参考数据手册)。如此循环发送25个bit的数据即可完成E931的配置(配置的具体内容在寄存器详解)。
注:一旦数据传输被中断超过16个时钟周期,最后被接收到的数据将被锁存到配置寄存器里面。该25位数据的传输不能被打断超过15个系统时钟,因为器件可能在该阶段已经将数据锁存了。
在这里插入图片描述
INT/DOCI引脚输出的中断源可以选择运动检测或者ADC。若选择运动检测,规定的时间窗口内达到脉冲数则触发中断。若选择ADC,每512个系统时钟(约14ms)将产生一个中断。在MCU访问该接口时,不会产生任何中断。
INT/DOCI引脚也可以读取E931的寄存器,INT/DOCI引脚通讯的时序图如3所示。读取数据的顺序有固定的优先级。INT/DOCI引脚读取数据的顺序如图4所示。读取时不一定要读完40个bit,可以提前结束读取。
在这里插入图片描述
在这里插入图片描述

四、寄存器详解

1、配置寄存器(通过SERIN引脚配置)

Bit-No Register Remarks
[24:17] [7:0]Sensitivity 灵敏度/阈值。门限值=[寄存器值]*6.5uV
[16:13] [3:0]Blind Time 盲时间。中断清除之后,忽略运动的时间,时间=[寄存器值]*0.5s,可以防止反复触发
[12:11] [1:0]Pulse Counter 脉冲计数器。在规定的时间窗口内达到脉冲数则触发中断。脉冲数=[寄存器值]+1。可以防止干扰误报
[10:9] [1:0]Window_Time 窗口时间。时间=[寄存器值]*4s+4s,用于噪声干扰环境
[8] [0]Motion detector Enable 运动检测,0:失能,1:使能
[7] [0]Interrupt Source 中断源。0:运动检测,1:ADC抽样滤波,每14ms产生一次中断
[6:5] [1:0]ADC/Filter Voltage Source ADC电压源。0:PIR信号,BFP输出,1:PIR信号,LPF输出,2:芯片供电电压,3:片内温度传感器
[4] [0]Supply Regulator Enable 稳压器VREG的2.2V是否输出。0:使能,1:失能,可以给PIR供电
[3] [0]Start Sel Test 自检。由0变为1启动,自检过程需要2s
[2] [0]Sample capacitor 样本电容值。1=2*用于自检的默认电容
[1:0] [1:0]Test modes 测试模式。保留,默认00

2、读取寄存器(通过INT/DOCI引脚读取)

Bit-No Register Remarks
[39] [0] PIR out of range 指示,传感器陶瓷被放电
[38:25] [13:0] PIR Voltage, 6.5µV/cnt LPF或BPF输出,取决于配置
[24:17] [7:0]Sensitivity 灵敏度/阈值。门限值=[寄存器值]*6.5uV
[16:13] [3:0]Blind Time 盲时间。中断清除之后,忽略运动的时间,时间=[寄存器值]*0.5s,可以防止反复触发
[12:11] [1:0]Pulse Counter 脉冲计数器。在规定的时间窗口内达到脉冲数则触发中断。脉冲数=[寄存器值]+1。可以防止干扰误报
[10:9] [1:0]Window_Time 窗口时间。时间=[寄存器值]*4s+4s,用于噪声干扰环境
[8] [0]Motion detector Enable 运动检测,0:失能,1:使能
[7] [0]Interrupt Source 中断源。0:运动检测,1:ADC抽样滤波,每14ms产生一次中断
[6:5] [1:0]ADC/Filter Voltage Source ADC电压源。0:PIR信号,BFP输出,1:PIR信号,LPF输出,2:芯片供电电压,3:片内温度传感器
[4] [0]Supply Regulator Enable 稳压器VREG的2.2V是否输出。0:使能,1:失能,可以给PIR供电
[3] [0]Start Sel Test 自检。由0变为1启动,自检过程需要2s
[2] [0]Sample capacitor size 样本电容值。1=2*用于自检的默认电容
[1] [0]Clamp Input 1=钳位PIR输出,用于快速偏置测量
[0] [0]User test-modes select 测试模式。

五、参考电路

在这里插入图片描述
关于E931的相关内容就介绍到这里,想要驱动程序的话可以在下面的链接下载,如果还有什么问题,可以留言,如果文章有哪里写的不对,欢迎指正,谢谢!

驱动程序下载:https://download.csdn.net/download/ShenZhen_zixian/12019043

发布了16 篇原创文章 · 获赞 44 · 访问量 6935

猜你喜欢

转载自blog.csdn.net/ShenZhen_zixian/article/details/103440911