位置:51电子网 » 技术资料 » 传感与控制

基于光强传感器TSL256x的感测系统设计--光敏传感器与控制技术

发布时间:2008/5/29 0:00:00 访问次数:591

  摘要 tsl256x是一种高速、低功耗、宽量程、可编程灵活配置的光强传感器芯片。本文简要介绍了tsl256x的基本特点、引脚功能、内部结构和工作原理,给出了tsl2561的实用电路、软件设计流程以及核心程序。

关键词 光强传感器 tsl256x i2c总线 积分式a/d转换器

1 tsl256x简介

 tsl2560和tsl2561是taos公司推出的一种高速、低功耗、宽量程、可编程灵活配置的光强度数字转换芯片。该芯片可广泛应用于各类显示屏的监控,目的是在多变的光照条件下,使得显示屏提供最佳的显示亮度并尽可能降低电源功耗;还可以用于街道光照控制、安全照明等众多场合。该芯片的主要特点如下:

  可编程设置许可的光强度上下阈值,当实际光照度超过该阈值时给出中断信号;

数字输出符合标准的smbus(tsl2560)和i2c(tsl2561)总线协议;

模拟增益和数字输出时间可编程控制;

1.25 mm×1.75 mm超小封装,在低功耗模式下,功耗仅为0.75 mw;

自动抑制50 hz/60 hz的光照波动。

2 tsl256x的引脚功能

  tsl256x有2种封装形式: 6lead chipscale和6lead tmb。封装形式不同,相应的光照度计算公式也不同。

各引脚的功能如下

脚1和脚3: 分别是电源引脚和信号地。其工作电压范围是2.7~3.5v。

脚2: 器件访问地址选择引脚。由于该引脚电平不同,该器件有3个不同的访问地址。访问地址与电平的对应关系如表1所列。

脚4和脚6: i2c或smbus总线的时钟信号线和数据线。

脚5: 中断信号输出引脚。当光强度超过用户编程设置的上或下阈值时,器件会输出一个中断信号。

3 tsl256x的内部结构和工作原理

tsl256x是第二代周围环境光强度传感器,其内部结构如图2所示。通道0和通道1是两个光敏二极管,其中通道0对可见光和红外线都敏感,而通道1仅对红外线敏感。积分式a/d转换器对流过光敏二极管的电流进行积分,并转换为数字量,在转换结束后将转换结果存入芯片内部通道0和通道1各自的寄存器中。当一个积分周期完成之后,积分式a/d转换器将自动开始下一个积分转换过程。微控制器和tsl2560可通过标准的smbus( system management bus) v1.1或v2.0实现,tsl2561则可通过i2c总线协议访问。对tsl256x的控制是通过对其内部的16个寄存器的读写来实现的。

4 tsl256x应用设计

tsl256x的访问遵循标准的smbus和i2c协议,这使得该芯片软硬件设计变得非常简单。这两种协议的读写时序虽然很类似,但仍存在不同之处。下面仅以tsl2561芯片为例,说明tsl256x光强传感器的实际应用。

4.1 硬件设计

tsl2561可以通过i2c总线访问,所以硬件接口电路非常简单。如果所选用的微控制器带有i2c总线控制器,则将该总线的时钟线和数据线直接与tsl2561的i2c总线的scl和sda分别相连;如果微控制器内部没有上拉电阻,则还需要再用2个上拉电阻接到总线上。如果微控制器不带i2c总线控制器,则将tsl2561的i2c总线的scl和sda与普通i/o口连接即可;但编程时需要模拟i2c总线的时序来访问tsl2561,int引脚接微控制器的外部中断。

4.2 软件设计

微控制器可以通过i2c总线协议对tsl2561进行读写。写数据时,先发送器件地址,然后发送要写的数据。tsl2561的写操作过程如下: 先发送一组器件地址;然后写命令码,命令码是指定接下来写寄存器的地址00h~0fh和写寄存器的方式,是以字节、字或块(几个字)为单位进行写操作的;最后发送要写的数据,根据前面命令码规定写寄存器的方式,可以连续发送要写的数据,内部写寄存器会自动加1。对于i2c协议具体的读写时序,可以参考相关资料,在此不再赘述。

限于篇幅,在此给出对tsl2561读写操作的部分程序:

