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

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)接口技術(shù)機(jī)電工程系 陳慧專業(yè)方向必修課、考查課,2.5學(xué)分、40學(xué)時(shí)第A章 串行接口A.1 串行通信的基本概念A(yù).2 串行口基本結(jié)構(gòu)與操作方式2 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND并行通信 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND發(fā)送接收串行通信A.1 串行通信的基本概念 單片機(jī)與外界的信息交換稱為通信?;就ㄐ欧绞接袃煞N:并行通信和串行通信。 并行通信傳送數(shù)據(jù)的特點(diǎn)是各位同時(shí)發(fā)送或接收,而串行通信傳送數(shù)據(jù)的特點(diǎn)是各位按順序一位一位地發(fā)送或接收。3 并行通信 并行通信中一個(gè)并行數(shù)據(jù)占多少位二進(jìn)制數(shù),就要多少根傳輸線。其特點(diǎn)是通信速度快,但傳輸線多,價(jià)格較貴,適合近距離傳輸。一般用于電路芯片內(nèi)部,

2、同一個(gè)插板上各部件之間的通信,距離小于30m。 前面關(guān)于存儲(chǔ)器擴(kuò)展、總線法擴(kuò)展I/O口電路的通訊方式均為并行傳送。 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND并行通信4 串行通信 串行通信僅需一到兩根傳輸線即可實(shí)現(xiàn),故在長(zhǎng)距離傳送數(shù)據(jù)時(shí)成本少,比較經(jīng)濟(jì)。但由于它每次只能傳送一位,所以傳送速度較慢。 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND發(fā)送接收串行通信5A.1.1 串行數(shù)據(jù)傳送方式 1單工方式 單向傳送數(shù)據(jù),通信雙方中一方固定為發(fā)送端,另一端固定為接收端。只需要一條數(shù)據(jù)線。圖A-1(a) 單工方式示意圖發(fā)送器A站接收器B站單工通信(a)6 這種方式允許數(shù)據(jù)在兩個(gè)方向的任一方向傳送,但每次只能有一端發(fā)送。使

3、用同一根傳輸線既作接收又作發(fā)送,雖然數(shù)據(jù)可以在兩個(gè)方向上傳送,但通信雙方不能同時(shí)收發(fā)數(shù)據(jù)。 2半雙工方式圖A-1(b) 半雙工方式示意圖發(fā)收A站發(fā)收B站(b)7 3全雙工方式 當(dāng)數(shù)據(jù)的發(fā)送和接收分流,分別由兩根不同的傳輸線傳送時(shí),通信雙方都能在同一時(shí)刻進(jìn)行發(fā)送和接收操作,這樣的傳送方式就是全雙工(Full Duplex)制。 它要求兩端的通信設(shè)備具有完整和獨(dú)立的發(fā)送、接收功能。圖A-1(c) 半雙工方式示意圖發(fā)收A站發(fā)收B站(c)8A.1.2 波特率和發(fā)送/接收時(shí)鐘 1波特率 并行通信中,傳輸速度以每秒傳輸?shù)淖止?jié)(B/s)表示。而串行通信數(shù)據(jù)傳送的速率用波特率來表示。 波特率指每秒鐘傳送的二進(jìn)

