通信的目的
將一個設備的數據傳送到另一個設備,擴展硬件系統。
通信協議
制定通信的規則,通信雙方按照協議規則進行數據收發。
每一種通訊協議都有硬件與軟件上的要求。
常見的協議
USART | TX、RX | 全雙工 | 異步 | 單端 | 點對點 |
I2C | SCL、SDA | 半雙工 | 同步 | 單端 | 多設備 |
SPI | SCLK、MOSI、MISO、CS | 全雙工 | 同步 | 單端 | 多設備 |
CAN | CAN_H、CAN_L | 半雙工 | 異步 | 差分 | 多設備 |
USB | DP、DM | 半雙工 | 異步 | 差分 | 點對點 |
一些電平標準
電平標準是數據1和數據0的表達方式,是傳輸線纜中人為規定的電壓與數據的對應關系,串口常用的電平標準有如下三種:
TTL電平:+3.3V或+5V表示1,0V表示0
RS232電平:-3 ~ -15V表示1,+3~+15V表示0
RS485電平:兩線壓差+2 ~ +6V表示1,-2~-6V表示0(差分信號)
串行 并行
串行就是一個一個的走,就一條道
并行就是可以一排一排的走,多車道并行
全雙工 半雙工 單工
全雙工就是,可以同時進行數據的收和發。(典型就是UART的RX與TX,不過我們在用的時候,很少用到,都是先發一段指令過去之后,再返回來要的數據)
半雙工就是數據的收發不能同時進行,只有一條數據線。(典型就是I2C,一條時鐘線,一條數據線)
單工就是只能向一個固定的方向發數據,一般就是各種遙控器,廣播電視、收音機什么的。
同步 異步
簡單來說 看看有沒有時鐘線。
如下:同步
如下,異步
在異步通訊中不使用時鐘信號進行數據同步,它們直接在數據信號中穿插一些同步用的信號位,或者把主體數據進行打包,以數據幀的格式傳輸數據,某些通訊中還需要雙方約定 數據的傳輸速率,以便更好地同步。
差分 單端
單端就是,除了參考地之外,就只有一個信號端,也就是一根數據線。
大于VH就是1,小于VL就是0,位于中間的叫做高阻態,取決外設怎么解析, 有些硬件寄存器會表示高阻態有些表示0或者1。
優點:走線少且簡單方便
缺點:抗干擾性差
差分就是D+大于D-為1,D+小于D-為0。
優點:抗干擾性強;D+ /D-的差值是固定的, 不受地勢差或者外部干擾。至于高低電平用D+/D-相比較得出(上面是D+大于D-為高電平),同時也不需要參考地和VH/VL閾值了!靈敏度高, 由于是比較相對差值, 振幅可以很低, 降低設備在通信上的功耗
缺點:信號線多增加布線難度和干擾
通訊速率
衡量通訊性能的一個非常重要的參數就是通訊速率,通常以**比特率 (Bitrate) **來表示,即每秒鐘傳輸的二進制位數,單位為 比特每秒 (bit/s) 。
容易與比特率混淆的概念是 “波特率”(Baudrate) ,它表示 每秒鐘傳輸了多少個碼元 。而碼元是通訊信號調制的概念, 通訊中常用時間間隔相同的符號來表示一個二進制數字,這樣的信號稱為碼元 。如常見的通訊傳輸中,用 0V 表示數字 0,5V 表示數字 1,那么一個碼元可以表示兩種狀態 0 和 1,所以一個碼元等于一個二進制比特位,此時波特率的大小與比特率一致;
如果在通訊傳輸中,有 0V、2V、4V 以及 6V 分別表示二進制數 00、01、10、11,那么每個碼元可以表示四種狀態,即兩個二進制比特位,所以碼元數是二進制比特位數的一半,這個時候的波特率為比特率的一半。
-
通信協議
+關注
關注
28文章
858瀏覽量
40269 -
串口
+關注
關注
14文章
1543瀏覽量
76205 -
異步通訊
+關注
關注
0文章
12瀏覽量
7464 -
時鐘信號
+關注
關注
4文章
445瀏覽量
28511
發布評論請先 登錄
相關推薦
評論