版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
8.4串行通信及串行接口
8.4.1串行通信線路的工作方式串行通信指的是數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。串行通信線路有如下3種方式:(1)單工通信:它只允許一個(gè)方向傳輸數(shù)據(jù)。(2)半雙工通信:它允許兩個(gè)方向傳輸數(shù)據(jù),但不能同時(shí)傳輸,只能交替進(jìn)行。(3)全雙工通信:它允許兩個(gè)方向同時(shí)進(jìn)行數(shù)據(jù)傳輸。單工、半雙工、全雙工通信如下圖所示。
發(fā)送發(fā)送
發(fā)送發(fā)送發(fā)送
接收
接收
接收
接收
接收(a)單工通信(b)半工通信(c)全工通信圖8-21串行通信線路的三種連接方式串行通信的特點(diǎn):串行通信只要一條傳輸線,將數(shù)據(jù)逐位順序傳送;通信成本低,速度慢,接口復(fù)雜。8.4.2串行接口發(fā)送緩沖器接收緩沖器并串變換寄存器串并變換寄存器……...………..……..通信線路CPU發(fā)送數(shù)據(jù)CPU接收數(shù)據(jù)………...………..發(fā)送時(shí)鐘接收時(shí)鐘發(fā)送控制接收控制發(fā)送器接收器串行接口電路的功能:其一,把并行數(shù)據(jù)變成串行數(shù)據(jù)進(jìn)行傳輸;其二,把接收串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。8.4.2串行接口 串行接口有許多種類,串行接口包括4個(gè)主要寄存器:控制寄存器、狀態(tài)寄存器、數(shù)據(jù)寄存器、數(shù)據(jù)輸入寄存器及數(shù)據(jù)輸出寄存器。控制寄存器用來(lái)接收CPU發(fā)送的各種控制命令,以決定其工作方式。狀態(tài)寄存器其狀態(tài)位用來(lái)指示當(dāng)前傳輸狀態(tài)。數(shù)據(jù)輸入寄存器是和串行輸入/并行輸出移位寄存器配對(duì)使用的。
數(shù)據(jù)總線收發(fā)器聯(lián)絡(luò)信號(hào)邏輯地址譯碼狀態(tài)寄存器控制寄存器數(shù)據(jù)輸入寄存器串行輸入/并行輸出并行輸入/串行輸出數(shù)據(jù)輸出寄存器發(fā)送時(shí)鐘接收時(shí)鐘圖串行接口典型結(jié)構(gòu)串行輸入串行輸出控制來(lái)自地址總線中斷請(qǐng)求讀寫CSA08.4.3串行通信數(shù)據(jù)的收發(fā)方式串行通信:異步串行通信和同步串行通信。異步通信:一個(gè)字符為單位,以起始位開始,停止位結(jié)束。收發(fā)時(shí)鐘可不一致。同步通信:以一個(gè)字符序列為單位(長(zhǎng)度可選),以同步字符開始。收發(fā)時(shí)鐘一致。傳送速率:每秒鐘傳送的位數(shù),其單位為波特率。
b/s=
收/發(fā)時(shí)鐘nn:波特率因子,(可取1,16,64)波特率與發(fā)送/接收時(shí)鐘的關(guān)系為:空閑起始位…...5~8數(shù)據(jù)位1/001較驗(yàn)位停止位11空閑起始位1.異步通信方式 異步通信的數(shù)據(jù)格式是以一組不定“位數(shù)”數(shù)組成。第1位起始位,低電平;接著傳送若干個(gè)數(shù)據(jù)位,先發(fā)低位,后發(fā)高位;最后是停止位,寬度可以是1位,1.5位或2位;在兩個(gè)數(shù)據(jù)組之間可有空閑。其數(shù)據(jù)格式如圖所示。
標(biāo)準(zhǔn)波特率:300,600,900,1200,2400,4800,9600,19200。圖異步通信的數(shù)據(jù)格式1/01/01/0SYNC數(shù)據(jù)字節(jié)1數(shù)據(jù)字節(jié)2…數(shù)據(jù)字節(jié)NCRC1CRC2幀(a)單同步SYNCSYNC數(shù)據(jù)字節(jié)1…數(shù)據(jù)字節(jié)NCRC1CRC2幀(b)雙同步數(shù)據(jù)字節(jié)1數(shù)據(jù)字節(jié)2…數(shù)據(jù)字節(jié)NCRC1CRC2幀(c)外同步圖面向字符型同步通信數(shù)據(jù)格式2.同步通信方式
同步通信方式:面向字符同步通信和面向比特同步通信。(1)面向字符型的數(shù)據(jù)格式:?jiǎn)瓮?、雙同步及外同步3種數(shù)據(jù)格式,如圖所示。
單同步:傳送數(shù)據(jù)之前,先傳送一個(gè)同步字符“SYNC”,接收端檢測(cè)到同步字符后,開始接收數(shù)據(jù)。雙同步:兩個(gè)同步字符“SYNC”,其后,接著是數(shù)據(jù)。外同步:用一條專用控制線來(lái)傳送同步字符,使接收方與發(fā)送方實(shí)現(xiàn)同步。(2)面向比特型的數(shù)據(jù)格式:根據(jù)同步數(shù)據(jù)鏈路控制規(guī)程(SDLC),面向比特型的數(shù)據(jù)以幀為單位傳輸,每幀由6個(gè)部分組成。如下圖:7EH地址場(chǎng)控制場(chǎng)D0D1…DNCRC1CRC27EH幀開始 結(jié)束標(biāo)志 數(shù)據(jù) 標(biāo)志圖面向比特型的數(shù)據(jù)格式
在SDLC規(guī)程中,不允許在數(shù)據(jù)段和CRC段中出現(xiàn)6個(gè)“1”,否則會(huì)誤認(rèn)為是結(jié)束標(biāo)志。因此要求在發(fā)送端進(jìn)行檢驗(yàn),當(dāng)連續(xù)出現(xiàn)5個(gè)“1”,則立即插入一個(gè)“0”,接收端要將這個(gè)插入的“0”去掉,恢復(fù)原來(lái)的數(shù)據(jù)。同步通信的效率比異步通信高。8.5可編程串行接口芯片8251A
INTEL8251A是一個(gè)通用串行輸入/輸出接口,可以同步方式(或異步方式)與外設(shè)進(jìn)行串行通信。廣泛應(yīng)用于長(zhǎng)距離通信系統(tǒng)及計(jì)算機(jī)網(wǎng)絡(luò)。8.5.1 8251A芯片內(nèi)部結(jié)構(gòu)及其功能
8251A由發(fā)送器、接收器、數(shù)據(jù)緩沖存儲(chǔ)器、讀/寫控制電路及調(diào)制/解調(diào)控制電路等5部分組成,如圖所示。1、發(fā)送器:要發(fā)送的數(shù)據(jù),鎖存到發(fā)送緩沖存儲(chǔ)器中。其發(fā)送速率由TXC端上收到的發(fā)送時(shí)鐘頻率決定。數(shù)據(jù)總線緩沖器讀/寫控制邏輯電路調(diào)制解調(diào)電路發(fā)送緩沖器并/串轉(zhuǎn)換發(fā)送控制電路接收緩沖器串/并轉(zhuǎn)換接收控制電路內(nèi)部總線D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO圖8251A內(nèi)部結(jié)構(gòu)流程圖與發(fā)送器有關(guān)信號(hào):①TXD:發(fā)送數(shù)據(jù)。在時(shí)鐘TXC的下降沿發(fā)送數(shù)據(jù)。②TXC:發(fā)送器時(shí)鐘信號(hào),輸入。③TXRDY:發(fā)送器已準(zhǔn)備好信號(hào)。表示發(fā)送數(shù)據(jù)緩沖存儲(chǔ)器空。④TXEMPTY:發(fā)送器空閑標(biāo)志。表示發(fā)送移位寄存器已空。2、接收器:外部通信數(shù)據(jù)從RXD端,逐位進(jìn)入接收移位 寄存器中。數(shù)據(jù)總線緩沖器讀/寫控制邏輯電路調(diào)制解調(diào)電路發(fā)送緩沖器并/串轉(zhuǎn)換發(fā)送控制電路接收緩沖器串/并轉(zhuǎn)換接收控制電路內(nèi)部總線D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO與接收器有關(guān)信號(hào):①RXD:數(shù)據(jù)接收端。RXD在時(shí)鐘RXC上升沿采樣信號(hào)。②RXRDY:接收器已準(zhǔn)備好信號(hào),表示已收到一個(gè)數(shù)據(jù),當(dāng)CPU讀數(shù)據(jù)后,RXRDY變?yōu)榈碗娖?。③SYNDET/BRKDET——雙功能的檢測(cè)信號(hào),高電平有效。內(nèi)同步:收到一個(gè)或兩個(gè)同步字符時(shí),SYNDET輸出高電平。外同步:當(dāng)從SYNDET端收到同步字符,接收器開始接收數(shù)據(jù)。
④RXC:接收器時(shí)鐘,由外部輸入。若采用同步方式,接收器時(shí)鐘頻率等于接收數(shù)據(jù)的頻率;異步方式,用軟件設(shè)置波特率,TXC和RXC往往連接在一起。
對(duì)于異步方式,當(dāng)RXD端口連續(xù)收到8個(gè)“0”信號(hào),則BRKDET變成高電平,表示當(dāng)前處于數(shù)據(jù)斷缺狀態(tài)。3、數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖存儲(chǔ)器是CPU與 8251A之間信息交換的通道。數(shù)據(jù)總線緩沖器讀/寫控制邏輯電路調(diào)制解調(diào)電路發(fā)送緩沖器并/串轉(zhuǎn)換發(fā)送控制電路接收緩沖器串/并轉(zhuǎn)換接收控制電路內(nèi)部總線D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO4、讀/寫控制和調(diào)制控制: 讀/寫控制電路用來(lái)接收一系列的控制信號(hào),并向其內(nèi)部各功能部件發(fā)出有關(guān)的控制信號(hào)。與讀/寫控制電路的控制信號(hào):①RESET:高電平復(fù)位,等待對(duì)其初始化。②CLK:為芯片內(nèi)有關(guān)電路工作提供時(shí)鐘的輸入端。 同步:該頻率大于接收/發(fā)送器的時(shí)鐘頻率的30倍;異步:大于4.5倍。③WR、RD、C/D、CS、
數(shù)據(jù)總線緩沖器讀/寫控制邏輯電路調(diào)制解調(diào)電路發(fā)送緩沖器并/串轉(zhuǎn)換發(fā)送控制電路接收緩沖器串/并轉(zhuǎn)換接收控制電路內(nèi)部總線D0~D7
RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO
與讀/寫控制電路的控制信號(hào):①RESET:高電平復(fù)位,等待對(duì)其初始化。②CLK:為芯片內(nèi)有關(guān)電路工作提供時(shí)鐘的輸入端。 同步:該頻率大于接收/發(fā)送器的時(shí)鐘頻率的30倍;異步:大于4.5倍。③WR、RD、C/D、CS、
與MODEN的控制信號(hào)①DTR(DataTerninalReady):向MODEN輸出,CPU已準(zhǔn)備好,工作命令字的D1置‘1’變?yōu)橛行А?、調(diào)制/解調(diào)控制電路:當(dāng)遠(yuǎn)距離串行通信時(shí),發(fā)送時(shí),MODEN將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào);接收時(shí),MODEN將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。②DSR(DataSetReady):由MODEN輸入,表示MODEN已準(zhǔn)備好,CPU通過(guò)讀狀態(tài)寄存器的D7位檢測(cè)該信號(hào)。③RTS(RequestToSend):通知MODEN,CPU準(zhǔn)備好發(fā)送,工作命令字的D5置‘1’變?yōu)橛行?。④CTS(ClearToSend):當(dāng)有效時(shí),表示8251A方可發(fā)送數(shù)據(jù)。D2D3RXDGNDD4D5D6D7TXCWRCSC/DRDRXRDYD1D0VCCRXCDTRRTSDSRRESETCLKTXDTXEMPTYCTSSYNDET/BRKDETTXRDY圖 8251引腳分布B1B2L1L2PENEPS1S200同步方式01異步110異步1611異步64波特率因子字符長(zhǎng)度00—5位01—6位10—7位11—8位校驗(yàn)選擇01:奇校驗(yàn)11:偶校驗(yàn)×0:不校驗(yàn)同步(D1:D0)=00)異步(D1D0≠00)×0:內(nèi)同步×1:外同步0×:雙SYN1×:?jiǎn)蜸YN00無(wú)效01,1個(gè)停止位10,1.5個(gè)停止位11,2個(gè)停止位8.5.28251A的控制字及其工作方式
1、方式命令:指定通信方式、數(shù)據(jù)格式、傳送速率及停止位長(zhǎng)度等。(分成4組,每組2位)例1:在某異步通信中,數(shù)據(jù)格式采用8位數(shù)據(jù)位,1位起始位,2位停止位,奇校驗(yàn),波特率因子是16,求其方式命令字?將該方式命令字寫入命令口,則程序段為(假定命令口地址為309H):例2:在同步通信中,若幀數(shù)據(jù)格式為:字符長(zhǎng)度8位,雙同步字符,內(nèi)同步方式,奇校驗(yàn),求其方式命令字?將其方式命令字寫入命令口,則程序段為(假定命令口地址為309H):方式命令字=?MOVDX,309HMOVAL,0DEHOUT DX,AL11011110B=DEHMOVDX,309HMOVAL,1CHOUTDX,AL同步方式命令字=?00011100B=1CH2、操作命令控制字:命令8251A進(jìn)行某種操作(如發(fā)送、接收、內(nèi)部復(fù)位和檢測(cè)同步字符等)或處于某種工作狀態(tài)(如DTR),以便接收或發(fā)送數(shù)據(jù)。D0D1D2D3D4D5D6D7TXENDTRRXESBRKERRTSIREH1:發(fā)送允許0:不允許
1:使DTR引腳=01:接收允許1:TXD送低電平(斷開信號(hào))0:正常工作1:使錯(cuò)誤標(biāo)志復(fù)位(狀態(tài)寄存器)1:使RTS引腳=01:軟件復(fù)位(下一條命令是方式字)1:進(jìn)入SYN搜索方式例3:若要使8251A內(nèi)部復(fù)位,假定命令口地址為309H,則程序段為:
MOVDX,309H;8251命令口
MOVAL,40H;置D6=1,使內(nèi)部復(fù)位。
OUTDX,AL例4:異步通信時(shí),允許接收,同時(shí)允許發(fā)送,則程序段為(命令口地址為309H):
MOVDX,309H ;8251命令口
MOVAL,05H;D2=1,D0=1,允許接收和發(fā)送。
OUTDX,AL3.狀態(tài)字:報(bào)告8251A何時(shí)才能開始發(fā)送或接收,以及接收數(shù)據(jù)有無(wú)錯(cuò)誤。狀態(tài)位為1,表示有效。在讀狀態(tài)期間,8251A將自動(dòng)禁止改變狀態(tài)位。D0D1D2D3D4D5D6D7TXRDYRXRDYTXEPEOEFESYNDSR1:發(fā)送緩沖器空,
CPU可送數(shù)。0:稍等1:CPU可取數(shù)0:稍等1:發(fā)送器(并/串轉(zhuǎn)換器)空1:奇偶錯(cuò)1:溢出錯(cuò)1:幀格錯(cuò)1:找到同步字符(SYNDET引腳的狀態(tài)位)1:DSR=0(DSR引腳的狀態(tài)位)溢出錯(cuò):上一字符未讀走,下一字符又來(lái)到RXD端。幀格錯(cuò):未檢測(cè)到停止位DSR是數(shù)據(jù)裝置準(zhǔn)備好位。例5:串行通信時(shí),在發(fā)送程序中,需查狀態(tài)字的D0位是否置1,即查TXRDY=1?命令口地址為309H,其程序段為:
MOV DX,309H ;8251命令口LP: IN AL,DX AND AL,01H ;查發(fā)送器是否就緒
JZ LP
┇
例6:串行通信時(shí),在接收程序中,需查狀態(tài)字的D1位是否置1,即查RXRDY=1?命令口地址為309H,其程序段為:
MOV DX,309H ;8251命令口
LP1: IN AL,DX AND AL,02H ;查接收器是否就緒
JZ LP1例7:在接收程序中,檢查出錯(cuò)信息,則用下列程序段:
MOVDX,309H ;8251命令口
IN AL,DX TESTAL,38H;檢查D5、D4、D3(FE、OE、PE)
JNZERROR ;若其中有一位為1,則出錯(cuò),并 ;轉(zhuǎn)入錯(cuò)誤處理程序。
4、8251A的方式命令和工作命令的使用 方式命令字:約定了雙方通信的方式(同步/異步)及其數(shù)據(jù)格式(數(shù)據(jù)位和停止位長(zhǎng)度,校驗(yàn)特性,同步字符特性),傳送速率等參數(shù);工作命令字:控制數(shù)據(jù)傳送的方向。只有當(dāng)8251A進(jìn)入發(fā)送/接收準(zhǔn)備好的狀態(tài),才能真正開始數(shù)據(jù)的傳送。 方式命令字和工作命令字均無(wú)特征位標(biāo)志,且都是送到同一命令端口,所以在向8251A寫入方式命令字和工作命令字時(shí),需要按一定的順序。這種順序是:復(fù)位方式命令字→工作命令字1→工作命令字2→工作命令字3……1.要求在甲乙兩臺(tái)微機(jī)之間進(jìn)行串行通信,甲機(jī)發(fā)送,乙機(jī)接收。要求把甲機(jī)上開發(fā)的應(yīng)用程序(其長(zhǎng)度為2DH)傳送到乙機(jī)中去。采用起止式異步方式,字符長(zhǎng)度為8位,2位停止位,波特率因子為64個(gè)/位,無(wú)校驗(yàn),波特率為4800b/s。CPU與8251A之間用查詢方式交數(shù)據(jù)。口地址分配是:309H為命令/狀態(tài)口,308H為數(shù)據(jù)口。2.分析由于是近距離傳輸,直接互連,并且,采用查詢I/O方式,故收/發(fā)程序中只需檢查發(fā)/收準(zhǔn)備好的狀態(tài)是否置位,即可發(fā)收1個(gè)字節(jié)。8.5.3 8251A應(yīng)用舉例下面以兩臺(tái)微機(jī)之間進(jìn)行雙機(jī)串行通信的硬件連接和軟件編程來(lái)說(shuō)明8251A在實(shí)際中是如何應(yīng)用的。乙機(jī)CPUTXD
RXDSGTXC
RXCEIA/TTL
變換EIA/TTL
變換TXDRXDSGTXCRXC甲機(jī)
CPU8251A8251A圖雙機(jī)串行通信接口波特率發(fā)生器波特率發(fā)生器3.
設(shè)計(jì)(1)硬件連接(2)軟件編程接收和發(fā)送程序分開編寫,每個(gè)程序段中包括8251A初始化,狀態(tài)查詢和輸入/輸出等部分。①
發(fā)送程序(略去STACK和DATA段):CSEGSEGMENTASSUME CS:CSEG,DS:CSEGTRA PROC FARSTART:MOVDX,309H ;命令口
MOVAL,00H ;空操作,向命令口送任意數(shù)
OUTDX,ALMOVAL,40H ;內(nèi)部復(fù)位(使D6=1)
OUTDX,ALNOPMOVAL,0CFH;方式命令字(異步,2;位停止位,字 ;長(zhǎng)8位無(wú)校驗(yàn),波特率因子為64個(gè)/位)
OUTDX,AL
MOVAL,37H ;工作命令字
OUTDX,ALMOVCX,2DH;傳送字節(jié)數(shù)
MOVSI,300H ;發(fā)送區(qū)首址L1: MOV DX,309H ;狀態(tài)口
IN AL,DX AND AL,01H JZ L1;發(fā)送未準(zhǔn)備好,則等待
MOV DX,308H ;數(shù)據(jù)口
MOV AL,[SI] OUT DX,AL INC SI LOOP L1 ;未發(fā)送完,繼續(xù)
MOV AX,4C00H ;已送完,返回DOS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼筋分項(xiàng)工程承包合同范本
- 挖掘機(jī)月租租賃合同
- 2025老廠小學(xué)廉租房合同
- 2025合同到期還能拿年終獎(jiǎng) 管理資料
- 農(nóng)業(yè)項(xiàng)目投標(biāo)管理策略
- 高鐵輸電線路施工勞務(wù)分包
- 維修承包合同
- 環(huán)衛(wèi)改造瓦工施工合同范本
- 2025租賃合同范本的風(fēng)險(xiǎn)
- 交通運(yùn)輸設(shè)備維護(hù)清欠管理辦法
- 醫(yī)院院長(zhǎng)年終工作總結(jié)報(bào)告精編ppt
- 綠化養(yǎng)護(hù)重點(diǎn)難點(diǎn)分析及解決措施
- “三排查三清零”回頭看問(wèn)題整改臺(tái)賬
- 造價(jià)咨詢結(jié)算審核服務(wù)方案
- 中國(guó)人民財(cái)產(chǎn)保險(xiǎn)股份有限公司機(jī)動(dòng)車綜合商業(yè)保險(xiǎn)條款
- T∕CGCC 7-2017 焙烤食品用糖漿
- 八年級(jí)物理上冊(cè)計(jì)算題精選(50道)
- 貨代操作流程及規(guī)范
- 礦井反風(fēng)演習(xí)方案
- 2022年脛骨平臺(tái)三柱理論
- 工程進(jìn)度款支付申請(qǐng)表
評(píng)論
0/150
提交評(píng)論