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