第A章串行接口_第1頁
第A章串行接口_第2頁
第A章串行接口_第3頁
第A章串行接口_第4頁
第A章串行接口_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、專業(yè)方向必修課、考查課,專業(yè)方向必修課、考查課,2.5學(xué)分、學(xué)分、40學(xué)時學(xué)時第第A章章 串行接口串行接口A.1 串行通信的基本概念串行通信的基本概念A(yù).2 串行口基本結(jié)構(gòu)與操作方式串行口基本結(jié)構(gòu)與操作方式2 計算機(jī)1 GND 計算機(jī)2 GND并行通信 計算機(jī)1 GND 計算機(jī)2 GND發(fā)送接收串行通信A.1 串行通信的基本概念串行通信的基本概念 單片機(jī)與外界的信息交換稱為通信?;就ㄐ欧绞接袃煞N:并行通信和串行通信。 并行通信傳送數(shù)據(jù)的特點是各位同時發(fā)送或接收,而串行通信傳送數(shù)據(jù)的特點是各位按順序一位一位地發(fā)送或接收。3 并行通信 并行通信中一個并行數(shù)據(jù)占多少位二進(jìn)制數(shù),就要多少根傳輸線。其

2、特點是通信速度快,但傳輸線多,價格較貴,適合近距離傳輸。一般用于電路芯片內(nèi)部,同一個插板上各部件之間的通信,距離小于30m。 前面關(guān)于存儲器擴(kuò)展、總線法擴(kuò)展I/O口電路的通訊方式均為并行傳送。 計算機(jī)1 GND 計算機(jī)2 GND并行通信4u 串行通信串行通信 串行通信僅需一到兩根傳輸線即可實現(xiàn),故在長距離傳送數(shù)據(jù)時成本少,比較經(jīng)濟(jì)。但由于它每次只能傳送一位,所以傳送速度較慢。 計算機(jī)1 GND 計算機(jī)2 GND發(fā)送接收串行通信5A.1.1 串行數(shù)據(jù)傳送方式串行數(shù)據(jù)傳送方式 1單工方式單工方式 單向傳送數(shù)據(jù),通信雙方中一方固定為發(fā)送端,另一端固定為接收端。只需要一條數(shù)據(jù)線。圖圖A-1(a) 單工

3、方式示意圖單工方式示意圖發(fā)送器A站接收器B站單工通信(a)6 這種方式允許數(shù)據(jù)在兩個方向的任一方向傳送,但每次只能有一端發(fā)送。使用同一根傳輸線既作接收又作發(fā)送,雖然數(shù)據(jù)可以在兩個方向上傳送,但通信雙方不能同時收發(fā)數(shù)據(jù)。 2半雙工方式半雙工方式圖圖A-1(b) 半雙工方式示意圖半雙工方式示意圖發(fā)收A站發(fā)收B站(b)7 3全雙工方式全雙工方式 當(dāng)數(shù)據(jù)的發(fā)送和接收分流,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進(jìn)行發(fā)送和接收操作,這樣的傳送方式就是全雙工(Full Duplex)制。 它要求兩端的通信設(shè)備具有完整和獨立的發(fā)送、接收功能。圖圖A-1(c) 半雙工方式示意圖半雙工方式示意圖發(fā)收

4、A站發(fā)收B站(c)8A.1.2 波特率和發(fā)送波特率和發(fā)送/接收時鐘接收時鐘 1波特率波特率 并行通信中,傳輸速度以每秒傳輸?shù)淖止?jié)(B/s)表示。而串行通信數(shù)據(jù)傳送的速率用波特率來表示。 波特率指每秒鐘傳送的二進(jìn)制數(shù)碼的位數(shù),單位是bps(bit per second),即位/秒。 波特率是串行通信的重要指標(biāo),用于衡量數(shù)據(jù)傳輸?shù)乃俾省?1)發(fā)送時鐘)發(fā)送時鐘發(fā)送端使用的用于決定數(shù)據(jù)位寬度的時鐘。2)接收時鐘)接收時鐘接收端使用的用于測定每一位輸入數(shù)據(jù)位寬度的時鐘。3)接收)接收/ 發(fā)送時鐘頻率發(fā)送時鐘頻率接收/ 發(fā)送時鐘頻率n波特率,其中n1,16,32,64 2發(fā)送發(fā)送/接收時鐘接收時鐘10A

