
- 8085 微處理器
- 微處理器 - 8085 架構
- 8085 引腳配置
- 定址模式和中斷
- 8085 指令集
- 多處理器配置
- 配置概述
- 8087 數值資料處理器
- I/O 介面
- I/O 介面概述
- 8279 可程式設計鍵盤
- 8257 DMA 控制器
- 微處理器常用資源
- 微處理器 - 快速指南
- 微處理器 - 常用資源
- 微處理器 - 討論
微處理器 - 8257 DMA 控制器
DMA 代表直接記憶體訪問 (Direct Memory Access)。它由英特爾設計,用於以最快的速度傳輸資料。它允許裝置直接向記憶體傳輸資料/從記憶體接收資料,而無需 CPU 干預。
使用 DMA 控制器,裝置請求 CPU 保持其資料、地址和控制匯流排,以便裝置可以自由地直接向記憶體傳輸資料/從記憶體接收資料。只有在從 CPU 接收到 HLDA 訊號後,才會啟動 DMA 資料傳輸。
DMA 操作是如何執行的?
以下是 DMA 執行的操作序列:
最初,當任何裝置必須在裝置和記憶體之間傳送資料時,裝置必須向 DMA 控制器傳送 DMA 請求 (DRQ)。
DMA 控制器向 CPU 傳送保持請求 (HRQ) 並等待 CPU 宣告 HLDA。
然後,微處理器將所有資料匯流排、地址匯流排和控制匯流排置為三態。CPU 放棄對匯流排的控制,並透過 HLDA 訊號確認 HOLD 請求。
現在 CPU 處於 HOLD 狀態,DMA 控制器必須管理 CPU、記憶體和 I/O 裝置之間總線上的操作。
8257 的特點
以下是 8257 一些突出的特點:
它有四個通道,可用於四個 I/O 裝置。
每個通道都有 16 位地址和 14 位計數器。
每個通道最多可以傳輸 64kb 的資料。
每個通道可以獨立程式設計。
每個通道可以執行讀取傳輸、寫入傳輸和驗證傳輸操作。
它向外圍裝置生成 MARK 訊號,表示已傳輸 128 位元組。
它需要單相時鐘。
其頻率範圍為 250Hz 至 3MHz。
它有兩種工作模式:**主模式**和**從模式**。
8257 架構
下圖顯示了 8257 的架構:

8257 引腳描述
下圖顯示了 8257 DMA 控制器的引腳圖:

DRQ0−DRQ3
這些是四個獨立的通道 DMA 請求輸入,外圍裝置使用它們來使用 DMA 服務。當選擇固定優先順序模式時,DRQ0 具有最高優先順序,DRQ3 具有最低優先順序。
DACK0 − DACK3
這些是低電平有效的 DMA 確認線,它們透過 CPU 更新請求外圍裝置的請求狀態。這些線也可以充當請求裝置的選通線。
D0 − D7
這些是雙向資料線,用於將系統匯流排與 DMA 控制器的內部資料匯流排介面。在從模式下,它將命令字傳輸到 8257,並將狀態字從 8257 傳輸出來。在主模式下,這些線用於將生成的地址的高位位元組傳送到鎖存器。該地址進一步使用 ADSTB 訊號鎖存。
IOR
這是一個低電平有效的雙向三態輸入線,CPU 在從模式下使用它來讀取 8257 的內部暫存器。在主模式下,它用於在記憶體寫週期期間從外圍裝置讀取資料。
IOW
這是一個低電平有效的雙向三態線,用於將資料匯流排的內容載入到 8 位模式暫存器或 16 位 DMA 地址暫存器或終端計數暫存器的高/低位元組。在主模式下,它用於在 DMA 記憶體讀取週期期間將資料載入到外圍裝置。
CLK
這是一個時鐘頻率訊號,8257 的內部操作需要它。
RESET
此訊號用於透過停用所有 DMA 通道來重置 DMA 控制器。
A0 - A3
這些是四個最低有效地址線。在從模式下,它們充當輸入,選擇要讀取或寫入的暫存器之一。在主模式下,它們是 8257 生成的四個最低有效記憶體地址輸出線。
CS
這是一個低電平有效的片選線。在從模式下,它使能對 8257 的讀/寫操作。在主模式下,它停用對 8257 的讀/寫操作。
A4 - A7
這些是 DMA 在主模式下生成的低位元組地址的高四位。
READY
這是一個高電平有效的非同步輸入訊號,它透過插入等待狀態使 DMA 準備好。
HRQ
此訊號用於接收來自輸出裝置的保持請求訊號。在從模式下,它與 8257 的 DRQ 輸入線連線。在主模式下,它與 CPU 的 HOLD 輸入連線。
HLDA
這是保持確認訊號,當它設定為 1 時,它表示 DMA 控制器 CPU 已將匯流排授予請求外圍裝置。
MEMR
這是低電平有效的記憶體讀取訊號,用於在 DMA 讀取週期期間讀取定址記憶體位置的資料。
MEMW
這是一個低電平有效的三態訊號,用於在 DMA 寫入操作期間將資料寫入定址記憶體位置。
ADST
此訊號用於將 DMA 控制器生成的記憶體地址的高位位元組轉換為鎖存器。
AEN
此訊號用於停用地址匯流排/資料匯流排。
TC
它代表“終端計數”,它向當前外圍裝置指示當前 DMA 週期。
MARK
從開始起每 128 個週期或其整數倍數後,標記將被啟用。它表示當前 DMA 週期是自上次向所選外圍裝置輸出 MARK 訊號以來的第 128 個週期。
Vcc
這是電路操作所需的電源訊號。