學習IIC總線近一個星期了,由淺及深,慢慢的理解了很多的東西。但一直對IIC總線協(xié)議的總線時序不甚理解。對數(shù)據(jù)位的傳送,懵懵懂懂,知其然,不知其所以然。查看了很多的資料,都是這樣描述數(shù)據(jù)位的傳輸:在I2C總線上傳送的每一位數(shù)據(jù)都有一個時鐘脈沖相對應(或同步控制),即在SCL串行時鐘的配合下,在SDA上逐位地串行傳送每一位數(shù)據(jù)。進行數(shù)據(jù)傳送時,在SCL呈現(xiàn)高電平期間,SDA上的電平必須保持穩(wěn)定,低電平為數(shù)據(jù)0,高電平為數(shù)據(jù)1。只有在SCL為低電平期間,才允許SDA上的電平改變狀態(tài)。尤其對“進行數(shù)據(jù)傳送時,在SCL呈現(xiàn)高電平期間,SDA上的電平必須保持穩(wěn)定,低電平為數(shù)據(jù)0,高電平為數(shù)據(jù)1。只有在SCL為低電平期間,才允許SDA上的電平改變狀態(tài)”這句話不甚理解。本文引用地址:
http://www.ex-cimer.com/article/201611/320018.htm 帶著這個問題,我在圖書館找了好幾天的資料。終于弄懂了。
每bit數(shù)據(jù)定義
下面再來看一下IIC總線時序的具體定義:
其中,是數(shù)據(jù)建立的時間;是數(shù)據(jù)保持時間。上升沿將數(shù)據(jù)送到SDA線上,是建立時間。高電平期間數(shù)據(jù)穩(wěn)定,等待下降沿讀取SDA線上的數(shù)據(jù)。下降沿從SDA線上讀取數(shù)據(jù),下降沿之后的是保持時間。
下面是發(fā)送數(shù)據(jù)的時序變化具體分析。
再來看一下接收數(shù)據(jù)時的時序的變化。
IIC總線協(xié)議的學習暫告一段落,開始SPI總線的學習!
評論