微型計算機和外設之間的數(shù)據(jù)傳輸_第1頁
微型計算機和外設之間的數(shù)據(jù)傳輸_第2頁
微型計算機和外設之間的數(shù)據(jù)傳輸_第3頁
微型計算機和外設之間的數(shù)據(jù)傳輸_第4頁
微型計算機和外設之間的數(shù)據(jù)傳輸_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章微型計算機和外設之間的

第6章微型計算機和外設之間的數(shù)據(jù)

傳輸

■6.1接口及接

口技術

■6.2I/O端口

的編址方式

■6.3微處理器

與I/O設備

數(shù)據(jù)傳送的幾

種方式

教學目的和教學要求

通過本章的學習,使學生掌握接口

電路的基本概念、接口電路的主要功能、

兩種I/O端口的編址方式、32位微處理

器采用I/O編址的譯碼、微處理器與I/O

設備數(shù)據(jù)傳送的查詢式輸入輸出方式以及

中斷方式輸入輸出。

熟悉32位微處理器保護模式下的1/

0空間,直接存儲器存取(DMA)方式以

-rZT/rx,1口口>L.I、一

本章重點、難點

■1/o端口的編址方式

■CPU與I/O設備數(shù)據(jù)傳送的查詢式輸

入輸出方式以及中斷方式輸入輸出

難點:

■微處理器與I/O設備數(shù)據(jù)傳送的幾種

方式

接口及接口技術

一6.1

6.1.1接口電路的概述

所謂接口就是微處理器與外圍設備之間的連

接電路,它是兩者之間進行信息交換時的必要

通路,不同的外設有不同的輸入/輸出接口電

路。例如,鍵盤輸入有鍵盤接口電路,CRT顯

示器有顯示器輸出接口電路,打印機也有打印

輸出接口電路等等。

微型計算機系統(tǒng)的各類接口如圖6-1所示:

圖6?工微型計算機各種接口框圖

CPU內存電加

智能儀幫

輸入接□

冠盤、光亳顯示器終端磁盤機A/D轉搔各種數(shù)字化

化儀

數(shù)

.字打印機調制斛磁帶機D/A轉拉

羹給圖收TTY電傳機光存儲翳開關至粉人

困開關證輸出

圖6-1微型計篁機各種接口框圖

■L件么是i/o接口(電路)?

■I/O接口是位于系統(tǒng)與外設間、用來

協(xié)助完成數(shù)據(jù)傳送和控制任務的邏輯

電路

■PC機系統(tǒng)板的可編程接口芯片、I/O

總線槽的電路板(適配器)都是接口

電路

I/O

CPU.設備

為什么需要I/O接口(電路)?

■微機的外部設備多種多樣

■工作原理、驅動方式、信息格式、以

及工作速度方面彼此差別很大

■它們不能與CPU直接相連

■必須經(jīng)過中間電路再與系統(tǒng)相連

■這部分電路被稱為I/O接口電路

什么是微機接口技術?

■處理微機系統(tǒng)與外設間聯(lián)系的技術

■注意其軟硬結合的特點

■根據(jù)應用系統(tǒng)的需要,使用和構造相

應的接口電路,編制配套的接口程序

,支持和連接有關的設備

6.1.2接口電路的主要功能

設備選擇功能

數(shù)據(jù)緩沖功能

接收和執(zhí)行CPU命令的功能

寄存外設狀態(tài)的功能

信號的轉換功能

數(shù)據(jù)寬度變換的功能

可編程功能

y6,L3接口技術的發(fā)展及分類

微型計算機接口技術的發(fā)展,基本上是與微

處理器的發(fā)展同步進行的。按照接口技術與接口

隨著微處理器的發(fā)展,可將接口電路分為四類:

■固定式接口電路

■可編程接口電路

■智能接口與通用外圍接口

■功能接口板

定式接口電路

早期的微處理器多采用PMOS工藝,集成

度低,系統(tǒng)結構與指令系統(tǒng)均比較簡單,受

半導體工藝的限制,接口芯片的集成度也不

高,大都采用TTL與MSI工藝,計算機接

口由小規(guī)?;蛑幸?guī)模集成電路組合而成,要

改變其功能與工作方式必須改變硬件連線才

能實現(xiàn),將這種簡單接口電路稱之為固定式

接口電路。

L二、可編程接口電路

16位微處理器(例如8086CPU)的出現(xiàn),

使微型計算機的發(fā)展進入了第二代,第二代

微處理器采用了NMOS工藝,集成度明顯提高

,Intel公司推出的與此相適應的接口芯片

有中斷控制器8259A,并行I/O接口芯片

