藍橋杯序列匯流排I2C

2021-10-24 01:59:33 字數 1983 閱讀 4203

九層妖塔 起於壘土

二、微控制器模擬i2c匯流排通訊

●兩根線:序列資料sda(serial data)和序列時鐘scl(serial clock)。

●三種模式:標準模式(100kbps),快速模式(400kbps),高速模式(3.4mbps)。

●定址方式:7位和10位

●cpu發出的控制訊號分為位址碼資料碼兩部分:位址碼用來選址,即接通需要控制的電路;資料碼是通訊的內容。

●i2c匯流排只有兩根雙向訊號線。

●匯流排上的各器件都採用漏極開路結構與匯流排相連,因此sda和scl均需上拉電阻,匯流排在空閒狀態下保持高電平,連線到匯流排上的任一器件輸出的低電平,都將使匯流排的訊號變低,即各器件的sda及scl都是線與關係。

●i2c匯流排支援多主和主從兩種工作方式。

●在主從工作方式中,系統只有乙個主機,一般由微控制器或其微處理器充當,其他器件都是具有i2c匯流排的外圍從器件。主機啟動資料的傳送(發出啟動訊號),產生時鐘訊號,發出停止訊號。

i2c匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。

●i2c匯流排上進行一次資料傳輸的通訊格式,即i2c匯流排的完整時序。

當主控器接收資料時,在最後乙個資料位元組,必須傳送乙個非應答訊號,使受控器釋放資料線,以便主控器產生乙個停止訊號來終止匯流排的資料傳送。

●i2c匯流排的寫操作就是主控器件向受控器件傳送資料。

●主控器件會對匯流排傳送起始訊號;

●緊跟著第乙個位元組的8位資料,7位從位址(受控器件的位址)+1位受控器件約定的資料方向位,「0」為寫;

●之後是乙個受控器件的應答訊號;

●之後是第二個位元組的8位資料,(控制位元組)多半是受控器件的暫存器位址;

●之後是要傳送的資料,當資料傳送完就是乙個應答訊號;

●每啟動一次匯流排,傳輸的位元組數沒有限制;

●乙個位元組位址或乙個位元組資料過後的第九個脈衝是受控器件的應答訊號;

●當資料傳送完之後由主控器件發出停止訊號來停止匯流排。

●i2c匯流排的讀操作指受控器件向主控器件傳送資料。

●由主控器件發出起始訊號;

●前兩個位元組與寫操作相同(位址細節&控制位元組);

●之後,重新啟動匯流排,改變傳送資料的方向。第二次啟動匯流排後的資料方向為讀,即為「1」;

●之後就是要接受的資料;

●前面三個位元組的資料方向均指向受控器件,所以應答訊號也由受控器件發出;

後面要接受的n個資料則指向主控器件,所以應答訊號應由主控器件發出,當n個資料接收完成之後,主控器件應發出乙個非應答訊號,告知受控器件資料接收完成,不用再傳送;

●最後的停止訊號同樣由主控器件發出。

應答訊號由接收裝置產生。

主機應答_主機無應答_檢查應答

序列匯流排之I2C

一 i2c簡介 1 i2c匯流排是 philip 公司開發的,雙向二線制同步序列匯流排,它只需要兩根線即可,單主機多從機。2 i2c兩根線分別為 序列時鐘線 scl和序列資料線 sda,scl由主機發出。3 每個連線到匯流排上的器件都有乙個位址,位址由器件內部硬體電路和外部位址引腳共同決定,避免了片...

I2C序列匯流排協議

i2c 序列匯流排協議 一 i2c 序列匯流排概述 i2c匯流排是 philips 公司推出的一種序列資訊匯流排,用於連線微控制器及外圍裝置,是具備多主系統所需的包括匯流排裁決和高低速器件同步功能的高效能序列匯流排。i2c匯流排只有兩根雙向訊號線,一根是資料線 sda,一根是時鐘線 scl。微控制器...

i2c匯流排時序

一心想踏入linux device driver的世界,想著i2c匯流排相對於usb等其他匯流排較為簡單,就以i2c作為切入點,希望可以逐步理解ldd的設計思想,並能理解其裝置模型的概念。在此對近期於i2c匯流排及驅動原始碼的理解做備忘,以免徒勞。平台友善之臂s70 tiny6410 cpusams...