基于TSL2561的無(wú)線(xiàn)光強傳感器節點(diǎn)設計
3 軟件設計
TSL2561是一個(gè)數字傳感器,輸出信號符合I2C總線(xiàn)標準。該總線(xiàn)支持以字節方式發(fā)送和接收數據。
字節方式發(fā)送數據格式如下:
字節方式接收數據格式如下:
其中,A為應答信號,O表示響應(ACK),1表示不響應(NACK);S為啟動(dòng)信號;P為停止信號;Wr為寫(xiě)(低電平有效);Rd為讀(高電平有效)。非陰影部分為控制器到傳感器;陰影部分為傳感器到控制器。
I2C總線(xiàn)的SDA線(xiàn)和SCL線(xiàn)是雙向線(xiàn)路,當總線(xiàn)空閑時(shí),這兩條線(xiàn)都是高電平。SDA線(xiàn)上的數據必須在時(shí)鐘的高電平周期保持穩定,數據線(xiàn)的高或低電平狀態(tài)只有在SCL線(xiàn)的時(shí)鐘信號是低電平時(shí)才能改變。I2C總線(xiàn)的起始和停止條件分別是:當SCL線(xiàn)是高電平時(shí),SDA線(xiàn)從高電平向低電平切換表示起始條件;SDA線(xiàn)由低電平向高電平切換表示停止條件。由于I2C總線(xiàn)上的數據是以8位傳送的,為確保發(fā)送器發(fā)送的每個(gè)字節都被接收器收到,在第9個(gè)時(shí)鐘脈沖期間,數據線(xiàn)被釋放,由接收器反饋一個(gè)確認信號。確認信號為低電平時(shí),規定為有效確認位(用ACK表示),表示接收器已經(jīng)成功地接收了該字節;確認信號為高電平時(shí),規定為非確認位(用NACK表示),表示接收器接收該字節沒(méi)有成功。
評論