5、.1.3 串行的基本通信方式串行的基本通信方式 1異步通信異步通信 串行數(shù)據(jù)按傳遞方式分為兩種基本的通信方式:異步通信和同步通信。 異步通信中數(shù)據(jù)或字符是分為一幀一幀地傳送,在幀格式中先用一個起始位“0”表示字符的開始,然后是58位數(shù)據(jù),規(guī)定低位在前,高位在后,接下來是奇偶校驗位(可省略),最后一個停止位“1”表示字符的結(jié)束,構(gòu)成一幀。 由于異步通信每傳送一幀有固定格式,通信雙方只需按約定的幀格式來發(fā)送和接收數(shù)據(jù),所以硬件結(jié)構(gòu)比同步通信方式簡單;此外它還能利用校驗位檢測錯誤,所以這種通信方式應(yīng)用較廣泛。11 2同步通信同步通信 同步通信中,在數(shù)據(jù)或字符開始處就用一同步字符來指示(12個),由時

6、鐘來實現(xiàn)發(fā)送端和接收端同步,一旦檢測到與規(guī)定的同步字符符合,下面就連續(xù)按順序傳送數(shù)據(jù)。 因為同步通信數(shù)據(jù)塊傳送時去掉了字符開始和結(jié)束的標(biāo)志,所以其速度高于異步傳送,但這種方式對硬件結(jié)構(gòu)要求較高。這種通信方式中收/發(fā)雙方必須建立準(zhǔn)確的位定時信號,即收/發(fā)時鐘的頻率必須嚴(yán)格地一致。MCS-51單片機(jī)一般不使用。12 根據(jù)串行通信格式及約定(如同步方式、通信速率、數(shù)據(jù)幀格式等)的不同,形成了許多串行通信接口標(biāo)準(zhǔn),如常見的UART(通用串行異步通信接口)、USB(通用串行總線接口)、I2C總線、SPI總線(同步通信)、485總線、CAN總線接口等。 下面結(jié)合MCS-51單片機(jī)介紹常用UART接口。A.

7、1.4 串行通信接口種類串行通信接口種類131)接口信號 RS-232C通信接口又稱RS-232C總線標(biāo)準(zhǔn)。它向外部的連接器有25針和9針兩種“D”型插頭,各針的功能及排列如圖圖9-2(a)、圖9-2(b)。 1RS-232C通信接口通信接口142)電平轉(zhuǎn)換 單片機(jī)電平通常是TTL電平,它與RS232C電平不兼容,必須進(jìn)行電平轉(zhuǎn)換。 RS-232C與TTL的電平轉(zhuǎn)換的芯片有MCl488傳輸線驅(qū)動器和MCl489傳輸線接收器。由于MCl488和MCl489需要15v或12V供電,造成了使用不便,現(xiàn)常用+5v單電源供電的轉(zhuǎn)換芯片,如MAXIM公司的MAX232芯片,它可以實現(xiàn)RS-232C與TTL

8、/CMOS電平之間的轉(zhuǎn)換。MA-X232的組成及引腳圖如圖A-3所示。 1RS-232C通信接口通信接口152. RS-422A通信接口通信接口1)接口信號 RS-422A通信接口是對RS-232C通信接口的改進(jìn),它采用平衡傳輸電氣標(biāo)準(zhǔn),輸人/輸出均采用差分驅(qū)動,因此具有更強(qiáng)的抗干擾能力,傳送速率也大大提高。它向外部的連接器常采用9針“D”型插頭,各針的功能及排列如圖A-4所示。162. RS-422A通信接口通信接口2)電平轉(zhuǎn)換 能夠?qū)TL電平轉(zhuǎn)換為RS-422A電平的常用芯片有SN5174、MC3487等。能將RS-422A電平轉(zhuǎn)換為TTL電平的常用芯片有SN75175、MC3486等。

