計(jì)算機(jī)與外界的信息傳輸常被稱(chēng)為通信,基本通信方式有并行通信和串行通信兩種。
一、概述
并行通信方式指數(shù)據(jù)的各個(gè)二進(jìn)制位在不同的數(shù)據(jù)線(xiàn)上同時(shí)傳輸。并行通信傳輸速度快,效率高,但所需的數(shù)據(jù)線(xiàn)多,成本高,抗干擾能力較差,適用于近距離傳輸。
串行通信方式指將數(shù)據(jù)拆分成多個(gè)二進(jìn)制位,逐一的在同一條數(shù)據(jù)線(xiàn)上輸出。串行通信雖然傳輸速度較慢,效率較低,但所需的數(shù)據(jù)線(xiàn)少、硬件電路簡(jiǎn)單、抗干擾能力強(qiáng),且適用于遠(yuǎn)距離數(shù)據(jù)傳輸。
串行通信有同步通信和異步通信兩種基本的通信方式。
(1)同步通信
同步通信是一種連續(xù)的串行傳輸數(shù)據(jù)的通信方式,待發(fā)送的若干個(gè)字符數(shù)據(jù)構(gòu)成一個(gè)數(shù)據(jù)塊,在該數(shù)據(jù)塊前部添加1~2個(gè)同步字符,在數(shù)據(jù)塊的末尾添加校驗(yàn)信息,以此種方式構(gòu)成數(shù)據(jù)幀,以數(shù)據(jù)幀為單位進(jìn)行串行通信。
(2)異步通信
每一幀由四部分構(gòu)成,分別是起始位、數(shù)據(jù)位、校驗(yàn)位和停止位。起始位是數(shù)據(jù)開(kāi)始傳送的標(biāo)志,用邏輯0表示;數(shù)據(jù)位緊跟起始位,通常是5~8位二進(jìn)制位;校驗(yàn)位用于校驗(yàn)數(shù)據(jù)位是否發(fā)送正確,可以選擇奇校驗(yàn)、偶校驗(yàn)或者不使用校驗(yàn)位。幀和幀之間可以連續(xù),或者加入任意的空閑位,空閑位用邏輯1表示。
按照數(shù)據(jù)傳送方向,串行通信可以分為三個(gè)種類(lèi),分別是單工、半雙工和全雙工。
單工:通信雙方一方固定為發(fā)送方,另一方固定為接收方,數(shù)據(jù)只能是單向傳輸;
半雙工:通信雙方只使用一根數(shù)據(jù)線(xiàn),每一方都有發(fā)送器和接收器,可以在兩個(gè)方向上傳送,但通信雙方不能同時(shí)接收或發(fā)送數(shù)據(jù),只能交替進(jìn)行;
全雙工:通信雙方使用兩根數(shù)據(jù)線(xiàn),分別用于不同方向的數(shù)據(jù)傳輸,通信雙方能夠同時(shí)收發(fā)數(shù)據(jù)。
二、波特率
波特率是數(shù)據(jù)傳輸速率,指每秒鐘傳送二進(jìn)制位的個(gè)數(shù),單位為bit/s。
波特率是串行通信的重要指標(biāo),波特率越高,串口數(shù)據(jù)傳輸速度越快。
假如設(shè)定波特率為9600bit/s,而數(shù)據(jù)幀由1位起始位、8位數(shù)據(jù)位、1位停止位構(gòu)成,則串口每秒鐘最多傳送9600/(1+8+1)=960個(gè)字節(jié)。
如果兩個(gè)單片機(jī)相距較短(在1.5m之內(nèi)),串口可直接相連
如雙機(jī)通信距離在1.5m~15m之間時(shí),且傳輸速率不高,可用RS-232C標(biāo)準(zhǔn)接口實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的雙機(jī)通信 。
RS-422A標(biāo)準(zhǔn):差分傳輸,共4線(xiàn),全雙工,最大傳輸率為10Mbit/s,最大傳輸距離可達(dá)1219m。
RS-485是RS-422A的變型。區(qū)別:RS-422A為全雙工,采用兩對(duì)平衡差分信號(hào)線(xiàn);RS-485為半雙工,采用一對(duì)平衡差分信號(hào)線(xiàn)。RS-485對(duì)于多站互連是十分方便的,很容易實(shí)現(xiàn)多機(jī)通信。RS-485允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。
三、串口結(jié)構(gòu)
8051單片機(jī)的串行口主要由數(shù)據(jù)發(fā)送緩沖器SBUF、發(fā)送控制器、輸出控制門(mén)、數(shù)據(jù)接收緩沖器SBUF、接收控制器、輸入移位寄存器、串行口控制寄存器SCON構(gòu)成。
有兩個(gè)獨(dú)立的接收、發(fā)送緩沖器SBUF,可同時(shí)發(fā)送、接收數(shù)據(jù)。4兩個(gè)緩沖器共用一個(gè)特殊功能寄存器字節(jié)地址(99H)。
兩個(gè)控制寄存器SCON和PCON。
SCON用于設(shè)定串口通信的工作方式、接收/發(fā)送控制以及串口工作狀態(tài)指示。SCON的字節(jié)地址為0x98,可以進(jìn)行位尋址,格式如下:
SM0、SM1:串行通信工作方式選擇位。SM0和SM1共4種組合,對(duì)應(yīng)4中工作方式,如下表所示,其中fosc為晶振頻率。
SM2:多機(jī)通信控制位,主要用于工作方式2和工作方式3。當(dāng)串行口在多機(jī)通信模式下接收數(shù)據(jù)時(shí):
當(dāng)SM2=0時(shí),將接收到的8位數(shù)據(jù)送入到SBUF中,并產(chǎn)生中斷請(qǐng)求。
若設(shè)置SM2=1,且RB8為0時(shí),不接收主機(jī)發(fā)來(lái)的數(shù)據(jù);只有當(dāng)RB8為1時(shí),才產(chǎn)生中斷請(qǐng)求,并將接收到的前8位數(shù)據(jù)送入SBUF。
-
通信
+關(guān)注
關(guān)注
18文章
6046瀏覽量
136206 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7522瀏覽量
88304 -
信息傳輸
+關(guān)注
關(guān)注
1文章
42瀏覽量
9352
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論