4、制數(shù)碼的位數(shù),單位是bps(bit per second),即位/秒。 波特率是串行通信的重要指標(biāo),用于衡量數(shù)據(jù)傳輸?shù)乃俾省?1)發(fā)送時(shí)鐘發(fā)送端使用的用于決定數(shù)據(jù)位寬度的時(shí)鐘。2)接收時(shí)鐘接收端使用的用于測(cè)定每一位輸入數(shù)據(jù)位寬度的時(shí)鐘。3)接收/ 發(fā)送時(shí)鐘頻率接收/ 發(fā)送時(shí)鐘頻率n波特率,其中n1,16,32,64 2發(fā)送/接收時(shí)鐘10A.1.3 串行的基本通信方式 1異步通信 串行數(shù)據(jù)按傳遞方式分為兩種基本的通信方式:異步通信和同步通信。 異步通信中數(shù)據(jù)或字符是分為一幀一幀地傳送,在幀格式中先用一個(gè)起始位“0”表示字符的開始,然后是58位數(shù)據(jù),規(guī)定低位在前,高位在后,接下來是奇偶校驗(yàn)位(可省

5、略),最后一個(gè)停止位“1”表示字符的結(jié)束,構(gòu)成一幀。 由于異步通信每傳送一幀有固定格式,通信雙方只需按約定的幀格式來發(fā)送和接收數(shù)據(jù),所以硬件結(jié)構(gòu)比同步通信方式簡(jiǎn)單;此外它還能利用校驗(yàn)位檢測(cè)錯(cuò)誤,所以這種通信方式應(yīng)用較廣泛。11 2同步通信 同步通信中,在數(shù)據(jù)或字符開始處就用一同步字符來指示(12個(gè)),由時(shí)鐘來實(shí)現(xiàn)發(fā)送端和接收端同步,一旦檢測(cè)到與規(guī)定的同步字符符合,下面就連續(xù)按順序傳送數(shù)據(jù)。 因?yàn)橥酵ㄐ艛?shù)據(jù)塊傳送時(shí)去掉了字符開始和結(jié)束的標(biāo)志,所以其速度高于異步傳送,但這種方式對(duì)硬件結(jié)構(gòu)要求較高。這種通信方式中收/發(fā)雙方必須建立準(zhǔn)確的位定時(shí)信號(hào),即收/發(fā)時(shí)鐘的頻率必須嚴(yán)格地一致。MCS-51單片

6、機(jī)一般不使用。12 根據(jù)串行通信格式及約定(如同步方式、通信速率、數(shù)據(jù)幀格式等)的不同,形成了許多串行通信接口標(biāo)準(zhǔn),如常見的UART(通用串行異步通信接口)、USB(通用串行總線接口)、I2C總線、SPI總線(同步通信)、485總線、CAN總線接口等。 下面結(jié)合MCS-51單片機(jī)介紹常用UART接口。A.1.4 串行通信接口種類131)接口信號(hào) 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電平不兼容,必

7、須進(jìn)行電平轉(zhuǎn)換。 RS-232C與TTL的電平轉(zhuǎn)換的芯片有MCl488傳輸線驅(qū)動(dòng)器和MCl489傳輸線接收器。由于MCl488和MCl489需要15v或12V供電,造成了使用不便,現(xiàn)常用+5v單電源供電的轉(zhuǎn)換芯片,如MAXIM公司的MAX232芯片,它可以實(shí)現(xiàn)RS-232C與TTL/CMOS電平之間的轉(zhuǎn)換。MA-X232的組成及引腳圖如圖A-3所示。 1RS-232C通信接口152. RS-422A通信接口1)接口信號(hào) RS-422A通信接口是對(duì)RS-232C通信接口的改進(jìn),它采用平衡傳輸電氣標(biāo)準(zhǔn),輸人/輸出均采用差分驅(qū)動(dòng),因此具有更強(qiáng)的抗干擾能力,傳送速率也大大提高。它向外部的連接器常采用9

8、針“D”型插頭,各針的功能及排列如圖A-4所示。162. RS-422A通信接口2)電平轉(zhuǎn)換 能夠?qū)TL電平轉(zhuǎn)換為RS-422A電平的常用芯片有SN5174、MC3487等。能將RS-422A電平轉(zhuǎn)換為TTL電平的常用芯片有SN75175、MC3486等。SN75174、SN75175 分別具有三態(tài)輸出的單片差分驅(qū)動(dòng)器和接收器,符合E認(rèn)標(biāo)準(zhǔn)的RS-422A規(guī)范,它采用+5V單電源供電,功能上可以與MC3487、MC3486互換。 下圖圖A-5是用SN75174、SN75175實(shí)現(xiàn)的電平轉(zhuǎn)換電路圖。17A.1.5 信號(hào)調(diào)制與解調(diào) MODEM與計(jì)算機(jī)連接的方式分成內(nèi)接式和外接式。MODEM的調(diào)制

9、方式有3種:1)振幅調(diào)制(ASK):以兩種振幅的大小來區(qū)別數(shù)字信號(hào)“0”與“1”;2)頻率調(diào)制(FSK):利用兩個(gè)固定的頻率來分別代表數(shù)字信號(hào)“0”與“1”;3)相位調(diào)制(PSK):利用相位的差異來區(qū)別信號(hào),當(dāng)相位差180時(shí)代表位值的變化。18A.1.6 串行接口的任務(wù) 1進(jìn)行串并轉(zhuǎn)換 2實(shí)現(xiàn)串行數(shù)據(jù)格式化 3可靠性檢驗(yàn) 4實(shí)施接口與通信設(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)移電路24A.2 51單片機(jī)串行口基本結(jié)構(gòu)

