1寫在前面
為什么要講述串行通信呢?因為現在并行通信相對很少見,基本上都是串行通信。
今天給大家概要講述一下常見的串行通信及相關基礎原理。
2基本概念
2.1 UART
UART:Universal Asynchronous Receiver/Transmitter,通用異步收發器。
USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步串行接收/發送器。
USART可以理解為UART和USRT二合一的通信接口,一個是同步通信,一個是異步通信。
2.2 I2C
I2C:Inter-Integrated Circuit,字面上的意思是集成電路之間,它其實是I2C Bus簡稱,所以中文應該叫集成電路總線,它是一種串行通信總線。
2.3 SPI
SPI:Serial Peripheral Interface,串行外設接口,是一種高速的,全雙工,同步的通信總線。
QSPI是Queued SPI的簡寫,是Motorola公司推出的SPI接口的擴展,比SPI應用更加廣泛。
QSPI是在SPI協議的基礎上,對其增加了隊列傳輸機制,傳輸過程不需要CPU干預,極大的提高了傳輸效率。
2.4 CAN
CAN:Controller Area Network,控制器局域網絡。
CAN 總線是一種應用廣泛的現場總線 ,在工業測控和工業自動化等領域有很大的應用前景。
2.5 USB
USB:Universal Serial Bus,通用串行總線。
USB是一個外部總線標準,用于規范電腦與外部設備的連接和通訊,是應用在PC領域的接口技術。
3通信原理(基礎)
這幾種常見串行方式基礎的通信原理不難,網上教程也有很多,這里給大家整合一下。
3.1 UART
UART通信一般是3線,當然也有單線半雙工模式。
UART連接方式:
UART通信數據格式:
這一節詳細更多內容請參看《通信教程01》中串行通信章節。
3.2 I2C
I2C是串行同步通信方式,一般是2線(SDA數據線、SCL時鐘線),一主多從的通信方式。
I2C連線方式:
SDA(串行數據線)和SCL(串行時鐘線)都是雙向I/O線,接口電路為開漏輸出.需通過上拉電阻接電源VCC。當總線空閑時.兩根線都是高電平,連接總線的外同器件都是CMOS器件,輸出級也是開漏電路.在總線上消耗的電流很小。
I2C一般是地址+數據+ACK方式,基礎的數據格式:
3.3 SPI
SPI應用非常廣泛,通常用于在微控制器和小型外設(如移位寄存器,傳感器和SD卡)之間發送數據的接口總線。
SPI通信主要使用3線(SCK、MOSI、MISO)進行通信:
但是SPI也用于多從機通信,此時,會多處一個CS片選信號線。
多從機接線方式:
當然,還有類似I2C多從機,通過尋址方式實現:
SPI通信協議比I2C要簡單的多,沒有過多的數據處理。
3.4 CAN
CAN通信是相對前面3種更復雜的一種局域網絡,不管是硬件,還是軟件協議都更加復雜。
這里不詳細講述,可以關注我公眾號『strongerHuang』,回復【CANOpen系列教程】,里面有關于CAN從底層硬件、協議、到上層軟件的詳細內容。
3.5 USB
前不久才寫了關于USB的相關內容:USB4規范正式公布,傳輸帶寬高達40Gbps
USB是生活中常見的一種串行通信接口,主要4線(D+ D- VCC GND):
USB設備端的D-或D+數據線連接1.5K歐姆的上拉電阻。當設備插入PC機的時候,會將PC機的D-或D+端的電壓拉高,當PC機在D-或D+端檢測到高電平時,就知道有設備插入了。
如果是PC機D-端被拉高,接入的則是USB低速設備;如果是PC機D+端被拉高,接入的則是USB全速或高速設備,具體是全速設備還是高速設備,會由PC機和USB設備發包握手確定。
USB傳輸速度有:低速1.5Mbps(USB1.0協議)、全速12Mbps(USB1.1協議)、高速480Mbps(USB2.0協議)、超高速5Gbps(USB3.0協議)等。
-
通信
+關注
關注
18文章
5971瀏覽量
135857 -
串口
+關注
關注
14文章
1543瀏覽量
76195 -
并口
+關注
關注
0文章
32瀏覽量
17519
發布評論請先 登錄
相關推薦
評論