9、SN75174、SN75175 分別具有三態(tài)輸出的單片差分驅(qū)動器和接收器,符合E認(rèn)標(biāo)準(zhǔn)的RS-422A規(guī)范,它采用+5V單電源供電,功能上可以與MC3487、MC3486互換。 下圖圖A-5是用SN75174、SN75175實現(xiàn)的電平轉(zhuǎn)換電路圖。17A.1.5 信號調(diào)制與解調(diào)信號調(diào)制與解調(diào) MODEM與計算機(jī)連接的方式分成內(nèi)接式和外接式。MODEM的調(diào)制方式有3種:1)振幅調(diào)制(ASK):以兩種振幅的大小來區(qū)別數(shù)字信號“0”與“1”;2)頻率調(diào)制(FSK):利用兩個固定的頻率來分別代表數(shù)字信號“0”與“1”;3)相位調(diào)制(PSK):利用相位的差異來區(qū)別信號,當(dāng)相位差180時代表位值的變化。18

10、A.1.6 串行接口的任務(wù)串行接口的任務(wù) 1進(jìn)行串并轉(zhuǎn)換 2實現(xiàn)串行數(shù)據(jù)格式化 3可靠性檢驗 4實施接口與通信設(shè)備之間的聯(lián)絡(luò)控制 19圖圖A-2 (a) 25針插頭引腳定義圖針插頭引腳定義圖20圖圖A-2 (b) 9針插頭引腳定義圖針插頭引腳定義圖21圖圖A-3 MAX232組成及引腳圖組成及引腳圖22圖圖A-4 RS422A插頭引腳定義圖插頭引腳定義圖23圖圖A-5 RS-422A接口電平轉(zhuǎn)移電路接口電平轉(zhuǎn)移電路24A.2 51單片機(jī)串行口基本結(jié)構(gòu)與操作方式單片機(jī)串行口基本結(jié)構(gòu)與操作方式A.2.1 串行口的基本組成串行口的基本組成A.2.2 串行口的串行口的SFR寄存器寄存器A.2.3 串行

11、口的工作方式串行口的工作方式A.2.4 串行口的應(yīng)用串行口的應(yīng)用A.2.5 例題例題返返 回回25 如圖9.2.1所示,串行口由發(fā)送控制、接收控制、波特率輸入管理和發(fā)送/接收緩沖器SBUF組成。串行口的通信操作體現(xiàn)為累加器A與發(fā)送/接收緩沖器SBUF間的數(shù)據(jù)傳送操作。A.2.1 串行口的基本組成串行口的基本組成發(fā) 送SBUF(99H)門發(fā) 送 控 制 器接 收 控 制 器1輸 入 移 位 寄 存 器串行控制寄存器(98H)定時器1接 收SBUF(99H)888TIRI內(nèi) 部 總 線TXD(P3.1)RXD(P3.0)串 行 口 中 斷圖圖A.2.1 單片機(jī)串行口示意圖單片機(jī)串行口示意圖26 當(dāng)

12、對串行口完成初始化操作后要發(fā)送數(shù)據(jù)時,待發(fā)送的數(shù)據(jù)由A送入SBUF中,在發(fā)送控制器控制下組成幀結(jié)構(gòu)并自動以串行方式發(fā)送到TXD端,在發(fā)送完畢后置位TI。如果要繼續(xù)發(fā)送,在指令中將TI清零。 接收數(shù)據(jù)時,置位接收允許位才開始串行接收操作,在接收控制器控制下,通過移位寄存器將串行數(shù)據(jù)送入SBUF。發(fā) 送SBUF(99H)門發(fā) 送 控 制 器接 收 控 制 器1輸 入 移 位 寄 存 器串行控制寄存器(98H)定時器1接 收SBUF(99H)888TIRI內(nèi) 部 總 線TXD(P3.1)RXD(P3.0)串 行 口 中 斷圖圖A.2.1 單片機(jī)串行口示意圖單片機(jī)串行口示意圖271. SBUF 串行口

13、數(shù)據(jù)緩沖器串行口數(shù)據(jù)緩沖器2. SCON串行口控制寄存器串行口控制寄存器3. PCON電源及波特率選擇寄存器電源及波特率選擇寄存器A.2.2 串行口的串行口的SFR寄存器寄存器281)共兩個:一個發(fā)送寄存器SBUF,一個接收 SBUF,二者共用一個地址99H。2)SBUF為不可位尋址寄存器。3)SBUF只能與A實現(xiàn)數(shù)據(jù)傳送。1串行口串行口發(fā)送發(fā)送/接收緩沖器接收緩沖器SBUF29發(fā)送中斷標(biāo)志接收中斷標(biāo)志SM0SM1SM2RENTB8RB8TIRI工作方式選擇多機(jī)通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位9FH9EH9DH9CH9BH9AH99H98H2串行口串行口控制寄存器控制寄

