計(jì)算機(jī)原理教學(xué)指南第四版6[121頁]課件_第1頁
計(jì)算機(jī)原理教學(xué)指南第四版6[121頁]課件_第2頁
計(jì)算機(jī)原理教學(xué)指南第四版6[121頁]課件_第3頁
計(jì)算機(jī)原理教學(xué)指南第四版6[121頁]課件_第4頁
計(jì)算機(jī)原理教學(xué)指南第四版6[121頁]課件_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第6章 輸入輸出系統(tǒng)本章要點(diǎn):掌握接口電路的基本作用和功能;掌握聯(lián)絡(luò)概念的普遍性和聯(lián)絡(luò)形式的特殊性;初步掌握接口電路的組成原理和控制程序的設(shè)計(jì)方法;掌握中斷是一個(gè)過程的概念,理解中斷處理的基本要點(diǎn);了解高速外部設(shè)備采用DMA進(jìn)行信息交換的基本過程;理解常用接口芯片的使用原則和控制方法。了解使用具有一定智能的I/O通道進(jìn)行信息交換的基本原理;6.1概述輸入和輸出是構(gòu)成計(jì)算機(jī)系統(tǒng)必不可少的部分。輸入是處理器獲取待處理信息的源頭;輸出是處理器按程序要求處理信息的表現(xiàn)。鍵盤和鼠標(biāo)是輸入設(shè)備,顯示器是輸出設(shè)備,他們之間是怎樣溝通的,整個(gè)過程是怎樣進(jìn)行的,整個(gè)計(jì)算機(jī)系統(tǒng)是怎樣協(xié)調(diào)工作的,這些問題將在本章和

2、下一章給予介紹。1輸入目前計(jì)算機(jī)只能處理用二進(jìn)制表示的信息,在實(shí)際應(yīng)用中輸入信息在表現(xiàn)形式上千差萬別,但最終必須以二進(jìn)制的形式提供給處理器。2輸出顯示器是常見的輸出設(shè)備,可以顯示文本、圖形和圖像,但處理器提供的是用二進(jìn)制表示的信息,同樣該信息也必須經(jīng)接口電路的處理,才能顯示。 圖6.1主機(jī)、總線、I/O接口和I/O設(shè)備的關(guān)系6.1.1接口的基本功能和結(jié)構(gòu)1. I/O接口的基本功能不同時(shí)序間的同步功能不同信息格式的轉(zhuǎn)換功能電氣連接的匹配功能信息傳輸?shù)木彌_功能設(shè)備選擇功能中斷處理功能可編程功能2I/O接口的基本結(jié)構(gòu)由于I/O接口電路的一側(cè)與各種各樣的外圍設(shè)備相連接,外圍設(shè)備的多樣性決定了I/O接口

3、電路的復(fù)雜性。 I/O接口電路的另一側(cè)與系統(tǒng)總線連接,由于均采用標(biāo)準(zhǔn)的邏輯電路,所以硬件的連接十分簡(jiǎn)單。 圖6.2給出了IO接口的基本結(jié)構(gòu), 重點(diǎn)是其內(nèi)部結(jié)構(gòu)。 圖6.2 IO接口的基本結(jié)構(gòu)數(shù)據(jù)輸入寄存器數(shù)據(jù)輸入寄存器用于暫存外圍設(shè)備送往CPU的數(shù)據(jù)或在DMA方式下送往內(nèi)存的數(shù)據(jù)。數(shù)據(jù)輸出寄存器數(shù)據(jù)輸出寄存器用于暫存CPU送往外圍設(shè)備的數(shù)據(jù)或在DMA方式下內(nèi)存送往外圍設(shè)備的數(shù)據(jù)。狀態(tài)寄存器狀態(tài)寄存器用于保存I/O接口的狀態(tài)信息。CPU通過對(duì)狀態(tài)寄存器內(nèi)容的讀取和檢測(cè)可以確定I/O接口的當(dāng)前工作狀態(tài)。控制寄存器控制寄存器用于存放CPU發(fā)出的控制命令字,以控制接口和設(shè)備所執(zhí)行的動(dòng)作,如對(duì)數(shù)據(jù)傳輸方

4、式、速率等參數(shù)的設(shè)定,數(shù)據(jù)傳輸?shù)膯?dòng)、停止等。中斷控制邏輯當(dāng)CPU與I/O接口以中斷方式交換信息時(shí),中斷控制邏輯電路用于實(shí)現(xiàn)外圍設(shè)備準(zhǔn)備就緒時(shí)向 CPU發(fā)出中斷請(qǐng)求信號(hào),接收來自 CPU的中斷響應(yīng)信號(hào)以及提供相應(yīng)的中斷類型碼等功能。6.1.2接口的地址及譯碼為了讓CPU能夠訪問這些I/O端口,每個(gè)I/O端口都需有自己的端口地址(或端口號(hào))。常見的I/O端口編址方式有兩種,一種是I/O端口和存儲(chǔ)器統(tǒng)一編址,也稱存儲(chǔ)器映像(Memory-Mapping)方式;另一種是I/O端口和存儲(chǔ)器分開單獨(dú)編址,也稱I/O映像(I/O-Mapping)方式。 I/O端口和存儲(chǔ)器統(tǒng)一編址把整個(gè)存儲(chǔ)地址空間的一部分

