我們都知道,CPU要與外部模塊通信,都是通過某種特定的總線,那么什么是串行通信?什么并行通信?什么是同步,什么是異步?TTL 與CMOS有什么區別?別在傻傻分不清楚,今天我們就來聊聊CPU與外部通信的方式,以及常見的電平標準。
一、首先我們看看什么通信方式的分類
這其中串行通信又有同步通信與異步通信之分,那他們之間又有什么區別呢?
那我們常用的板級串行總線又有那些呢,他們又各自有什么特點呢?首先看看常用的幾種串行總線
1.UART
2.I2C
注意:
a.I2C總線的外圍擴展器件都是CMOS器件,總線有足夠的電流驅動能力,因此總線上擴展的節點數不由電流負載能力決定,而由電容負載確定。一般容抗要求小于400PF。
b.I2C總線接口內部為雙向傳輸電路,總線端口輸出為開漏結構,故總線上必須有上拉電阻。
c.每個掛在總線上的I2C器件都有一個唯一的地址,并通過軟件尋址。
d.I2C總線上數據傳遞時,總線上傳送的每一幀數據均為一個字節。但啟動總線后,傳送的字節數沒有限制,只要求每傳送一個字節后,對方回應一個應答位。在發送時,首先發送的是數據的最高位。每次傳送開始有起始信號,結束時有停止信號。
3.SPI
注意:SPI的一個缺點即沒有指定的流控制,沒有應答機制確認是否接收到數據。
二、常見的電平標準
-
TTL電平
-
CMOS電平
-
RS485電平
-
RS232電平
-
LVTTL
6.ECL
7.LVDS
總結:本文主要是對一些工程師是日常工作中經常碰到的一些概念做了一個簡單的梳理與總結,如果需要了解更加深入,理解得更加透徹,可以下載相關協議標準文檔,仔細研讀。