8255A,定時/計數(shù)器8253/8254,DMA

控制器8237A以及由行通信接口芯片8250等

,這些芯片都是采用NMOS工藝的大規(guī)模集成

(LSI)芯片,而且都是可編程的接口芯片

,用戶可以通過對接口芯片的在線編程,方

便靈活地改變接口的工作方式。

三、智能接口與通用外圍接口

Intel公司于1985年首次推出第三代微處理器

80386,1989年又推出X86系列的第四代微處理

器80486,這時代的芯片大都是采用了NMOS或

CMOS工藝的超大規(guī)模集成(VLSI)芯片。與此相

應,也開發(fā)出了大批集成度更高的接口器件。這一

時期接口芯片的顯著特點是應用了單片機作通用接

口,使接口電路智能化。

智能化接口集單片機技術與接口技術于一體,

可直接與外圍設備相連,它是一種結構與功能接近

于CPU的專用控制器,有獨立的指令系統(tǒng),通過

編寫完整的I/O管理程序和預處理程序,來實現(xiàn)

對許多外設頻繁的I/O進行管理,從而減輕了CPU

管理I/O設備的負擔,大大提高了微機系統(tǒng)的運

,一、JU-

、功能接口板

由于微型計算機使用了各種統(tǒng)一的總線標

準,例如:ISA、PCI.SCSI.USB等各

種總線,因而從電氣特性、機械特性及通信

協(xié)議等方面都已標準化,開發(fā)商已為各種總

線開發(fā)出了不同功能的專用接口板,可供用

戶選購,例如:PCI總線的ADC和DAC功

能板,PCI的網(wǎng)卡,基于PCI的RS-232串

行通行卡等。

6.2I/O端口的編址方式

端口是接口電路中能被CPU直接訪問的寄存

器的地址。由于有的寄存器寄存的二進制信息專門

用來被CPU讀取,有的寄存器用于專門接收CPU

發(fā)出來的數(shù)據(jù),因此,被CPU訪問的寄存器的地

址分為輸入端口和輸出端口,故稱為I/O端口。

微機給接口電路中的每個寄存器分配一個端口

,即給每個寄存器分配一個地址,當CPU訪問這

些寄存器時,通過執(zhí)行I/O指令,由I/O指令中

給出的地址就從地址總線上發(fā)出去,經(jīng)接口電路中

的地址舉碼器譯碼后,便可以選中I/O指令中所

指定的寄存器進行R/W訪問。

6.2.1兩種I/O端口的編址方式

一、統(tǒng)一編址

從內存空間劃出一部分地址空間留給1/

0設備編址,CPU把I/O端口所指的寄存器

當作存儲單元進行訪問,直接用訪問內存的

指令訪問I/O寄存器,這種I/O端口的編址

方式被稱之為統(tǒng)一編址,或稱為存儲器映像

的I/O編址方式。

統(tǒng)一編址優(yōu)缺點

優(yōu)點:不需要設立專門的I/O指令,用訪

問內存的指令就可以訪問外設,指令類型

多,功能齊全,還可以對端口進行算術運

算,邏輯運算以及移位操作等。I/O端口

空間不受限制。

缺點:是I/O端口占用了內存空間,減少

了內存容量。

>專門的I/O編址方式

接口電路中所有的I/O端口統(tǒng)一編址,

而所有I/O端口建立的地址空間與內存地

址空間是兩個獨立的地址空間,也常稱這

種方式為獨立編址方式。

專用1/0編址的優(yōu)缺點

優(yōu)點:不占用內存空間,使用專門I/O指

令訪問I/O端口,I/O速度快。

缺點:CPU的引腳上必須具有能區(qū)分出訪

問內存還是訪問I/O端口的信號,作為1/

0接口電路中端口譯碼電路以及存儲器片

選譯碼電路的輸入信號。

6.2.2保護模式下的I/O空間

在實地址模式下,80486CPU采用存

儲器映像I/O編址方式訪問I/O端口時

,I/O端口占有物理地址從。地址開始

的1MB存儲空間中的任意地址,在實模

式下,采用專門I/O編址方式時,占用

0地址開始的64KBI/0地址空間中任意

地址。

當80486CPU運行在保護模式下,用

存儲器映像的I/O編址方式尋址,1/

0端口可以被映像到物理地址從0地址

開始的4GB存儲空間中任意地址

(00000000H~FFFFFFFFH),而

采用專門I/O編址方式,I/O尋址的

地址空間是從0地址開始的