5、作為I/O設(shè)備的地址空間,給每個(gè)I/O端口分配一個(gè)存儲(chǔ)器地址,把每個(gè)I/O端口看成一個(gè)存儲(chǔ)器單元,納入統(tǒng)一的存儲(chǔ)器地址空間。 這種編址方式的優(yōu)點(diǎn)是:訪問存儲(chǔ)器的指令功能比較齊全,因而可以實(shí)現(xiàn)直接對(duì)I/O端口內(nèi)的數(shù)據(jù)進(jìn)行處理,而不必采取先把數(shù)據(jù)送入CPU寄存器等步驟。 有利于改善程序效率,提高總的輸入輸出處理速度。這種編址方式也可使 CPU的I/O控制邏輯比較簡(jiǎn)單,其引腳數(shù)目也可以減少一些。 這種編址方式的缺點(diǎn)是:使用戶的存儲(chǔ)地址空間相對(duì)減小 。 I/O端口和存儲(chǔ)器單獨(dú)編址這種編址方式的基本思想是,將I/O端口地址和存儲(chǔ)器地址分開單獨(dú)編址,各自形成完整的地址空間(兩者的地址編號(hào)可以重疊)。 指令

6、系統(tǒng)中分別設(shè)立面向存儲(chǔ)器操作的指令和面向I/O操作的指令(IN指令和OUT指令),CPU使用專門的I/O指令來訪問I/O端口。所以在這種編址方式下,存在著信息究竟是給誰的問題,是給存儲(chǔ)器的,還是給I/O端口的。般是通過在CPU芯片上設(shè)置專門的控制信號(hào)線來解決。這種編址方式的優(yōu)點(diǎn)是:第一,I/O端口不占用存儲(chǔ)器地址,故不會(huì)減少用戶的存儲(chǔ)器地址空間;第二,單獨(dú)I/O指令的地址碼較短,地址譯碼方便,I/O指令短,執(zhí)行速度快;第三,由于采用單獨(dú)的I/O指令,所以在編制程序和閱讀程序時(shí)容易與訪問存儲(chǔ)器型指令加以區(qū)別,使程序中I/O操作和其他操作層次清晰,便于理解。 這種編址方式的缺點(diǎn)是:第一,單獨(dú)I/O

7、指令的功能有限,只能對(duì)端口數(shù)據(jù)進(jìn)行輸入輸出操作,不能直接進(jìn)行移位、比較等其他操作;第二,由于采用了專用的I/O操作時(shí)序及I/O 控制信號(hào)線,因而增加了微處理器本身控制邏輯的復(fù)雜性。微處理機(jī)Z80系列、8086系列均采用了這種編址方式。 3.I/O接口的地址分配由于不同的微機(jī)系統(tǒng)對(duì)I/O端口地址的分配并不完全相同,確切搞清系統(tǒng)中I/O接口地址的分配情況十分重要。哪些地址已被系統(tǒng)所占用(即已分配給了系統(tǒng)的某些設(shè)備接口),哪些地址是空閑的,可以為用戶使用。盡管在理論上8088系統(tǒng)為用戶提供了多達(dá)64K個(gè)端口地址,但在實(shí)際應(yīng)用中往往集中在用A9-A0地址總線所表示的從0000H-03FFH范圍內(nèi)的10

8、24個(gè)端口地址。 圖6.3系統(tǒng)板I/O口地址使用圖I/O端口地址范圍硬件/接口適配器0000H-001FHDMA 控制器(8237)0020H-003FH中斷控制器(8259A)0040H-005FH定時(shí)器/計(jì)數(shù)器(8253)0060H-007FH并行接口芯片(8255A)0080H-009FHDMA頁面寄存器00A0H-00BFHNMI屏蔽寄存器00C0H01FFH未用圖6.4擴(kuò)充插槽I/O口地址使用圖I/O端口地址范圍硬件/接口適配器0200H-020FH游戲控制接口0210H-0217H擴(kuò)展部件0218H-02F7H未用02F8H-02FFH異步通信(COM2)0300H-031FH實(shí)驗(yàn)

9、卡(未用)0320H-032FH硬盤卡0330H-0377H未用0378H-037FH并行打印機(jī)0380H-038FHSDLC通信卡0390H-03AFH未用03B0H-03BFH單顯/打印機(jī)03C0H-03CFH未用03D0H-03DFH彩顯/打印機(jī)03E0H-03EFH未用03F0H-03F7H軟盤卡03F8H-03FFH異步通信(COM1)4.I/O端口的地址譯碼當(dāng)執(zhí)行I/O指令時(shí),只能對(duì)選中的端口地址進(jìn)行讀寫操作。 任何一個(gè)接口電路卡的設(shè)計(jì),都必須要有端口地址譯碼部分,端口地址譯碼的方法有多種,可以靈活地進(jìn)行設(shè)計(jì)使用。 端口地址譯碼電路的原理與存儲(chǔ)器地址譯碼相同,在具體的表現(xiàn)形式上有些

10、差異。 輸入端的信號(hào)也是由二部分組成:一是地址總線的相關(guān)(A9A0)位;二是控制總線的相關(guān)控制信號(hào)(、)。 6.2.1 程序控制方式程序控制方式是指在程序控制下進(jìn)行的信息傳送方式。分為無條件傳送和程序查詢傳送兩種。 無條件傳送方式無條件傳送方式是在假定外圍設(shè)備已經(jīng)準(zhǔn)備好的情況下,直接利用輸入指令(1N指令)或輸出指令(OUT指令)與外圍設(shè)備傳送信息,而不去檢測(cè)(查詢)外圍設(shè)備的工作狀態(tài)。 6.2 I/O控制方式圖6.5無條件輸入傳送接口電路 程序查詢傳送方式程序查詢傳送方式也稱條件傳送方式。采用這種傳送方式時(shí),必須具有表示外圍設(shè)備當(dāng)前運(yùn)行狀態(tài)的硬件電路,并稱之為狀態(tài)端口,以便與CPU進(jìn)行聯(lián)絡(luò)。

