1. 程式人生 > >UART、I2C以及SPI協議學習總結

UART、I2C以及SPI協議學習總結

UART(通用非同步收發器)非同步序列通訊

是屬於非同步通訊。所謂的非同步通訊,簡單來講就是不同步,比如計算機發送給微控制器,計算機只負責把資料通過TXD傳送出來即可,接收資料是微控制器自己的事。UART通訊先是一直保持高電平,傳送資料之前有起始位0,而後是8位資料位(資料位是固定長度,福特率分之一),完了之後是1位停止位(保持高電平))。(資料位是低位在先,高位在後)
UART通訊雖然是兩條線(TXD和RXD),但是實際上一條線就足夠通訊。 (半雙工)

I2C

而I2C(兩線穿行介面)屬於同步通訊,SCL負責收發雙方的時鐘節拍,SDA資料線負責傳輸資料。I2C的傳送方和接收方都以SCL這個時鐘節拍為基準進行收發資料。
I2C每次通訊都必須有兩根線才能進行通訊。
I2C匯流排是開漏引腳並聯的結構,因此外部要加上上拉電阻。開漏電路外部加上拉就構成了線“與”的關係,所謂的線“與”就是講,所以得器件都是高電平才是高電平,有一個為低就是低。(這樣做每一個器件都可以做主機)
I2C的其實訊號定義為在SCL的高電平期間,SDA給一個下降沿,表示起始訊號。資料部分I2C無固定波特率但有時序要求,只有在SCL為高電平期間,SDA才允許變化!(但是在I2C匯流排的起始和結束時例外。)高位在先低位在後。(因為在SCL為高電平期間,接收方要來讀取當前SDA的訊號)(這麼來講的話,AD裡面的I2C器件PCF8951,P331原文”PCF8591的轉換時鐘週期為I2C的SCL,8個SCL週期完成一次轉換(),所以當前的轉換結果總是在下一個位元組的8個SCL上才能讀出,因此這裡的第一條語句的作用是產生一個整體的SCL時鐘提供給PCF8591進行時鐘轉換,第二次讀取的是當前的轉換結果,如果只使用第二條語句的話,每次讀到的都是上一次的轉換結果。”)停止訊號是在SCL為低電平期間,SDA由低到高產生一個上升沿。
(全雙工)

SPI 穿行外圍裝置介面,高速、全雙工、同步通訊
(全雙工)

通訊的三種類型:
1.單工:只允許一方向另一方傳送資訊,而另一方不能回傳資訊。比如電視遙控,收音機廣播。
2.半雙工:資料可以在雙方之間進行傳播,但是同一時刻只允許一方傳送給另一方。比如說對講機。
3.全雙工:資料可在雙方之間進行傳播,也允許同一時刻兩方同時接收資料。比如打電話。

相關推薦

UARTI2C以及SPI協議學習總結

UART(通用非同步收發器)非同步序列通訊 是屬於非同步通訊。所謂的非同步通訊,簡單來講就是不同步,比如計算機發送給微控制器,計算機只負責把資料通過TXD傳送出來即可,接收資料是微控制器自己的事。UART通訊先是一直保持高電平,傳送資料之前有起始位0,而

SPI通訊協議學習總結