14、存器SCON SCON為可位尋址寄存器,用于串行口的方式設(shè)定和數(shù)據(jù)傳送控制,直接地址為98H。其功能位規(guī)定如下:30SM0 SM1工作方式工作方式功能功能波特率波特率0 0方式方式08位同步移位寄存器位同步移位寄存器fosc/120 1方式方式18位位UART可變可變1 0方式方式29位位UARTfosc/64或或fosc/321 1方式方式39位位UART可變可變例:設(shè)串行口工作在方式1,允許接收,則指令為: MOV SCON,#01010000B1)SM0、SM1 這兩位為串行方式的定義方式選擇位。用來選擇串行口的四種工作方式,如下表。312)SM2 該位為串行多機(jī)通信控制位。在方式2、方

15、式3中用于多機(jī)通信控制。在方式2、方式3的接收狀態(tài)中:若SM2=1,當(dāng)接收到的第9位(RB8)為零時舍棄接收到的數(shù)據(jù),RI清零;當(dāng)RB8為1時,將接收到的數(shù)據(jù)送SBUF中,并將RI置1。3)REN 該位為允許接收位。REN=1時允許接收,REN由指令置位或清零。324)TB8 該位為第9位發(fā)送數(shù)據(jù)。多機(jī)通信(方式2、方式3)中TB8標(biāo)明主機(jī)發(fā)送的是地址還是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1為地址。TB8由指令置位或清零。5)RB8 該位為多機(jī)通信(方式2、方式3)中用來存放接收到的第9位數(shù)據(jù),用以表明所接收的數(shù)據(jù)的特征。336)TI 該位為發(fā)送中斷標(biāo)志位。方式0時,發(fā)送完8位數(shù)據(jù)后由硬件置位,

16、其他方式下發(fā)送停止位時由硬件置位,并請求中斷。T1=1表示幀發(fā)送結(jié)束,可供查詢,TI由指令清零。7)RI 該位為接收中斷標(biāo)志位。方式0時,接收完8位數(shù)據(jù)后由硬件置位,其他方式下接收到停止位時由硬件置位,并請求中斷。RI=1,表示幀接收終了。RI可供查詢,由指令清零。34串行通信只用該位,SMOD=1時,波特率2;SMOD=0時,波特率不變。SMOD GF1 GF0PDIDL87H3電源及波特率選擇寄存器電源及波特率選擇寄存器PCON 串行口借用了電源控制寄存器PCON的最高位SMOD,用SMOD作為串行口波特率的倍增位。PCON為不可位尋址,直接地址為87H。 35A.2.3 串行口的工作方式

17、串行口的工作方式SM0 SM1工作方式工作方式功能功能波特率波特率0 0方式方式08位同步移位寄存器位同步移位寄存器fosc/120 1方式方式18位位UART可變可變1 0方式方式29位位UARTfosc/64或或fosc/321 1方式方式39位位UART可變可變361. 方式方式01)特點)特點 用作串行I/0擴(kuò)展,具有固定的波特率,為Fosc/12。 同步發(fā)送/接收,由TXD提供移位脈沖,RXD用作數(shù)據(jù)I/O通道。 發(fā)送/接收8位數(shù)據(jù),低位在先。2)發(fā)送操作)發(fā)送操作 當(dāng)執(zhí)行一條“MOV SBUF,A”指令時,啟動發(fā)送操作,由TXD輸出移位脈沖,由RXD串行發(fā)送SBUF中的數(shù)據(jù)。發(fā)送完

18、8位數(shù)據(jù)后自動置T1=1,請求中斷。要繼續(xù)發(fā)送時TI必須由指令清零(Tl=0)。3)接收操作)接收操作 在RI=0條件下,置REN=1時啟動一幀數(shù)據(jù)的接收,由TXD輸出移位脈沖,由RXD接收串行數(shù)據(jù)到A中。接收完一幀自動置位RI,請求中斷,想繼續(xù)接收時要用指令清除RI。372. 方式方式11)特點)特點 8位UART接口。 幀結(jié)構(gòu)為10位,起始位0,8位數(shù)據(jù),l位停止位。 波特率由指令設(shè)置,由T1的溢出率決定。2)發(fā)送操作)發(fā)送操作 當(dāng)執(zhí)行一條“MOV SBUF,A”指令時,A中的數(shù)據(jù)從TXD端實現(xiàn)異步發(fā)送。發(fā)送完一幀后置TI=0并請求中斷,要求繼續(xù)發(fā)送時,須指令清零TI。3)接收操作)接收操

