1. 程式人生 > >《微機原理與介面技術》第三章——介面概念和原理

《微機原理與介面技術》第三章——介面概念和原理

雖然寫這個部落格主要目的是為了給我自己做一個思路記憶錄,但是如果你恰好點了進來,那麼先對你說一聲歡迎。我並不是什麼大觸,只是一個菜菜的學生,如果您發現了什麼錯誤或者您對於某些地方有更好的意見,非常歡迎您的斧正!

目錄

第1節   介面/埠的定義

第2節  埠訪問指令

第3節    介面/埠地址設計

 第4節    資料傳輸方式


第1節   介面/埠的定義

介面:任何兩電路或裝置間的連線電路。是一組特殊控制電路,介於CPU與記憶體、CPU與外設之間。

各種外設都必須通過介面

才能和CPU(或匯流排)相連。

定址:確定裝置的地址,區分不同的裝置

緩衝:適配外設與CPU的工作速度

轉換:適配外設與CPU的資訊格式、型別、幅度

時序:外設與CPU的工作時序

 

介面電路的組成:由多類/多個暫存器構成。

埠:暫存器的另一稱呼。

微機的埠:

16根I/O線:地址空間2^16=64K

IBM:A0~9線有效,地址空間2^10=1K:000H~3FFH(1023)

PC系統IO端分配

前256個埠:000h-0FFh,系統外設佔用

後768個埠:100h-3FFh,常規外設佔用

第2節  埠訪問指令

 

 

第3節    介面/埠地址設計

概念:給某個(介面/裝置)設計特定的地址

即設計埠譯碼電路

輸入:埠地址(結合IO/M,WR,RD等訊號)

輸出:僅當AB(地址匯流排)上出現埠地址時,輸出低電平

 

設計地址譯碼電路三個前提

①有效I/O地址線10位:A9~0

②埠讀寫屬性(只讀/只寫/可讀可寫)

③考慮DMA操作:地址允許訊號AEN(DMAC訊號)

3.1 AEN=0,即非DMA操作時,埠可以訪問;

3.2 AEN=1,即是DMA操作時,埠不能訪問;

 

例子:使用閘電路設計埠地址2F8H的只讀地址譯碼電路

分析:僅當AB(地址匯流排)輸入2F8H時輸出電平,其它都輸入高電平

地址線

0    0   A9    A8

A7   A6   A5   A4

A3   A2   A1   A0

十六進位制

2

F

8

二進位制

0     0    1     0

1     1     1    1

1     0     0    0

通過程式分析埠2F8H(760)的訪問

MOV   DX,2F8H  ;把資料2F8H輸入到DX暫存器

IN     AL, DX   ;F=0,對應埠被選中。用暫存器DX讀資料到AL中。

 

通過跳線或變成改變埠的地址(2F8H/3F8H

 

含有多個埠的介面地址譯碼電路

例子:某介面有4個埠:384H ~ 387H。畫出地址譯碼電路

步驟:

①選中介面(介面譯碼)

384H  11 1000 0100

385H  11 1000 0101

386H  11 1000 0110

387H  11 1000 0111

僅當A9-0=11 1000 01XX時譯碼電路輸出低電平

②選中特定電路

用74LS138實現第2級譯碼:注意AB與A1、A0的對應關係

介面地址的構成形式和實現方法總結:

①單埠:閘電路直接譯碼

②多埠:兩級譯碼,閘電路和譯碼器

③地址可變:通過跳線或程式設計改變埠的地址

 第4節    資料傳輸方式