SPI通訊 1.簡介 這裡介紹STM32通過SPI實現對外部SPIFlash的讀寫功能,其中,SPI作為主裝置,SPIFlash作為從裝置。為了驗證SPI Flash收到的資料是否是STM32通過SPI傳送給它的資料,我們將SPIFlash讀取的資料顯示在螢幕上(TFTLC

UARTI2CSPI 介面總結

UART 一直好奇UART 一根線就能通訊的背後原理,看了一些文章,其實一直沒說到根本原因,uart拋開了clock 訊號,如果採用常規方式進行取樣,在接收端無法定位資料訊號的起始點和結束點,也就無從判決資料訊號的真實電平,所以,與其他介面的區別在於,uart

HTTP協議學習總結

http消息格式: start line + headers + bodyRequest Message: <method> <request-URL> <version><headers><entity-body> Repsonse Messag

TPC協議學習總結(上)

組成 三次 -s 序列號 可謂 然而 image 計數器 結構 在計算機領域,數據的本質無非0和1,創造0和1的固然偉大,但真正百花齊放的還是基於0和1之上的各種層次之間的組合(數據結構)所帶給我們人類各種各樣的可能性。例如TCP協議,我們的生活無不無時無刻的站在TCP協議

TCP協議學習總結(中)

性能 bsp 復雜 完美 設置 通告 數據回顯 實時推送 實時性 很多人都說TCP協議是一個十分復雜的協議,在學習當中,我對協議每一個問題都分解學習後,每一個分解我都能體會和理解它的要點,並不難理解。但我把這些拆分的細節合並後,確認感覺這樣一個協議相對“臃腫”但又好像不得不

TCP協議學習總結(下)

out 窗口 我們 中間 strong 以及 簡單 就是 bsp 在前兩邊TCP學習總結中,也大概地學習了TCP的整個流程,但許多細節中的細節並沒有詳細學習,例如超時重傳問題,每次瓶頸回歸慢啟動效率問題以及最大窗口限制問題等。本學習篇章最要針對這些細節中的細節進行學習。TC

MIPI協議學習總結(一)【轉】

轉自:https://www.cnblogs.com/EaIE099/p/5200341.html 一、MIPI 簡介:   MIPI(移動行業處理器介面)是Mobile Industry Processor Interface的縮寫。MIPI是MIPI聯盟發起的為移動應用處理器制定的開放標準。 &nb

《Linux實驗樓》第四次第五次周學習總結

《Linux實驗樓》第四次、第五次周學習總結 實驗介紹: 第四次Linux 目錄結構及檔案基本操作 一 實驗內容 Linux 的檔案組織目錄結構。 相對路徑和絕對路徑。 對檔案的移動、複製、重新命名、編輯等操作。 二 實驗知識點 每個目錄的大體內容 檔案的屬性 tou

Python--列表(list)元組(tuple)字典(dict) 學習總結(2)

目錄 建立空元組 (2)、元組---tuple 1、元組的定義 tuple (元組) 與列表相似,不同之處是元組的  元素不能修改  元組   表示多個元素組成的序列 元組  在Python開發中有特定的應用場景 用於儲存  一串 資

Python--列表(list)元組(tuple)字典(dict) 學習總結(3)

目錄 查: 增 / 改: 刪: (3)、字典 1、字典的定義 字典使用   { }   來定義 字典使用  鍵值對 儲存資料,鍵值對之間使用  ,

TCP協議學習總結(上)

在計算機領域,資料的本質無非0和1,創造0和1的固然偉大,但真正百花齊放的還是基於0和1之上的各種層次之間的組合(資料結構)所帶給我們人類各種各樣的可能性。例如TCP協議,我們的生活無不無時無刻的站在TCP協議這個“巨人”的肩膀上,最簡單的一個開啟手機的動作。所以對TCP的認識和理解,可謂越來越常識化。

圖解HTTP,狀態碼,TCPUDP等網路協議相關總結(持續更新)

前言:主要是記錄學習《圖解HTTP》這本書的知識,此外,還會夾雜一些平時整理的網路相關的筆記。 一、TCP/IP 的分層管理 1.首先分為4層:應用層,傳輸層,網路層,鏈路層。 應用層:決定了向用戶提供應用服務時通訊的活動。TCP/IP 協議族內預存了各類通用的應用服務

[rtsp]協議UDPTCPRTP三種協議總結分析

  RTP 全名是 Real-time Transport Protocol(實時傳輸協議)。它是IETF提出的一個標準,對應的RFC文件為RFC3550(RFC1889為其過期版本)。RFC3550 不僅定義了 RTP,而且

阿里雲 MQTT 協議學習總結(一)

寫在前面: 不扯淡了,直接 goto 正文, QQ: 993650814  正文: 一、MQTT協議簡介: MQTT(Message Queuing Telemetry Transport),是一個物聯網傳輸協議,它被設計用於輕量級的釋出/訂閱式訊息傳輸,旨在為低頻寬和

C——(單向單向迴圈雙向雙向迴圈)連結串列學習總結

這段時間一邊看書一邊把連結串列的知識總結了一下,並且畫了示意圖來幫助理解。主要是單向連結串列,單向迴圈連結串列,雙向連結串列,雙向迴圈連結串列四個部分,每個部分都包括了初始化,建立,插入,刪除的基本操作,並總結了各個操作的核心程式碼。抽空可以看看Linux核心自

關於qualcomm平臺i2cspi配置學習

前言: 此篇blog主要是要使能qualcomm平臺的i2c和spi,例如怎麼在裝置樹檔案中新增節點資訊,其次是對裝置樹檔案的改。eg.主要修改了msm8916-pinctrl.dtsi msm891

TCP/IP協議學習總結

本文為自己的學習總結,沒有那些大神們那麼的深入,只為自己的一些心得總結,有很多不足之處,請各位勿噴,望多多指正!!無限感激 一、TCP/IP協議 為什麼會有這個協議: 為了實現不同計算機系統/網路系統之間的通訊其他還有很多網路協議,只是很多隻能特定某些計算機系統間的通訊

標準時間GMT|UTC以及NTP協議學習

1.GMT時間         GMT,Greenwich MeanTime,中文名為格林尼治時間。英國的格林尼治這個城市在經度為零的地球經線上,所以地球以格林尼治所在的0度經線為標準,分為24個時

http協議學習-總結

第一部分 HTTP:WEB的基礎第一章 HTTP概述媒體型別 http給每種要通過web傳輸的物件都打上了名為MIME(Multipurpose Internet Mail Extension,多用途因特網郵件擴充套件)型別的資料格式標籤。 Web伺服器會為所有HTTP物件資