時間:2007-06-23 09:51:00來源:hanjuan
圖1 TSL256x封裝[/align]
    各引腳的功能如下:
    
    腳1和腳3: 分別是電源引腳和信號地。其工作電壓范圍是2.7~3.5V。
    
    腳2: 器件訪問地址選擇引腳。由于該引腳電平不同,該器件有3個不同的訪問地址。訪問地址與電平的對應(yīng)關(guān)系如表1所列。
    
[align=center]表1 器件訪問地址與引腳2電平的對應(yīng)關(guān)系
[/align]
    腳4和腳6: I2C或SMBus總線的時鐘信號線和數(shù)據(jù)線。
    腳5: 中斷信號輸出引腳。當(dāng)光強度超過用戶編程設(shè)置的上或下閾值時,器件會輸出一個中斷信號。
3 TSL256x的內(nèi)部結(jié)構(gòu)和工作原理
    TSL256x是第二代周圍環(huán)境光強度傳感器,其內(nèi)部結(jié)構(gòu)如圖2所示。通道0和通道1是兩個光敏二極管,其中通道0對可見光和紅外線都敏感,而通道1僅對紅外線敏感。積分式A/D轉(zhuǎn)換器對流過光敏二極管的電流進行積分,并轉(zhuǎn)換為數(shù)字量,在轉(zhuǎn)換結(jié)束后將轉(zhuǎn)換結(jié)果存入芯片內(nèi)部通道0和通道1各自的寄存器中。當(dāng)一個積分周期完成之后,積分式A/D轉(zhuǎn)換器將自動開始下一個積分轉(zhuǎn)換過程。微控制器和TSL2560可通過標準的SMBus( System Management Bus) V1.1或V2.0實現(xiàn),TSL2561則可通過I2C總線協(xié)議訪問。對TSL256x的控制是通過對其內(nèi)部的16個寄存器的讀寫來實現(xiàn)的,其地址如表2所列。
[align=center]
圖2 TSL256x內(nèi)部結(jié)構(gòu)圖
表2 TSL256x內(nèi)部寄存器地址及作用[/align]
4 TSL256x應(yīng)用設(shè)計
    TSL256x的訪問遵循標準的SMBus和I2C協(xié)議,這使得該芯片軟硬件設(shè)計變得非常簡單。這兩種協(xié)議的讀寫時序雖然很類似,但仍存在不同之處。下面僅以TSL2561芯片為例,說明TSL256x光強傳感器的實際應(yīng)用。
4.1 硬件設(shè)計
    TSL2561可以通過I2C總線訪問,所以硬件接口電路非常簡單。如果所選用的微控制器帶有I2C總線控制器,則將該總線的時鐘線和數(shù)據(jù)線直接與TSL2561的I2C總線的SCL和SDA分別相連;如果微控制器內(nèi)部沒有上拉電阻,則還需要再用2個上拉電阻接到總線上。如果微控制器不帶I2C總線控制器,則將TSL2561的I2C總線的SCL和SDA與普通I/O口連接即可;但編程時需要模擬I2C總線的時序來訪問TSL2561,INT引腳接微控制器的外部中斷。硬件連接如圖3所示。
[align=center]
圖3 微控制器與TSL2561的硬件連接圖[/align]
4.2 軟件設(shè)計
[align=center]
圖4 軟件設(shè)計流程[/align]
    限于篇幅,在此給出對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ù)據(jù)
    
    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ù)據(jù)
    
    twi_stop( );
    
    delay_ms(10);
    
    return 0;
    
    }
    
    當(dāng)積分式A/D轉(zhuǎn)換器轉(zhuǎn)換完成后,可以從通道0寄存器和通道1寄存器讀取相應(yīng)的值CH0和CH1,但是要以Lux(流明)為單位,還要根據(jù)CH0和CH1進行計算。對于TMB封裝,假設(shè)光強為E(單位為Lux),則計算公式如下:
    
    ① 0標簽:
                                
                            
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(connectcrack.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-11
2025-10-09
2025-09-23
2025-09-23
2025-09-11
2025-09-08