10、與操作方式A.2.1 串行口的基本組成A.2.2 串行口的SFR寄存器A.2.3 串行口的工作方式A.2.4 串行口的應(yīng)用A.2.5 例題返 回25 如圖9.2.1所示,串行口由發(fā)送控制、接收控制、波特率輸入管理和發(fā)送/接收緩沖器SBUF組成。串行口的通信操作體現(xiàn)為累加器A與發(fā)送/接收緩沖器SBUF間的數(shù)據(jù)傳送操作。A.2.1 串行口的基本組成圖A.2.1 單片機(jī)串行口示意圖26 當(dāng)對(duì)串行口完成初始化操作后要發(fā)送數(shù)據(jù)時(shí),待發(fā)送的數(shù)據(jù)由A送入SBUF中,在發(fā)送控制器控制下組成幀結(jié)構(gòu)并自動(dòng)以串行方式發(fā)送到TXD端,在發(fā)送完畢后置位TI。如果要繼續(xù)發(fā)送,在指令中將TI清零。 接收數(shù)據(jù)時(shí),置位接收允許

11、位才開始串行接收操作,在接收控制器控制下,通過移位寄存器將串行數(shù)據(jù)送入SBUF。圖A.2.1 單片機(jī)串行口示意圖271. SBUF 串行口數(shù)據(jù)緩沖器2. SCON串行口控制寄存器3. PCON電源及波特率選擇寄存器A.2.2 串行口的SFR寄存器281)共兩個(gè):一個(gè)發(fā)送寄存器SBUF,一個(gè)接收 SBUF,二者共用一個(gè)地址99H。2)SBUF為不可位尋址寄存器。3)SBUF只能與A實(shí)現(xiàn)數(shù)據(jù)傳送。1串行口發(fā)送/接收緩沖器SBUF29發(fā)送中斷標(biāo)志接收中斷標(biāo)志SM0SM1SM2RENTB8RB8TIRI工作方式選擇多機(jī)通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位9FH9EH9DH9CH9B

12、H9AH99H98H2串行口控制寄存器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、方式3中用于多機(jī)通信控制。在方式2

13、、方式3的接收狀態(tài)中:若SM2=1,當(dāng)接收到的第9位(RB8)為零時(shí)舍棄接收到的數(shù)據(jù),RI清零;當(dāng)RB8為1時(shí),將接收到的數(shù)據(jù)送SBUF中,并將RI置1。3)REN 該位為允許接收位。REN=1時(shí)允許接收,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時(shí),發(fā)送完8位數(shù)據(jù)后由硬件置位,其他方式下發(fā)送停止位時(shí)由硬件置位

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

15、寄存器fosc/120 1方式18位UART可變1 0方式29位UARTfosc/64或fosc/321 1方式39位UART可變361. 方式01)特點(diǎn) 用作串行I/0擴(kuò)展,具有固定的波特率,為Fosc/12。 同步發(fā)送/接收,由TXD提供移位脈沖,RXD用作數(shù)據(jù)I/O通道。 發(fā)送/接收8位數(shù)據(jù),低位在先。2)發(fā)送操作 當(dāng)執(zhí)行一條“MOV SBUF,A”指令時(shí),啟動(dòng)發(fā)送操作,由TXD輸出移位脈沖,由RXD串行發(fā)送SBUF中的數(shù)據(jù)。發(fā)送完8位數(shù)據(jù)后自動(dòng)置T1=1,請(qǐng)求中斷。要繼續(xù)發(fā)送時(shí)TI必須由指令清零(Tl=0)。3)接收操作 在RI=0條件下,置REN=1時(shí)啟動(dòng)一幀數(shù)據(jù)的接收,由TXD輸出