11、條件輸入傳送接口電路與無條件輸入傳送接口電路相比較,在形式多了一組輸入端口,并且它的輸出也與數(shù)據(jù)總線相聯(lián),但是經(jīng)它所傳出的“0”或“1” 已經(jīng)不是數(shù)值了,而是外圍設(shè)備的狀態(tài)。 這里需要特別指出,一般情況一臺(tái)外圍設(shè)備只需要1位(bit) 來說明其狀態(tài),這1位(bit) 與數(shù)據(jù)總線的哪一位相連,則決定了編程時(shí)應(yīng)對(duì)該位進(jìn)行測(cè)試。例如,設(shè)有一輸入端口,由數(shù)據(jù)端口POTR1和狀態(tài)端口POTR2組成,其中狀態(tài)端口POTR2的輸出與數(shù)據(jù)總線的末位相連。用“1” 表示輸入數(shù)據(jù)準(zhǔn)備好,查詢程序如下:STATE:IN AL,POTR2 ;輸入狀態(tài)信息 TEST AL,01H ;測(cè)試“準(zhǔn)備好”位 JZ STATE

12、;未準(zhǔn)備好,繼續(xù)查詢 IN AL,POTR1 ;準(zhǔn)備好,輸入數(shù)據(jù)圖6.6條件輸入傳送接口電路對(duì)于程序查詢傳送方式來說,一個(gè)信息傳送過程可由三步完成:(1)CPU從接口中讀取狀態(tài)信息。(2)CPU檢測(cè)狀態(tài)字的對(duì)應(yīng)位是否滿足“就緒”條件,如果不滿足,則回到前一步繼續(xù)讀取狀態(tài)信息。(3)如果狀態(tài)字表明外設(shè)已處于“就緒”狀態(tài),則傳送信息。程序查詢傳送方式的程序流程圖如圖6.7和圖6.8所示。圖6.7 查詢式輸入程序流程圖 圖6.8 查詢式輸出程序流程圖6.2.2 中斷控制方式為了提高CPU的工作效率以及對(duì)實(shí)時(shí)系統(tǒng)的快速響應(yīng),產(chǎn)生了中斷控制方式的信息交換。 1. 基本概念中斷是一個(gè)過程。計(jì)算機(jī)是這樣處理

13、的,當(dāng)有隨機(jī)中斷請(qǐng)求后,CPU暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行中斷處理程序,為相應(yīng)的隨機(jī)事件服務(wù),處理完畢后CPU恢復(fù)執(zhí)行被暫停的現(xiàn)行程序。 在這個(gè)過程中,應(yīng)注意如下幾方面: 外部或內(nèi)部的中斷請(qǐng)求是隨機(jī)的,若當(dāng)前程序允許處理應(yīng)立即響應(yīng)。在內(nèi)存中必須有處理該中斷的處理程序。系統(tǒng)怎樣能正確地由現(xiàn)行程序轉(zhuǎn)去執(zhí)行中斷處理程序。當(dāng)中斷處理程序執(zhí)行完畢后怎樣能正確地返回。整個(gè)中斷的處理過程就像子程序調(diào)用, 但是本質(zhì)的差異是調(diào)用的時(shí)間是隨機(jī)的, 調(diào)用的形式是不同的。圖6.9 子程序調(diào)用過程 圖6.10中斷的執(zhí)行過程中斷有兩個(gè)重要特征:程序切換(控制權(quán)的轉(zhuǎn)移)和隨機(jī)性。 中斷方式的典型應(yīng)用 管理IO設(shè)備處理突發(fā)故障

14、 實(shí)時(shí)處理系統(tǒng)調(diào)度人機(jī)對(duì)話多機(jī)通信指令中斷 中斷源與中斷向量中斷源引起中斷的原因或來源稱為中斷源 來自CPU的內(nèi)部稱為內(nèi)部中斷(源) 來自CPU的外部稱為外部中斷(源) 此外還有一類較特殊的中斷源(軟件運(yùn)行中也可能發(fā)生意外的故障或指令中斷),即軟中斷,它也是內(nèi)中斷的一種。 非屏蔽中斷與可屏蔽中斷在CPU內(nèi)部往往有一個(gè)“中斷允許標(biāo)志位”IF,相應(yīng)地將中斷源分為兩類:一類不受IF控制,稱為非屏蔽中斷,只要有非屏蔽中斷產(chǎn)生,CPU可立即響應(yīng),與IF狀態(tài)無關(guān) 。 另一類中斷源受IF控制,稱為可屏蔽中斷。若IF=l,稱為開中斷狀態(tài),即CPU允許中斷,此時(shí)若有可屏蔽中斷產(chǎn)生,則CPU能夠響應(yīng)。若IF=0,

15、稱為關(guān)中斷狀態(tài),對(duì)于可屏蔽中斷請(qǐng)求CPU不響應(yīng)。 圖6.11 8088系統(tǒng)的中斷分類 中斷向量所謂向量,就是具有方向的量。該“方向”的起點(diǎn)是中斷源,終點(diǎn)是與之對(duì)應(yīng)的中斷服務(wù)程序。由于中斷源的數(shù)量多且種類雜,而且,中斷服務(wù)程序在內(nèi)存中的位置也不同,為此采用了事先將所有中斷服務(wù)程序的入口地址(中斷向量)存于表內(nèi)。圖6.12 8088系統(tǒng)的中斷向量表地址(十六進(jìn)制)16位類型碼(十進(jìn)制)說明0000:0000HIP0除數(shù)為0中斷CS0000:0004HIP1單步中斷CS0000:0008HIP2非屏蔽中斷CS0000:000CHIP3斷點(diǎn)中斷CS0000:0010HIP4溢出中斷CS0000:001

