新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于光強傳感器TSL256x的感測系統(tǒng)方案設計

基于光強傳感器TSL256x的感測系統(tǒng)方案設計

作者: 時間:2012-06-21 來源:網絡 收藏

本文引用地址:http://2s4d.com/article/193688.htm

4.2 軟件設計

  微控制器可以通過I2C總線協(xié)議對1進行讀寫。寫數(shù)據時,先發(fā)送器件地址,然后發(fā)送要寫的數(shù)據。1的寫操作過程如下: 先發(fā)送一組器件地址;然后寫命令碼,命令碼是指定接下來寫寄存器的地址00h~0fh和寫寄存器的方式,是以字節(jié)、字或塊(幾個字)為單位進行寫操作的;最后發(fā)送要寫的數(shù)據,根據前面命令碼規(guī)定寫寄存器的方式,可以連續(xù)發(fā)送要寫的數(shù)據,內部寫寄存器會自動加1。對于I2C協(xié)議具體的讀寫時序,可以參考相關資料,在此不再贅述。1的軟件設計流程如圖4所示。

按此在新窗口瀏覽圖片
圖4 軟件設計流程

  限于篇幅,在此給出對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);//寫數(shù)據
  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_writebyte(TSL2561_ADDR|TSL2561_RD);//寫TSL2561地址
  status=twi_readbyte(c,TW_NACK);//寫數(shù)據
  twi_stop( );
  delay_ms(10);
  return 0;
}

  當積分式A/D轉換器轉換完成后,可以從通道0寄存器和通道1寄存器讀取相應的值CH0和CH1,但是要以Lux(流明)為單位,還要根據CH0和CH1進行計算。對于TMB封裝,假設光強為E(單位為Lux),則計算公式如下:

 ?、?0CH1/CH0≤0.50
  E=0.030 4×CH0-0.062×CH0×(CH1/CH0)1/4
 ?、?0.50CH1/CH0≤0.61
  E=0.022 4×CH0-0.031×CH1
 ?、?0.61CH1/CH0≤0.80
  E=0.012 8×CH0-0.015 3×CH1
  ④ 0.80CH1/CH0≤1.30
  E=0.001 46×CH0-0.001 12×CH1
 ?、?CH1/CH0>1.30
  E=0

  對于CHIPSCALE封裝,計算公式可以查看相應的芯片資料。

5 結論

  采用TSL實現(xiàn)光強度實時監(jiān)測的系統(tǒng),具有精度高、成本低、體積小等優(yōu)點。芯片內部集成了積分式A/D轉換器,采用數(shù)字信號輸出,因此抗干擾能力比同類芯片強。該芯片在光強監(jiān)測控制領域已得到廣泛應用。


上一頁 1 2 下一頁

關鍵詞: 256x TSL 256 光強傳感器

評論


相關推薦

技術專區(qū)

關閉