unsigned char tsl2561_write_byte( unsigned char addr, unsigned char c) {
unsigned char status=0;
status=twi_start();//开始
status=twi_writebyte(tsl2561_addr|tsl2561_wr);//写tsl2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_writebyte(c);//写数据
twi_stop( );//停止
delay_ms(10);//延时10 ms
return 0;
}
unsigned char tsl2561_read_byte( unsigned char addr, unsigned char *c) {
unsigned char status=0;
status= twi_start( );//开始
status=twi_writebyte(tsl2561_addr|tsl2561_wr);//写tsl2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_start( );//重新开始
status=twi_writebyt

  摘要 tsl256x是一种高速、低功耗、宽量程、可编程灵活配置的光强传感器芯片。本文简要介绍了tsl256x的基本特点、引脚功能、内部结构和工作原理,给出了tsl2561的实用电路、软件设计流程以及核心程序。

关键词 光强传感器 tsl256x i2c总线 积分式a/d转换器

1 tsl256x简介

 tsl2560和tsl2561是taos公司推出的一种高速、低功耗、宽量程、可编程灵活配置的光强度数字转换芯片。该芯片可广泛应用于各类显示屏的监控,目的是在多变的光照条件下,使得显示屏提供最佳的显示亮度并尽可能降低电源功耗;还可以用于街道光照控制、安全照明等众多场合。该芯片的主要特点如下:

  可编程设置许可的光强度上下阈值,当实际光照度超过该阈值时给出中断信号;

数字输出符合标准的smbus(tsl2560)和i2c(tsl2561)总线协议;

模拟增益和数字输出时间可编程控制;

1.25 mm×1.75 mm超小封装,在低功耗模式下,功耗仅为0.75 mw;

自动抑制50 hz/60 hz的光照波动。

2 tsl256x的引脚功能

  tsl256x有2种封装形式: 6lead chipscale和6lead tmb。封装形式不同,相应的光照度计算公式也不同。

各引脚的功能如下

脚1和脚3: 分别是电源引脚和信号地。其工作电压范围是2.7~3.5v。

脚2: 器件访问地址选择引脚。由于该引脚电平不同,该器件有3个不同的访问地址。访问地址与电平的对应关系如表1所列。

脚4和脚6: i2c或smbus总线的时钟信号线和数据线。

脚5: 中断信号输出引脚。当光强度超过用户编程设置的上或下阈值时,器件会输出一个中断信号。

3 tsl256x的内部结构和工作原理

tsl256x是第二代周围环境光强度传感器,其内部结构如图2所示。通道0和通道1是两个光敏二极管,其中通道0对可见光和红外线都敏感,而通道1仅对红外线敏感。积分式a/d转换器对流过光敏二极管的电流进行积分,并转换为数字量,在转换结束后将转换结果存入芯片内部通道0和通道1各自的寄存器中。当一个积分周期完成之后,积分式a/d转换器将自动开始下一个积分转换过程。微控制器和tsl2560可通过标准的smbus( system management bus) v1.1或v2.0实现,tsl2561则可通过i2c总线协议访问。对tsl256x的控制是通过对其内部的16个寄存器的读写来实现的。

4 tsl256x应用设计

tsl256x的访问遵循标准的smbus和i2c协议,这使得该芯片软硬件设计变得非常简单。这两种协议的读写时序虽然很类似,但仍存在不同之处。下面仅以tsl2561芯片为例,说明tsl256x光强传感器的实际应用。

4.1 硬件设计

tsl2561可以通过i2c总线访问,所以硬件接口电路非常简单。如果所选用的微控制器带有i2c总线控制器,则将该总线的时钟线和数据线直接与tsl2561的i2c总线的scl和sda分别相连;如果微控制器内部没有上拉电阻,则还需要再用2个上拉电阻接到总线上。如果微控制器不带i2c总线控制器,则将tsl2561的i2c总线的scl和sda与普通i/o口连接即可;但编程时需要模拟i2c总线的时序来访问tsl2561,int引脚接微控制器的外部中断。

4.2 软件设计

微控制器可以通过i2c总线协议对tsl2561进行读写。写数据时,先发送器件地址,然后发送要写的数据。tsl2561的写操作过程如下: 先发送一组器件地址;然后写命令码,命令码是指定接下来写寄存器的地址00h~0fh和写寄存器的方式,是以字节、字或块(几个字)为单位进行写操作的;最后发送要写的数据,根据前面命令码规定写寄存器的方式,可以连续发送要写的数据,内部写寄存器会自动加1。对于i2c协议具体的读写时序,可以参考相关资料,在此不再赘述。

限于篇幅,在此给出对tsl2561读写操作的部分程序:

unsigned char tsl2561_write_byte( unsigned char addr, unsigned char c) {
unsigned char status=0;
status=twi_start();//开始
status=twi_writebyte(tsl2561_addr|tsl2561_wr);//写tsl2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_writebyte(c);//写数据
twi_stop( );//停止
delay_ms(10);//延时10 ms
return 0;
}
unsigned char tsl2561_read_byte( unsigned char addr, unsigned char *c) {
unsigned char status=0;
status= twi_start( );//开始
status=twi_writebyte(tsl2561_addr|tsl2561_wr);//写tsl2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_start( );//重新开始
status=twi_writebyt

相关IC型号

热门点击

 

推荐技术资料

滑雪绕桩机器人
   本例是一款非常有趣,同时又有一定调试难度的玩法。EDE2116AB... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!