64KB(00000000H~0000

口口口口口、T/八麻%L%間出在夸M與L

?32位機在保護模式下,CPU對以上兩種1/

0尋址方式提供不同的保護機制。

?對于存儲器映像I/O的保護由存儲器分

段與分頁保護機制完成,同時還要避免使用

系統(tǒng)數(shù)據(jù)緩沖地址空間被映像來作為I/O操

作地址。

?對于專用的I/O編址方式,只有當前的

特權級(CPL)大于或等于I/O特權級

(IOPL)時,即此時的CPL值必須小于或等

于IOPL的數(shù)值,I/O指令才能被執(zhí)行,反之

,則I/O指令將不被執(zhí)行,相應還要產生一

$在保護模式下,32位機任務狀態(tài)段(TSS)

中的I/O允許位,提供了另一種保護機制。I/O

允許位中的每一位分別與一個8位的I/O端口

相對應。當執(zhí)行I/O操作時,雖然當前的特權

級(CPL)大于或等于I/O特權級(IOPL),

但CPU要檢查I/O允許位中與該I/O端口對應

的那一位,若該位為1,則禁止當前I/O操作

的形成,若為0,則允許形成當前的I/O操作

$在虛擬8086模式下,所有的I/O操作均要

9

XD,

D7

8位數(shù)據(jù)端口與32位數(shù)據(jù)線的連

74LS138

DrD。

o

A9

A8

A5

10

2D7~D0

&口D廣D。

3

圖6-38位數(shù)據(jù)端口與32位數(shù)據(jù)線的連接

例如:

MOVDX,3E0H

INAL,DX;BE0*有效,只讀端

口0

INAX,DX;BE/、BE。*有效

9

;讀端口工與讀端口0

INEAX,DXBE3*?BE。*均有

效,

6.3CPU與I/O設備數(shù)據(jù)傳送的幾

種方式

6.3.1I/O接口電路的基本結

I/O接口電隨

圖6-4I/O接口電踣的送模及其基本茹構

二、I/O接口電路中的基本寄存器

I/O接口電路中一般具有三種類型的基

本寄存器,它們是用于存取數(shù)據(jù)的寄存器

,存取命令信息的寄存器以及存取外設所

處狀態(tài)的寄存器,習慣上把這些寄存器稱

為端口。

1、數(shù)據(jù)端口

2、命令端口

3、狀態(tài)端口

F*.l.數(shù)--據(jù)-端口

■用于中轉數(shù)據(jù)信息。一種情況是CPU通過數(shù)

據(jù)總線,將待傳送給外設的數(shù)據(jù)先傳送到數(shù)

據(jù)端口,然后由I/O設備通過與I/O接口電

路相連接的數(shù)據(jù)線取得該數(shù)據(jù)。

■另一種情況是I/O設備首先將輸入數(shù)據(jù)鎖存

于數(shù)據(jù)端口,然后,CPU通過數(shù)據(jù)端口將該

數(shù)據(jù)讀入CPU中。數(shù)據(jù)端口一般既有輸出寄

存器(或稱輸出鎖存器),又有輸入寄存器

(或稱榆入鎖存器)。

2、命令端口

用于傳送對I/O設備的命令信息。CPU

將命令信息通過數(shù)據(jù)總線寫入I/O接口電

路的命令寄存器中,然后傳送到I/O設備

,以便控制外設的操作。它由輸出寄存器

組成,命令端口是一個輸出端口。

3、狀態(tài)端口

用于傳送外設所處的狀態(tài)信息。狀態(tài)端口是輸

入端口,CPU通過讀取狀態(tài)端口的數(shù)據(jù),以此了

解外設當前所處的工作狀態(tài),比如,如果是輸入

設備,則可以通過狀態(tài)信息了解輸入設備是否有

了等待輸入的新數(shù)據(jù),如果是輸出設備,CPU通

過讀入的狀態(tài)信息,可以了解輸出設備是否作好

了接受CPU傳送新數(shù)據(jù)的準備。顯然,Ibit的

狀態(tài)信息可以反應1個外設的兩種狀態(tài),1個8

位的狀態(tài)端口則可以反應外設的8個狀態(tài)信息。

總之,I/O接口電路中一般有數(shù)據(jù)端

口、命令端口以及狀態(tài)端口,每個端口地

址是不相同的,CPU均通過數(shù)據(jù)總線來傳

送三種端口的數(shù)據(jù)。有些I/O接口中,還

有中斷控制邏輯電路,以便外設與CPU之

間以中斷方式進行輸入或輸出,其優(yōu)點是

可以提高CPU的工作效率。

6.3.2CPU與I/O設備傳輸數(shù)據(jù)的

幾種方式

CPU以及I/O設備的種類繁多,CPU與

I/O設備所構成的系統(tǒng)不可能完全相

同,CPU與I/O設備之間傳輸數(shù)據(jù)的方式

也不完全相同,接口電路的結構與功能也

不同,驅動程序也不相同。

一般可以劃分為五種傳輸數(shù)據(jù)的方式:

無條件I/O傳送方式、查詢式輸入榆出方

式、中斷控制方式、DMA方式以及I/O處

理翳控制方式.

口一、無條件輸入輸出方式

完條件輸入輸出方式是一種最簡單的輸入

/輸出控制方式,其I/O接口電路及軟件比

較簡單,所有的操作均由執(zhí)行程序來完成。

特點:輸入接口電路總是準備好了等待輸入

給CPU的數(shù)據(jù),輸出接口電路總是準備好了

接受來自CPU的數(shù)據(jù)。CPU無須查詢I/O設

備是否準備就緒,直接用匯編語言或高級語

言編程,實現(xiàn)輸入或輸出操作。

此種方式的接口電路是查詢式輸入輸出方

式接口電路的基礎。

IOR*與IOW*的產生

M

TTI0R

IOR與IOW的產生

無條件輸入接口電路及輸入時序

(B)輸入接口電路(B)輸入時序

圖"6無咨件軸入接口電路及輸入時用

無條件輸出接口電路及輸出時序

(a)輸出接口電路(b)輸出時序

圖6-7無條件輸出接口電路及輸出時序

二、查詢式輸入輸出方式

1.查詢式輸入方式

當CPU采用查詢

方式從外設讀取數(shù)

據(jù)時,CPU必須首

先從狀態(tài)端口查詢

外設的數(shù)據(jù)是否已

經(jīng)準備好,確認已

準備好后,才能執(zhí)

行一次數(shù)據(jù)輸入操

作。圖6-8查詢式輸入程用的流程圖

例:假設狀態(tài)端口與數(shù)據(jù)端口的地址分別為300H

和301H,狀態(tài)信息從數(shù)據(jù)總線上的D。位讀入CPU

中,查詢式輸入程序段如下:

MOVDX,300H;狀態(tài)口地址傳送給DX

ABC:INDX;讀入狀態(tài)信息

TEST01H;ALA01H,影響ZF

;如果狀態(tài)信息為0轉

MOVDX,301H;數(shù)據(jù)端口地址傳送給

2.查詢式輸出方式

當CPU采用查詢方

式向外設輸出數(shù)據(jù)時

,CPU必須首先從狀

態(tài)端口查詢外設是否

已經(jīng)作好了接受CPU

數(shù)據(jù)的準備,若沒有

準備好,則要繼續(xù)查

詢,若準備好

了,CPU便執(zhí)行一次圖查詢式輸出程序的流程圖

數(shù)據(jù)輸出操作。

例:假設狀態(tài)端口與數(shù)據(jù)端口的地址分別為

3F0H和3F1H,狀態(tài)信息從數(shù)據(jù)線上D7位讀入

CPU中,查詢式輸出程序段如下:

MOVDX,3F0H;狀態(tài)口地址傳送給DX

CBA:INAL,DX;讀入狀態(tài)信息

TESTAL,80H;ALA80H,影響ZF標

JZCBA;如果狀態(tài)信息為0則轉

CBA

MOVDX,3F1H;數(shù)據(jù)端口地址傳送給DX

6.3.2CPU與I/O設備傳輸數(shù)據(jù)的

幾種方式

例[6-1]一個查詢式A/D轉換的基本結構。

在數(shù)據(jù)采集系統(tǒng)中,常采用查詢式輸入方式來

實現(xiàn)A/D轉換。運用這種A/D轉換方式,也能

滿足大多監(jiān)測與控制的實際需要。查詢式A/D

轉換的基本結構圖如圖6-10:

查詢式A/D轉換的基本結構圖

圖6-1U查詢式A2轉換的基本結構圖

FA/D轉換為8位,而且假設、及的地址分別

是302H、301H以及300H,如果要順序采集

CH0與CH】兩道模擬信號,各采集100次,并將

所采集的數(shù)據(jù)分別存入內存數(shù)據(jù)段內起始位置

為0000H和1000H的內存空間,編寫如下程序

段:

MOVSI,0000H;存放采集CH。數(shù)據(jù)的起始地址傳

送給SI

MOVDI,1000H;存放采集CH〔數(shù)據(jù)的起始地址傳

送給DI

MOVCX,0064H

BGN:MOVDX,300H;y0*通道地址給DX

MOVAL,00000000B

OUTDX,AL;啟動信號=0,選CH。

MOVAL,00001000B

OUTDX,AL;啟動信號=1,仍選通CH°

MOVAL,00000000B

OUTDX,AL;啟動信號=0,仍選通CH°

MOVDX,301H;狀態(tài)口地址給DX

ABC:INAL,DX

TESTAL,80H

JZABC如果EOC=0繼續(xù)查詢

MOVDX,302H數(shù)據(jù)口地址給DX

INAL,DX讀入轉換后的數(shù)字量

MOV[SI],ALCH。通道數(shù)字量存入內存

INCSI

MOVDX,300H選通道地址給DX

MOVAL,00000001B

OUTDX,AL啟動信號=0,選CH]