19、作 當(dāng)置位REN時,串行口采樣RXD,當(dāng)采樣到I至0的跳變時,確認(rèn)串行數(shù)據(jù)幀的起始位,開始接收一幀數(shù)據(jù),直到停止位到來時,把停止位送入RB8中,置位RI請求中斷并通知CPU從SBUF中取走接收的數(shù)據(jù)。RI由指令清零。383. 方式方式2和方式和方式31)特點)特點 9位UART接口。 幀結(jié)構(gòu)為11位,包括起始位0、8位數(shù)據(jù)位、1位可編程位TB8/RB8和停止位l。 波特率在方式2中固定為Fosc/32或Fosc/64由SMOD位選擇。SMOD=1時,波特率為Fosc/32;SMOD=0時波特率為Fosc/64。方式3中波特率決定于T1的溢出率。 方式2和方式3具有多機(jī)通信功能,兩種方式除了波特

20、率設(shè)置不同外,其余完全相同。392)發(fā)送操作)發(fā)送操作 發(fā)送數(shù)據(jù)操作前,由指令設(shè)置TB8(如作為奇偶校驗位或地址/數(shù)據(jù)標(biāo)志位),將要發(fā)送的數(shù)據(jù)由A寫入SBUF中后啟動發(fā)送操作。在發(fā)送操作中內(nèi)部邏輯會把TB8裝入發(fā)送移位寄存器的第9位位置,然后發(fā)送一幀完整的數(shù)據(jù),發(fā)送完畢時置位TI。TI由指令清零。 多機(jī)通信的發(fā)送操作中,用TB8作地址/數(shù)據(jù)標(biāo)識,TB8=l為地址幀,TB8=0為數(shù)據(jù)幀。403)接收操作)接收操作 當(dāng)置位REN位且RI=0時,啟動接收操作,幀結(jié)構(gòu)上的第9位送入RB8中。對所接收的數(shù)據(jù)則視SM2和RB8的狀態(tài)決定是否會使RI置1,并清求中斷,接收數(shù)據(jù)。 當(dāng)置SM2=0時,RB8不論

21、任何狀態(tài)R1都置1,串行口都接收發(fā)送來的數(shù)據(jù)。 當(dāng)置SM2=1時,為多機(jī)通信方式,接收到的RB8為地址/數(shù)據(jù)標(biāo)識位。 當(dāng)RB8=1時接收的信息為地址幀,此時置位R1,串行口接收發(fā)進(jìn)來的數(shù)據(jù)。 當(dāng)RB8=0時接收的信息為數(shù)據(jù)幀。若SM2=1時,R1不會置位,此幀數(shù)據(jù)丟棄;若SM2=0,則SBUF接收發(fā)送來的數(shù)據(jù)。411串行口的波特率串行口的波特率A.2.4 串行口的應(yīng)用串行口的應(yīng)用 方式0和方式2的波特率是不變的。方式0的波特率為Fosc/12,方式2的波特率為Fosc/32或Fosc/64,視SMOD位設(shè)置選擇而定。SMOD=1時波特率為Fosc/32,SMOD=0時波特率為Fosc/64。

22、方式l和方式3中的波特率是可變的,其具體數(shù)值由定時器T1的溢出率和SMOD位確定,即: 波特率= 溢出率2132SMODT42 T1作波特率發(fā)生器使用時,通常選擇計數(shù)初值自動重裝的方式即方式2,工作在定時器狀態(tài),設(shè)計數(shù)初值為X,每過256-X個機(jī)器周期,T1就會產(chǎn)生一次溢出,其溢出周期為: 溢出率為溢出周期的倒數(shù),故 波特率=12(256)BOSCTXf23212(256)SMODOSCfX43波特率/(b/s)fosc/MHzSMOD定時器1C/模式初始值方式0:1 M方式2:375 k方式1,3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k11011012

