資源描述:
《輸入輸出接口和總線》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第六章輸入/輸出接口和總線本章內(nèi)容基本概念I(lǐng)/O端口的編址輸入輸出的基本方法:1、程序控制的輸入/輸出方法(又分為:無條件傳送和查詢式傳送或有條件傳送)2、中斷方式傳送3、DMA方式傳送中斷中斷基本概念DMA*DMA的基本概念6.1輸入/輸出接口(I/O接口)6.1.1概述什么是I/O接口?把外設(shè)連接到總線上的一組邏輯電路的總稱。實(shí)現(xiàn)外設(shè)與主機(jī)之間的信息交換。I/O接口要解決的問題速度匹配(Buffer)信號(hào)電平和驅(qū)動(dòng)能力(電平轉(zhuǎn)換器、驅(qū)動(dòng)器)信號(hào)形式匹配(A/D、D/A)信息格式(字節(jié)流、塊、數(shù)據(jù)包、幀)時(shí)序匹配(定時(shí)關(guān)
2、系)總線隔離(三態(tài)門)I/O接口的功能I/O地址譯碼與設(shè)備選擇把選中的端口與總線相接,未選中的與總線隔離(高阻態(tài))數(shù)據(jù)的緩沖與暫存緩解接口與CPU工作速度的差異對(duì)外設(shè)進(jìn)行監(jiān)測(cè)、控制與管理,中斷處理信號(hào)電平與類型的轉(zhuǎn)換形式、格式、電平、功率、碼制等6.1.2I/O接口的編址方式I/O端口:I/O信息的三種類型:數(shù)據(jù)、命令、狀態(tài)。傳送這三類信息的通道分別稱為:數(shù)據(jù)端口(I、O)、命令端口(O)、狀態(tài)端口(I)。不同外設(shè)具有的端口數(shù)各不相同,計(jì)算機(jī)中為每一個(gè)端口都賦予一個(gè)惟一編號(hào)——稱為端口地址(或端口號(hào))。端口有兩種編址方式:
3、統(tǒng)一編址和獨(dú)立編址。1.統(tǒng)一編址把外設(shè)接口與內(nèi)存統(tǒng)一進(jìn)行編址。各占據(jù)統(tǒng)一地址空間的不同部分。優(yōu)點(diǎn)指令統(tǒng)一,靈活;訪問控制信號(hào)統(tǒng)一,使用同一組的地址/控制信號(hào)。缺點(diǎn)內(nèi)存可用地址空間減小0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H2.獨(dú)立編址外設(shè)地址空間和內(nèi)存地址空間相互獨(dú)立。優(yōu)點(diǎn):內(nèi)存地址空間不受I/O編址的影響缺點(diǎn):I/O指令功能較弱,使用不同的讀寫控制信號(hào)00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/O地址空間0000H
4、例如:8088/8086系統(tǒng)8086總線A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存儲(chǔ)器訪問I/O訪問8088/8086CPU的I/O編址方式采用I/O獨(dú)立編址方式(但地址線與存儲(chǔ)器共用)地址線上的地址信號(hào)用(8088)來區(qū)分:時(shí)為I/O地址I/O操作只使用20根地址線中的16根:A15~A0可尋址的I/O端口數(shù)為64K(65536)個(gè)I/O地址范圍為0~FFFFHIBMPC只使用了1024個(gè)I/O地址(0~3FFH)6.1.3I/O端口地址的譯碼、、A15~A0OUT指令將使總線的信號(hào)有效IN指令將使
5、總線的信號(hào)有效當(dāng)接口只有一個(gè)端口時(shí),16位地址線一般應(yīng)全部參與譯碼,譯碼輸出直接選擇該端口;當(dāng)接口具有多個(gè)端口時(shí),則16位地址線的高位參與譯碼(決定接口的基地址),而低位則用于確定要訪問哪一個(gè)端口。例如:某外設(shè)接口有4個(gè)端口,地址為2F0H~2F3H,則其基地址為2F0H,由A15~A2譯碼得到,而A1、A0用來確定4個(gè)端口中的某一個(gè)。6.1.4I/O數(shù)據(jù)的傳送方式并行一個(gè)數(shù)據(jù)單位(通常為字節(jié))的各位同時(shí)傳送速度快、距離短、成本高例:PC機(jī)的并行接口(通常用于連接打印機(jī))串行數(shù)據(jù)按位進(jìn)行傳送速度慢、距離遠(yuǎn)、成本低例:PC機(jī)
6、的串行接口(通常用于串行通信)6.2.1接口電路的基本結(jié)構(gòu)6.2簡(jiǎn)單接口電路數(shù)據(jù)線控制線狀態(tài)線DBCBAB數(shù)據(jù)輸入寄存器(or三態(tài)門)數(shù)據(jù)輸出寄存器(鎖存器)狀態(tài)寄存器(or三態(tài)門)命令寄存器譯碼電路控制邏輯接外設(shè)接主機(jī)數(shù)據(jù)輸入/輸出寄存器——暫存輸入/輸出的數(shù)據(jù)命令寄存器——存放控制命令,用來設(shè)定接口功能、工作參數(shù)和工作方式。狀態(tài)寄存器——保存外設(shè)當(dāng)前狀態(tài),以供CPU讀取。簡(jiǎn)單接口電路數(shù)據(jù)輸入接口必須具有三態(tài)輸出能力,以便與總線掛接外設(shè)有數(shù)據(jù)保持能力時(shí)—可用三態(tài)門實(shí)現(xiàn)外設(shè)無數(shù)據(jù)保持能力時(shí)—用三態(tài)輸出的鎖存器實(shí)現(xiàn)數(shù)據(jù)輸出接
7、口常用鎖存器實(shí)現(xiàn)三態(tài)門:高電平、低電平、高阻態(tài)通常一個(gè)器件中包含8個(gè)三態(tài)門常用芯片:74LS244(見241頁)應(yīng)用例子:開關(guān)接口工作波形圖如下:A0~A15IOR#譯碼輸出D0~D7開關(guān)狀態(tài)地址有效簡(jiǎn)單的輸入接口舉例接口電路圖如下:83FCH~83FFH譯碼器鎖存器:由D觸發(fā)器構(gòu)成通常一個(gè)器件包含8個(gè)D觸發(fā)器常用芯片:(教材圖6.3)74LS373(具有三態(tài)輸出的鎖存器,內(nèi)部結(jié)構(gòu)見圖6.3)應(yīng)用例子:發(fā)光二極管接口簡(jiǎn)單的輸出接口舉例譯碼器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15
8、IOW#74LS373RGND/OE輸入/輸出接口綜合應(yīng)用例子根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號(hào)用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管74LS273的端口地址假設(shè)為F0H用74LS244作為輸入口,讀入開關(guān)K0~K3的狀態(tài)74LS244的端口地址假設(shè)為F1H當(dāng)開關(guān)的狀態(tài)分別為0000~