16、4HIP5保留的中斷(共27個(gè))CSIP310000:007FHCS0000:0080H32用戶可定義的中斷(共224個(gè))0000:03FFH255中斷優(yōu)先級(jí)和中斷嵌套當(dāng)有若干個(gè)中斷源同時(shí)發(fā)出中斷請(qǐng)求,CPU怎么辦?肯定不會(huì)同時(shí)處理,那么處理的先后順序如何確定,也就是如何確定中斷優(yōu)先級(jí)的問題。當(dāng)CPU正在執(zhí)行優(yōu)先級(jí)較低的中斷服務(wù)程序時(shí),允許響應(yīng)比它優(yōu)先級(jí)高的中斷請(qǐng)求,而將正在處理的中斷暫時(shí)掛起,這就是中斷的嵌套。 6.2.3直接存儲(chǔ)器存取(DMA)方式介紹它的基本思想是:通過硬件控制實(shí)現(xiàn)主存與IO設(shè)備間的直接數(shù)據(jù)傳送,在傳送過程中無需(CPU)程序干預(yù)。DMA方式是為了在主存儲(chǔ)器與IO設(shè)備間進(jìn)

17、行高速交換批量數(shù)據(jù)而設(shè)置的。 硬件結(jié)構(gòu)DMA控制器的作用是,提供存儲(chǔ)器地址、讀/寫控制信號(hào)等,當(dāng)然也為外部設(shè)備提供必要的控制信號(hào)。如圖6.17所示,圖中虛線表示處于高阻狀態(tài)。 圖6.17實(shí)現(xiàn)DMA方式結(jié)構(gòu)示意圖 簡(jiǎn)單的工作流程外部設(shè)備向DMA控制器提出DMA傳送請(qǐng)求;DMA控制器向CPU發(fā)出使用總線請(qǐng)求;CPU若允許則回答DMA控制器可以使用總線;DMA控制器接管系統(tǒng)總線;DMA控制器向外部設(shè)備回送一個(gè)回答(允許交換數(shù)據(jù));外部設(shè)備與存儲(chǔ)器交換數(shù)據(jù);DMA控制器撤銷總線請(qǐng)求,CPU收回總線控制權(quán)。6.3串行通信數(shù)據(jù)在單條一位(bit)寬的傳輸線上按時(shí)間先后一位一位地傳送,稱為串行數(shù)據(jù)傳送方式,

18、常用于遠(yuǎn)距離傳送。通信技術(shù)先于計(jì)算機(jī)技術(shù),所以在計(jì)算機(jī)串行通信中大量地使用了通信技術(shù)的名詞術(shù)語和基礎(chǔ)知識(shí)。 6.3.1串行通信基本概念并行通信方式中,一個(gè)字節(jié)(8位)數(shù)據(jù)是在8條并行傳輸線上同時(shí)由源點(diǎn)傳到終點(diǎn)。 串行通信方式中,數(shù)據(jù)是在單條1位寬的傳輸線上一位接一位地順序傳送。 串行通信方式中,一個(gè)字節(jié)的數(shù)據(jù)要通過同一條傳輸線分八次由低位到高位按順序傳送。 圖6.18(a)并行通信方式(b)串行通信方式 串行通信涉及的常用術(shù)語和基本概念單工、半雙工和全雙工1)單工(Simplex)它僅能進(jìn)行一個(gè)方向的數(shù)據(jù)傳送,即從設(shè)備A到設(shè)備B。因此,在單工數(shù)據(jù)通路中,A只能作為發(fā)送器,B只能作為接收器。2)

19、半雙工(Half Duplex)它能在設(shè)備A和設(shè)備B之間交替地進(jìn)行雙向數(shù)據(jù)傳送。3)全雙工(Full Duplex)它能夠在兩個(gè)方向同時(shí)進(jìn)行數(shù)據(jù)傳送。 圖6.19單工、半雙工和全雙工數(shù)據(jù)通路數(shù)據(jù)傳輸率數(shù)據(jù)傳輸率即通信中每秒傳輸?shù)亩M(jìn)制數(shù)位數(shù)(比特?cái)?shù)),也稱比特率,單位為bps(bit per second)。在數(shù)據(jù)通信領(lǐng)域還有另外一個(gè)描述數(shù)據(jù)傳輸率的常用術(shù)語波特率,即每秒傳輸?shù)牟ㄌ財(cái)?shù)。 若每個(gè)符號(hào)所含信息量為l比特(bit),則波特率等于比特率。若每個(gè)符號(hào)所含信息量不等于1比特,則波特率不等于比特率。 波特率是完成各種數(shù)字設(shè)備間串行通信的基礎(chǔ)條件之一,實(shí)際應(yīng)用時(shí),設(shè)置波特率的環(huán)節(jié)是必不可少的。

20、 在設(shè)計(jì)一個(gè)串行通信系統(tǒng)時(shí),發(fā)送和接收雙方的波特率必須一致,這是串行通信協(xié)議中的重要內(nèi)容之一。 發(fā)送時(shí)鐘和接收時(shí)鐘在串行通信中,發(fā)送器需要用一定頻率的時(shí)鐘信號(hào)來決定發(fā)送的每一位數(shù)據(jù)所占用的時(shí)間長(zhǎng)度。 串行通信所傳送的二進(jìn)制數(shù)據(jù)序列在發(fā)送時(shí),是以發(fā)送時(shí)鐘作為數(shù)據(jù)位的劃分界限;在接收時(shí),是以接收時(shí)鐘作為數(shù)據(jù)位的檢測(cè)和采樣定時(shí)。 波特率因子假設(shè)發(fā)送(或接收)時(shí)鐘頻率為F,則F、波特率因子、波特率三者之間在數(shù)值上存在如下關(guān)系:F=波特率因子波特率例如,當(dāng)F=9600Hz時(shí),若波特率因子為16,則波特率為600bps;若波特率因子為32,則波特率為300bps。這就是說,當(dāng)發(fā)送(或接收)時(shí)鐘頻率一定時(shí),