MOVAL,00001001B

OUTDX,AL啟動信號=1,仍選通CHX

MOVAL,00000001B

.OUTDX,AL;啟動信號=0,仍選通CH】

MOVDX,301H;狀態(tài)口地址給DX

CBA:INAL,DX

TESTAL,80H;讀入EOC值

JZCBA;如果EOC=0,轉CBA

MOVDX,302H;數(shù)據(jù)口地址給DX

INAL,DX;讀入CH工通道轉換后數(shù)字量

MOV[DI],AL;CH]通道數(shù)字量存入內存

INCDI

LOOPBGN

3.查詢式輸入輸出方式存在的問題

圖0-11多個外設處于查詢式J/O方式的程序流程圖

從圖6-11可以看出,當CPU與I/O設備之間

采用查詢式輸入輸出方式交換數(shù)據(jù)時,CPU必須

順序查詢每一個外設,當某一個外設不需要服務

時,CPU也得按順序查詢一次。外設總是處于被

動狀態(tài),CPU無法快速響應外設要求及時服務的

請求。CPU為了服務外設,其它程序會停止執(zhí)行

,所以,查詢式I/O方式不可能是微型計算機外

設工作的最佳選擇,不適用于實時監(jiān)控系統(tǒng)。

三、中斷方式輸入輸出