23、121211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=)x256(12f322oscsmod表表A-1 常用波特率表常用波特率表2串行口的多機(jī)通信串行口的多機(jī)通信1)多機(jī)通信的連接方式)多機(jī)通信的連接方式 串行口的方式2和方式3具有多機(jī)通信功能,即可實現(xiàn)一臺主單片機(jī)和若干個從單片機(jī)構(gòu)成總線式的多機(jī)分布式系統(tǒng),其連接方式如圖A .2.2所示。圖圖A.2.2 51的多機(jī)通信連接方式的多機(jī)通信連接方式452)多機(jī)通信原理)多機(jī)通信原理 多機(jī)通信時

24、充分利用了單片機(jī)內(nèi)的多機(jī)通信控制位SM2。當(dāng)從機(jī)SM2=1時,從機(jī)只接收主機(jī)發(fā)出的地址幀(第9位為1),對數(shù)據(jù)幀(第9位為0)不予理睬;而當(dāng)SM20時,可以接收主機(jī)發(fā)送的所有信息。 多機(jī)通信過程如下:l 所有從機(jī)的SM2置位1,都處于只接收地址幀的狀態(tài)。l 主機(jī)發(fā)送一幀地址信息,其中8位地址,第9位為1表示是地址幀。l 所有從機(jī)接收到地址幀后,進(jìn)行中斷處理,把接收到的地址與自身地址相比較,地址相符時置SM2=0,不相符時維持SM2=1。l 由于被尋址的從機(jī)使SM2=0,可以接受主機(jī)隨后發(fā)送的信息,實現(xiàn)主機(jī)與被尋址從機(jī)的雙機(jī)通信。l 被尋址的從機(jī)通信完畢后,置SM2=1,恢復(fù)多機(jī)系統(tǒng)原有狀態(tài)。4

25、63)通信協(xié)議)通信協(xié)議 多機(jī)通信是一個復(fù)雜的通信過程,必須有通信協(xié)議來保證多機(jī)通信的可操作性和操作秩序,這些通信協(xié)議應(yīng)包括從機(jī)的地址、主機(jī)的控制命令、從機(jī)的狀態(tài)字格式和數(shù)據(jù)通信格式等的約定。3數(shù)據(jù)通信中的校驗與糾錯數(shù)據(jù)通信中的校驗與糾錯1)奇偶校驗)奇偶校驗 51數(shù)據(jù)通信使用7位的ASC碼時,奇偶校驗位可放在字節(jié)的最高位;而8位數(shù)據(jù)通信時,使用方式2和方式3的9位數(shù)據(jù)通信,奇偶校驗位為第9位。 奇偶校驗的操作過程:當(dāng)發(fā)送一個數(shù)據(jù)字節(jié)時,數(shù)據(jù)與奇偶位組成一幀一并發(fā)送;當(dāng)接收方接收到一幀數(shù)據(jù)后,將數(shù)據(jù)和奇偶位分解,將接收數(shù)據(jù)送入A中,并將PSW中的奇偶位與傳送過來的奇偶位相比較,若不同,則傳進(jìn)出

26、錯。472)累加和校驗)累加和校驗 如果傳送一個數(shù)據(jù)塊中有n個字節(jié),在數(shù)據(jù)塊傳送之前對n個字節(jié)進(jìn)行加運算,形成累加和,把累加和附在n個字節(jié)后面?zhèn)魉停邮辗浇邮盏絥個字節(jié)后也按同樣方法進(jìn)行n 個字節(jié)的加運算,并將兩個累加和進(jìn)行比較,如果不同,表示數(shù)據(jù)塊傳送出錯。3)循環(huán)冗余校驗)循環(huán)冗余校驗 其基本原理是將一個數(shù)據(jù)塊看成一個很長的二進(jìn)制數(shù)(如將一個128個字節(jié)的數(shù)據(jù)塊看成是一個1024位的二進(jìn)制數(shù)),然后用一個特定的數(shù)去除它,將余數(shù)作校驗碼附在數(shù)據(jù)塊后一起發(fā)送。在接收到該數(shù)據(jù)塊和校驗碼后,對它們進(jìn)行同樣的運算,所得余數(shù)應(yīng)為零,如果不為零表示數(shù)據(jù)傳送出錯。485)通信中的糾錯)通信中的糾錯 無論采

