串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)傳送,傳輸?shù)臄?shù)據(jù)線只需要一條,另外需要一條公共信號(hào)地線和若干控制信號(hào)線。因?yàn)橐淮沃荒軅魉鸵晃?,因此?duì)于一個(gè)字節(jié)的數(shù)據(jù),至少需要傳輸8位才能傳輸完畢。
單片機(jī)與外部設(shè)備通過(guò)串口通信時(shí),需要將并行的數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),再通過(guò)串口發(fā)送到外部設(shè)備。當(dāng)單片機(jī)通過(guò)串口從外部設(shè)備接收數(shù)據(jù)時(shí),需要將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。
單片機(jī)與外部設(shè)備進(jìn)行串行通信,需要雙方約定一個(gè)協(xié)議,即約定傳輸方式,這樣才不會(huì)發(fā)生數(shù)據(jù)丟失問(wèn)題。傳輸方式分為異步串行通信和同步串行通信兩種方式。
異步串行通信
異步串行通信不需要發(fā)送方和接收方同步時(shí)鐘信號(hào),對(duì)硬件要求低,當(dāng)前主流的串行通信標(biāo)準(zhǔn)RS232就是異步串行通信。
異步串行通信依靠起始位,停止位保持通信同步的串行通信方式,傳輸?shù)臄?shù)據(jù)幀一般包含1位起始位,5~8位數(shù)據(jù)位,1位校驗(yàn)位和1位停止位。
上圖是一個(gè)完整的異步串行通信數(shù)據(jù)幀,起始位為低電平,然后是8位數(shù)據(jù),8位數(shù)據(jù)后是校驗(yàn)位,校驗(yàn)位為低電平或高電平,最后是停止位,停止位為高電平。
例如:用異步串行傳輸方式發(fā)送16進(jìn)制數(shù)41H,數(shù)據(jù)位為8位,采用奇校驗(yàn),停止位為1位,傳輸波形圖為:
通過(guò)上述傳輸波形圖可以看出,起始為低電平(0t),41H的二進(jìn)制數(shù)為1000 0010,1的個(gè)數(shù)為2個(gè),因此校驗(yàn)位為高電平(9t),停止位也為高電平(10t)。
同步串行通信
同步串行通信要保持發(fā)送方和接收方的時(shí)鐘同步,因此同步通信要使用附加信號(hào)線,即時(shí)鐘同步的信號(hào)線,發(fā)送方和接收方在發(fā)送方提供的相同時(shí)鐘頻率下完成同步串行通信。
發(fā)送方和接收方建立同步后,在同步時(shí)鐘的控制下按位進(jìn)行發(fā)送接收,在發(fā)送數(shù)據(jù)位之前,需要先發(fā)送一個(gè)特定的同步字符,同步字符后面是數(shù)據(jù)位,每個(gè)數(shù)據(jù)位之間的距離均為 “位間隔”的整數(shù)倍,因此在數(shù)據(jù)傳輸過(guò)程中,發(fā)送方和接收方完全可以確定每個(gè)數(shù)據(jù)位的位置。
串行通信的制式
串行通信分為單工、半雙工、全雙工三種制式。單工是指數(shù)據(jù)只能有發(fā)送方發(fā)送數(shù)據(jù)到接收方,接收方不能發(fā)送數(shù)據(jù)到發(fā)送方,即數(shù)據(jù)傳輸只能是一個(gè)方向。半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)傳輸。全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。
串行通信接口標(biāo)準(zhǔn)
RS-232是現(xiàn)在主流的串行通信接口之一,它被廣泛用于計(jì)算機(jī)串行接口外設(shè)連接,目前較為常用的串口有9針串口和25針串口,RS-232接口對(duì)傳輸距離有限制,傳輸距離在15m之內(nèi),通信設(shè)備可以直接連接到RS-232端口,若距離較遠(yuǎn),需要使用中繼器。RS-232端口的外形和針腳說(shuō)明如下圖所示。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44491瀏覽量
632007 -
RS232
+關(guān)注
關(guān)注
13文章
733瀏覽量
94195 -
串行通信
+關(guān)注
關(guān)注
4文章
562瀏覽量
35230 -
串口通信
+關(guān)注
關(guān)注
34文章
1607瀏覽量
55381 -
異步串行通信
+關(guān)注
關(guān)注
0文章
16瀏覽量
8406
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論