21、通過選擇不同的波特率因子,即可得到不同的波特率。 若發(fā)送和接收時(shí)鐘頻率不等時(shí),設(shè)發(fā)送時(shí)鐘頻率為F1、接收時(shí)鐘頻率為F2,且發(fā)送和接收雙方的波特率必須一致,為了能保障正確地傳遞信息只有改變雙方的波特率因子或調(diào)整時(shí)鐘頻率。結(jié)果必須滿足:發(fā)送的波特率接收的波特率異步方式與同步方式為避免失步,需要有使發(fā)送和接收動(dòng)作相互協(xié)調(diào)配合的措施。我們將這種協(xié)調(diào)發(fā)送和接收之間動(dòng)作的措施稱為“同步”。數(shù)據(jù)傳輸?shù)耐椒绞接幸韵聝煞N:1)異步方式異步方式又稱起止同步方式。這是在計(jì)算機(jī)通信中最常用的一種數(shù)據(jù)信息傳輸方式。串行異步傳送的數(shù)據(jù)格式如圖6.20所示。 圖6.20串行異步傳送的數(shù)據(jù)格式它用一個(gè)起始位表示字符的開始,

22、用停止位表示字符的結(jié)束構(gòu)成一幀,起始位占用一位,且恒為“0” 。字符編碼為n位(n為所采用編碼的長(zhǎng)度),第n+1位為奇、偶校驗(yàn)位,加上這一位使字符中為“1”的位為奇數(shù)(或偶數(shù)),停止位(恒為“1”)可以是一位、一位半或兩位。 在異同步數(shù)據(jù)傳送中,在發(fā)送與接收雙方的CPU與外設(shè)之間必須有兩項(xiàng)規(guī)定(協(xié)議):字符格式是否使用校驗(yàn),若使用應(yīng)確定奇偶校驗(yàn)形式,以及起始位和停止位長(zhǎng)度的規(guī)定。波特率波特率即數(shù)據(jù)傳送速率的規(guī)定,對(duì)于CPU與外界的通訊是很重要的,假如數(shù)據(jù)傳送率是120字符秒,而每一個(gè)字符如上規(guī)定包含10個(gè)數(shù)據(jù)位,則傳送的波特率為:10120=1200/秒=1200波特 2)同步傳送 在異步傳送

23、中,每一個(gè)字符要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占用了時(shí)間,所以,在數(shù)據(jù)塊傳送時(shí),為了提高速度,就去掉這些標(biāo)志,采用同步傳送。在數(shù)據(jù)塊開始處就要用同步字符來指示,如圖6.21所示。同步傳送的速度高于異步的,通常為幾十幾百千波特。但它要求有時(shí)鐘來實(shí)現(xiàn)發(fā)送端與接收端之間的同步,因而硬件復(fù)雜。 圖6.21串行同步傳送的數(shù)據(jù)格式6.3.2串行通信接口標(biāo)準(zhǔn)大多數(shù)微型機(jī)串行通信接口均采用EIA RS-232標(biāo)準(zhǔn),在描述它時(shí)文件中正式名稱是,在數(shù)據(jù)終端設(shè)備和數(shù)據(jù)通信設(shè)備之間進(jìn)行串行二進(jìn)制數(shù)據(jù)交換的接口(Interface Between Data Terminal Equipment and Da

24、ta Communication Equipment Employing Serial Binary Data Interchange);將數(shù)據(jù)終端設(shè)備(DTE Data Terminal Equipment)看作 “計(jì)算機(jī)設(shè)備”;數(shù)據(jù)通信設(shè)備(DCE Data Communication Equipment)分別看作 “調(diào)制解調(diào)器”。 1. 接口電路的功能描述RS-232功能直接分成數(shù)據(jù)功能和控制功能;數(shù)據(jù)功能十分簡(jiǎn)單,就是引腳2的發(fā)送器和引腳3的接收器,只有這兩個(gè)引腳通過數(shù)據(jù)流;其余全部功能都是控制功能。在表6.1中分別給出了三種連接器,即EIA/TIA-232-E(25個(gè)引腳);EIA/

25、TIA-574(9個(gè)引腳);EIA/TIA-561(8個(gè)引腳,也就是RJ-45連接器)2. 電信號(hào)特性速率和功率RS-232的標(biāo)準(zhǔn)允許速率在0-20000bps之間變化。在大多數(shù)設(shè)置中,數(shù)據(jù)速率限定在19200 bps內(nèi),在此數(shù)據(jù)速率下電纜的長(zhǎng)度不應(yīng)超過15米。接口必須在任何時(shí)候都能承受它的任意兩個(gè)引腳發(fā)生短路而不使設(shè)備受到損壞。在這種情況下,要求電源不得超過0.5安培。 邏輯電平RS-232標(biāo)準(zhǔn)指明了雙極性邏輯電平,即邏輯電平由電壓幅值和極性共同描述。任何電路允許的最大電壓為土15V。RS-232標(biāo)準(zhǔn)實(shí)際上定義了四種邏輯電平。輸入與輸出電平的定義不同,數(shù)據(jù)功能,即發(fā)送數(shù)據(jù)(引腳2)和接收數(shù)據(jù)

26、(引腳3)與控制功能不同,圖6.22給出了RS-232輸入輸出的邏輯電平的定義。 圖6.22 RS-232輸入輸出的邏輯電平定義(3) RS-232電平轉(zhuǎn)換 因?yàn)镽S232電壓和邏輯電平通常不用于計(jì)算機(jī)電路,所以需要電平轉(zhuǎn)換。完成這個(gè)功能的專門集成電路稱為“EIA(RS232)線路驅(qū)動(dòng)器”以及“線路接收器”。基于這些設(shè)備通常就是倒相器,為保證系統(tǒng)的邏輯正確,異步IO控制電路(UART) 除了發(fā)送和接收數(shù)據(jù)端外的(由于在發(fā)送和接收數(shù)據(jù)的過程中經(jīng)歷了兩次倒相)其它控制的輸入和輸出應(yīng)該倒相。如圖6.22所示。 6.3.3 通用串行總線(USB)1. 什么是USBUSB是英文Universal Ser