中斷是外設或者其他中斷源中止CPU當

前正在執(zhí)行的程序,轉向為申請中斷的外

設(或中斷源)執(zhí)行服務程序,一旦服務

程序執(zhí)行結束,必須返回到被中斷程序的

斷點處,接著執(zhí)行原來的程序。

運用中斷控制方式實現(xiàn)外設數(shù)據(jù)的榆

入榆出,完全可以解決查詢式輸入輸

出存在的問題。在中斷控制方式下,

所有的I/O設備都可以工作在主動請

求CPU為該外設服務的狀態(tài)下,一旦

一個或多個外設申請中斷服務,則CPU

根據(jù)各I/O設備預先被設置的中斷優(yōu)

先級別,逐個予以響應,并進行中斷

處理、中斷返回,實現(xiàn)中斷處理的全

6-122個中斷源中斷過程的示意圖

主星序

笫[條指令

,第1一條指令A外設中斷

廢者程序

第條指令

第1,j“條指令B外設中斷

服音程序

主程序

圖6T2商力中斷源中斷端示意圖

中斷控制方式的輸入輸出是微機中常

用的一門技術,采用中斷技術后,CPU

能與所有的外設并行工作,能及時服務

外設,并處理系統(tǒng)異常情況,從而可以

提高微機的整體性能,提高計算機的運

行速度。有關中斷技術的詳細內容請看

第7章。

Ui1、直接存儲器存取(DMA)方

么是DMA?

DMA(DirectMemoryAccess)即直接

存儲器存取方式,是指在專門的DMA控制器的

控制下實現(xiàn)外圍設備與內存儲器直接交換數(shù)據(jù)

的一門接口技術。在這種方式下,數(shù)據(jù)傳輸不

經(jīng)過CPU,傳送的速度就只取決于存儲器

和外設的工作速度。在這種方式下,數(shù)據(jù)傳輸

不經(jīng)過CPU,傳送的速度就只取決于存儲器和

外設的工作速度。

2.DMA系統(tǒng)的基本組成

微型計算機在一般情況下,由CPU管理

數(shù)據(jù)總線、地址總線以及控制總線,當系

統(tǒng)有DMA請求時,CPU便讓出三種總線的

控制權,或讓出有關這三種總線的全局總

線,轉由DMAC控制三種總線實現(xiàn)高速外

存與內存之間數(shù)據(jù)的交換。DMAC控制

數(shù)據(jù)傳送結束后,DMA向CPU撤除DMA請

求,交還三總線控制權給CPU,于是結束

一次DMA傳輸?shù)倪^程。

地址線

數(shù)據(jù)線

1

控制線

CPU②HOLDTow

及總線總線請求

控制邏輯地址寄存器

1OR

⑦總線撤

溫馨提示

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

評論

0/150

提交評論