27、用上述那種校驗方法t只能發(fā)現(xiàn)數(shù)據(jù)通信中的錯誤,發(fā)現(xiàn)出錯后要求對方重發(fā)一遍來糾正錯誤,這在實時信息系統(tǒng)中無法實現(xiàn)(因信源已變)。即使保留有信源樣本,當(dāng)差錯很頻繁時會消耗大量的通信時間。這時就應(yīng)借助具有糾錯能力的編碼通信。 糾錯碼是采用加大碼距的辦法來區(qū)別非法代碼,其糾錯原理建立在概率統(tǒng)計的基礎(chǔ)上,即出現(xiàn)兩個差錯的概率遠(yuǎn)小于出現(xiàn)一個差錯的概率,而出現(xiàn)三個差錯的概率又遠(yuǎn)小于出現(xiàn)兩個差錯的概率。因此,當(dāng)接收到一個非法代碼時,其正確代碼應(yīng)是邏輯空間中離它最近的有效代碼。目前,常用的糾錯碼有漢明碼、檢二糾一碼、矩形碼等。49例例1 利用51的串行口UART實現(xiàn)一個數(shù)據(jù)塊的發(fā)送。設(shè)發(fā)送數(shù)據(jù)緩沖區(qū)首地址為50

28、H,發(fā)送數(shù)據(jù)長度(字節(jié)數(shù))為10H;串行口為方式1工作狀態(tài),選定波特率為1200,時鐘頻率為Fosc=11.0529MHz。A.2.5 例例 題題解題設(shè)計思路: UART方式1工作狀態(tài)下波特率需編程設(shè)定。通常用定時器/計數(shù)器1方式2工作狀態(tài)下作波特率發(fā)生器。當(dāng)選定波特率為1200,時鐘頻率為11.0529MHz時,計數(shù)器中的計數(shù)初值為E8H(SMOD=0時)。本練習(xí)的發(fā)送程序中,在數(shù)據(jù)發(fā)送前要將定時器/計數(shù)器1進(jìn)行波特率發(fā)生器的初始化。50TXD1:MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H CLRET1 SETB TR1 MOV SCON,#40H M

29、OV PCON,#00H MOV R0, #50H MOV R7, #10HTRS: MOVA, R0發(fā)送程序發(fā)送程序TXD1TXD1清單:清單: MOV SBUF,AWAIT: JBC TI,CONT SJMP WAITCONT: INC R0 DJNZ R7, TRS RET51例例2 利用80C51的串行口UART實現(xiàn)一個數(shù)據(jù)塊的接收。設(shè)接送數(shù)據(jù)緩沖區(qū)的首地址為40H,接收數(shù)據(jù)長度為10H;串行口方式2工作狀態(tài)。解題設(shè)計思路: 利用51的串行口UART實現(xiàn)數(shù)據(jù)塊接收時,其波特率要與發(fā)送的波特率相一致。不考慮發(fā)送的工作方式及波特率時,接收時的工作方式也有方式1方式3。選擇方式2時,波特率固

30、定為Fosc/32 (當(dāng)SMOD=1)或Fosc/64 (當(dāng)SMOD=0)。52RXD2:MOV SCON,#80H MOV PCON,#80H MOV R0,#40H MOV R7, #10HRDS: SETB RENWAIT: JBC RI,REND SJMP WAIT REND: MOV A, SBUF MOV R0,A INC R0 DJNZ R7,RDS RET方式方式2 2下接收子程序下接收子程序RXD2RXD2清單:清單:535455A.4.1 串行標(biāo)準(zhǔn)總線串行標(biāo)準(zhǔn)總線RS-232C 1RS-232C的信號定義 2RS-232C信號線的連接和應(yīng)用 3RS-232C電氣特性返返 回回561RS-232C的信號定義的信號定義(1)傳送信息信號 發(fā)送數(shù)據(jù)TXD 接收數(shù)據(jù)RXD(2)聯(lián)絡(luò)信號 請求傳送信號RTS 清除發(fā)送CTS 數(shù)據(jù)準(zhǔn)備就緒DSR 數(shù)據(jù)終端就緒信號DTR 數(shù)據(jù)載波檢測信號DCD 振鈴指示信號RI圖圖A-6 DB-25型連接器型連接器78131211109654321DCDGNDDSRCTSRTSRxDTxD211814151

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論