27、ial Bus的縮寫,中文含義是“通用串行總線”。USB設(shè)備之所以會(huì)被大量應(yīng)用,主要具有以下優(yōu)點(diǎn):速度快。 可以熱插拔。 無須外接電源。 標(biāo)準(zhǔn)統(tǒng)一。 擴(kuò)充能力強(qiáng)。 物理接口電氣特性USB總線中的傳輸介質(zhì)由一根4線的電纜組成如圖6.27,其中兩條用于提供設(shè)備工作所需的電源;另外兩條用于傳輸數(shù)據(jù)。信號(hào)線的特性阻抗為90,而信號(hào)是利用差模方式送入信號(hào)線的。利用這種差模傳輸方式,接收端的靈敏度不低于200mV。 圖6.27 USB電纜機(jī)械特性每個(gè)USB設(shè)備都有“上行”(A系列)和“下行”(B系列)連接端口,這兩種端口在機(jī)械方面并不是可以互換的,以便消除非法連接。一條電纜擁有四根導(dǎo)線:一對(duì)具有28AWG

28、規(guī)格的雙絞信號(hào)線(數(shù)據(jù)線),和一對(duì)在允許的規(guī)格范圍內(nèi)的非雙絞線(電源線對(duì))。為了便于區(qū)分,這四根導(dǎo)線分別選用不同的顏色,其中電源VBus為紅色(1腳),電源地GND為黑色(4腳),D數(shù)據(jù)線為綠色(3腳),D數(shù)據(jù)線為白色(2腳)。 圖6.28兩種常見的USB連接器USB接口為了便于說明USB接口的邏輯功能,給出圖6.29 圖6.29USB接口示意圖6.4可編程串行通信接口電路 6.4.1 概述 隨著大規(guī)模集成電路技術(shù)的發(fā)展,多種通用的可編程同步和異步接口片USART (Universal Synchronous Asynchronous ReceiverTransmitter)被推出,典型的芯片

29、有National 的8250/16450、Motorola的ACIA、Intel的8251A和Zilog 的Z80SIO等。雖然它們有各自的特點(diǎn),但就其基本功能結(jié)構(gòu)來說是類似的。 1.結(jié)構(gòu) 這類接口片通常均包括接收和發(fā)送兩部分。 發(fā)送部分:能接收與暫存由CPU并行輸出的數(shù)據(jù)。在異步方式時(shí),通過移位寄存器變?yōu)榇袛?shù)據(jù)格式并添加上起始位、奇偶校驗(yàn)位及停止位,由一條數(shù)據(jù)線發(fā)送出去;在同步方式時(shí),能自動(dòng)插入同步字符。 接收部分:異步方式時(shí),能把接收到的數(shù)據(jù)去掉起始位、停止位,檢查有無奇偶錯(cuò),然后經(jīng)過移位寄存器變?yōu)椴⑿懈袷胶?,送至接收緩沖寄存器,以便CPU用輸入指令(IN指令)取走;同步方式時(shí),能夠自

30、動(dòng)識(shí)別同步字符。 這類接口片還必須有控制與狀態(tài)部分,通過它們一方面可以實(shí)現(xiàn)片內(nèi)控制以及向外設(shè)發(fā)出控制信號(hào)的功能,另一方面還能提供接口的工作狀態(tài)以供CPU檢測(cè)。 2. 初始化 接口片的功能可以通過程序預(yù)先給予選擇和確定,即接口片的初始化。對(duì)于串行接口片,初始化程序通常要涉及如下幾方面的問題:(1)同步還是異步方式。(2)字符格式。 (3)時(shí)鐘脈沖頻率與波特率的比例系數(shù)。(4)有關(guān)命令位的確定。6.4.2 825lA可編程串行通信接口 下面我們以Intel 825lA為例,具體介紹實(shí)際的可編程串行通信接口芯片的功能及使用方法。1. 8251A的基本功能和特性可用于同步和異步傳送。 同步傳送:58位

31、字符;內(nèi)部或外部同步;可自動(dòng)插入同步字符。異步傳送:58位字符;時(shí)鐘速率為波特率的1,16或64倍;可產(chǎn)生中止字符(Break Character);可產(chǎn)生l,1.5或2位的停止位;可檢測(cè)假起始位;自動(dòng)檢測(cè)和處理中止字符。波特率:064K(同步);019.2K(異步)。全雙工,雙緩沖器發(fā)送和接收。 出錯(cuò)檢測(cè):具有奇偶、溢出和幀錯(cuò)等檢測(cè)電路。全部輸入輸出與TTL電平兼容;單一的+5V電源;單一TTL電平時(shí)鐘;28腳雙列直插式封裝。2. 8251A的引腳圖 8251A芯片共有28條輸入輸出引腳,引腳分配如圖6.30所示。 圖6.30 8251A引腳圖3. 8251A方塊圖及工作原理8251A內(nèi)部結(jié)

32、構(gòu)方塊圖如圖6.31所示。 圖6.31 8251A內(nèi)部結(jié)構(gòu)方塊圖 由圖6.31可以看出,8251A主要由5個(gè)部分組成:接收器(含接收控制電路及接收緩沖器)、發(fā)送器(含發(fā)送控制電路及發(fā)送緩沖器)、數(shù)據(jù)總線緩沖器、讀寫控制邏輯電路及調(diào)制解調(diào)控制電路。各部分之間通過內(nèi)部數(shù)據(jù)總線相互聯(lián)系與通信。 Modem(調(diào)制解調(diào))控制8251A有一組控制輸入和輸出,可以用來簡(jiǎn)化幾乎任何的Modem接口,Modem控制信號(hào)在性質(zhì)上是通用的;若需要,可以用于非Modem控制的其它功能。即當(dāng)使用Modem時(shí)825lA提供、 信息作為Modem的控制及狀態(tài)信號(hào)。若不使用Modem,這些信號(hào)可作為通信的握手(聯(lián)絡(luò))信號(hào)。

