1、常用的串行擴展總線有:I2C總線、單總線、SPI總線
2、I2C總線只有兩根雙向信號線。一種是數據線SDA,另一種是時鐘線SCL。
3、I2C總線通過上拉電阻接正電源。當總線空閒時,兩根線均爲高電平。連到總線上的
任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA及SCL都是線“與”關
系。
4、I2C總線進行數據傳送時,時鐘信號爲高電平期間,數據線上的數據必須保持穩定,
只有在時鐘線上的信號爲低電平期間,數據線上的高電平或低電平狀態才允許變化。
5、SCL線爲高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線爲高電平
期間,SDA線由低電平向高電平的變化表示終止信號。
6、起始和終止信號都是由主機發出的,在起始信號產生後,總線就處於被佔用的狀態;
在終止信號產生後,總線就處於空閒狀態。
7、數據傳送格式
(1)字節傳送與應答
每一個字節必須保證是8位長度。數據傳送時,先傳送最高位(MSB),每一個被傳送的
字節後面都必須跟隨一位應答位(即一幀共有9位)。
非應答位是由主機發送的,應答位是由從機發送的。
(2)數據幀格式
I2C總線上傳送的數據信號是廣義的,既包括地址信號,又包括真正的數據信號。
在總線的一次數據傳送過程中,可以有以下幾種組合方式:
a、主機向從機發送數據,數據傳送方向在整個傳送過程中不變
A表示應答, A非表示非應答(高電平)。S表示起始信號,P表示終止信號。
b、主機在第一個字節後,立即從從機讀數據
c、在傳送過程中,當需要改變傳送方向時,起始信號和從機地址都被重複產生一次,但
兩次讀/寫方向位正好反相。
8、scl爲低電平是可以改變數值。爲高電平是不可。