時序對于數(shù)字電路而言非常重要,可以說時序是數(shù)字電路正常工作的基礎。說到時序,一般是指可編程器件的編程方法,在單片機編程時,需要根據被控芯片的時序去寫程序,把芯片手冊上規(guī)定好的時序用代碼來實現(xiàn),放可以實現(xiàn)單片機和芯片之間的通訊。下面以幾種常用芯片的時序來簡單介紹一下如何看懂時序。
IIC是常用的芯片間的通訊方式,也叫I2C,適合于PCB板內近距離的通訊,總共具有兩跟線,可掛接不同地址的多個設備,其硬件連線如下圖所示。
IIC在通訊時需要首先發(fā)送一個開始信號,數(shù)據結束時需要發(fā)送結束信號,開始和結束就在器件手冊上就給出了時序圖,在編程時就需要用C語言代碼去實現(xiàn)開始和結束的時序,時序圖如下所示。
SCL是IIC的時鐘線,SDA是數(shù)據線,SDA數(shù)據如何傳輸需要在特定的SCL時序上。從圖中可以看出,在開始時,必須SCL是高電平,而SDA是下降沿,這就是開始的時序。在發(fā)送結束信號時,必須讓SCL為高電平,讓SDA是上升沿,這就構成了結束信號。用C語言代碼所實現(xiàn)的結束信號如下所示。
IIC數(shù)據傳輸時的時序
IIC在發(fā)送完開始信號后,就要開始發(fā)送數(shù)據,發(fā)送數(shù)據的過程也必須得遵守IIC的時序,IIC數(shù)據傳輸?shù)臅r序如下圖所示。
從時序圖上,可以看出,在SCL為高電平期間是不允許SDA數(shù)據發(fā)生變化的,如果要改變SDA數(shù)據必須發(fā)在SCL為低電平期間。這就是這個時序圖的含義。單片機在編程時要遵循這個規(guī)則才可以。
時序圖是編程的依據,在寫代碼時必須要嚴格按照芯片手冊上的時序圖,否則通訊失敗。所以,時序圖這個東西要多看,多寫代碼。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!