33、(數(shù)據(jù)設(shè)備就緒:DEC Ready) 輸入狀態(tài)可以由CPU通過讀狀態(tài)操作來測(cè)試。 (數(shù)據(jù)終端就緒:TDE Ready) 輸出信號(hào)可以通過編程設(shè)置命令字中的相應(yīng)位而置成低電平。 (請(qǐng)求發(fā)送)輸出信號(hào)可以通過編程設(shè)置命令字中的相應(yīng)位而置成低電平。 (允許發(fā)送)如果命令字中的TXEN位已置成“1”,則該輸入端的低電平能使825lA串行地發(fā)送數(shù)據(jù)。記住這一點(diǎn)非常重要。 接收器接收器實(shí)現(xiàn)有關(guān)接收的所有工作。它接收在RxD引腳上出現(xiàn)的串行數(shù)據(jù)并按規(guī)定格式轉(zhuǎn)換成并行數(shù)據(jù),存放在接收緩沖器中,以待CPU來取走。在8251A工作于異步方式并被啟動(dòng)接收數(shù)據(jù)時(shí),接收器不斷采樣RxD線上的電平變化。具體地說,就是每隔

34、16個(gè)時(shí)鐘脈沖,采樣一次RxD(見圖7.30), 圖6.32 串行異步接收的采樣情形 發(fā)送緩沖器TxRDY(發(fā)送器就緒)該輸出告知CPU發(fā)送器已準(zhǔn)備好接收字符。它可以用作向CPU請(qǐng)求中斷的信號(hào),或者由CPU使用狀態(tài)讀操作檢測(cè)它以進(jìn)行查詢操作。TxE (發(fā)送緩沖器空)當(dāng)825iA沒有字符發(fā)送時(shí),TxE輸出將為高電平,一旦從CPU接收到字符,它又自動(dòng)復(fù)位。 在同步模式中,該輸出的高電平以表示字符還未裝入,并自動(dòng)發(fā)送作為“填充”的同步字符。 數(shù)據(jù)緩沖器它是一個(gè)8位的雙向緩沖器,三態(tài)輸出,它是825lA與系統(tǒng)數(shù)據(jù)總線的接口,數(shù)據(jù),控制命令及信息均通過此接口傳送。 讀寫控制邏輯它接收來自CPU的控制信號(hào)

35、及控制命令字(包括工作方式指令和控制方式指令),控制825lA其余各組成部分的正常工作。表7.2 8251A讀寫操作真值表表6.2 8251A讀寫操作真值表C/功 能0001CPU從8251A讀數(shù)據(jù)0101CPU從8251A讀狀態(tài)0010CPU寫數(shù)據(jù)到8251A0110CPU寫命令到8251A0X118251A數(shù)據(jù)總線三態(tài)1XXX8251A數(shù)據(jù)總線三態(tài)4. 825lA的程序設(shè)置 綜述控制寄存器寫入方式字和命令字。方式字是設(shè)定通信方式與通信條件;命令字是確定通信中控制線的控制等。加電時(shí)用硬件復(fù)位,825lA控制寄存器為讀取命令字狀態(tài)。 825lA方式字與命令字各位意義如圖6.33和圖6.34所示

36、。 圖6.33825lA的方式字圖6.34825lA的命令字再次改寫方式字時(shí),必須送復(fù)位命令,方法是可以在825lA操作期間的數(shù)據(jù)塊的任何時(shí)刻寫入825lA,命令中提供1位(D6),使該位置位將引起825lA的內(nèi)部復(fù)位操作,從而可以不用外部復(fù)位操作,來實(shí)現(xiàn)對(duì)方式字的重新設(shè)置。這些控制寄存器的使用如圖6.35所示。 8251A工作時(shí)由編程使其初始化,然后查看狀態(tài)寄存器,如圖6.36所示,把數(shù)據(jù)寫入寄存器或者從數(shù)據(jù)寄存器中讀取數(shù)據(jù),即可進(jìn)行通信。 圖6.35825lA控制寄存器的使用 圖6.36825lA的狀態(tài)字值得注意的是,向8251A寫入命令是對(duì)發(fā)送數(shù)據(jù)命令緩沖寄存器寫入方式字、同步字符和命令

37、字,對(duì)此緩沖器寫入命令時(shí),要嚴(yán)格遵守下列順序:同步方式的順序?yàn)?,方式字同步字符命令字;異步方式的順序?yàn)?,方式字命令字?編程舉例1)異步方式下的初始化編程舉例 方式選擇控制字的設(shè)定。 例如,設(shè)定8251A工作于異步方式,波特率因子為64,每字符7個(gè)數(shù)據(jù)位,偶校驗(yàn),2位停止位,則方式選擇控制字為:11111011B (0FBH)。操作命令控制字的設(shè)定。 例如,使825lA的發(fā)送器允許,接收器允許,使?fàn)顟B(tài)寄存器中的3個(gè)錯(cuò)誤標(biāo)志位復(fù)位,使數(shù)據(jù)終端準(zhǔn)備好信號(hào)正輸出低電平(有效),則操作命令控制字為:00010111B (17H)。本例的初始化程序如下: MOV AL,0FBH ;輸出方式選擇字,使 8