16、移位脈沖,由RXD接收串行數(shù)據(jù)到A中。接收完一幀自動(dòng)置位RI,請(qǐng)求中斷,想繼續(xù)接收時(shí)要用指令清除RI。372. 方式11)特點(diǎn) 8位UART接口。 幀結(jié)構(gòu)為10位,起始位0,8位數(shù)據(jù),l位停止位。 波特率由指令設(shè)置,由T1的溢出率決定。2)發(fā)送操作 當(dāng)執(zhí)行一條“MOV SBUF,A”指令時(shí),A中的數(shù)據(jù)從TXD端實(shí)現(xiàn)異步發(fā)送。發(fā)送完一幀后置TI=0并請(qǐng)求中斷,要求繼續(xù)發(fā)送時(shí),須指令清零TI。3)接收操作 當(dāng)置位REN時(shí),串行口采樣RXD,當(dāng)采樣到I至0的跳變時(shí),確認(rèn)串行數(shù)據(jù)幀的起始位,開始接收一幀數(shù)據(jù),直到停止位到來時(shí),把停止位送入RB8中,置位RI請(qǐng)求中斷并通知CPU從SBUF中取走接收的數(shù)據(jù)

17、。RI由指令清零。383. 方式2和方式31)特點(diǎn) 9位UART接口。 幀結(jié)構(gòu)為11位,包括起始位0、8位數(shù)據(jù)位、1位可編程位TB8/RB8和停止位l。 波特率在方式2中固定為Fosc/32或Fosc/64由SMOD位選擇。SMOD=1時(shí),波特率為Fosc/32;SMOD=0時(shí)波特率為Fosc/64。方式3中波特率決定于T1的溢出率。 方式2和方式3具有多機(jī)通信功能,兩種方式除了波特率設(shè)置不同外,其余完全相同。392)發(fā)送操作 發(fā)送數(shù)據(jù)操作前,由指令設(shè)置TB8(如作為奇偶校驗(yàn)位或地址/數(shù)據(jù)標(biāo)志位),將要發(fā)送的數(shù)據(jù)由A寫入SBUF中后啟動(dòng)發(fā)送操作。在發(fā)送操作中內(nèi)部邏輯會(huì)把TB8裝入發(fā)送移位寄存器

18、的第9位位置,然后發(fā)送一幀完整的數(shù)據(jù),發(fā)送完畢時(shí)置位TI。TI由指令清零。 多機(jī)通信的發(fā)送操作中,用TB8作地址/數(shù)據(jù)標(biāo)識(shí),TB8=l為地址幀,TB8=0為數(shù)據(jù)幀。403)接收操作 當(dāng)置位REN位且RI=0時(shí),啟動(dòng)接收操作,幀結(jié)構(gòu)上的第9位送入RB8中。對(duì)所接收的數(shù)據(jù)則視SM2和RB8的狀態(tài)決定是否會(huì)使RI置1,并清求中斷,接收數(shù)據(jù)。 當(dāng)置SM2=0時(shí),RB8不論任何狀態(tài)R1都置1,串行口都接收發(fā)送來的數(shù)據(jù)。 當(dāng)置SM2=1時(shí),為多機(jī)通信方式,接收到的RB8為地址/數(shù)據(jù)標(biāo)識(shí)位。 當(dāng)RB8=1時(shí)接收的信息為地址幀,此時(shí)置位R1,串行口接收發(fā)進(jìn)來的數(shù)據(jù)。 當(dāng)RB8=0時(shí)接收的信息為數(shù)據(jù)幀。若SM2

19、=1時(shí),R1不會(huì)置位,此幀數(shù)據(jù)丟棄;若SM2=0,則SBUF接收發(fā)送來的數(shù)據(jù)。411串行口的波特率A.2.4 串行口的應(yīng)用 方式0和方式2的波特率是不變的。方式0的波特率為Fosc/12,方式2的波特率為Fosc/32或Fosc/64,視SMOD位設(shè)置選擇而定。SMOD=1時(shí)波特率為Fosc/32,SMOD=0時(shí)波特率為Fosc/64。 方式l和方式3中的波特率是可變的,其具體數(shù)值由定時(shí)器T1的溢出率和SMOD位確定,即: 波特率= 溢出率42 T1作波特率發(fā)生器使用時(shí),通常選擇計(jì)數(shù)初值自動(dòng)重裝的方式即方式2,工作在定時(shí)器狀態(tài),設(shè)計(jì)數(shù)初值為X,每過256-X個(gè)機(jī)器周期,T1就會(huì)產(chǎn)生一次溢出,其

