1.SPI和IIC一般都作為板上通信,UART、SMBUS和USB一般都作為板間通信。
其中SMBUS是參考IIC制定出來的眼生病,兩者很像。
2.SMBUS的I/O接口是由兩條線組成的雙向串行總線。可工作在主從兩種模式。
SDA:串行數據的控制
SCL:串行時鍾的產生、同步、仲裁以及起始/停止的控制和產生電路。
3.IIC(Inter IC BUS)具有多主機系統所要求的總線裁決和高低速同步功能的串行總線,它具有兩根雙向信號線。



4.IIC總線空閑時SCL/SDA兩根線通過上拉電阻都為高電平。每個IIC總線上的器件都有唯一的地址,在多主機系統中當有多個主機同時想啟動總線傳送數據時,IIC總線仲裁決定由哪一台主機控制總線。
5.在起始信號產生后總線處於 被占用狀態,終止信號產生后,總線則處於空閑狀態,接收器收到一個完整的數據字節后可能由中斷引起去做別的事,這時候接收器可以將SCL拉低,從而使主機處於等待狀態,等接受器准備再接受時再將釋放SCL為高電平。主機發送數據后,總線上的每個從機都將這7位地址碼與自己的地址進行比較,若相同則尋址成功,然后根據R/位確定自己是接受器還是發送器。從機地址由4bit固定部分和3bit可編程部分,所以最多只能有8個同樣的器件接入IIC總線。


SCL為低時數據可以高低變化
每一個8為的字節后面必須有一個應答位,即一幀共9位
IIC上的數據幀是廣義的既有數據信號又有地址信號
6.數據傳送
發送:
地址為7bit,第8位為0表示發送,1表示接受

接受:

在傳送過程中改變傳送方向:
只需重復產生一次起始信號和從機地址,第二次改掉方向

7.尋址字節中的特殊地址
從機地址由4bit固定部分和3bit可編程部分
8.應答
應答時鍾由主機產生,在發送8為數據字節后,也就是在應答時鍾期間,發送器釋放SDA線(高),接收器必須在這個時鍾脈沖期間將SDA拉低,即產生應答。否則為主機收到非應答位(即從機沒有發送應答),那么主機必須產生一個停止信號或者重復起始信號。