38、251A工作于異步方式,波特率因子為64OUT 51H,AL ;每字符7個(gè)數(shù)據(jù)位,偶校驗(yàn),2位停止位MOVAL,17H ;輸出操作命令字,使發(fā)送器允許,接收器允許,使錯(cuò)誤標(biāo)志復(fù)位OUT 51H,AL ;使 輸出有效信號(hào)2)同步方式下的初始化編程舉例825lA工作于同步方式下的初始化編程應(yīng)為:首先輸出方式選擇字(同步方式),00111000B(38H) 然后緊接著輸出一個(gè)同步字符(單同步)或兩個(gè)字符(雙同步),本例設(shè)定為16H 最后輸出操作命令字,10010111B(97H)它使825lA的發(fā)送器允許,接收器允許,使?fàn)顟B(tài)寄存器中的3個(gè)錯(cuò)誤標(biāo)志位復(fù)位,開始搜索同步字符,并通知調(diào)制解調(diào)器,數(shù)據(jù)終端設(shè)

39、備已準(zhǔn)備就緒。 本例的初始化程序如下: MOV AL, 38H;輸出方式選擇字OUT 51H,AL ;偶校驗(yàn),每字符7個(gè)數(shù)據(jù)位MOVAL,16H OUT 51H,AL;連續(xù)輸出兩個(gè)同步字符 OUT 51H,AL MOV AL,97H;輸出操作命令字 OUT 51H,AL;開始搜索同步字符,并輸出DTR有效信號(hào) 5. 8251A的應(yīng)用舉例圖6.37 利用8251A進(jìn)行雙機(jī)通信硬件連接圖 6.5 并行通信 6.5.1 簡(jiǎn)單的并行輸入與輸出接口1. 并行輸入 并行輸入接口電路是由兩部分組成,一部分是三態(tài)門組成的數(shù)據(jù)傳送通路,一端與系統(tǒng)總線相連,另一端與外部設(shè)備相接;另一部分是地址譯碼組成的控制電路。

40、如圖6.38所示 圖6.38并行輸入接口電路2. 并行輸出圖6.39并行輸出接口電路6.5.2并行通信接口8255A1.概述8255A是可編程的通用并行輸入/輸出接口電路,是一片使用單一+5V電源的40腳的雙列直插式大規(guī)模集成電路。內(nèi)部結(jié)構(gòu)框圖如圖6.40所示,它由三部分組成,即CPU接口、內(nèi)部邏輯與外設(shè)接口部分。CPU接口部分有數(shù)據(jù)總線緩沖器和讀寫控制邏輯,數(shù)據(jù)總線緩沖器是一個(gè)8位雙向三態(tài)緩沖器,三態(tài)控制是由讀寫控制邏輯控制的。讀寫控制邏輯與CPU的6根控制線相連接,控制8255A內(nèi)部的各種操作。 圖6.40 8255A內(nèi)部結(jié)構(gòu)框圖圖6.41 8255A引腳圖外設(shè)接口部分的三個(gè)端口A、B和C

41、,經(jīng)24根輸入/輸出端口線用來和外部設(shè)備相連接。引腳圖如圖6.41所示。(1) 8255A的特點(diǎn)輸入輸出端口功能全部由程序選擇8255A有三個(gè)8位的輸入輸出端口,即端口A、端口B和端口C。每個(gè)端口都有自己的特點(diǎn)。8255A有三種工作方式,即方式0、方式1和方式2。 C口可以進(jìn)行位操作,可用來“置位”或“復(fù)位”。 單電源+5V工作 若采用CMOS產(chǎn)品,例如82C55A,工作電源可以為36V。 (2) 端口尋址8255A中有三個(gè)輸入輸出端口,另外,內(nèi)部還有一個(gè)控制字寄存器,共有四個(gè)端口,要有兩個(gè)輸入端來加以選擇。這兩個(gè)輸入端通常接到地址總線的最低兩位A0和A1。A0 、A1和 、 及 組合所實(shí)現(xiàn)的

42、各種功能,如表6.3所示。 表6.3 8255A端口選擇表A0A1功能00001端口A-數(shù)據(jù)總線輸入操作(讀)00101端口B數(shù)據(jù)總線01001端口C數(shù)據(jù)總線00010數(shù)據(jù)總線端口A輸出操作(寫)00110數(shù)據(jù)總線端口B01010數(shù)據(jù)總線端口C01110數(shù)據(jù)總線控制字寄存器01101非法狀態(tài)斷開功能0XX11數(shù)據(jù)總線三態(tài)1XXXX數(shù)據(jù)總線三態(tài)2. 8255A的工作方式介紹 8255A有三種基本的工作方式:方式0、方式1和方式2;A組三種方式都具有;而B組只有方式0和方式1兩種;8255A的工作方式由控制寄存的內(nèi)容決定。(1) 方式0 這是一種基本的I/O方式。在這種工作方式下,三個(gè)端口都可由程

43、序選定作輸入或輸出。如圖6.42所示。圖6.42 8255A工作方式0它們的輸出是鎖存的,輸入是不鎖存的。在這種工作方式下,可以由CPU用簡(jiǎn)單的輸入或輸出指令來進(jìn)行讀或?qū)?。因而?dāng)方式0用于無條件傳送方式的接口電路時(shí)是十分簡(jiǎn)單的,這時(shí)不需要狀態(tài)端口,三個(gè)端口都可作為數(shù)據(jù)端口。方式0也可作為查詢式輸入或輸出的接口電路,此時(shí)端口A和B分別可作為一個(gè)數(shù)據(jù)端口,而取端口C的某些位作為這兩個(gè)數(shù)據(jù)端口的控制和狀態(tài)信息。 (2) 方式1這是一種選通的IO方式。它將三個(gè)端口分為A、B兩組,端口A和端口C中的PC3、PC5或PC3、PC6、PC7三位為一組,端口B和端口C的PC2PC0三位為一組。端口C中余下的兩位,仍可作為輸入或輸出用,由方式控制

溫馨提示

  • 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)論