20、溢出周期為: 溢出率為溢出周期的倒數(shù),故 波特率=43波特率/(b/s)fosc/MHzSMOD定時(shí)器1C/模式初始值方式0:1 M方式2:375 k方式1,3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k11011012121211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=表A-1 常用波特率表2串行口的多機(jī)通信1)多機(jī)通信的連接方式 串行口的方式2和方式3具有多機(jī)通信功能,即可實(shí)現(xiàn)一臺(tái)主單片機(jī)和若干個(gè)從

21、單片機(jī)構(gòu)成總線式的多機(jī)分布式系統(tǒng),其連接方式如圖A .2.2所示。圖A.2.2 51的多機(jī)通信連接方式452)多機(jī)通信原理 多機(jī)通信時(shí)充分利用了單片機(jī)內(nèi)的多機(jī)通信控制位SM2。當(dāng)從機(jī)SM2=1時(shí),從機(jī)只接收主機(jī)發(fā)出的地址幀(第9位為1),對(duì)數(shù)據(jù)幀(第9位為0)不予理睬;而當(dāng)SM20時(shí),可以接收主機(jī)發(fā)送的所有信息。 多機(jī)通信過程如下: 所有從機(jī)的SM2置位1,都處于只接收地址幀的狀態(tài)。 主機(jī)發(fā)送一幀地址信息,其中8位地址,第9位為1表示是地址幀。 所有從機(jī)接收到地址幀后,進(jìn)行中斷處理,把接收到的地址與自身地址相比較,地址相符時(shí)置SM2=0,不相符時(shí)維持SM2=1。 由于被尋址的從機(jī)使SM2=0,

22、可以接受主機(jī)隨后發(fā)送的信息,實(shí)現(xiàn)主機(jī)與被尋址從機(jī)的雙機(jī)通信。 被尋址的從機(jī)通信完畢后,置SM2=1,恢復(fù)多機(jī)系統(tǒng)原有狀態(tài)。463)通信協(xié)議 多機(jī)通信是一個(gè)復(fù)雜的通信過程,必須有通信協(xié)議來保證多機(jī)通信的可操作性和操作秩序,這些通信協(xié)議應(yīng)包括從機(jī)的地址、主機(jī)的控制命令、從機(jī)的狀態(tài)字格式和數(shù)據(jù)通信格式等的約定。3數(shù)據(jù)通信中的校驗(yàn)與糾錯(cuò)1)奇偶校驗(yàn) 51數(shù)據(jù)通信使用7位的ASC碼時(shí),奇偶校驗(yàn)位可放在字節(jié)的最高位;而8位數(shù)據(jù)通信時(shí),使用方式2和方式3的9位數(shù)據(jù)通信,奇偶校驗(yàn)位為第9位。 奇偶校驗(yàn)的操作過程:當(dāng)發(fā)送一個(gè)數(shù)據(jù)字節(jié)時(shí),數(shù)據(jù)與奇偶位組成一幀一并發(fā)送;當(dāng)接收方接收到一幀數(shù)據(jù)后,將數(shù)據(jù)和奇偶位分解,

23、將接收數(shù)據(jù)送入A中,并將PSW中的奇偶位與傳送過來的奇偶位相比較,若不同,則傳進(jìn)出錯(cuò)。472)累加和校驗(yàn) 如果傳送一個(gè)數(shù)據(jù)塊中有n個(gè)字節(jié),在數(shù)據(jù)塊傳送之前對(duì)n個(gè)字節(jié)進(jìn)行加運(yùn)算,形成累加和,把累加和附在n個(gè)字節(jié)后面?zhèn)魉?,接收方接收到n個(gè)字節(jié)后也按同樣方法進(jìn)行n 個(gè)字節(jié)的加運(yùn)算,并將兩個(gè)累加和進(jìn)行比較,如果不同,表示數(shù)據(jù)塊傳送出錯(cuò)。3)循環(huán)冗余校驗(yàn) 其基本原理是將一個(gè)數(shù)據(jù)塊看成一個(gè)很長(zhǎng)的二進(jìn)制數(shù)(如將一個(gè)128個(gè)字節(jié)的數(shù)據(jù)塊看成是一個(gè)1024位的二進(jìn)制數(shù)),然后用一個(gè)特定的數(shù)去除它,將余數(shù)作校驗(yàn)碼附在數(shù)據(jù)塊后一起發(fā)送。在接收到該數(shù)據(jù)塊和校驗(yàn)碼后,對(duì)它們進(jìn)行同樣的運(yùn)算,所得余數(shù)應(yīng)為零,如果不為零表示

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論